Various fixes

This commit is contained in:
Areloch 2019-05-11 21:42:27 -05:00
parent 60a29777fa
commit 3fa7a0d4fa
27 changed files with 171 additions and 177 deletions

View file

@ -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();
} }

View file

@ -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 = pShapeFile;
mFileName = getOwned() ? expandAssetFilePath(pShapeFile) : StringTable->insert(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;
} }

View file

@ -157,8 +157,7 @@ void Entity::initPersistFields()
endGroup("Misc"); endGroup("Misc");
addGroup("GameObject"); addGroup("GameObject");
addProtectedField("GameObject", TypeGameObjectAssetPtr, Offset(mGameObjectAsset, Entity), &_setGameObject, &defaultProtectedGetFn, addField("GameObject", TypeGameObjectAssetPtr, Offset(mGameObjectAsset, Entity), "The asset Id used for the game object this entity is based on.");
"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);*/
} }

View file

@ -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);

View file

@ -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();
} }

View file

@ -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);
}; };

View file

@ -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();
} }

View file

@ -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/actionAnimationComponent.h"
#include "T3D/components/animation/armAnimationComponent.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; //ActionAnimationComponent* mAnimationComponent;
ArmAnimationComponent* mArmAnimationComponent; //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);
}; };

View file

@ -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();
} }

View file

@ -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);
}; };

View file

@ -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();
} }

View file

@ -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);
}
} }
} }
} }

View file

@ -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())

View file

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

View file

@ -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>

View file

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

View file

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

View file

@ -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." />

View file

@ -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." />

View file

@ -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 )

View file

@ -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";
}; };

View file

@ -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);

View file

@ -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();

View file

@ -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="WorldEditor">
<Setting name="forceLoadDAE">0</Setting>
<Setting name="currentEditor">WorldEditorInspectorPlugin</Setting>
<Setting name="displayType">6</Setting>
<Setting name="dropType">screenCenter</Setting>
<Setting name="orthoFOV">50</Setting>
<Setting name="undoLimit">40</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>
</Group>
<Group name="Color">
<Setting name="dragRectColor">255 255 0 255</Setting>
<Setting name="objSelectColor">255 0 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="popupBackgroundColor">100 100 100 255</Setting>
<Setting name="objectTextColor">White</Setting>
</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>
<Group name="Images">
<Setting name="selectHandle">tools/worldEditor/images/SelectHandle</Setting>
<Setting name="defaultHandle">tools/worldEditor/images/DefaultHandle</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>
</Group>
<Group name="Tools">
<Setting name="snapSoftSize">2</Setting>
<Setting name="snapGround">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>
</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>
</Group>
</Group>
<Group name="NavEditor">
<Setting name="SpawnClass">AIPlayer</Setting>
</Group>
<Group name="AxisGizmo"> <Group name="AxisGizmo">
<Setting name="axisGizmoMaxScreenLen">100</Setting>
<Setting name="mouseScaleScalar">0.8</Setting>
<Setting name="rotationSnap">15</Setting> <Setting name="rotationSnap">15</Setting>
<Setting name="renderWhenUsed">0</Setting> <Setting name="renderWhenUsed">0</Setting>
<Setting name="snapRotations">0</Setting> <Setting name="snapRotations">0</Setting>
<Setting name="renderInfoText">1</Setting> <Setting name="renderInfoText">1</Setting>
<Setting name="mouseRotateScalar">0.8</Setting> <Setting name="mouseRotateScalar">0.8</Setting>
<Setting name="axisGizmoMaxScreenLen">100</Setting>
<Setting name="mouseScaleScalar">0.8</Setting>
<Group name="Grid"> <Group name="Grid">
<Setting name="renderPlane">0</Setting>
<Setting name="gridSize">10 10 10</Setting>
<Setting name="planeDim">500</Setting> <Setting name="planeDim">500</Setting>
<Setting name="renderPlaneHashes">0</Setting>
<Setting name="gridColor">255 255 255 20</Setting> <Setting name="gridColor">255 255 255 20</Setting>
<Setting name="snapToGrid">0</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> </Group>
<Group name="WorldEditor">
<Setting name="displayType">6</Setting>
<Setting name="dropType">screenCenter</Setting>
<Setting name="orthoFOV">50</Setting>
<Setting name="undoLimit">40</Setting>
<Setting name="orthoShowGrid">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 name="Color">
<Setting name="objSelectColor">255 0 0 255</Setting>
<Setting name="selectionBoxColor">255 255 0 255</Setting>
<Setting name="objectTextColor">255 255 255 255</Setting>
<Setting name="popupBackgroundColor">100 100 100 255</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 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 name="Images">
<Setting name="selectHandle">tools/worldEditor/images/SelectHandle</Setting>
<Setting name="lockedHandle">tools/worldEditor/images/LockedHandle</Setting>
<Setting name="defaultHandle">tools/worldEditor/images/DefaultHandle</Setting>
</Group>
<Group name="Tools">
<Setting name="objectsUseBoxCenter">1</Setting>
<Setting name="snapGround">0</Setting>
<Setting name="boundingBoxCollision">0</Setting>
<Setting name="snapSoft">0</Setting>
<Setting name="snapSoftSize">2</Setting>
<Setting name="dropAtScreenCenterMax">100</Setting>
<Setting name="dropAtScreenCenterScalar">1</Setting>
</Group>
</Group>
<Group name="NavEditor">
<Setting name="SpawnClass">AIPlayer</Setting>
</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">

View file

@ -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();

View file

@ -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}")

View file

@ -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")