فهرست منبع

Various fixes

Areloch 6 سال پیش
والد
کامیت
3fa7a0d4fa
27فایلهای تغییر یافته به همراه157 افزوده شده و 163 حذف شده
  1. 14 5
      Engine/source/T3D/assets/GameObjectAsset.cpp
  2. 14 4
      Engine/source/T3D/assets/ShapeAsset.cpp
  3. 3 4
      Engine/source/T3D/entity.cpp
  4. 2 3
      Engine/source/T3D/entity.h
  5. 5 5
      Engine/source/T3D/gameObjects/aiPlayerObject.cpp
  6. 3 3
      Engine/source/T3D/gameObjects/aiPlayerObject.h
  7. 5 5
      Engine/source/T3D/gameObjects/playerObject.cpp
  8. 5 5
      Engine/source/T3D/gameObjects/playerObject.h
  9. 3 3
      Engine/source/T3D/gameObjects/soundEmitterObject.cpp
  10. 2 2
      Engine/source/T3D/gameObjects/soundEmitterObject.h
  11. 1 2
      Engine/source/T3D/gameObjects/staticShapeObject.cpp
  12. 10 1
      Engine/source/assets/assetManager.cpp
  13. 5 2
      Engine/source/renderInstance/renderProbeMgr.cpp
  14. 0 1
      Templates/BaseGame/game/core/gameObjects/Core_GameObjects.cs
  15. 2 2
      Templates/BaseGame/game/core/gameObjects/Core_GameObjects.module
  16. 2 2
      Templates/BaseGame/game/core/gameObjects/gameObjects/AIPlayerObject.asset.taml
  17. 2 2
      Templates/BaseGame/game/core/gameObjects/gameObjects/PlayerObject.asset.taml
  18. 1 1
      Templates/BaseGame/game/core/gameObjects/gameObjects/soundEmitterObject.asset.taml
  19. 1 1
      Templates/BaseGame/game/core/gameObjects/gameObjects/staticShapeObject.asset.taml
  20. 0 50
      Templates/BaseGame/game/core/utility/scripts/helperFunctions.cs
  21. 10 2
      Templates/BaseGame/game/data/StaticShapeTest/Shapes/materials.cs
  22. 3 3
      Templates/BaseGame/game/data/shaderCache/autogenConditioners.h
  23. 4 1
      Templates/BaseGame/game/tools/assetBrowser/scripts/assetImport.cs
  24. 53 53
      Templates/BaseGame/game/tools/settings.xml
  25. 5 0
      Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.cs
  26. 1 1
      Tools/CMake/basics.cmake
  27. 1 0
      Tools/CMake/torque3d.cmake

+ 14 - 5
Engine/source/T3D/assets/GameObjectAsset.cpp

@@ -40,6 +40,8 @@
 #include "assets/assetPtr.h"
 #include "assets/assetPtr.h"
 #endif
 #endif
 
 
+#include "T3D/entity.h"
+
 // Debug Profiling.
 // Debug Profiling.
 #include "platform/profiler.h"
 #include "platform/profiler.h"
 
 
@@ -133,12 +135,14 @@ void GameObjectAsset::copyTo(SimObject* object)
 void GameObjectAsset::initializeAsset()
 void GameObjectAsset::initializeAsset()
 {
 {
    //Ensure we have an expanded filepath
    //Ensure we have an expanded filepath
-   mScriptFile = expandAssetFilePath(mScriptFile);
+   if (!Platform::isFullPath(mScriptFile))
+      mScriptFile = getOwned() ? expandAssetFilePath(mScriptFile) : mScriptFile;
 
 
    if (Platform::isFile(mScriptFile))
    if (Platform::isFile(mScriptFile))
       Con::executeFile(mScriptFile, false, false);
       Con::executeFile(mScriptFile, false, false);
 
 
-   mTAMLFile = expandAssetFilePath(mTAMLFile);
+   if (!Platform::isFullPath(mTAMLFile))
+      mTAMLFile = getOwned() ? expandAssetFilePath(mTAMLFile) : mTAMLFile;
 }
 }
 
 
 void GameObjectAsset::onAssetRefresh()
 void GameObjectAsset::onAssetRefresh()
@@ -165,7 +169,7 @@ void GameObjectAsset::setScriptFile(const char* pScriptFile)
       return;
       return;
 
 
    // Update.
    // Update.
-   mScriptFile = expandAssetFilePath(pScriptFile);
+   mScriptFile = getOwned() ? expandAssetFilePath(pScriptFile) : pScriptFile;
 
 
    // Refresh the asset.
    // Refresh the asset.
    refreshAsset();
    refreshAsset();
@@ -185,7 +189,7 @@ void GameObjectAsset::setTAMLFile(const char* pTAMLFile)
       return;
       return;
 
 
    // Update.
    // Update.
-   mTAMLFile = expandAssetFilePath(pTAMLFile);
+   mTAMLFile = getOwned() ? expandAssetFilePath(pTAMLFile) : pTAMLFile;
 
 
    // Refresh the asset.
    // Refresh the asset.
    refreshAsset();
    refreshAsset();
@@ -218,7 +222,12 @@ const char* GameObjectAsset::create()
    }
    }
 
 
    //Flag it so we know where it came from
    //Flag it so we know where it came from
-   pSimObject->setDataField("GameObject", nullptr, getAssetId());
+   //Entity* e = dynamic_cast<Entity*>(pSimObject);
+   //e->_setGameObject(getAssetId());
+
+   StringTableEntry assetId = getAssetId();
+
+   pSimObject->setDataField(StringTable->insert("GameObject"), nullptr, getAssetId());
 
 
    return pSimObject->getIdString();
    return pSimObject->getIdString();
 }
 }

+ 14 - 4
Engine/source/T3D/assets/ShapeAsset.cpp

@@ -86,6 +86,7 @@ ConsoleSetType(TypeShapeAssetPtr)
 
 
 ShapeAsset::ShapeAsset()
 ShapeAsset::ShapeAsset()
 {
 {
+   mFileName = StringTable->EmptyString();
 }
 }
 
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
@@ -129,6 +130,10 @@ void ShapeAsset::initializeAsset()
 
 
    ResourceManager::get().getChangedSignal().notify(this, &ShapeAsset::_onResourceChanged);
    ResourceManager::get().getChangedSignal().notify(this, &ShapeAsset::_onResourceChanged);
 
 
+   //Ensure our path is expando'd if it isn't already
+   if (!Platform::isFullPath(mFileName))
+      mFileName = getOwned() ? expandAssetFilePath(mFileName) : mFileName;
+
    loadShape();
    loadShape();
 }
 }
 
 
@@ -144,8 +149,7 @@ void ShapeAsset::setShapeFile(const char* pShapeFile)
    if (pShapeFile == mFileName)
    if (pShapeFile == mFileName)
       return;
       return;
 
 
-   // Update.
-   mFileName = getOwned() ? expandAssetFilePath(pShapeFile) : StringTable->insert(pShapeFile);
+   mFileName = pShapeFile;
 
 
    // Refresh the asset.
    // Refresh the asset.
    refreshAsset();
    refreshAsset();
@@ -156,6 +160,8 @@ void ShapeAsset::_onResourceChanged(const Torque::Path &path)
    if (path != Torque::Path(mFileName) )
    if (path != Torque::Path(mFileName) )
       return;
       return;
 
 
+   refreshAsset();
+
    loadShape();
    loadShape();
 }
 }
 
 
@@ -268,9 +274,13 @@ void ShapeAsset::copyTo(SimObject* object)
 
 
 void ShapeAsset::onAssetRefresh(void)
 void ShapeAsset::onAssetRefresh(void)
 {
 {
-   if (dStrcmp(mFileName, "") == 0)
+   if (mFileName == StringTable->EmptyString())
       return;
       return;
 
 
+   // Update.
+   if(!Platform::isFullPath(mFileName))
+      mFileName = getOwned() ? expandAssetFilePath(mFileName) : mFileName;
+
    loadShape();
    loadShape();
 }
 }
 
 
@@ -405,4 +415,4 @@ bool GuiInspectorTypeShapeAssetPtr::updateRects()
    }
    }
 
 
    return resized;
    return resized;
-}
+}

+ 3 - 4
Engine/source/T3D/entity.cpp

@@ -157,8 +157,7 @@ void Entity::initPersistFields()
    endGroup("Misc");
    endGroup("Misc");
 
 
    addGroup("GameObject");
    addGroup("GameObject");
-   addProtectedField("GameObject", TypeGameObjectAssetPtr, Offset(mGameObjectAsset, Entity), &_setGameObject, &defaultProtectedGetFn,
-      "The asset Id used for the game object this entity is based on.");
+   addField("GameObject", TypeGameObjectAssetPtr, Offset(mGameObjectAsset, Entity), "The asset Id used for the game object this entity is based on.");
 
 
    addField("dirtyGameObject", TypeBool, Offset(mDirtyGameObject, Entity), "If this entity is a GameObject, it flags if this instance delinates from the template.", 
    addField("dirtyGameObject", TypeBool, Offset(mDirtyGameObject, Entity), "If this entity is a GameObject, it flags if this instance delinates from the template.", 
       AbstractClassRep::FieldFlags::FIELD_HideInInspectors);
       AbstractClassRep::FieldFlags::FIELD_HideInInspectors);
@@ -246,7 +245,7 @@ bool Entity::onAdd()
    if (isServerObject())
    if (isServerObject())
    {
    {
       setMaskBits(TransformMask);
       setMaskBits(TransformMask);
-      setMaskBits(NamespaceMask);
+      //setMaskBits(NamespaceMask);
    }
    }
    else
    else
    {
    {
@@ -2019,4 +2018,4 @@ DefineEngineFunction(findEntitiesByTag, const char*, (SimGroup* searchingGroup,
    }
    }
 
 
    object->notifyComponents(signalFunction, argA, argB, argC, argD, argE);*/
    object->notifyComponents(signalFunction, argA, argB, argC, argD, argE);*/
-}
+}

+ 2 - 3
Engine/source/T3D/entity.h

@@ -85,9 +85,6 @@ private:
    StringTableEntry		      mGameObjectAssetId;
    StringTableEntry		      mGameObjectAssetId;
    AssetPtr<GameObjectAsset>  mGameObjectAsset;
    AssetPtr<GameObjectAsset>  mGameObjectAsset;
 
 
-   //Marked if this entity is a GameObject and deliniates from the parent GO asset
-   bool mDirtyGameObject;
-
    ContainerQueryInfo containerInfo;
    ContainerQueryInfo containerInfo;
 
 
    bool mInitialized;
    bool mInitialized;
@@ -100,6 +97,8 @@ private:
    S32                       mLifetimeMS;
    S32                       mLifetimeMS;
 
 
 protected:
 protected:
+   //Marked if this entity is a GameObject and deliniates from the parent GO asset
+   bool mDirtyGameObject;
 
 
    virtual void   processTick(const Move* move);
    virtual void   processTick(const Move* move);
    virtual void   advanceTime(F32 dt);
    virtual void   advanceTime(F32 dt);

+ 5 - 5
Engine/source/T3D/gameObjects/aiPlayerObject.cpp

@@ -3,9 +3,9 @@
 IMPLEMENT_CO_NETOBJECT_V1(AIPlayerObject);
 IMPLEMENT_CO_NETOBJECT_V1(AIPlayerObject);
 
 
 AIPlayerObject::AIPlayerObject()
 AIPlayerObject::AIPlayerObject()
-   : mAIControllerComponent(nullptr)
+   //: mAIControllerComponent(nullptr)
 {
 {
-
+   mSuperClassName = StringTable->insert("Entity");
 }
 }
 AIPlayerObject::~AIPlayerObject()
 AIPlayerObject::~AIPlayerObject()
 {
 {
@@ -21,7 +21,7 @@ bool AIPlayerObject::onAdd()
    if (!mDirtyGameObject)
    if (!mDirtyGameObject)
    {
    {
       //AI Controller
       //AI Controller
-      mAIControllerComponent = new AIControllerComponent();
+      /*mAIControllerComponent = new AIControllerComponent();
       if (!mAIControllerComponent->registerObject())
       if (!mAIControllerComponent->registerObject())
       {
       {
          Con::errorf("PlayerObject::onAdd - unable to add mAIControllerComponent!");
          Con::errorf("PlayerObject::onAdd - unable to add mAIControllerComponent!");
@@ -30,7 +30,7 @@ bool AIPlayerObject::onAdd()
 
 
       mAIControllerComponent->setInternalName("aiControllerComponent");
       mAIControllerComponent->setInternalName("aiControllerComponent");
 
 
-      addComponent(mAIControllerComponent);
+      addComponent(mAIControllerComponent);*/
    }
    }
 
 
    return true;
    return true;
@@ -39,4 +39,4 @@ bool AIPlayerObject::onAdd()
 void AIPlayerObject::onRemove()
 void AIPlayerObject::onRemove()
 {
 {
    Parent::onRemove();
    Parent::onRemove();
-}
+}

+ 3 - 3
Engine/source/T3D/gameObjects/aiPlayerObject.h

@@ -1,13 +1,13 @@
 #pragma once
 #pragma once
 #include "playerObject.h"
 #include "playerObject.h"
 
 
-#include "T3D/components/ai/aiControllerComponent.h"
+//#include "T3D/components/ai/aiControllerComponent.h"
 
 
 class AIPlayerObject : public PlayerObject
 class AIPlayerObject : public PlayerObject
 {
 {
    typedef PlayerObject Parent;
    typedef PlayerObject Parent;
 
 
-   AIControllerComponent* mAIControllerComponent;
+   //AIControllerComponent* mAIControllerComponent;
 
 
 public:
 public:
    AIPlayerObject();
    AIPlayerObject();
@@ -17,4 +17,4 @@ public:
    virtual void onRemove();
    virtual void onRemove();
 
 
    DECLARE_CONOBJECT(AIPlayerObject);
    DECLARE_CONOBJECT(AIPlayerObject);
-};
+};

+ 5 - 5
Engine/source/T3D/gameObjects/playerObject.cpp

@@ -5,10 +5,10 @@ IMPLEMENT_CO_NETOBJECT_V1(PlayerObject);
 PlayerObject::PlayerObject()
 PlayerObject::PlayerObject()
    :  mMeshComponent(nullptr),
    :  mMeshComponent(nullptr),
       mCollisionComponent(nullptr),
       mCollisionComponent(nullptr),
-      mAnimationComponent(nullptr),
+      //mAnimationComponent(nullptr),
       mPhysicsComponent(nullptr)
       mPhysicsComponent(nullptr)
 {
 {
-
+   mSuperClassName = StringTable->insert("Entity");
 }
 }
 PlayerObject::~PlayerObject()
 PlayerObject::~PlayerObject()
 {
 {
@@ -48,7 +48,7 @@ bool PlayerObject::onAdd()
       addComponent(mCollisionComponent);
       addComponent(mCollisionComponent);
 
 
       //Animation
       //Animation
-      mAnimationComponent = new ActionAnimationComponent();
+      /*mAnimationComponent = new ActionAnimationComponent();
       if (!mAnimationComponent->registerObject())
       if (!mAnimationComponent->registerObject())
       {
       {
          Con::errorf("PlayerObject::onAdd - unable to add ActionAnimationComponent!");
          Con::errorf("PlayerObject::onAdd - unable to add ActionAnimationComponent!");
@@ -69,7 +69,7 @@ bool PlayerObject::onAdd()
 
 
       mArmAnimationComponent->setInternalName("armAnimationComponent");
       mArmAnimationComponent->setInternalName("armAnimationComponent");
 
 
-      addComponent(mArmAnimationComponent);
+      addComponent(mArmAnimationComponent);*/
 
 
       //Physics control
       //Physics control
       mPhysicsComponent = new PlayerControllerComponent();
       mPhysicsComponent = new PlayerControllerComponent();
@@ -162,4 +162,4 @@ bool PlayerObject::onAdd()
 void PlayerObject::onRemove()
 void PlayerObject::onRemove()
 {
 {
    Parent::onRemove();
    Parent::onRemove();
-}
+}

+ 5 - 5
Engine/source/T3D/gameObjects/playerObject.h

@@ -3,8 +3,8 @@
 #include "T3D/entity.h"
 #include "T3D/entity.h"
 #include "T3D/components/render/meshComponent.h"
 #include "T3D/components/render/meshComponent.h"
 #include "T3D/components/collision/shapeCollisionComponent.h"
 #include "T3D/components/collision/shapeCollisionComponent.h"
-#include "T3D/components/animation/actionAnimationComponent.h"
-#include "T3D/components/animation/armAnimationComponent.h"
+//#include "T3D/components/animation/actionAnimationComponent.h"
+//#include "T3D/components/animation/armAnimationComponent.h"
 #include "T3D/components/physics/playerControllerComponent.h"
 #include "T3D/components/physics/playerControllerComponent.h"
 #include "T3D/components/game/stateMachineComponent.h"
 #include "T3D/components/game/stateMachineComponent.h"
 #include "T3D/components/camera/cameraComponent.h"
 #include "T3D/components/camera/cameraComponent.h"
@@ -19,8 +19,8 @@ class PlayerObject : public Entity
 
 
    MeshComponent* mMeshComponent;
    MeshComponent* mMeshComponent;
    ShapeCollisionComponent* mCollisionComponent;
    ShapeCollisionComponent* mCollisionComponent;
-   ActionAnimationComponent* mAnimationComponent;
-   ArmAnimationComponent* mArmAnimationComponent;
+   //ActionAnimationComponent* mAnimationComponent;
+   //ArmAnimationComponent* mArmAnimationComponent;
    PlayerControllerComponent* mPhysicsComponent;
    PlayerControllerComponent* mPhysicsComponent;
    StateMachineComponent* mStateMachineComponent;
    StateMachineComponent* mStateMachineComponent;
    CameraComponent* mCameraComponent;
    CameraComponent* mCameraComponent;
@@ -37,4 +37,4 @@ public:
    virtual void onRemove();
    virtual void onRemove();
 
 
    DECLARE_CONOBJECT(PlayerObject);
    DECLARE_CONOBJECT(PlayerObject);
-};
+};

+ 3 - 3
Engine/source/T3D/gameObjects/soundEmitterObject.cpp

@@ -1,11 +1,11 @@
-#include "SoundEmitterObject.h"
+#include "soundEmitterObject.h"
 
 
 IMPLEMENT_CO_NETOBJECT_V1(SoundEmitterObject);
 IMPLEMENT_CO_NETOBJECT_V1(SoundEmitterObject);
 
 
 SoundEmitterObject::SoundEmitterObject()
 SoundEmitterObject::SoundEmitterObject()
    :  mSoundComponent(nullptr)
    :  mSoundComponent(nullptr)
 {
 {
-
+   mSuperClassName = StringTable->insert("Entity");
 }
 }
 SoundEmitterObject::~SoundEmitterObject()
 SoundEmitterObject::~SoundEmitterObject()
 {
 {
@@ -35,4 +35,4 @@ bool SoundEmitterObject::onAdd()
 void SoundEmitterObject::onRemove()
 void SoundEmitterObject::onRemove()
 {
 {
    Parent::onRemove();
    Parent::onRemove();
-}
+}

+ 2 - 2
Engine/source/T3D/gameObjects/soundEmitterObject.h

@@ -1,7 +1,7 @@
 #pragma once
 #pragma once
 
 
 #include "T3D/entity.h"
 #include "T3D/entity.h"
-#include "T3D/components/audio/soundComponent.h"
+#include "T3D/components/audio/SoundComponent.h"
 
 
 class SoundEmitterObject : public Entity
 class SoundEmitterObject : public Entity
 {
 {
@@ -17,4 +17,4 @@ public:
    virtual void onRemove();
    virtual void onRemove();
 
 
    DECLARE_CONOBJECT(SoundEmitterObject);
    DECLARE_CONOBJECT(SoundEmitterObject);
-};
+};

+ 1 - 2
Engine/source/T3D/gameObjects/staticShapeObject.cpp

@@ -7,7 +7,6 @@ StaticShapeObject::StaticShapeObject()
       mCollisionComponent(nullptr),
       mCollisionComponent(nullptr),
       mAnimationComponent(nullptr)
       mAnimationComponent(nullptr)
 {
 {
-
 }
 }
 StaticShapeObject::~StaticShapeObject()
 StaticShapeObject::~StaticShapeObject()
 {
 {
@@ -65,4 +64,4 @@ bool StaticShapeObject::onAdd()
 void StaticShapeObject::onRemove()
 void StaticShapeObject::onRemove()
 {
 {
    Parent::onRemove();
    Parent::onRemove();
-}
+}

+ 10 - 1
Engine/source/assets/assetManager.cpp

@@ -70,6 +70,9 @@
 #ifndef MATERIALASSET_H
 #ifndef MATERIALASSET_H
 #include "T3D/assets/MaterialAsset.h"
 #include "T3D/assets/MaterialAsset.h"
 #endif
 #endif
+#ifndef GAME_OBJECT_ASSET_H
+#include "T3D/assets/GameObjectAsset.h"
+#endif
 
 
 // Script bindings.
 // Script bindings.
 #include "assetManager_ScriptBinding.h"
 #include "assetManager_ScriptBinding.h"
@@ -272,10 +275,16 @@ bool AssetManager::loadModuleAutoLoadAssets(ModuleDefinition* pModuleDefinition)
             {
             {
                assetBase = mTaml.read<MaterialAsset>(assetDef->mAssetBaseFilePath);
                assetBase = mTaml.read<MaterialAsset>(assetDef->mAssetBaseFilePath);
             }
             }
+            else if (assetDef->mAssetType == StringTable->insert("GameObjectAsset"))
+            {
+               assetBase = mTaml.read<GameObjectAsset>(assetDef->mAssetBaseFilePath);
+            }
 
 
             //load the asset now if valid
             //load the asset now if valid
             if (assetBase)
             if (assetBase)
-               addPrivateAsset(assetBase);
+            {
+               assetBase->setOwned(this, assetDef);
+            }
          }
          }
       }
       }
    }
    }

+ 5 - 2
Engine/source/renderInstance/renderProbeMgr.cpp

@@ -658,8 +658,11 @@ void RenderProbeMgr::_update4ProbeConsts(const SceneData &sgData,
       shaderConsts->setSafe(probeShaderConsts->mProbeBoxMinSC, probeBoxMinArray);
       shaderConsts->setSafe(probeShaderConsts->mProbeBoxMinSC, probeBoxMinArray);
       shaderConsts->setSafe(probeShaderConsts->mProbeBoxMaxSC, probeBoxMaxArray);
       shaderConsts->setSafe(probeShaderConsts->mProbeBoxMaxSC, probeBoxMaxArray);
       shaderConsts->setSafe(probeShaderConsts->mProbeConfigDataSC, probeConfigArray);
       shaderConsts->setSafe(probeShaderConsts->mProbeConfigDataSC, probeConfigArray);
-      GFX->setCubeArrayTexture(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister(), mPrefilterArray);
-      GFX->setCubeArrayTexture(probeShaderConsts->mProbeIrradianceCubemapSC->getSamplerRegister(), mIrradianceArray);
+
+      if(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister() != -1)
+         GFX->setCubeArrayTexture(probeShaderConsts->mProbeSpecularCubemapSC->getSamplerRegister(), mPrefilterArray);
+      if(probeShaderConsts->mProbeIrradianceCubemapSC->getSamplerRegister() != -1)
+         GFX->setCubeArrayTexture(probeShaderConsts->mProbeIrradianceCubemapSC->getSamplerRegister(), mIrradianceArray);
    }
    }
 
 
    if (probeShaderConsts->mBRDFTextureMap->isValid())
    if (probeShaderConsts->mBRDFTextureMap->isValid())

+ 0 - 1
Templates/BaseGame/game/core/gameObjects/Core_GameObjects.cs

@@ -1,4 +1,3 @@
-
 function Core_GameObjects::onCreate(%this)
 function Core_GameObjects::onCreate(%this)
 {
 {
 }
 }

+ 2 - 2
Templates/BaseGame/game/core/gameObjects/Core_GameObjects.module

@@ -10,10 +10,10 @@
            canSave="true"
            canSave="true"
            canSaveDynamicFields="true"
            canSaveDynamicFields="true"
            Extension="asset.taml"
            Extension="asset.taml"
-           Recurse="true" />
+           Recurse="true"/>
 	<AutoloadAssets
 	<AutoloadAssets
 	   canSave="true"
 	   canSave="true"
 	   canSaveDynamicFields="true"
 	   canSaveDynamicFields="true"
 	   AssetType="GameObjectAsset"
 	   AssetType="GameObjectAsset"
-	   Recurse="true" />
+	   Recurse="true"/>
 </ModuleDefinition>
 </ModuleDefinition>

+ 2 - 2
Templates/BaseGame/game/core/gameObjects/gameObjects/AIPlayerObject.asset.taml

@@ -3,6 +3,6 @@
     canSaveDynamicFields="true"
     canSaveDynamicFields="true"
     AssetName="AIPlayerObject"
     AssetName="AIPlayerObject"
     gameObjectName="AIPlayerObject"
     gameObjectName="AIPlayerObject"
-    scriptFilePath="core/gameObjects/gameObjects/AIPlayerObject.cs"
-    TAMLFilePath="core/gameObjects/gameObjects/AIPlayerObject.taml"
+    scriptFile="AIPlayerObject.cs"
+    TAMLFile="AIPlayerObject.taml"
     description="A basic AI Player Object example." />
     description="A basic AI Player Object example." />

+ 2 - 2
Templates/BaseGame/game/core/gameObjects/gameObjects/PlayerObject.asset.taml

@@ -3,6 +3,6 @@
     canSaveDynamicFields="true"
     canSaveDynamicFields="true"
     AssetName="PlayerObject"
     AssetName="PlayerObject"
     gameObjectName="PlayerObject"
     gameObjectName="PlayerObject"
-    scriptFilePath="core/gameObjects/gameObjects/PlayerObject.cs"
-    TAMLFilePath="core/gameObjects/gameObjects/PlayerObject.taml"
+    scriptFile="PlayerObject.cs"
+    TAMLFile="PlayerObject.taml"
     description="A basic Player Object example." />
     description="A basic Player Object example." />

+ 1 - 1
Templates/BaseGame/game/core/gameObjects/gameObjects/soundEmitterObject.asset.taml

@@ -3,5 +3,5 @@
     canSaveDynamicFields="true"
     canSaveDynamicFields="true"
     AssetName="soundEmitterObject"
     AssetName="soundEmitterObject"
     gameObjectName="soundEmitterObject"
     gameObjectName="soundEmitterObject"
-    TAMLFilePath="core/gameObjects/gameObjects/soundEmitterObject.taml"
+    TAMLFile="soundEmitterObject.taml"
     description="A basic sound emitter example." />
     description="A basic sound emitter example." />

+ 1 - 1
Templates/BaseGame/game/core/gameObjects/gameObjects/staticShapeObject.asset.taml

@@ -3,5 +3,5 @@
     canSaveDynamicFields="true"
     canSaveDynamicFields="true"
     AssetName="StaticShapeObject"
     AssetName="StaticShapeObject"
     gameObjectName="StaticShapeObject"
     gameObjectName="StaticShapeObject"
-    TAMLFilePath="core/gameObjects/gameObjects/staticShapeObject.taml"
+    TAMLFile="staticShapeObject.taml"
     description="A basic static shape example." />
     description="A basic static shape example." />

+ 0 - 50
Templates/BaseGame/game/core/utility/scripts/helperFunctions.cs

@@ -198,56 +198,6 @@ function getPrefpath()
 	return $prefPath;
 	return $prefPath;
 }
 }
 
 
-function updateTSShapeLoadProgress(%progress, %msg)
-{
-   // Check if the loading GUI is visible and use that instead of the
-   // separate import progress GUI if possible
-  /* if ( isObject(LoadingGui) && LoadingGui.isAwake() )
-   {
-      // Save/Restore load progress at the start/end of the import process
-      if ( %progress == 0 )
-      {
-         ColladaImportProgress.savedProgress = LoadingProgress.getValue();
-         ColladaImportProgress.savedText = LoadingProgressTxt.getValue();
-
-         ColladaImportProgress.msgPrefix = "Importing " @ %msg;
-         %msg = "Reading file into memory...";
-      }
-      else if ( %progress == 1.0 )
-      {
-         LoadingProgress.setValue( ColladaImportProgress.savedProgress );
-         LoadingProgressTxt.setValue( ColladaImportProgress.savedText );
-      }
-
-      %msg = ColladaImportProgress.msgPrefix @ ": " @ %msg;
-
-      %progressCtrl = LoadingProgress;
-      %textCtrl = LoadingProgressTxt;
-   }
-   else
-   {
-      //it's probably the editors using it
-      if(isFunction("updateToolTSShapeLoadProgress"))
-      {
-         updateToolTSShapeLoadProgress(%progress, %msg);
-      }
-   }
-
-   // Update progress indicators
-   if (%progress == 0)
-   {
-      %progressCtrl.setValue(0.001);
-      %textCtrl.setText(%msg);
-   }
-   else if (%progress != 1.0)
-   {
-      %progressCtrl.setValue(%progress);
-      %textCtrl.setText(%msg);
-   }
-
-   Canvas.repaint(33);*/
-}
-
 /// A helper function which will return the ghosted client object
 /// A helper function which will return the ghosted client object
 /// from a server object when connected to a local server.
 /// from a server object when connected to a local server.
 function serverToClientObject( %serverObject )
 function serverToClientObject( %serverObject )

+ 10 - 2
Templates/BaseGame/game/data/StaticShapeTest/Shapes/materials.cs

@@ -3,9 +3,17 @@ singleton Material(Grid_512_Orange)
 {
 {
    mapTo = "Grid_512_orange";
    mapTo = "Grid_512_orange";
    diffuseColor[0] = "0.8 0.8 0.8 1";
    diffuseColor[0] = "0.8 0.8 0.8 1";
-   diffuseMap[0] = "E:/Gamedev/T3DMIT/clangtest/Templates/Full/game/core/art/grids/Grid_512_orange.png";
+   diffuseMap[0] = "tools/base/images/512_orange.png";
    specular[0] = "0.8 0.8 0.8 1";
    specular[0] = "0.8 0.8 0.8 1";
    specularPower[0] = "0.25";
    specularPower[0] = "0.25";
    specularStrength[0] = "25";
    specularStrength[0] = "25";
-   translucentBlendOp = "None";
+   translucentBlendOp = "Add";
+   smoothness[0] = "0.941176";
+   metalness[0] = "1";
+   DiffuseMapAsset0 = "StaticShapeTest:Grid_512_orange_ALBEDO";
+   specularStrength0 = "25";
+   specular0 = "0.8 0.8 0.8 1";
+   specularPower0 = "0.25";
+   emissive[0] = "1";
+   translucent = "1";
 };
 };

+ 3 - 3
Templates/BaseGame/game/data/shaderCache/autogenConditioners.h

@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // Autogenerated 'GBuffer Conditioner' Condition Method
 // Autogenerated 'GBuffer Conditioner' Condition Method
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-inline float4 autogenCondition_55070f7a(in float4 unconditionedOutput)
+vec4 autogenCondition_55070f7a(vec4 unconditionedOutput)
 {
 {
    // g-buffer conditioner: float4(normal.X, normal.Y, depth Hi, depth Lo)
    // g-buffer conditioner: float4(normal.X, normal.Y, depth Hi, depth Lo)
    float4 _gbConditionedOutput = float4(sqrt(half(2.0/(1.0 - unconditionedOutput.y))) * half2(unconditionedOutput.xz), 0.0, unconditionedOutput.a);
    float4 _gbConditionedOutput = float4(sqrt(half(2.0/(1.0 - unconditionedOutput.y))) * half2(unconditionedOutput.xz), 0.0, unconditionedOutput.a);
@@ -18,10 +18,10 @@ inline float4 autogenCondition_55070f7a(in float4 unconditionedOutput)
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // Autogenerated 'GBuffer Conditioner' Uncondition Method
 // Autogenerated 'GBuffer Conditioner' Uncondition Method
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
-inline float4 autogenUncondition_55070f7a(SamplerState deferredSamplerVar, Texture2D deferredTexVar, float2 screenUVVar)
+float4 autogenUncondition_55070f7a(sampler2D deferredSamplerVar, float2 screenUVVar)
 {
 {
    // Sampler g-buffer
    // Sampler g-buffer
-      float4 bufferSample = deferredTexVar.SampleLevel(deferredSamplerVar, screenUVVar,0);
+float4 bufferSample = tex2Dlod(deferredSamplerVar, float4(screenUVVar,0,0));
    // g-buffer unconditioner: float4(normal.X, normal.Y, depth Hi, depth Lo)
    // g-buffer unconditioner: float4(normal.X, normal.Y, depth Hi, depth Lo)
    float2 _inpXY = bufferSample.xy;
    float2 _inpXY = bufferSample.xy;
    float _xySQ = dot(_inpXY, _inpXY);
    float _xySQ = dot(_inpXY, _inpXY);

+ 4 - 1
Templates/BaseGame/game/tools/assetBrowser/scripts/assetImport.cs

@@ -71,6 +71,9 @@ function AssetBrowser::onBeginDropFiles( %this )
    %this.importAssetUnprocessedListArray.empty();
    %this.importAssetUnprocessedListArray.empty();
    %this.importAssetFinalListArray.empty();
    %this.importAssetFinalListArray.empty();
    
    
+   //prep the import control
+   Canvas.pushDialog(AssetImportCtrl);
+   AssetImportCtrl.setHidden(true);
    ImportAssetTree.clear();
    ImportAssetTree.clear();
    AssetBrowser.unprocessedAssetsCount = 0;
    AssetBrowser.unprocessedAssetsCount = 0;
 }
 }
@@ -270,7 +273,7 @@ function AssetBrowser::onEndDropFiles( %this )
       return;
       return;
    
    
    //we have assets to import, so go ahead and display the window for that now
    //we have assets to import, so go ahead and display the window for that now
-   Canvas.pushDialog(AssetImportCtrl);
+   AssetImportCtrl.setHidden(false);
    ImportAssetWindow.visible = true;
    ImportAssetWindow.visible = true;
    //ImportAssetWindow.validateAssets();
    //ImportAssetWindow.validateAssets();
    ImportAssetWindow.refresh();
    ImportAssetWindow.refresh();

+ 53 - 53
Templates/BaseGame/game/tools/settings.xml

@@ -1,84 +1,84 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <EditorSettings>
 <EditorSettings>
+    <Group name="AxisGizmo">
+        <Setting name="axisGizmoMaxScreenLen">100</Setting>
+        <Setting name="mouseScaleScalar">0.8</Setting>
+        <Setting name="rotationSnap">15</Setting>
+        <Setting name="renderWhenUsed">0</Setting>
+        <Setting name="snapRotations">0</Setting>
+        <Setting name="renderInfoText">1</Setting>
+        <Setting name="mouseRotateScalar">0.8</Setting>
+        <Group name="Grid">
+            <Setting name="planeDim">500</Setting>
+            <Setting name="gridColor">255 255 255 20</Setting>
+            <Setting name="snapToGrid">0</Setting>
+            <Setting name="gridSize">10 10 10</Setting>
+            <Setting name="renderPlane">0</Setting>
+            <Setting name="renderPlaneHashes">0</Setting>
+        </Group>
+    </Group>
     <Group name="WorldEditor">
     <Group name="WorldEditor">
-        <Setting name="forceLoadDAE">0</Setting>
-        <Setting name="currentEditor">WorldEditorInspectorPlugin</Setting>
         <Setting name="displayType">6</Setting>
         <Setting name="displayType">6</Setting>
         <Setting name="dropType">screenCenter</Setting>
         <Setting name="dropType">screenCenter</Setting>
         <Setting name="orthoFOV">50</Setting>
         <Setting name="orthoFOV">50</Setting>
         <Setting name="undoLimit">40</Setting>
         <Setting name="undoLimit">40</Setting>
         <Setting name="orthoShowGrid">1</Setting>
         <Setting name="orthoShowGrid">1</Setting>
-        <Group name="ObjectIcons">
-            <Setting name="fadeIconsStartDist">8</Setting>
-            <Setting name="fadeIconsEndDist">20</Setting>
-            <Setting name="fadeIconsStartAlpha">255</Setting>
-            <Setting name="fadeIconsEndAlpha">0</Setting>
-            <Setting name="fadeIcons">1</Setting>
+        <Setting name="forceLoadDAE">0</Setting>
+        <Setting name="currentEditor">WorldEditorInspectorPlugin</Setting>
+        <Group name="Grid">
+            <Setting name="gridSnap">0</Setting>
+            <Setting name="gridMinorColor">51 51 51 100</Setting>
+            <Setting name="gridColor">102 102 102 100</Setting>
+            <Setting name="gridSize">1</Setting>
+            <Setting name="gridOriginColor">255 255 255 100</Setting>
+        </Group>
+        <Group name="Docs">
+            <Setting name="forumURL">http://www.garagegames.com/products/torque-3d/forums</Setting>
+            <Setting name="documentationURL">http://www.garagegames.com/products/torque-3d/documentation/user</Setting>
+            <Setting name="documentationReference">../../../Documentation/Torque 3D - Script Manual.chm</Setting>
+            <Setting name="documentationLocal">../../../Documentation/Official Documentation.html</Setting>
+        </Group>
+        <Group name="Render">
+            <Setting name="renderObjText">1</Setting>
+            <Setting name="showMousePopupInfo">1</Setting>
+            <Setting name="renderObjHandle">1</Setting>
+            <Setting name="renderSelectionBox">1</Setting>
+            <Setting name="renderPopupBackground">1</Setting>
         </Group>
         </Group>
         <Group name="Color">
         <Group name="Color">
-            <Setting name="dragRectColor">255 255 0 255</Setting>
             <Setting name="objSelectColor">255 0 0 255</Setting>
             <Setting name="objSelectColor">255 0 0 255</Setting>
             <Setting name="selectionBoxColor">255 255 0 255</Setting>
             <Setting name="selectionBoxColor">255 255 0 255</Setting>
-            <Setting name="objMouseOverColor">0 255 0 255</Setting>
-            <Setting name="objMouseOverSelectColor">0 0 255 255</Setting>
+            <Setting name="objectTextColor">255 255 255 255</Setting>
             <Setting name="popupBackgroundColor">100 100 100 255</Setting>
             <Setting name="popupBackgroundColor">100 100 100 255</Setting>
-            <Setting name="objectTextColor">White</Setting>
+            <Setting name="objMouseOverSelectColor">0 0 255 255</Setting>
+            <Setting name="dragRectColor">255 255 0 255</Setting>
+            <Setting name="objMouseOverColor">0 255 0 255</Setting>
         </Group>
         </Group>
-        <Group name="Render">
-            <Setting name="renderPopupBackground">1</Setting>
-            <Setting name="renderSelectionBox">1</Setting>
-            <Setting name="showMousePopupInfo">1</Setting>
-            <Setting name="renderObjHandle">1</Setting>
-            <Setting name="renderObjText">1</Setting>
+        <Group name="ObjectIcons">
+            <Setting name="fadeIcons">1</Setting>
+            <Setting name="fadeIconsEndAlpha">0</Setting>
+            <Setting name="fadeIconsStartAlpha">255</Setting>
+            <Setting name="fadeIconsEndDist">20</Setting>
+            <Setting name="fadeIconsStartDist">8</Setting>
         </Group>
         </Group>
         <Group name="Images">
         <Group name="Images">
             <Setting name="selectHandle">tools/worldEditor/images/SelectHandle</Setting>
             <Setting name="selectHandle">tools/worldEditor/images/SelectHandle</Setting>
-            <Setting name="defaultHandle">tools/worldEditor/images/DefaultHandle</Setting>
             <Setting name="lockedHandle">tools/worldEditor/images/LockedHandle</Setting>
             <Setting name="lockedHandle">tools/worldEditor/images/LockedHandle</Setting>
-        </Group>
-        <Group name="Grid">
-            <Setting name="gridSize">1</Setting>
-            <Setting name="gridSnap">0</Setting>
-            <Setting name="gridColor">102 102 102 100</Setting>
-            <Setting name="gridOriginColor">255 255 255 100</Setting>
-            <Setting name="gridMinorColor">51 51 51 100</Setting>
+            <Setting name="defaultHandle">tools/worldEditor/images/DefaultHandle</Setting>
         </Group>
         </Group>
         <Group name="Tools">
         <Group name="Tools">
-            <Setting name="snapSoftSize">2</Setting>
+            <Setting name="objectsUseBoxCenter">1</Setting>
             <Setting name="snapGround">0</Setting>
             <Setting name="snapGround">0</Setting>
             <Setting name="boundingBoxCollision">0</Setting>
             <Setting name="boundingBoxCollision">0</Setting>
-            <Setting name="objectsUseBoxCenter">1</Setting>
-            <Setting name="dropAtScreenCenterScalar">1</Setting>
-            <Setting name="dropAtScreenCenterMax">100</Setting>
             <Setting name="snapSoft">0</Setting>
             <Setting name="snapSoft">0</Setting>
-        </Group>
-        <Group name="Docs">
-            <Setting name="forumURL">http://www.garagegames.com/products/torque-3d/forums</Setting>
-            <Setting name="documentationReference">../../../Documentation/Torque 3D - Script Manual.chm</Setting>
-            <Setting name="documentationURL">http://www.garagegames.com/products/torque-3d/documentation/user</Setting>
-            <Setting name="documentationLocal">../../../Documentation/Official Documentation.html</Setting>
+            <Setting name="snapSoftSize">2</Setting>
+            <Setting name="dropAtScreenCenterMax">100</Setting>
+            <Setting name="dropAtScreenCenterScalar">1</Setting>
         </Group>
         </Group>
     </Group>
     </Group>
     <Group name="NavEditor">
     <Group name="NavEditor">
         <Setting name="SpawnClass">AIPlayer</Setting>
         <Setting name="SpawnClass">AIPlayer</Setting>
     </Group>
     </Group>
-    <Group name="AxisGizmo">
-        <Setting name="rotationSnap">15</Setting>
-        <Setting name="renderWhenUsed">0</Setting>
-        <Setting name="snapRotations">0</Setting>
-        <Setting name="renderInfoText">1</Setting>
-        <Setting name="mouseRotateScalar">0.8</Setting>
-        <Setting name="axisGizmoMaxScreenLen">100</Setting>
-        <Setting name="mouseScaleScalar">0.8</Setting>
-        <Group name="Grid">
-            <Setting name="renderPlane">0</Setting>
-            <Setting name="gridSize">10 10 10</Setting>
-            <Setting name="planeDim">500</Setting>
-            <Setting name="renderPlaneHashes">0</Setting>
-            <Setting name="gridColor">255 255 255 20</Setting>
-            <Setting name="snapToGrid">0</Setting>
-        </Group>
-    </Group>
     <Group name="LevelInformation">
     <Group name="LevelInformation">
         <Setting name="levelsDirectory">data/FPSGameplay/levels</Setting>
         <Setting name="levelsDirectory">data/FPSGameplay/levels</Setting>
         <Group name="levels">
         <Group name="levels">

+ 5 - 0
Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.cs

@@ -854,6 +854,11 @@ function WorldEditorPlugin::onActivated( %this )
    EWorldEditor.makeFirstResponder(true);
    EWorldEditor.makeFirstResponder(true);
    EditorTree.open($scenesRootGroup,true);
    EditorTree.open($scenesRootGroup,true);
    EWCreatorWindow.setNewObjectGroup(getScene(0));
    EWCreatorWindow.setNewObjectGroup(getScene(0));
+   
+   EditorTree.expandItem(1);
+   EditorTree.buildVisibleTree(true);
+   EditorTree.expandItem(2);
+   EditorTree.buildVisibleTree(true);
 
 
    EWorldEditor.syncGui();
    EWorldEditor.syncGui();
 
 

+ 1 - 1
Tools/CMake/basics.cmake

@@ -29,7 +29,7 @@ elseif( CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 4 )
 endif()
 endif()
 
 
 if(NOT TORQUE_TEMPLATE)
 if(NOT TORQUE_TEMPLATE)
-    set(TORQUE_TEMPLATE "Full" CACHE STRING "the template to use")
+    set(TORQUE_TEMPLATE "BaseGame" CACHE STRING "the template to use")
 endif()
 endif()
 if(NOT TORQUE_APP_DIR)
 if(NOT TORQUE_APP_DIR)
     set(TORQUE_APP_DIR "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}")
     set(TORQUE_APP_DIR "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}")

+ 1 - 0
Tools/CMake/torque3d.cmake

@@ -338,6 +338,7 @@ addPath("${srcDir}/T3D/sfx")
 addPath("${srcDir}/T3D/gameBase")
 addPath("${srcDir}/T3D/gameBase")
 addPath("${srcDir}/T3D/turret")
 addPath("${srcDir}/T3D/turret")
 addPath("${srcDir}/T3D/lighting")
 addPath("${srcDir}/T3D/lighting")
+addPath("${srcDir}/T3D/gameObjects")
 addPathRec("${srcDir}/T3D/components/")
 addPathRec("${srcDir}/T3D/components/")
 addPathRec("${srcDir}/T3D/systems")
 addPathRec("${srcDir}/T3D/systems")