diff --git a/Engine/source/T3D/fx/particleEmitter.cpp b/Engine/source/T3D/fx/particleEmitter.cpp index bab62dba8..04429d8fa 100644 --- a/Engine/source/T3D/fx/particleEmitter.cpp +++ b/Engine/source/T3D/fx/particleEmitter.cpp @@ -726,6 +726,7 @@ ParticleEmitter::ParticleEmitter() mCurBuffSize = 0; mDead = false; + mDataBlock = NULL; // ParticleEmitter should be allocated on the client only. mNetFlags.set( IsGhost ); diff --git a/Engine/source/T3D/shapeBase.cpp b/Engine/source/T3D/shapeBase.cpp index 350809286..10abf850d 100644 --- a/Engine/source/T3D/shapeBase.cpp +++ b/Engine/source/T3D/shapeBase.cpp @@ -958,6 +958,7 @@ ShapeBase::~ShapeBase() if( mShapeInstance && (mShapeInstance->getDebrisRefCount() == 0) ) { delete mShapeInstance; + mShapeInstance = NULL; } CollisionTimeout* ptr = mTimeoutList; diff --git a/Engine/source/app/mainLoop.cpp b/Engine/source/app/mainLoop.cpp index 0e81030e2..f89b4c435 100644 --- a/Engine/source/app/mainLoop.cpp +++ b/Engine/source/app/mainLoop.cpp @@ -241,6 +241,16 @@ void StandardMainLoop::init() DebugOutputConsumer::init(); #endif + // init Filesystem first, so we can actually log errors for all components that follow + Platform::FS::InstallFileSystems(); // install all drives for now until we have everything using the volume stuff + Platform::FS::MountDefaults(); + + // Set our working directory. + Torque::FS::SetCwd( "game:/" ); + + // Set our working directory. + Platform::setCurrentDirectory( Platform::getMainDotCsDir() ); + Processor::init(); Math::init(); Platform::init(); // platform specific initialization @@ -386,15 +396,6 @@ bool StandardMainLoop::handleCommandLine( S32 argc, const char **argv ) for (i = 0; i < argc; i++) Con::setVariable(avar("Game::argv%d", i), argv[i]); - Platform::FS::InstallFileSystems(); // install all drives for now until we have everything using the volume stuff - Platform::FS::MountDefaults(); - - // Set our working directory. - Torque::FS::SetCwd( "game:/" ); - - // Set our working directory. - Platform::setCurrentDirectory( Platform::getMainDotCsDir() ); - #ifdef TORQUE_PLAYER if(argc > 2 && dStricmp(argv[1], "-project") == 0) {