Merge pull request #819 from GarageGames/development-3.6

Version 3.6.1
This commit is contained in:
Daniel Buckmaster 2014-10-08 08:50:33 +11:00
commit afef3268a7
11 changed files with 56 additions and 43 deletions

View file

@ -291,21 +291,21 @@ bool AABBTreeNode::Subdivide(AABBTreeBuilder* builder)
// Set last bit to tell it shouldn't be freed ### pretty ugly, find a better way. Maybe one bit in mNbPrimitives // Set last bit to tell it shouldn't be freed ### pretty ugly, find a better way. Maybe one bit in mNbPrimitives
ASSERT(!(udword(&Pool[Count+0])&1)); ASSERT(!(udword(&Pool[Count+0])&1));
ASSERT(!(udword(&Pool[Count+1])&1)); ASSERT(!(udword(&Pool[Count+1])&1));
mPos = udword(&Pool[Count+0])|1; mPos = size_t(&Pool[Count+0])|1;
#ifndef OPC_NO_NEG_VANILLA_TREE #ifndef OPC_NO_NEG_VANILLA_TREE
mNeg = udword(&Pool[Count+1])|1; mNeg = size_t(&Pool[Count+1])|1;
#endif #endif
} }
else else
{ {
// Non-complete trees and/or Opcode 1.2 allocate nodes on-the-fly // Non-complete trees and/or Opcode 1.2 allocate nodes on-the-fly
#ifndef OPC_NO_NEG_VANILLA_TREE #ifndef OPC_NO_NEG_VANILLA_TREE
mPos = (udword)new AABBTreeNode; CHECKALLOC(mPos); mPos = (size_t)new AABBTreeNode; CHECKALLOC(mPos);
mNeg = (udword)new AABBTreeNode; CHECKALLOC(mNeg); mNeg = (size_t)new AABBTreeNode; CHECKALLOC(mNeg);
#else #else
AABBTreeNode* PosNeg = new AABBTreeNode[2]; AABBTreeNode* PosNeg = new AABBTreeNode[2];
CHECKALLOC(PosNeg); CHECKALLOC(PosNeg);
mPos = (udword)PosNeg; mPos = (size_t)PosNeg;
#endif #endif
} }

View file

@ -43,7 +43,7 @@
/* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \ /* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \
/* Whatever happens we need the two children and the enclosing volume.*/ \ /* Whatever happens we need the two children and the enclosing volume.*/ \
volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \ volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \
udword mPos; /* "Positive" & "Negative" children */ size_t mPos; /* "Positive" & "Negative" children */
#else #else
//! TO BE DOCUMENTED //! TO BE DOCUMENTED
#define IMPLEMENT_TREE(base_class, volume) \ #define IMPLEMENT_TREE(base_class, volume) \
@ -68,8 +68,8 @@
/* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \ /* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \
/* Whatever happens we need the two children and the enclosing volume.*/ \ /* Whatever happens we need the two children and the enclosing volume.*/ \
volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \ volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \
udword mPos; /* "Positive" child */ \ size_t mPos; /* "Positive" child */ \
udword mNeg; /* "Negative" child */ size_t mNeg; /* "Negative" child */
#endif #endif
typedef void (*CullingCallback) (udword nb_primitives, udword* node_primitives, BOOL need_clipping, void* user_data); typedef void (*CullingCallback) (udword nb_primitives, udword* node_primitives, BOOL need_clipping, void* user_data);

View file

@ -118,7 +118,7 @@ static void _BuildCollisionTree(AABBCollisionNode* linear, const udword box_id,
udword PosID = current_id++; // Get a new id for positive child udword PosID = current_id++; // Get a new id for positive child
udword NegID = current_id++; // Get a new id for negative child udword NegID = current_id++; // Get a new id for negative child
// Setup box data as the forthcoming new P pointer // Setup box data as the forthcoming new P pointer
linear[box_id].mData = (udword)&linear[PosID]; linear[box_id].mData = (size_t)&linear[PosID];
// Make sure it's not marked as leaf // Make sure it's not marked as leaf
ASSERT(!(linear[box_id].mData&1)); ASSERT(!(linear[box_id].mData&1));
// Recurse with new IDs // Recurse with new IDs
@ -171,7 +171,7 @@ static void _BuildNoLeafTree(AABBNoLeafNode* linear, const udword box_id, udword
// Get a new id for positive child // Get a new id for positive child
udword PosID = current_id++; udword PosID = current_id++;
// Setup box data // Setup box data
linear[box_id].mPosData = (udword)&linear[PosID]; linear[box_id].mPosData = (size_t)&linear[PosID];
// Make sure it's not marked as leaf // Make sure it's not marked as leaf
ASSERT(!(linear[box_id].mPosData&1)); ASSERT(!(linear[box_id].mPosData&1));
// Recurse // Recurse
@ -192,7 +192,7 @@ static void _BuildNoLeafTree(AABBNoLeafNode* linear, const udword box_id, udword
// Get a new id for negative child // Get a new id for negative child
udword NegID = current_id++; udword NegID = current_id++;
// Setup box data // Setup box data
linear[box_id].mNegData = (udword)&linear[NegID]; linear[box_id].mNegData = (size_t)&linear[NegID];
// Make sure it's not marked as leaf // Make sure it's not marked as leaf
ASSERT(!(linear[box_id].mNegData&1)); ASSERT(!(linear[box_id].mNegData&1));
// Recurse // Recurse
@ -549,8 +549,8 @@ bool AABBNoLeafTree::Walk(GenericWalkingCallback callback, void* user_data) cons
if(!(Data&1)) \ if(!(Data&1)) \
{ \ { \
/* Compute box number */ \ /* Compute box number */ \
udword Nb = (Data - udword(Nodes))/Nodes[i].GetNodeSize(); \ udword Nb = (Data - size_t(Nodes))/Nodes[i].GetNodeSize(); \
Data = udword(&mNodes[Nb]); \ Data = (size_t) &mNodes[Nb] ; \
} \ } \
/* ...remapped */ \ /* ...remapped */ \
mNodes[i].member = Data; mNodes[i].member = Data;
@ -612,7 +612,7 @@ bool AABBQuantizedTree::Build(AABBTree* tree)
INIT_QUANTIZATION INIT_QUANTIZATION
// Quantize // Quantize
udword Data; size_t Data;
for(udword i=0;i<mNbNodes;i++) for(udword i=0;i<mNbNodes;i++)
{ {
PERFORM_QUANTIZATION PERFORM_QUANTIZATION
@ -727,7 +727,7 @@ bool AABBQuantizedNoLeafTree::Build(AABBTree* tree)
INIT_QUANTIZATION INIT_QUANTIZATION
// Quantize // Quantize
udword Data; size_t Data;
for(udword i=0;i<mNbNodes;i++) for(udword i=0;i<mNbNodes;i++)
{ {
PERFORM_QUANTIZATION PERFORM_QUANTIZATION

View file

@ -36,7 +36,7 @@
inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \ inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \
\ \
volume mAABB; \ volume mAABB; \
udword mData; size_t mData;
//! Common interface for a node of a no-leaf tree //! Common interface for a node of a no-leaf tree
#define IMPLEMENT_NOLEAF_NODE(base_class, volume) \ #define IMPLEMENT_NOLEAF_NODE(base_class, volume) \
@ -56,8 +56,8 @@
inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \ inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \
\ \
volume mAABB; \ volume mAABB; \
udword mPosData; \ size_t mPosData; \
udword mNegData; size_t mNegData;
class OPCODE_API AABBCollisionNode class OPCODE_API AABBCollisionNode
{ {

View file

@ -41,10 +41,10 @@
/// code version, the game name, and which type of game it is (TGB, TGE, TGEA, etc.). /// code version, the game name, and which type of game it is (TGB, TGE, TGEA, etc.).
/// ///
/// Version number is major * 1000 + minor * 100 + revision * 10. /// Version number is major * 1000 + minor * 100 + revision * 10.
#define TORQUE_GAME_ENGINE 3600 #define TORQUE_GAME_ENGINE 3610
/// Human readable engine version string. /// Human readable engine version string.
#define TORQUE_GAME_ENGINE_VERSION_STRING "3.6" #define TORQUE_GAME_ENGINE_VERSION_STRING "3.6.1"
/// Gets the engine version number. The version number is specified as a global in version.cc /// Gets the engine version number. The version number is specified as a global in version.cc
U32 getVersionNumber(); U32 getVersionNumber();

View file

@ -1,4 +1,4 @@
Torque 3D v3.6 Torque 3D v3.6.1
================ ================
MIT Licensed Open Source version of [Torque 3D](http://www.garagegames.com/products/torque-3d) from [GarageGames](http://www.garagegames.com) MIT Licensed Open Source version of [Torque 3D](http://www.garagegames.com/products/torque-3d) from [GarageGames](http://www.garagegames.com)
@ -21,7 +21,7 @@ Pre-compiled Version
In addition to GitHub we also have a couple of pre-packaged files for you to download if you would prefer to not compile the code yourself: In addition to GitHub we also have a couple of pre-packaged files for you to download if you would prefer to not compile the code yourself:
* [Complete Torque 3D 3.6 zip package](http://mit.garagegames.com/Torque3D-3-6.zip) with updated TorqueScript documentation, the *Project Manager*, and compiled versions of the templates. * [Complete Torque 3D 3.6.1 zip package](http://mit.garagegames.com/Torque3D-3-6-1.zip) with updated TorqueScript documentation, the *Project Manager*, and compiled versions of the templates.
* [Torque 3D Project Manager v2.1](http://mit.garagegames.com/T3DProjectManager-2-1.zip) on its own for use in your T3D forks. * [Torque 3D Project Manager v2.1](http://mit.garagegames.com/T3DProjectManager-2-1.zip) on its own for use in your T3D forks.
If you're looking for an older release see the [Torque 3D Archive](https://github.com/GarageGames/Torque3D/wiki/Torque-3D-Archive) If you're looking for an older release see the [Torque 3D Archive](https://github.com/GarageGames/Torque3D/wiki/Torque-3D-Archive)

View file

@ -544,6 +544,7 @@ datablock PlayerData(DefaultPlayerData)
maxCrouchBackwardSpeed = 2.0; maxCrouchBackwardSpeed = 2.0;
maxCrouchSideSpeed = 2.0; maxCrouchSideSpeed = 2.0;
swimForce = 4320;
maxUnderwaterForwardSpeed = 8.4; maxUnderwaterForwardSpeed = 8.4;
maxUnderwaterBackwardSpeed = 7.8; maxUnderwaterBackwardSpeed = 7.8;
maxUnderwaterSideSpeed = 4.0; maxUnderwaterSideSpeed = 4.0;

View file

Before

Width:  |  Height:  |  Size: 429 KiB

After

Width:  |  Height:  |  Size: 429 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 220 KiB

After

Width:  |  Height:  |  Size: 220 KiB

Before After
Before After

View file

@ -20,6 +20,7 @@ new SimGroup(MissionGroup) {
soundDistanceModel = "Linear"; soundDistanceModel = "Linear";
canSave = "1"; canSave = "1";
canSaveDynamicFields = "1"; canSaveDynamicFields = "1";
desc = "A \'one of everything\' test level that demonstrates lots of stock classes.";
levelName = "Outpost"; levelName = "Outpost";
}; };
new ScatterSky() { new ScatterSky() {
@ -28,7 +29,7 @@ new SimGroup(MissionGroup) {
colorizeAmount = "0"; colorizeAmount = "0";
colorize = "0 0 0 1"; colorize = "0 0 0 1";
rayleighScattering = "0.0035"; rayleighScattering = "0.0035";
sunScale = "1 1 1 1"; sunScale = "0.972549 0.996078 0.788235 1";
ambientScale = "1 1 1 1"; ambientScale = "1 1 1 1";
fogScale = "1 1 1 1"; fogScale = "1 1 1 1";
exposure = "1"; exposure = "1";
@ -50,7 +51,7 @@ new SimGroup(MissionGroup) {
nightCubemap = "nightCubemap"; nightCubemap = "nightCubemap";
attenuationRatio = "0 1 1"; attenuationRatio = "0 1 1";
shadowType = "PSSM"; shadowType = "PSSM";
texSize = "512"; texSize = "1024";
overDarkFactor = "2000 1000 500 100"; overDarkFactor = "2000 1000 500 100";
shadowDistance = "400"; shadowDistance = "400";
shadowSoftness = "0.15"; shadowSoftness = "0.15";
@ -72,11 +73,11 @@ new SimGroup(MissionGroup) {
axisTilt = "23.44"; axisTilt = "23.44";
dayLength = "120"; dayLength = "120";
startTime = "0.1"; startTime = "0.1";
time = "0.153243"; time = "0.756599";
play = "1"; play = "1";
azimuthOverride = "1"; azimuthOverride = "1";
dayScale = "1"; dayScale = "1";
nightScale = "2"; nightScale = "3";
position = "-182.594 54.5451 536.878"; position = "-182.594 54.5451 536.878";
rotation = "1 0 0 0"; rotation = "1 0 0 0";
scale = "1 1 1"; scale = "1 1 1";
@ -1228,9 +1229,9 @@ new SimGroup(MissionGroup) {
gravityMod = "-1"; gravityMod = "-1";
appliedForce = "0 0 0"; appliedForce = "0 0 0";
polyhedron = "-0.5000000 0.5000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; polyhedron = "-0.5000000 0.5000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000";
position = "-75.81 34.2165 245.724"; position = "-75.81 34.2165 245.552";
rotation = "1 0 0 0"; rotation = "1 0 0 0";
scale = "4.70489 4.32539 20.7358"; scale = "4.70489 4.32539 16.1481";
canSave = "1"; canSave = "1";
canSaveDynamicFields = "1"; canSaveDynamicFields = "1";
}; };
@ -1291,5 +1292,16 @@ new SimGroup(MissionGroup) {
canSave = "1"; canSave = "1";
canSaveDynamicFields = "1"; canSaveDynamicFields = "1";
}; };
new PhysicalZone() {
velocityMod = "1";
gravityMod = "0.5";
appliedForce = "-2500 0 0";
polyhedron = "-0.5000000 0.5000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000";
position = "-79.5161 34.0702 259.951";
rotation = "1 0 0 0";
scale = "11.8676 3.54503 7.79052";
canSave = "1";
canSaveDynamicFields = "1";
};
}; };
//--- OBJECT WRITE END --- //--- OBJECT WRITE END ---

View file

@ -12,34 +12,34 @@ $PostFXManager::Settings::EnabledSSAO = "1";
$PostFXManager::Settings::EnableHDR = "1"; $PostFXManager::Settings::EnableHDR = "1";
$PostFXManager::Settings::EnableLightRays = "1"; $PostFXManager::Settings::EnableLightRays = "1";
$PostFXManager::Settings::EnablePostFX = "1"; $PostFXManager::Settings::EnablePostFX = "1";
$PostFXManager::Settings::HDR::adaptRate = "2"; $PostFXManager::Settings::HDR::adaptRate = "1.31846";
$PostFXManager::Settings::HDR::blueShiftColor = "1.05 0.97 1.27"; $PostFXManager::Settings::HDR::blueShiftColor = "1.05 0.97 1.27";
$PostFXManager::Settings::HDR::brightPassThreshold = "1"; $PostFXManager::Settings::HDR::brightPassThreshold = "0.631579";
$PostFXManager::Settings::HDR::enableBloom = "1"; $PostFXManager::Settings::HDR::enableBloom = "1";
$PostFXManager::Settings::HDR::enableBlueShift = "0"; $PostFXManager::Settings::HDR::enableBlueShift = "0";
$PostFXManager::Settings::HDR::enableToneMapping = "1"; $PostFXManager::Settings::HDR::enableToneMapping = "1";
$PostFXManager::Settings::HDR::gaussMean = "0"; $PostFXManager::Settings::HDR::gaussMean = "0.0526316";
$PostFXManager::Settings::HDR::gaussMultiplier = "0.3"; $PostFXManager::Settings::HDR::gaussMultiplier = "0.31746";
$PostFXManager::Settings::HDR::gaussStdDev = "0.8"; $PostFXManager::Settings::HDR::gaussStdDev = "0.8";
$PostFXManager::Settings::HDR::keyValue = "0.18"; $PostFXManager::Settings::HDR::keyValue = "0.321429";
$PostFXManager::Settings::HDR::minLuminace = "0.001"; $PostFXManager::Settings::HDR::minLuminace = "0.001";
$PostFXManager::Settings::HDR::whiteCutoff = "1"; $PostFXManager::Settings::HDR::whiteCutoff = "1";
$PostFXManager::Settings::LightRays::brightScalar = "0.75"; $PostFXManager::Settings::LightRays::brightScalar = "0.75";
$PostFXManager::Settings::SSAO::blurDepthTol = "0.001"; $PostFXManager::Settings::SSAO::blurDepthTol = "0.00149254";
$PostFXManager::Settings::SSAO::blurNormalTol = "0.95"; $PostFXManager::Settings::SSAO::blurNormalTol = "0.886139";
$PostFXManager::Settings::SSAO::lDepthMax = "2"; $PostFXManager::Settings::SSAO::lDepthMax = "1.82464";
$PostFXManager::Settings::SSAO::lDepthMin = "0.2"; $PostFXManager::Settings::SSAO::lDepthMin = "0.21327";
$PostFXManager::Settings::SSAO::lDepthPow = "0.2"; $PostFXManager::Settings::SSAO::lDepthPow = "0.2";
$PostFXManager::Settings::SSAO::lNormalPow = "2"; $PostFXManager::Settings::SSAO::lNormalPow = "2";
$PostFXManager::Settings::SSAO::lNormalTol = "-0.5"; $PostFXManager::Settings::SSAO::lNormalTol = "-0.5";
$PostFXManager::Settings::SSAO::lRadius = "1"; $PostFXManager::Settings::SSAO::lRadius = "1.58836";
$PostFXManager::Settings::SSAO::lStrength = "10"; $PostFXManager::Settings::SSAO::lStrength = "7.96209";
$PostFXManager::Settings::SSAO::overallStrength = "2"; $PostFXManager::Settings::SSAO::overallStrength = "1.49254";
$PostFXManager::Settings::SSAO::quality = "0"; $PostFXManager::Settings::SSAO::quality = "1";
$PostFXManager::Settings::SSAO::sDepthMax = "1"; $PostFXManager::Settings::SSAO::sDepthMax = "1";
$PostFXManager::Settings::SSAO::sDepthMin = "0.1"; $PostFXManager::Settings::SSAO::sDepthMin = "0.1";
$PostFXManager::Settings::SSAO::sDepthPow = "1"; $PostFXManager::Settings::SSAO::sDepthPow = "1";
$PostFXManager::Settings::SSAO::sNormalPow = "1"; $PostFXManager::Settings::SSAO::sNormalPow = "1";
$PostFXManager::Settings::SSAO::sNormalTol = "0"; $PostFXManager::Settings::SSAO::sNormalTol = "0";
$PostFXManager::Settings::SSAO::sRadius = "0.1"; $PostFXManager::Settings::SSAO::sRadius = "1.7542";
$PostFXManager::Settings::SSAO::sStrength = "6"; $PostFXManager::Settings::SSAO::sStrength = "6.4455";