Browse Source

Merge branch 'alph40_cleanups' of https://github.com/Azaezel/Torque3D into Preview4_0

Areloch 5 years ago
parent
commit
39d9e6039c
100 changed files with 365 additions and 100 deletions
  1. 1 1
      Engine/source/T3D/assets/ImageAsset.cpp
  2. 3 0
      Engine/source/T3D/cameraSpline.cpp
  3. 2 2
      Engine/source/T3D/convexShape.cpp
  4. 2 2
      Engine/source/T3D/convexShape.h
  5. 5 0
      Engine/source/T3D/debris.cpp
  6. 17 0
      Engine/source/T3D/decal/decalInstance.cpp
  7. 1 1
      Engine/source/T3D/decal/decalInstance.h
  8. 4 0
      Engine/source/T3D/fx/explosion.cpp
  9. 11 1
      Engine/source/T3D/fx/fxFoliageReplicator.cpp
  10. 12 1
      Engine/source/T3D/fx/lightning.cpp
  11. 2 1
      Engine/source/T3D/fx/particleEmitter.cpp
  12. 1 0
      Engine/source/T3D/fx/ribbon.cpp
  13. 0 3
      Engine/source/T3D/fx/ribbonNode.h
  14. 3 1
      Engine/source/T3D/fx/splash.cpp
  15. 2 0
      Engine/source/T3D/gameBase/gameBase.cpp
  16. 1 0
      Engine/source/T3D/gameBase/moveList.cpp
  17. 2 0
      Engine/source/T3D/guiMaterialPreview.cpp
  18. 1 0
      Engine/source/T3D/physics/physicsForce.cpp
  19. 8 0
      Engine/source/T3D/player.cpp
  20. 1 0
      Engine/source/T3D/rigidShape.cpp
  21. 1 1
      Engine/source/T3D/shapeBase.h
  22. 4 0
      Engine/source/T3D/shapeImage.cpp
  23. 1 1
      Engine/source/T3D/tsStatic.cpp
  24. 1 0
      Engine/source/T3D/turret/aiTurretShape.cpp
  25. 9 3
      Engine/source/T3D/turret/turretShape.cpp
  26. 5 0
      Engine/source/T3D/vehicles/flyingVehicle.cpp
  27. 0 1
      Engine/source/T3D/vehicles/flyingVehicle.h
  28. 12 6
      Engine/source/T3D/vehicles/hoverVehicle.cpp
  29. 1 1
      Engine/source/T3D/vehicles/wheeledVehicle.cpp
  30. 4 2
      Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.cpp
  31. 3 2
      Engine/source/Verve/VActor/VActorPhysicsController.cpp
  32. 5 3
      Engine/source/Verve/VPath/VPathEditor.h
  33. 0 2
      Engine/source/afx/afxCamera.h
  34. 6 0
      Engine/source/afx/afxConstraint.cpp
  35. 1 0
      Engine/source/afx/afxEffectVector.cpp
  36. 0 2
      Engine/source/afx/afxEffectWrapper.h
  37. 3 2
      Engine/source/afx/afxMagicMissile.cpp
  38. 8 0
      Engine/source/afx/afxZodiacGroundPlaneRenderer_T3D.cpp
  39. 8 0
      Engine/source/afx/afxZodiacMeshRoadRenderer_T3D.cpp
  40. 8 0
      Engine/source/afx/afxZodiacPolysoupRenderer_T3D.cpp
  41. 8 0
      Engine/source/afx/afxZodiacTerrainRenderer_T3D.cpp
  42. 6 1
      Engine/source/afx/ce/afxModel.cpp
  43. 3 1
      Engine/source/afx/ce/afxMooring.cpp
  44. 5 0
      Engine/source/afx/ce/afxParticleEmitter.cpp
  45. 2 1
      Engine/source/afx/ce/afxStaticShape.cpp
  46. 1 0
      Engine/source/afx/ce/afxZodiac.cpp
  47. 2 2
      Engine/source/afx/ce/afxZodiacPlane.cpp
  48. 1 0
      Engine/source/afx/ea/afxEA_PhraseEffect.cpp
  49. 7 6
      Engine/source/afx/forces/afxF_Drag.cpp
  50. 5 4
      Engine/source/afx/forces/afxF_Gravity.cpp
  51. 3 1
      Engine/source/afx/util/afxAnimCurve.cpp
  52. 2 2
      Engine/source/afx/util/afxCurve3D.cpp
  53. 1 1
      Engine/source/afx/util/afxPath3D.cpp
  54. 15 5
      Engine/source/app/net/httpObject.cpp
  55. 1 0
      Engine/source/app/net/serverQuery.h
  56. 1 1
      Engine/source/collision/boxConvex.cpp
  57. 3 1
      Engine/source/collision/clippedPolyList.h
  58. 5 1
      Engine/source/collision/collision.h
  59. 3 0
      Engine/source/collision/concretePolyList.h
  60. 11 6
      Engine/source/collision/convex.cpp
  61. 2 2
      Engine/source/collision/convex.h
  62. 7 0
      Engine/source/collision/depthSortList.cpp
  63. 1 0
      Engine/source/collision/extrudedPolyList.cpp
  64. 5 2
      Engine/source/collision/extrudedPolyList.h
  65. 13 0
      Engine/source/collision/gjk.cpp
  66. 2 0
      Engine/source/collision/optimizedPolyList.h
  67. 1 0
      Engine/source/collision/planeExtractor.cpp
  68. 1 0
      Engine/source/collision/polytope.h
  69. 1 0
      Engine/source/console/astNodes.cpp
  70. 3 0
      Engine/source/console/codeBlock.cpp
  71. 3 0
      Engine/source/console/codeInterpreter.cpp
  72. 1 1
      Engine/source/console/compiler.h
  73. 12 1
      Engine/source/console/consoleInternal.cpp
  74. 1 0
      Engine/source/console/consoleInternal.h
  75. 16 1
      Engine/source/console/consoleObject.h
  76. 1 1
      Engine/source/console/engineAPI.h
  77. 2 1
      Engine/source/console/engineExports.h
  78. 1 1
      Engine/source/console/engineObject.cpp
  79. 1 0
      Engine/source/console/engineTypeInfo.cpp
  80. 1 0
      Engine/source/console/simDatablock.cpp
  81. 2 0
      Engine/source/console/simDictionary.cpp
  82. 1 1
      Engine/source/console/simEvents.h
  83. 2 2
      Engine/source/console/simFieldDictionary.h
  84. 1 0
      Engine/source/console/simObject.cpp
  85. 6 0
      Engine/source/console/stringStack.cpp
  86. 3 0
      Engine/source/console/telnetConsole.cpp
  87. 1 0
      Engine/source/console/telnetConsole.h
  88. 3 0
      Engine/source/console/telnetDebugger.cpp
  89. 2 1
      Engine/source/console/typeValidators.h
  90. 2 1
      Engine/source/core/color.h
  91. 1 0
      Engine/source/core/frameAllocator.h
  92. 2 2
      Engine/source/core/ogg/oggTheoraDecoder.h
  93. 1 0
      Engine/source/core/stream/fileStream.cpp
  94. 2 0
      Engine/source/core/stringBuffer.cpp
  95. 1 0
      Engine/source/core/util/journal/journal.h
  96. 3 2
      Engine/source/core/util/str.h
  97. 1 1
      Engine/source/core/util/tList.h
  98. 1 1
      Engine/source/core/util/tSignal.h
  99. 4 1
      Engine/source/environment/VolumetricFogRTManager.cpp
  100. 7 6
      Engine/source/environment/basicClouds.cpp

+ 1 - 1
Engine/source/T3D/assets/ImageAsset.cpp

@@ -103,7 +103,7 @@ EndImplementEnumType;
 
 
 //-----------------------------------------------------------------------------
-ImageAsset::ImageAsset() : AssetBase(), mImage(nullptr), mUseMips(true), mIsHDRImage(false), mIsValidImage(false)
+ImageAsset::ImageAsset() : AssetBase(), mImage(nullptr), mUseMips(true), mIsHDRImage(false), mIsValidImage(false), mImageType(Albedo)
 {
    mImageFileName = StringTable->EmptyString();
 }

+ 3 - 0
Engine/source/T3D/cameraSpline.cpp

@@ -36,6 +36,7 @@ CameraSpline::Knot::Knot()
    mSpeed = 0.0f;
    mType = NORMAL;
    mPath = SPLINE;
+   mDistance = 0.0f;
    prev = NULL; next = NULL;
 };
 
@@ -46,6 +47,7 @@ CameraSpline::Knot::Knot(const Knot &k)
    mSpeed    = k.mSpeed;
    mType = k.mType;
    mPath = k.mPath;
+   mDistance = k.mDistance;
    prev = NULL; next = NULL;
 }
 
@@ -56,6 +58,7 @@ CameraSpline::Knot::Knot(const Point3F &p, const QuatF &r, F32 s, Knot::Type typ
    mSpeed    = s;
    mType = type;
    mPath = path;
+   mDistance = 0.0f;
    prev = NULL; next = NULL;
 }
 

+ 2 - 2
Engine/source/T3D/convexShape.cpp

@@ -92,12 +92,12 @@ void ConvexShapeCollisionConvex::getFeatures( const MatrixF &mat, const VectorF
 	if ( pShape->mGeometry.points.empty() )
 	{
 		cf->material = 0;
-		cf->object = NULL;
+		cf->mObject = NULL;
 		return;
 	}
 
 	cf->material = 0;
-	cf->object = mObject;
+	cf->mObject = mObject;
 
 	// Simple implementation... Add all Points, Edges and Faces.
 

+ 2 - 2
Engine/source/T3D/convexShape.h

@@ -50,7 +50,7 @@ protected:
 
 public:
 
-	ConvexShapeCollisionConvex() { mType = ConvexShapeCollisionConvexType; }
+   ConvexShapeCollisionConvex() { pShape = NULL; mType = ConvexShapeCollisionConvexType; }
 
 	ConvexShapeCollisionConvex( const ConvexShapeCollisionConvex& cv ) {
 		mType      = ConvexShapeCollisionConvexType;
@@ -297,4 +297,4 @@ protected:
 
 };
 
-#endif // _CONVEXSHAPE_H_
+#endif // _CONVEXSHAPE_H_

+ 5 - 0
Engine/source/T3D/debris.cpp

@@ -157,6 +157,9 @@ DebrisData::DebrisData(const DebrisData& other, bool temp_clone) : GameBaseData(
    explosion = other.explosion;
    dMemcpy( emitterList, other.emitterList, sizeof( emitterList ) );
    dMemcpy( emitterIDList, other.emitterIDList, sizeof( emitterIDList ) ); // -- for pack/unpack of emitterList ptrs
+   mShatter = other.mShatter;
+   mProbBreak = other.mProbBreak;
+   mProbDepth = other.mProbDepth;
 }
 
 DebrisData::~DebrisData()
@@ -533,6 +536,8 @@ Debris::Debris()
    mInitialTrans.identity();
    mRadius = 0.2f;
    mStatic = false;
+   mElasticity = 0.5f;
+   mFriction = 0.5f;
 
    dMemset( mEmitterList, 0, sizeof( mEmitterList ) );
 

+ 17 - 0
Engine/source/T3D/decal/decalInstance.cpp

@@ -24,6 +24,23 @@
 #include "T3D/decal/decalInstance.h"
 #include "scene/sceneRenderState.h"
 
+DecalInstance::DecalInstance()
+   : mDataBlock(NULL),
+   mRotAroundNormal(0.0f),
+   mSize(0.0f),
+   mCreateTime(0),
+   mVisibility(1.0f),
+   mLastAlpha(1.0f),
+   mTextureRectIdx(0),
+   mVerts(NULL),
+   mIndices(NULL),
+   mVertCount(0),
+   mIndxCount(0),
+   mFlags(0),
+   mRenderPriority(0),
+   mId(-1),
+   mCustomTex(NULL)
+{}
 void DecalInstance::getWorldMatrix( MatrixF *outMat, bool flip )
 {
    outMat->setPosition( mPosition );

+ 1 - 1
Engine/source/T3D/decal/decalInstance.h

@@ -87,7 +87,7 @@ class DecalInstance
       /// Calculates the size of this decal onscreen in pixels, used for LOD.
       F32 calcPixelSize( U32 viewportHeight, const Point3F &cameraPos, F32 worldToScreenScaleY ) const;
    		
-	   DecalInstance() : mId(-1) {}   
+      DecalInstance();
 };
 
 #endif // _DECALINSTANCE_H_

+ 4 - 0
Engine/source/T3D/fx/explosion.cpp

@@ -238,6 +238,9 @@ ExplosionData::ExplosionData()
    explosionScale.set(1.0f, 1.0f, 1.0f);
    playSpeed = 1.0f;
 
+   explosionShape = NULL;
+   explosionAnimation = -1;
+
    dMemset( emitterList, 0, sizeof( emitterList ) );
    dMemset( emitterIDList, 0, sizeof( emitterIDList ) );
    dMemset( debrisList, 0, sizeof( debrisList ) );
@@ -924,6 +927,7 @@ Explosion::Explosion()
    ss_index = 0;
    mDataBlock = 0;
    soundProfile_clone = 0;
+   mRandomVal = 0;
 }
 
 Explosion::~Explosion()

+ 11 - 1
Engine/source/T3D/fx/fxFoliageReplicator.cpp

@@ -286,6 +286,7 @@ fxFoliageReplicator::fxFoliageReplicator()
    // Reset Foliage Count.
    mCurrentFoliageCount = 0;
 
+   dMemset(&mFrustumRenderSet, 0, sizeof(mFrustumRenderSet));
    // Reset Creation Area Angle Animation.
    mCreationAreaAngle = 0;
 
@@ -299,8 +300,15 @@ fxFoliageReplicator::fxFoliageReplicator()
 
    // Reset Frame Serial ID.
    mFrameSerialID = 0;
-
+   mQuadTreeLevels = 0;
+   mNextAllocatedNodeIdx = 0;
    mAlphaLookup = NULL;
+   mFadeInGradient = 0.0f;
+   mFadeOutGradient = 0.0f;
+   mGlobalSwayPhase = 0.0f;
+   mGlobalSwayTimeRatio = 1.0f;
+   mGlobalLightPhase = 0.0f;
+   mGlobalLightTimeRatio = 1.0f;
 
    mDirty = true;
 
@@ -317,6 +325,8 @@ fxFoliageReplicator::fxFoliageReplicator()
    mFoliageShaderTrueBillboardSC = NULL;
    mFoliageShaderGroundAlphaSC = NULL;
    mFoliageShaderAmbientColorSC = NULL;
+   mDiffuseTextureSC = NULL;
+   mAlphaMapTextureSC = NULL;
 
    mShaderData = NULL;
 }

+ 12 - 1
Engine/source/T3D/fx/lightning.cpp

@@ -248,7 +248,7 @@ LightningData::LightningData()
       strikeTextureNames[i] = NULL;
       strikeTextures[i] = NULL;
    }
-
+   numThunders = 0;
    mNumStrikeTextures = 0;
 }
 
@@ -371,6 +371,7 @@ Lightning::Lightning()
    mNetFlags.set(Ghostable|ScopeAlways);
    mTypeMask |= StaticObjectType|EnvironmentObjectType;
 
+   mDataBlock = NULL;
    mLastThink = 0;
 
    mStrikeListHead  = NULL;
@@ -1033,6 +1034,16 @@ LightningBolt::LightningBolt()
    elapsedTime = 0.0f;
    lifetime = 1.0f;
    startRender = false;
+   endPoint.zero();
+   width = 1;
+   numMajorNodes = 10;
+   maxMajorAngle = 30.0f;
+   numMinorNodes = 4;
+   maxMinorAngle = 15.0f;
+   fadeTime = 0.2f;
+   renderTime = 0.125;
+   dMemset(&mMajorNodes, 0, sizeof(mMajorNodes));
+   percentFade = 0.0f;
 }
 
 //--------------------------------------------------------------------------

+ 2 - 1
Engine/source/T3D/fx/particleEmitter.cpp

@@ -846,6 +846,7 @@ ParticleEmitterData::ParticleEmitterData(const ParticleEmitterData& other, bool
    textureName = other.textureName;
    textureHandle = other.textureHandle; // -- TextureHandle loads using textureName
    highResOnly = other.highResOnly;
+   glow = other.glow;
    renderReflection = other.renderReflection;
    fade_color = other.fade_color;
    fade_size = other.fade_size;
@@ -965,7 +966,7 @@ ParticleEmitter::ParticleEmitter()
    pos_pe.set(0,0,0);
    sort_priority = 0;
    mDataBlock = 0;
-   
+   std::fill_n(sizes, ParticleData::PDC_NUM_KEYS, 0.0f);
 #if defined(AFX_CAP_PARTICLE_POOLS)
    pool = 0;
 #endif 

+ 1 - 0
Engine/source/T3D/fx/ribbon.cpp

@@ -170,6 +170,7 @@ void RibbonData::unpackData(BitStream* stream)
 //
 Ribbon::Ribbon()
 {
+   mDataBlock = NULL;
    mTypeMask |= StaticObjectType;
 
    VECTOR_SET_ASSOCIATION(mSegmentPoints);

+ 0 - 3
Engine/source/T3D/fx/ribbonNode.h

@@ -37,9 +37,6 @@ class RibbonNodeData : public GameBaseData
 {
    typedef GameBaseData Parent;
 
-public:
-   F32 timeMultiple;
-
 public:
    RibbonNodeData();
    ~RibbonNodeData();

+ 3 - 1
Engine/source/T3D/fx/splash.cpp

@@ -309,6 +309,7 @@ Splash::Splash()
 
    mDelayMS = 0;
    mCurrMS = 0;
+   mRandAngle = 0;
    mEndingMS = 1000;
    mActive = false;
    mRadius = 0.0;
@@ -319,7 +320,8 @@ Splash::Splash()
    mElapsedTime = 0.0;
 
    mInitialNormal.set( 0.0, 0.0, 1.0 );
-
+   mFade = 0;
+   mFog = 0;
    // Only allocated client side.
    mNetFlags.set( IsGhost );
 }

+ 2 - 0
Engine/source/T3D/gameBase/gameBase.cpp

@@ -254,6 +254,8 @@ GameBase::GameBase()
    mTicksSinceLastMove = 0;
    mIsAiControlled = false;
 #endif
+   mTickCount = 0;
+   mCameraFov = 90.f;
 }
 
 GameBase::~GameBase()

+ 1 - 0
Engine/source/T3D/gameBase/moveList.cpp

@@ -26,6 +26,7 @@
 
 MoveList::MoveList()
 {
+   mConnection = NULL;
    mControlMismatch = false;
    reset();
 }

+ 2 - 0
Engine/source/T3D/guiMaterialPreview.cpp

@@ -61,6 +61,8 @@ GuiMaterialPreview::GuiMaterialPreview()
    // By default don't do dynamic reflection
    // updates for this viewport.
    mReflectPriority = 0.0f;
+   mMountedModel = NULL;
+   mSkinTag = 0;
 }
 
 GuiMaterialPreview::~GuiMaterialPreview()

+ 1 - 0
Engine/source/T3D/physics/physicsForce.cpp

@@ -43,6 +43,7 @@ ConsoleDocClass( PhysicsForce,
 PhysicsForce::PhysicsForce()
    :
       mWorld( NULL ),
+      mForce(0.0f),
       mPhysicsTick( false ),
       mBody( NULL )
 {

+ 8 - 0
Engine/source/T3D/player.cpp

@@ -311,6 +311,11 @@ PlayerData::PlayerData()
    jumpEnergyDrain = 0.0f;
    minJumpEnergy = 0.0f;
    jumpSurfaceAngle = 78.0f;
+   jumpSurfaceCos = mCos(mDegToRad(jumpSurfaceAngle));
+
+   for (U32 i = 0; i < NumRecoilSequences; i++)
+      recoilSequence[i] = -1;
+
    jumpDelay = 30;
    minJumpSpeed = 500.0f;
    maxJumpSpeed = 2.0f * minJumpSpeed;
@@ -370,6 +375,9 @@ PlayerData::PlayerData()
 
    actionCount = 0;
    lookAction = 0;
+   dMemset(spineNode, 0, sizeof(spineNode));
+
+   pickupDelta = 0.0f;
 
    // size of bounding box
    boxSize.set(1.0f, 1.0f, 2.3f);

+ 1 - 0
Engine/source/T3D/rigidShape.cpp

@@ -253,6 +253,7 @@ RigidShapeData::RigidShapeData()
 
    dustEmitter = NULL;
    dustID = 0;
+   triggerDustHeight = 3.0;
    dustHeight = 1.0;
 
    dMemset( splashEmitterList, 0, sizeof( splashEmitterList ) );

+ 1 - 1
Engine/source/T3D/shapeBase.h

@@ -111,7 +111,7 @@ class ShapeBaseConvex : public Convex
    Box3F       box;
 
   public:
-   ShapeBaseConvex() { mType = ShapeBaseConvexType; nodeTransform = 0; }
+   ShapeBaseConvex() :pShapeBase(NULL), transform(NULL), hullId(NULL), nodeTransform(0) { mType = ShapeBaseConvexType; }
    ShapeBaseConvex(const ShapeBaseConvex& cv) {
       mObject    = cv.mObject;
       pShapeBase = cv.pShapeBase;

+ 4 - 0
Engine/source/T3D/shapeImage.cpp

@@ -134,6 +134,8 @@ ShapeBaseImageData::StateData::StateData()
    recoil = NoRecoil;
    sound = 0;
    emitter = NULL;
+   shapeSequence = NULL;
+   shapeSequenceScale = true;
    script = 0;
    ignoreLoadedForReady = false;
    
@@ -1396,6 +1398,7 @@ ShapeBase::MountedImage::MountedImage()
    dataBlock = 0;
    nextImage = InvalidImagePtr;
    delayTime = 0;
+   rDT = 0.0f;
    ammo = false;
    target = false;
    triggerDown = false;
@@ -1408,6 +1411,7 @@ ShapeBase::MountedImage::MountedImage()
    motion = false;
    lightStart = 0;
    lightInfo = NULL;
+   dMemset(emitter, 0, sizeof(emitter));
 
    for (U32 i=0; i<ShapeBaseImageData::MaxGenericTriggers; ++i)
    {

+ 1 - 1
Engine/source/T3D/tsStatic.cpp

@@ -1486,7 +1486,7 @@ void TSStaticPolysoupConvex::getPolyList(AbstractPolyList* list)
 void TSStaticPolysoupConvex::getFeatures(const MatrixF& mat, const VectorF& n, ConvexFeature* cf)
 {
    cf->material = 0;
-   cf->object = mObject;
+   cf->mObject = mObject;
 
    // For a tetrahedron this is pretty easy... first
    // convert everything into world space.

+ 1 - 0
Engine/source/T3D/turret/aiTurretShape.cpp

@@ -119,6 +119,7 @@ AITurretShapeData::AITurretShapeData()
    }
    isAnimated = false;
    statesLoaded = false;
+   fireState = -1;
 }
 
 void AITurretShapeData::initPersistFields()

+ 9 - 3
Engine/source/T3D/turret/turretShape.cpp

@@ -114,17 +114,21 @@ TurretShapeData::TurretShapeData()
 
    headingNode = -1;
    pitchNode = -1;
-
-   for (U32 i=0; i<NumMirrorDirectionNodes; ++i)
+   U32 i = 0;
+   for (i=0; i<NumMirrorDirectionNodes; ++i)
    {
       pitchNodes[i] = -1;
       headingNodes[i] = -1;
    }
 
-   for (U32 i=0; i<ShapeBase::MaxMountedImages; ++i)
+   for (i=0; i<ShapeBase::MaxMountedImages; ++i)
    {
       weaponMountNode[i] = -1;
    }
+   for (i = 0; i < NumRecoilSequences;i++)
+      recoilSequence[i] = -1;
+   pitchSequence = -1;
+   headingSequence = -1;
 }
 
 void TurretShapeData::initPersistFields()
@@ -284,6 +288,8 @@ TurretShape::TurretShape()
 
    // For the Item class
    mSubclassItemHandlesScene = true;
+   mRecoilThread = NULL;
+   mImageStateThread = NULL;
 }
 
 TurretShape::~TurretShape()

+ 5 - 0
Engine/source/T3D/vehicles/flyingVehicle.cpp

@@ -322,6 +322,7 @@ ConsoleDocClass( FlyingVehicle,
 
 FlyingVehicle::FlyingVehicle()
 {
+   mDataBlock = NULL;
    mSteering.set(0,0);
    mThrottle = 0;
    mJetting = false;
@@ -332,6 +333,10 @@ FlyingVehicle::FlyingVehicle()
    mBackMaintainOn = false;
    mBottomMaintainOn = false;
    createHeightOn = false;
+   mCeilingFactor = 1.0f;
+   mThrustDirection = FlyingVehicle::ThrustForward;
+   for (U32 i=0;i< JetAnimCount;i++)
+      mJetSeq[i] = -1;
 
    for (S32 i = 0; i < JetAnimCount; i++)
       mJetThread[i] = 0;

+ 0 - 1
Engine/source/T3D/vehicles/flyingVehicle.h

@@ -77,7 +77,6 @@ struct FlyingVehicleData: public VehicleData {
 
    // Initialized in preload
    ClippedPolyList rigidBody;
-   S32 surfaceCount;
    F32 maxSpeed;
 
    enum JetNodes {

+ 12 - 6
Engine/source/T3D/vehicles/hoverVehicle.cpp

@@ -139,6 +139,7 @@ HoverVehicleData::HoverVehicleData()
    dustTrailID = 0;
    dustTrailOffset.set( 0.0f, 0.0f, 0.0f );
    dustTrailFreqMod = 15.0f;
+   maxThrustSpeed = 0;
    triggerTrailHeight = 2.5f;
 
    floatingGravMag = 1;
@@ -436,24 +437,29 @@ void HoverVehicleData::unpackData(BitStream* stream)
 //
 HoverVehicle::HoverVehicle()
 {
+   mDataBlock = NULL;
    // Todo: ScopeAlways?
    mNetFlags.set(Ghostable);
 
    mFloating      = false;
-   mForwardThrust = 0;
-   mReverseThrust = 0;
-   mLeftThrust    = 0;
-   mRightThrust   = 0;
+   mThrustLevel   = 0.0f;
+   mForwardThrust = 0.0f;
+   mReverseThrust = 0.0f;
+   mLeftThrust    = 0.0f;
+   mRightThrust   = 0.0f;
 
    mJetSound    = NULL;
    mEngineSound = NULL;
    mFloatSound  = NULL;
-
+   mThrustDirection = HoverVehicle::ThrustForward;
    mDustTrailEmitter = NULL;
 
    mBackMaintainOn = false;
    for (S32 i = 0; i < JetAnimCount; i++)
-      mJetThread[i] = 0;
+   {
+      mJetSeq[i] = -1;
+      mJetThread[i] = NULL;
+   }
 }
 
 HoverVehicle::~HoverVehicle()

+ 1 - 1
Engine/source/T3D/vehicles/wheeledVehicle.cpp

@@ -304,7 +304,7 @@ WheeledVehicleData::WheeledVehicleData()
    brakeLightSequence = -1;
    steeringSequence = -1;
    wheelCount = 0;
-
+   dMemset(&wheel, 0, sizeof(wheel));
    for (S32 i = 0; i < MaxSounds; i++)
       sound[i] = 0;
 }

+ 4 - 2
Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.cpp

@@ -29,7 +29,9 @@ IMPLEMENT_CONOBJECT( VSpawnSphereSpawnTargetTrack );
 
 VSpawnSphereSpawnTargetTrack::VSpawnSphereSpawnTargetTrack( void )
 {
-    setLabel( "SpawnTargetTrack" );
+   mDespawnOnStop = false;
+   mDespawnOnLoop = false;
+   setLabel( "SpawnTargetTrack" );
 }
 
 void VSpawnSphereSpawnTargetTrack::initPersistFields( void )
@@ -152,4 +154,4 @@ void VSpawnSphereSpawnTargetTrack::despawnTargets( void )
         // Delete the Object.
         object->deleteObject();
     }
-}
+}

+ 3 - 2
Engine/source/Verve/VActor/VActorPhysicsController.cpp

@@ -49,7 +49,8 @@ VActorPhysicsController::VActorPhysicsController( void ) :
         mControlState( k_NullControlState ),
         mMoveState( k_NullMove ),
         mVelocity( VectorF::Zero ),
-        mGravity( 0.f, 0.f, -9.8f )
+        mGravity( 0.f, 0.f, -9.8f ),
+        mOnGround(false)
 {
     // Void.
 }
@@ -1274,4 +1275,4 @@ void VActorPhysicsController::unpackUpdate( NetConnection *pConnection, BitStrea
         // Apply.
         setPosition( position );
     }
-}
+}

+ 5 - 3
Engine/source/Verve/VPath/VPathEditor.h

@@ -199,7 +199,7 @@ private:
     public:
 
         VPathEditorEditPathAction( const UTF8 *pName = "" ) :
-                UndoAction( pName )
+                UndoAction( pName ), mEditor(NULL), mPath(NULL)
         {
             // Void.
         };
@@ -218,9 +218,11 @@ private:
     public:
 
         VPathEditorEditNodeAction( const UTF8 *pName = "" ) :
-                UndoAction( pName )
+                UndoAction( pName ), mEditor(NULL), mPath(NULL), mNodeIndex(0), mNodeWeight(0.0f)
         {
             // Void.
+           mNodeOrientation.Type = VPathNode::k_OrientationFree;
+           mNodeOrientation.Point = Point3F(0.0f, 0.0f, 0.0f);
         };
 
         VPathEditor               *mEditor;
@@ -290,4 +292,4 @@ namespace Utility
 
 //-----------------------------------------------------------------------------
 
-#endif // _VT_VPATHEDITOR_H_
+#endif // _VT_VPATHEDITOR_H_

+ 0 - 2
Engine/source/afx/afxCamera.h

@@ -147,8 +147,6 @@ public:
   DECLARE_CATEGORY("AFX");
 
 private:          // 3POV SECTION
-  U32             mBlockers_mask_3pov;
-
   void            cam_update_3pov(F32 dt, bool on_server);
   bool            avoid_blocked_view(const Point3F& start, const Point3F& end, Point3F& newpos);
   bool            test_blocked_line(const Point3F& start, const Point3F& end);

+ 6 - 0
Engine/source/afx/afxConstraint.cpp

@@ -1904,6 +1904,9 @@ afxEffectConstraint::afxEffectConstraint(afxConstraintMgr* mgr)
 {
   mEffect_name = ST_NULLSTRING;
   mEffect = 0;
+  mClip_tag = 0;
+  mIs_death_clip = false;
+  mLock_tag = 0;
 }
 
 afxEffectConstraint::afxEffectConstraint(afxConstraintMgr* mgr, StringTableEntry effect_name) 
@@ -1911,6 +1914,9 @@ afxEffectConstraint::afxEffectConstraint(afxConstraintMgr* mgr, StringTableEntry
 {
   mEffect_name = effect_name;
   mEffect = 0;
+  mClip_tag = 0;
+  mIs_death_clip = false;
+  mLock_tag = 0;
 }
 
 afxEffectConstraint::~afxEffectConstraint()

+ 1 - 0
Engine/source/afx/afxEffectVector.cpp

@@ -98,6 +98,7 @@ afxEffectVector::afxEffectVector()
   mOn_server = false;
   mTotal_fx_dur = 0;
   mAfter_life = 0;
+  mPhrase_dur = 0;
 }
 
 afxEffectVector::~afxEffectVector()

+ 0 - 2
Engine/source/afx/afxEffectWrapper.h

@@ -298,8 +298,6 @@ protected:
   bool              mIn_scope;
   bool              mIs_aborted;
 
-  U8                mEffect_flags;
-
   afxXM_Base*       mXfm_modifiers[MAX_XFM_MODIFIERS];
 
   F32               mLive_scale_factor;

+ 3 - 2
Engine/source/afx/afxMagicMissile.cpp

@@ -168,13 +168,14 @@ afxMagicMissileData::afxMagicMissileData()
    impactForce = 0.0f;
 
 	armingDelay = 0;
-   fadeDelay = 20000 / 32;
-   lifetime = 20000 / 32;
 
    activateSeq = -1;
    maintainSeq = -1;
    */
 
+   lifetime = 20000 / 32;
+   fadeDelay = 20000 / 32;
+
    gravityMod = 1.0;
    /* From stock Projectile code...
    bounceElasticity = 0.999f;

+ 8 - 0
Engine/source/afx/afxZodiacGroundPlaneRenderer_T3D.cpp

@@ -58,6 +58,10 @@ afxZodiacGroundPlaneRenderer::afxZodiacGroundPlaneRenderer()
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacGroundPlaneRenderer::afxZodiacGroundPlaneRenderer(F32 renderOrder, F32 processAddOrder)
@@ -66,6 +70,10 @@ afxZodiacGroundPlaneRenderer::afxZodiacGroundPlaneRenderer(F32 renderOrder, F32
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacGroundPlaneRenderer::~afxZodiacGroundPlaneRenderer()

+ 8 - 0
Engine/source/afx/afxZodiacMeshRoadRenderer_T3D.cpp

@@ -58,6 +58,10 @@ afxZodiacMeshRoadRenderer::afxZodiacMeshRoadRenderer()
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacMeshRoadRenderer::afxZodiacMeshRoadRenderer(F32 renderOrder, F32 processAddOrder)
@@ -66,6 +70,10 @@ afxZodiacMeshRoadRenderer::afxZodiacMeshRoadRenderer(F32 renderOrder, F32 proces
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacMeshRoadRenderer::~afxZodiacMeshRoadRenderer()

+ 8 - 0
Engine/source/afx/afxZodiacPolysoupRenderer_T3D.cpp

@@ -58,6 +58,10 @@ afxZodiacPolysoupRenderer::afxZodiacPolysoupRenderer()
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacPolysoupRenderer::afxZodiacPolysoupRenderer(F32 renderOrder, F32 processAddOrder)
@@ -66,6 +70,10 @@ afxZodiacPolysoupRenderer::afxZodiacPolysoupRenderer(F32 renderOrder, F32 proces
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacPolysoupRenderer::~afxZodiacPolysoupRenderer()

+ 8 - 0
Engine/source/afx/afxZodiacTerrainRenderer_T3D.cpp

@@ -68,6 +68,10 @@ afxZodiacTerrainRenderer::afxZodiacTerrainRenderer()
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacTerrainRenderer::afxZodiacTerrainRenderer(F32 renderOrder, F32 processAddOrder)
@@ -76,6 +80,10 @@ afxZodiacTerrainRenderer::afxZodiacTerrainRenderer(F32 renderOrder, F32 processA
    if (!master)
      master = this;
    shader_initialized = false;
+   zodiac_shader = NULL;
+   shader_consts = NULL;
+   projection_sc = NULL;
+   color_sc = NULL;
 }
 
 afxZodiacTerrainRenderer::~afxZodiacTerrainRenderer()

+ 6 - 1
Engine/source/afx/ce/afxModel.cpp

@@ -105,6 +105,11 @@ afxModelData::afxModelData(const afxModelData& other, bool temp_clone) : GameBas
   customAmbientForSelfIllumination = other.customAmbientForSelfIllumination;
   customAmbientLighting = other.customAmbientLighting;
   shadowEnable = other.shadowEnable;
+
+  shadowSize = other.shadowSize;
+  shadowMaxVisibleDistance = other.shadowMaxVisibleDistance;
+  shadowProjectionDistance = other.shadowProjectionDistance;
+  shadowSphereAdjust = other.shadowSphereAdjust;
 }
 
 afxModelData::~afxModelData()
@@ -360,7 +365,7 @@ afxModel::afxModel()
   fade_amt = 1.0f;
   is_visible = true;
   sort_priority = 0;
-
+  mDataBlock = NULL;
   mNetFlags.set( IsGhost );
 }
 

+ 3 - 1
Engine/source/afx/ce/afxMooring.cpp

@@ -133,6 +133,7 @@ afxMooring::afxMooring()
   chor_id = 0;
   hookup_with_chor = false;
   ghost_cons_name = ST_NULLSTRING;
+  mDataBlock = NULL;
 }
 
 afxMooring::afxMooring(U32 networking, U32 chor_id, StringTableEntry cons_name)
@@ -160,6 +161,7 @@ afxMooring::afxMooring(U32 networking, U32 chor_id, StringTableEntry cons_name)
   this->chor_id = chor_id;
   hookup_with_chor = false;
   this->ghost_cons_name = cons_name;
+  mDataBlock = NULL;
 }
 
 afxMooring::~afxMooring()
@@ -275,4 +277,4 @@ void afxMooring::onRemove()
   Parent::onRemove();
 }
 
-//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//
+//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//

+ 5 - 0
Engine/source/afx/ce/afxParticleEmitter.cpp

@@ -687,6 +687,7 @@ bool afxParticleEmitterDiscData::preload(bool server, String &errorStr)
 
 afxParticleEmitter::afxParticleEmitter()
 {
+  mDataBlock = NULL;
   pe_vector.set(0,0,1);
   pe_vector_norm.set(0,0,1);
   tpaths.clear();
@@ -1086,6 +1087,7 @@ void afxParticleEmitter::emitParticlesExt(const MatrixF& xfm, const Point3F& poi
 
 afxParticleEmitterVector::afxParticleEmitterVector()
 {
+   mDataBlock = NULL;
 }
 
 afxParticleEmitterVector::~afxParticleEmitterVector()
@@ -1151,6 +1153,7 @@ void afxParticleEmitterVector::sub_preCompute(const MatrixF& mat)
 
 afxParticleEmitterCone::afxParticleEmitterCone()
 {
+  mDataBlock = NULL;
   cone_v.set(0,0,1);
   cone_s0.set(0,0,1);
   cone_s1.set(0,0,1);
@@ -1266,6 +1269,7 @@ void afxParticleEmitterCone::sub_preCompute(const MatrixF& mat)
 
 afxParticleEmitterPath::afxParticleEmitterPath()
 {
+  mDataBlock = NULL;
   epaths.clear();
   epath_mults.clear();
   n_epath_points = 0;
@@ -1521,6 +1525,7 @@ void afxParticleEmitterPath::groundConformPoint(Point3F& point, const MatrixF& m
 
 afxParticleEmitterDisc::afxParticleEmitterDisc()
 {
+  mDataBlock = NULL;
   disc_v.set(0,0,1);
   disc_r.set(1,0,0);
 }

+ 2 - 1
Engine/source/afx/ce/afxStaticShape.cpp

@@ -122,6 +122,7 @@ ConsoleDocClass( afxStaticShape,
 
 afxStaticShape::afxStaticShape()
 {
+  mDataBlock = NULL;
   mAFX_data = 0;
   mIs_visible = true;
   mChor_id = 0;
@@ -238,4 +239,4 @@ void afxStaticShape::prepRenderImage(SceneRenderState* state)
      Parent::prepRenderImage(state);
 }
 
-//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//
+//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//

+ 1 - 0
Engine/source/afx/ce/afxZodiac.cpp

@@ -114,6 +114,7 @@ afxZodiacData::afxZodiacData()
   grade_range_user.set(0.0f, 45.0f);
   afxZodiacData::convertGradientRangeFromDegrees(grade_range, grade_range_user);
   inv_grade_range = false;
+  zflags = 0;
 }
 
 afxZodiacData::afxZodiacData(const afxZodiacData& other, bool temp_clone) : GameBaseData(other, temp_clone)

+ 2 - 2
Engine/source/afx/ce/afxZodiacPlane.cpp

@@ -61,7 +61,7 @@ afxZodiacPlaneData::afxZodiacPlaneData()
   color.set(1,1,1,1);
   blend_flags = BLEND_NORMAL;
   respect_ori_cons = false;
-
+  zflags = 0;
   double_sided = true;
   face_dir = FACES_UP;
   use_full_xfm = false;
@@ -310,4 +310,4 @@ void afxZodiacPlane::onRemove()
   Parent::onRemove();
 }
 
-//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//
+//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//

+ 1 - 0
Engine/source/afx/ea/afxEA_PhraseEffect.cpp

@@ -75,6 +75,7 @@ afxEA_PhraseEffect::afxEA_PhraseEffect()
 {
   phrase_fx_data = 0;
   active_phrases = &_phrases_a;
+  last_trigger_mask = 0;
 }
 
 afxEA_PhraseEffect::~afxEA_PhraseEffect()

+ 7 - 6
Engine/source/afx/forces/afxF_Drag.cpp

@@ -60,7 +60,7 @@ class afxF_Drag : public afxForce
   typedef afxForce Parent;
 
 private:
-  afxF_DragData*  datablock;
+  afxF_DragData*  mDatablock;
   F32             air_friction_constant;
 
 public:
@@ -149,13 +149,14 @@ afxForceData* afxF_DragData::cloneAndPerformSubstitutions(const SimObject* owner
 
 afxF_Drag::afxF_Drag() : afxForce()
 {
+  mDatablock = NULL;
   air_friction_constant = 1.0f;
 }
 
 bool afxF_Drag::onNewDataBlock(afxForceData* dptr, bool reload)
 {
-  datablock = dynamic_cast<afxF_DragData*>(dptr);
-  if (!datablock || !Parent::onNewDataBlock(dptr, reload))
+   mDatablock = dynamic_cast<afxF_DragData*>(dptr);
+  if (!mDatablock || !Parent::onNewDataBlock(dptr, reload))
     return false;
 
   return true;
@@ -163,9 +164,9 @@ bool afxF_Drag::onNewDataBlock(afxForceData* dptr, bool reload)
 
 void afxF_Drag::start()
 {
-  air_friction_constant = 0.5f * datablock->drag_coefficient 
-                               * datablock->air_density 
-                               * datablock->cross_sectional_area;
+  air_friction_constant = 0.5f * mDatablock->drag_coefficient
+                               * mDatablock->air_density
+                               * mDatablock->cross_sectional_area;
   //Con::printf("Air Friction: %f", air_friction_constant);
 }
 

+ 5 - 4
Engine/source/afx/forces/afxF_Gravity.cpp

@@ -58,7 +58,7 @@ class afxF_Gravity : public afxForce
   typedef afxForce Parent;
 
 private:
-  afxF_GravityData* datablock;
+  afxF_GravityData* mDatablock;
 
 public:
   /*C*/             afxF_Gravity();
@@ -133,12 +133,13 @@ afxForceData* afxF_GravityData::cloneAndPerformSubstitutions(const SimObject* ow
 
 afxF_Gravity::afxF_Gravity() : afxForce()
 {
+   mDatablock = NULL;
 }
 
 bool afxF_Gravity::onNewDataBlock(afxForceData* dptr, bool reload)
 {
-  datablock = dynamic_cast<afxF_GravityData*>(dptr);
-  if (!datablock || !Parent::onNewDataBlock(dptr, reload))
+   mDatablock = dynamic_cast<afxF_GravityData*>(dptr);
+  if (!mDatablock || !Parent::onNewDataBlock(dptr, reload))
     return false;
 
   return true;
@@ -146,7 +147,7 @@ bool afxF_Gravity::onNewDataBlock(afxForceData* dptr, bool reload)
 
 Point3F afxF_Gravity::evaluate(Point3F pos, Point3F v, F32 mass)
 {
-  return Point3F(0,0,-datablock->gravity)*mass;
+  return Point3F(0,0,-mDatablock->gravity)*mass;
 }
 
 

+ 3 - 1
Engine/source/afx/util/afxAnimCurve.cpp

@@ -29,6 +29,8 @@
 afxAnimCurve::afxAnimCurve() : usable( false ), final_value( 0.0f ), start_value( 0.0f )
 {
 	evaluator = new afxHermiteEval();
+   final_time = 0.0f;
+   start_time = 0.0f;
 }
 
 afxAnimCurve::~afxAnimCurve()
@@ -277,4 +279,4 @@ void afxAnimCurve::printKey( int index )
 {
 	Key &k = keys[index];
 	Con::printf( "%f: %f", k.time, k.value );
-}
+}

+ 2 - 2
Engine/source/afx/util/afxCurve3D.cpp

@@ -27,7 +27,7 @@
 #include "afx/util/afxCurveEval.h"
 #include "afx/util/afxCurve3D.h"
 
-afxCurve3D::afxCurve3D() : usable( false ), default_vector( 0, 0, 0 )
+afxCurve3D::afxCurve3D() : usable( false ), default_vector( 0, 0, 0 ), flip(false)
 {
 	evaluator = new afxHermiteEval();
 }
@@ -329,4 +329,4 @@ void afxCurve3D::print()
 		Con::printf( "%f: %f %f %f", p.parameter, p.point.x, p.point.y, p.point.z );
 	}
 	Con::printf( "---------------------------------" );
-}
+}

+ 1 - 1
Engine/source/afx/util/afxPath3D.cpp

@@ -29,7 +29,7 @@
 
 #include "afx/util/afxPath3D.h"
 
-afxPath3D::afxPath3D() : mStart_time(0), mNum_points(0), mLoop_type(LOOP_CONSTANT)
+afxPath3D::afxPath3D() : mStart_time(0), mNum_points(0), mLoop_type(LOOP_CONSTANT), mEnd_time(0.0f)
 {
 }
 

+ 15 - 5
Engine/source/app/net/httpObject.cpp

@@ -114,12 +114,22 @@ ConsoleDocClass( HTTPObject,
 //--------------------------------------
 
 HTTPObject::HTTPObject()
+   : mParseState(ParsingStatusLine),
+   mTotalBytes(0),
+   mBytesRemaining(0),
+   mStatus(0),
+   mVersion(0.0f),
+   mContentLength(0),
+   mChunkedEncoding(false),
+   mChunkSize(0),
+   mContentType(""),
+   mHostName(NULL),
+   mPath(NULL),
+   mQuery(NULL),
+   mPost(NULL),
+   mBufferSave(NULL),
+   mBufferSaveSize(0)
 {
-   mHostName = 0;
-   mPath = 0;
-   mQuery = 0;
-   mPost = 0;
-   mBufferSave = 0;
 }
 
 HTTPObject::~HTTPObject()

+ 1 - 0
Engine/source/app/net/serverQuery.h

@@ -80,6 +80,7 @@ struct ServerInfo
       statusString = NULL;
       infoString = NULL;
       version = 0;
+      dMemset(&address, '\0', sizeof(NetAddress));
       ping = 0;
       cpuSpeed = 0;
       isFavorite = false;

+ 1 - 1
Engine/source/collision/boxConvex.cpp

@@ -85,7 +85,7 @@ inline bool isOnPlane(const Point3F& p,PlaneF& plane)
 void BoxConvex::getFeatures(const MatrixF& mat,const VectorF& n, ConvexFeature* cf)
 {
    cf->material = 0;
-   cf->object = mObject;
+   cf->mObject = mObject;
 
    S32 v = 0;
    v += (n.x >= 0)? 1: 0;

+ 3 - 1
Engine/source/collision/clippedPolyList.h

@@ -49,7 +49,7 @@ class ClippedPolyList : public AbstractPolyList
 public:
    struct Vertex {
       Point3F point;
-      U32 mask;
+      U32 mask = 0;
    };
 
    struct Poly {
@@ -61,6 +61,8 @@ public:
       U32 vertexCount;
       U32 surfaceKey;
 	  U32 polyFlags;
+     Poly() :object(NULL), material(NULL), vertexStart(0), vertexCount(0), surfaceKey(0), polyFlags(0) {}
+     ~Poly() {}
    };
 
    /// ???

+ 5 - 1
Engine/source/collision/collision.h

@@ -65,7 +65,11 @@ struct Collision
       object( NULL ),
       material( NULL ),
       generateTexCoord(false),
-      texCoord(-1.0f, -1.0f)
+      texCoord(-1.0f, -1.0f),
+      face(0),
+      faceDot(0.0f),
+      distance(0)
+
    {
    }
 };

+ 3 - 0
Engine/source/collision/concretePolyList.h

@@ -48,6 +48,9 @@ class ConcretePolyList : public AbstractPolyList
 
       Poly()
       {
+         vertexStart = 0;
+         vertexCount = 0;
+         surfaceKey = 0;
          object = NULL;
          material = NULL;
       }

+ 11 - 6
Engine/source/collision/convex.cpp

@@ -52,7 +52,9 @@ F32 sqrDistanceEdges(const Point3F& start0,
 
 CollisionState::CollisionState()
 {
-   mLista = mListb = 0;
+   mB = mA = NULL;
+   mDist = 0.0f;
+   mListb = mLista = 0;
 }
 
 CollisionState::~CollisionState()
@@ -85,7 +87,7 @@ F32 CollisionState::distance(const MatrixF& a2w, const MatrixF& b2w, const F32 d
 void ConvexFeature::reset()
 {
    material = NULL;
-   object = NULL;
+   mObject = NULL;
    mVertexList.clear();
    mEdgeList.clear();
    mFaceList.clear();
@@ -114,7 +116,7 @@ bool ConvexFeature::collide(ConvexFeature& cf,CollisionList* cList, F32 tol)
       {
          Collision &col = (*cList)[cList->getCount() - 1];
          col.material = cf.material;
-         col.object   = cf.object;
+         col.object   = cf.mObject;
       }
       vert++;
    }
@@ -167,7 +169,7 @@ void ConvexFeature::testVertex(const Point3F& v,CollisionList* cList,bool flip,
          if (flip)
             info.normal.neg();
          info.material = material;
-         info.object = object;
+         info.object = mObject;
          info.distance = distance;
       }
    }
@@ -213,7 +215,7 @@ void ConvexFeature::testEdge(ConvexFeature* cf,const Point3F& s1, const Point3F&
       info.normal   = normal;
       info.distance = distance;
       info.material = material;
-      info.object   = object;
+      info.object   = mObject;
    }
 }
 
@@ -282,6 +284,7 @@ CollisionWorkingList::CollisionWorkingList()
 {
    wLink.mPrev = wLink.mNext = this;
    rLink.mPrev = rLink.mNext = this;
+   mConvex = NULL;
 }
 
 void CollisionWorkingList::wLinkAfter(CollisionWorkingList* ptr)
@@ -340,6 +343,8 @@ Convex::Convex()
 {
    mNext = mPrev = this;
    mTag = 0;
+   mObject = NULL;
+   mType = ConvexType::BoxConvexType;
 }
 
 Convex::~Convex()
@@ -418,7 +423,7 @@ Point3F Convex::support(const VectorF&) const
 
 void Convex::getFeatures(const MatrixF&,const VectorF&,ConvexFeature* f)
 {
-   f->object = NULL;
+   f->mObject = NULL;
 }
 
 const MatrixF& Convex::getTransform() const

+ 2 - 2
Engine/source/collision/convex.h

@@ -56,10 +56,10 @@ public:
    Vector<Edge> mEdgeList;
    Vector<Face> mFaceList;
    BaseMatInstance* material;
-   SceneObject* object;
+   SceneObject* mObject;
 
    ConvexFeature()
-      : mVertexList(64), mEdgeList(128), mFaceList(64), material( 0 )
+      : mVertexList(64), mEdgeList(128), mFaceList(64), material( 0 ), mObject(NULL)
    {
       VECTOR_SET_ASSOCIATION(mVertexList);
       VECTOR_SET_ASSOCIATION(mEdgeList);

+ 7 - 0
Engine/source/collision/depthSortList.cpp

@@ -46,6 +46,13 @@ S32 gBadSpots = 0;
 
 DepthSortList::DepthSortList()
 {
+   mBase = 0;
+   mBasePoly = NULL;
+   mBaseNormal = NULL;
+   mBaseDot = 0.0f;
+   mBaseYMax = 0.0f;
+   mMaxTouched = 0;
+   mBaseExtents = NULL;
    VECTOR_SET_ASSOCIATION(mPolyExtentsList);
    VECTOR_SET_ASSOCIATION(mPolyIndexList);
 }

+ 1 - 0
Engine/source/collision/extrudedPolyList.cpp

@@ -47,6 +47,7 @@ ExtrudedPolyList::ExtrudedPolyList()
    mPolyPlaneList.reserve(64);
    mPlaneList.reserve(64);
    mCollisionList = 0;
+   dMemset(&mPoly, 0, sizeof(mPoly));
 }
 
 ExtrudedPolyList::~ExtrudedPolyList()

+ 5 - 2
Engine/source/collision/extrudedPolyList.h

@@ -56,13 +56,15 @@ class ExtrudedPolyList: public AbstractPolyList
 public:
    struct Vertex {
       Point3F point;
-      U32 mask;
+      U32 mask = 0;
    };
 
    struct Poly {
       PlaneF plane;
       SceneObject* object;
       BaseMatInstance* material;
+      Poly() : object(NULL), material(NULL) {}
+      ~Poly() {}
    };
 
    struct ExtrudedFace {
@@ -75,6 +77,8 @@ public:
       F32 time;
       Point3F point;
       F32 height;
+      ExtrudedFace(): active(false), maxDistance(0.0f), planeMask(0), faceDot(0.0f), faceShift(0.0f), time(0.0f), height(0.0f) {}
+      ~ExtrudedFace() {}
    };
 
    typedef Vector<ExtrudedFace> ExtrudedList;
@@ -92,7 +96,6 @@ public:
    PlaneList    mPlaneList;
    VectorF      mVelocity;
    VectorF      mNormalVelocity;
-   F32          mFaceShift;
    Poly         mPoly;
 
    // Returned info

+ 13 - 0
Engine/source/collision/gjk.cpp

@@ -46,6 +46,19 @@ S32 num_irregularities = 0;
 
 GjkCollisionState::GjkCollisionState()
 {
+   mBits = 0;
+   mAll_bits = 0;
+   U32 x, y;
+   for (x = 0; x < 16; x++)
+      for (y = 0; y < 4; y++)
+         mDet[x][y] = 0.0f;
+
+   for (x = 0; x < 4; x++)
+      for (y = 0; y < 4; y++)
+         mDP[x][y] = 0.0f;
+
+   mLast = 0;
+   mLast_bit = 0;
    mA = mB = 0;
 }
 

+ 2 - 0
Engine/source/collision/optimizedPolyList.h

@@ -88,7 +88,9 @@ class OptimizedPolyList : public AbstractPolyList
       Poly()
          : plane( -1 ),
            material( NULL ),
+           vertexStart(0),
            vertexCount( 0 ),
+           surfaceKey(0),
            object( NULL ),
            type( TriangleFan )
       {

+ 1 - 0
Engine/source/collision/planeExtractor.cpp

@@ -37,6 +37,7 @@ PlaneExtractorPolyList::PlaneExtractorPolyList()
 {
    VECTOR_SET_ASSOCIATION(mVertexList);
    VECTOR_SET_ASSOCIATION(mPolyPlaneList);
+   mPlaneList = NULL;
 }
 
 PlaneExtractorPolyList::~PlaneExtractorPolyList()

+ 1 - 0
Engine/source/collision/polytope.h

@@ -76,6 +76,7 @@ public:
       Collision()
       {
          object = NULL;
+         material = NULL;
          distance = 0.0;
       }
    };

+ 1 - 0
Engine/source/console/astNodes.cpp

@@ -142,6 +142,7 @@ StmtNode::StmtNode()
 {
    mNext = NULL;
    dbgFileName = CodeBlock::smCurrentParser->getCurrentFile();
+   dbgLineNumber = 0;
 }
 
 void StmtNode::setPackage(StringTableEntry)

+ 3 - 0
Engine/source/console/codeBlock.cpp

@@ -56,6 +56,9 @@ CodeBlock::CodeBlock()
    name = NULL;
    fullPath = NULL;
    modPath = NULL;
+   codeSize = 0;
+   lineBreakPairCount = 0;
+   nextFile = NULL;
 }
 
 CodeBlock::~CodeBlock()

+ 3 - 0
Engine/source/console/codeInterpreter.cpp

@@ -224,6 +224,9 @@ CodeInterpreter::CodeInterpreter(CodeBlock *cb) :
    mSaveCodeBlock(nullptr),
    mCurrentInstruction(0)
 {
+   dMemset(&mExec, 0, sizeof(mExec));
+   dMemset(&mObjectCreationStack, 0, sizeof(mObjectCreationStack));
+   dMemset(&mNSDocBlockClass, 0, sizeof(mNSDocBlockClass));
 }
 
 CodeInterpreter::~CodeInterpreter()

+ 1 - 1
Engine/source/console/compiler.h

@@ -317,7 +317,7 @@ protected:
       U32 addr;  ///< Address to patch
       U32 value; ///< Value to place at addr
 
-      PatchEntry() { ; }
+      PatchEntry(): addr(0), value(0) { ; }
       PatchEntry(U32 a, U32 v) : addr(a), value(v) { ; }
    } PatchEntry;
 

+ 12 - 1
Engine/source/console/consoleInternal.cpp

@@ -475,7 +475,7 @@ Dictionary::Entry::Entry(StringTableEntry in_name)
    nextEntry = NULL;
    mUsage = NULL;
    mIsConstant = false;
-
+   mNext = NULL;
    // NOTE: This is data inside a nameless
    // union, so we don't need to init the rest.
    value.init();
@@ -856,6 +856,7 @@ ExprEvalState::ExprEvalState()
    stack.reserve(64);
    mShouldReset = false;
    mResetLocked = false;
+   copyVariable = NULL;
 }
 
 ExprEvalState::~ExprEvalState()
@@ -927,6 +928,15 @@ Namespace::Entry::Entry()
    mUsage = NULL;
    mHeader = NULL;
    mNamespace = NULL;
+   cb.mStringCallbackFunc = NULL;
+   mFunctionLineNumber = 0;
+   mFunctionName = StringTable->EmptyString();
+   mFunctionOffset = 0;
+   mMinArgs = 0;
+   mMaxArgs = 0;
+   mNext = NULL;
+   mPackage = StringTable->EmptyString();
+   mToolOnly = false;
 }
 
 void Namespace::Entry::clear()
@@ -959,6 +969,7 @@ Namespace::Namespace()
    mHashSequence = 0;
    mRefCountToParent = 0;
    mClassRep = 0;
+   lastUsage = NULL;
 }
 
 Namespace::~Namespace()

+ 1 - 0
Engine/source/console/consoleInternal.h

@@ -306,6 +306,7 @@ public:
          nextEntry = NULL;
          mUsage = NULL;
          mIsConstant = false;
+         mNext = NULL;
          value.init();
       }
 

+ 16 - 1
Engine/source/console/consoleObject.h

@@ -220,7 +220,21 @@ public:
       : Parent( sizeof( void* ), conIdPtr, typeName )
    {
       VECTOR_SET_ASSOCIATION( mFieldList );
-
+      mCategory = StringTable->EmptyString();
+      mClassGroupMask = 0;
+      std::fill_n(mClassId, NetClassGroupsCount, -1);
+      mClassName = StringTable->EmptyString();
+      mClassSizeof = 0;
+      mClassType = 0;
+      mDescription = StringTable->EmptyString();
+#ifdef TORQUE_NET_STATS
+      dMemset(mDirtyMaskFrequency, 0, sizeof(mDirtyMaskFrequency));
+      dMemset(mDirtyMaskTotal, 0, sizeof(mDirtyMaskTotal));
+#endif
+      mDynamicGroupExpand = false;
+      mNamespace = NULL;
+      mNetEventDir = 0;
+      nextClass = NULL;
       parentClass  = NULL;
       mIsRenderEnabled = true;
       mIsSelectionEnabled = true;
@@ -496,6 +510,7 @@ public:
             validator( NULL ),
             setDataFn( NULL ),
             getDataFn( NULL ),
+            writeDataFn(NULL),
             networkMask(0)
       {
          doNotSubstitute = keepClearSubsOnly = false;

+ 1 - 1
Engine/source/console/engineAPI.h

@@ -1190,7 +1190,7 @@ public:
    ConsoleValueRef _exec();
    ConsoleValueRef _execLater(SimConsoleThreadExecEvent *evt);
 
-   _BaseEngineConsoleCallbackHelper() {;}
+   _BaseEngineConsoleCallbackHelper(): mThis(NULL), mInitialArgc(0), mArgc(0), mCallbackName(StringTable->EmptyString()){;}
 };
 
 

+ 2 - 1
Engine/source/console/engineExports.h

@@ -123,6 +123,7 @@ class EngineExport : public StaticEngineObject
          : mExportName( "" ),
            mExportKind( EngineExportKindScope ),
            mExportScope( NULL ),
+           mDocString(""),
            mNextExport( NULL ) {}
 };
 
@@ -165,7 +166,7 @@ class EngineExportScope : public EngineExport
    private:
    
       /// Constructor for the global scope.
-      EngineExportScope() {}
+      EngineExportScope():mExports(NULL){}
 };
 
 

+ 1 - 1
Engine/source/console/engineObject.cpp

@@ -53,7 +53,7 @@ void*& _USERDATA( EngineObject* object )
 //-----------------------------------------------------------------------------
 
 EngineObject::EngineObject()
-   : mEngineObjectUserData( NULL )
+   : mEngineObjectPool(NULL), mEngineObjectUserData( NULL )
 {
    #ifdef TORQUE_DEBUG
    // Add to instance list.

+ 1 - 0
Engine/source/console/engineTypeInfo.cpp

@@ -58,6 +58,7 @@ EngineTypeInfo::EngineTypeInfo( const char* typeName, EngineExportScope* scope,
      mEnumTable( NULL ),
      mFieldTable( NULL ),
      mPropertyTable( NULL ),
+     mArgumentTypeTable(NULL),
      mSuperType( NULL ),
      mNext( smFirst )
 {

+ 1 - 0
Engine/source/console/simDatablock.cpp

@@ -55,6 +55,7 @@ ConsoleDocClass( SimDataBlock,
 
 SimDataBlock::SimDataBlock()
 {
+   modifiedKey = 0;
    setModDynamicFields(true);
    setModStaticFields(true);
 }

+ 2 - 0
Engine/source/console/simDictionary.cpp

@@ -31,6 +31,8 @@ SimNameDictionary::SimNameDictionary()
 {
 #ifndef USE_NEW_SIMDICTIONARY
    hashTable = NULL;
+   hashTableSize = DefaultTableSize;
+   hashEntryCount = 0;
 #endif
    mutex = Mutex::createMutex();
 }

+ 1 - 1
Engine/source/console/simEvents.h

@@ -62,7 +62,7 @@ public:
    ///  of addition to the list.
    SimObject *destObject;   ///< Object on which this event will be applied.
 
-   SimEvent() { destObject = NULL; }
+   SimEvent() { nextEvent = NULL; startTime = 0; time = 0; sequenceCount = 0; destObject = NULL; }
    virtual ~SimEvent() {}   ///< Destructor
    ///
    /// A dummy virtual destructor is required

+ 2 - 2
Engine/source/console/simFieldDictionary.h

@@ -47,7 +47,7 @@ class SimFieldDictionary
 public:
    struct Entry
    {
-      Entry() : type(NULL) {};
+      Entry() : slotName(StringTable->EmptyString()), value(NULL), next(NULL), type(NULL) {};
 
       StringTableEntry slotName;
       char *value;
@@ -112,4 +112,4 @@ public:
 };
 
 
-#endif // _SIMFIELDDICTIONARY_H_
+#endif // _SIMFIELDDICTIONARY_H_

+ 1 - 0
Engine/source/console/simObject.cpp

@@ -1380,6 +1380,7 @@ SimObject::SimObject(const SimObject& other, bool temp_clone)
    nextIdObject = other.nextIdObject;
    mGroup = other.mGroup;
    mFlags = other.mFlags;
+   mProgenitorFile = other.mProgenitorFile;
    mCopySource = other.mCopySource;
    mFieldDictionary = other.mFieldDictionary;
    //mIdString = other.mIdString; // special treatment (see below)

+ 6 - 0
Engine/source/console/stringStack.cpp

@@ -30,7 +30,12 @@ StringStack::StringStack()
    mBuffer = NULL;
    mArgBufferSize = 0;
    mArgBuffer = NULL;
+   for (U32 i = 0; i < MaxArgs; i++)
+      mArgV[i] = "";
+   dMemset(mFrameOffsets, 0, sizeof(mFrameOffsets));
+   dMemset(mStartOffsets, 0, sizeof(mStartOffsets));
    mNumFrames = 0;
+   mArgc = 0;
    mStart = 0;
    mLen = 0;
    mStartStackSize = 0;
@@ -232,6 +237,7 @@ mStackPos(0)
       mStack[i].init();
       mStack[i].type = ConsoleValue::TypeInternalString;
    }
+   dMemset(mStackFrames, 0, sizeof(mStackFrames));
 }
 
 ConsoleValueStack::~ConsoleValueStack()

+ 3 - 0
Engine/source/console/telnetConsole.cpp

@@ -88,6 +88,9 @@ TelnetConsole::TelnetConsole()
    mAcceptPort = -1;
    mClientList = NULL;
    mRemoteEchoEnabled = false;
+
+   dStrncpy(mTelnetPassword, "", PasswordMaxLength);
+   dStrncpy(mListenPassword, "", PasswordMaxLength);
 }
 
 TelnetConsole::~TelnetConsole()

+ 1 - 0
Engine/source/console/telnetConsole.h

@@ -78,6 +78,7 @@ class TelnetConsole
       S32 state;                       ///< State of the client.
                                        ///  @see TelnetConsole::State
       TelnetClient *nextClient;
+      TelnetClient() { dStrncpy(curLine, "", Con::MaxLineLength); curPos = 0; state = 0; nextClient = NULL; }
    };
    TelnetClient *mClientList;
    TelnetConsole();

+ 3 - 0
Engine/source/console/telnetDebugger.cpp

@@ -163,6 +163,9 @@ TelnetDebugger::TelnetDebugger()
    mProgramPaused = false;
    mWaitForClient = false;
 
+   dStrncpy(mDebuggerPassword, "", PasswordMaxLength);
+   dStrncpy(mLineBuffer, "", sizeof(mLineBuffer));
+   
    // Add the version number in a global so that
    // scripts can detect the presence of the
    // "enhanced" debugger features.

+ 2 - 1
Engine/source/console/typeValidators.h

@@ -27,7 +27,8 @@ class TypeValidator
 {
    public:
    S32 fieldIndex;
-
+   TypeValidator() : fieldIndex(0) {}
+   ~TypeValidator() {}
    /// Prints a console error message for the validator.
    ///
    /// The message is prefaced with with:

+ 2 - 1
Engine/source/core/color.h

@@ -203,7 +203,7 @@ public:
 class StockColorItem
 {
 private:
-   StockColorItem() {}
+   StockColorItem():mColorName("") {}
 
 public:
    StockColorItem( const char* pName, const U8 red, const U8 green, const U8 blue, const U8 alpha = 255 )
@@ -529,6 +529,7 @@ inline void ColorI::set(const Hsb& color)
 	red = (U32)((((F64)r) / 100) * 255);
 	green = (U32)((((F64)g) / 100) * 255);
 	blue = (U32)((((F64)b) / 100) * 255);
+   alpha = 255;
 }
 
 // This is a subfunction of HSLtoRGB

+ 1 - 0
Engine/source/core/frameAllocator.h

@@ -295,6 +295,7 @@ public:
       AssertFatal( count > 0, "Allocating a FrameTemp with less than one instance" ); \
       mWaterMark = FrameAllocator::getWaterMark(); \
       mMemory = reinterpret_cast<type *>( FrameAllocator::alloc( sizeof( type ) * count ) ); \
+      mNumObjectsInMemory = 0; \
    } \
    template<>\
    inline FrameTemp<type>::~FrameTemp() \

+ 2 - 2
Engine/source/core/ogg/oggTheoraDecoder.h

@@ -48,9 +48,9 @@ class OggTheoraFrame : public RawData
    
       typedef RawData Parent;
       
-      OggTheoraFrame() {}
+      OggTheoraFrame() :mFrameNumber(0), mFrameTime(0), mFrameDuration(0) {}
       OggTheoraFrame( S8* data, U32 size, bool ownMemory = false )
-         : Parent( data, size, ownMemory ) {}
+         : Parent( data, size, ownMemory ), mFrameNumber(0), mFrameTime(0), mFrameDuration(0) {}
          
       /// Serial number of this frame in the stream.
       U32 mFrameNumber;

+ 1 - 0
Engine/source/core/stream/fileStream.cpp

@@ -31,6 +31,7 @@
 //-----------------------------------------------------------------------------
 FileStream::FileStream()
 {
+   dMemset(mBuffer, 0, sizeof(mBuffer));
    // initialize the file stream
    init();
 }

+ 2 - 0
Engine/source/core/stringBuffer.cpp

@@ -38,6 +38,8 @@
 
          StringBufferManager()
          {
+            request8 = 0.0;
+            request16 = 0.0;
             VECTOR_SET_ASSOCIATION( strings );
          }
          

+ 1 - 0
Engine/source/core/util/journal/journal.h

@@ -335,6 +335,7 @@ class Journal
    struct FuncDecl {
       FuncDecl* next;
       Id id;
+      FuncDecl() :next(NULL), id(0){}
       virtual ~FuncDecl() {}
       virtual bool match(VoidPtr,VoidMethod) const = 0;
       virtual Functor* create() const = 0;

+ 3 - 2
Engine/source/core/util/str.h

@@ -29,6 +29,7 @@
 #include "platform/types.h"
 #endif
 
+#include <string.h>
 
 template< class T > class Vector;
 
@@ -244,7 +245,7 @@ public:
             _dynamicSize( 0 ),
             _len( 0 )
       {
-         _fixedBuffer[0] = '\0';
+         strncpy(_fixedBuffer, "", 2048);
       }
 
       StrFormat(const char *formatStr, va_list args)
@@ -269,7 +270,7 @@ public:
       void reset()
       {
          _len = 0;
-         _fixedBuffer[0] = '\0';
+         strncpy(_fixedBuffer, "", 2048);
       }
 
       /// Copy the formatted string into the output buffer which must be at least size() characters.

+ 1 - 1
Engine/source/core/util/tList.h

@@ -141,7 +141,7 @@ private:
    {
       Link* next;
       Link* prev;
-      Link() {}
+      Link(): next(NULL), prev(NULL) {}
       Link(Link* p,Link* n): next(n),prev(p) {}
    };
 

+ 1 - 1
Engine/source/core/util/tSignal.h

@@ -76,7 +76,7 @@ protected:
 
       void insert(DelegateLink* node, F32 order);
       void unlink();
-
+      DelegateLink() :next(NULL), prev(NULL), mOrder(0) {}
       virtual ~DelegateLink() {}
    };
 

+ 4 - 1
Engine/source/environment/VolumetricFogRTManager.cpp

@@ -87,8 +87,11 @@ VolumetricFogRTManager::VolumetricFogRTManager()
    setGlobalBounds();
    mTypeMask |= EnvironmentObjectType;
    mNetFlags.set(IsGhost);
+   mPlatformWindow = NULL;
    mIsInitialized = false;
    mNumFogObjects = 0;
+   mWidth = 0;
+   mHeight = 0;
 }
    
 VolumetricFogRTManager::~VolumetricFogRTManager()
@@ -291,4 +294,4 @@ DefineEngineFunction(SetFogVolumeQuality, S32, (U32 new_quality), ,
    if (VFRTM == NULL)
       return -1;
    return VFRTM->setQuality(new_quality);
-}
+}

+ 7 - 6
Engine/source/environment/basicClouds.cpp

@@ -63,11 +63,12 @@ BasicClouds::BasicClouds()
    mTypeMask |= EnvironmentObjectType | StaticObjectType;
    mNetFlags.set(Ghostable | ScopeAlways);
 
-   mTimeSC = 0;
-   mModelViewProjSC = 0;
-   mTexScaleSC = 0;
-   mTexDirectionSC = 0;
-   mTexOffsetSC = 0;
+   mTimeSC = NULL;
+   mModelViewProjSC = NULL;
+   mTexScaleSC = NULL;
+   mTexDirectionSC = NULL;
+   mTexOffsetSC = NULL;
+   mDiffuseMapSC = NULL;
 
    mLayerEnabled[0] = true;
    mLayerEnabled[1] = true;
@@ -414,4 +415,4 @@ void BasicClouds::_initBuffers()
 
       mVB[i].unlock();
    } 
-}
+}

Some files were not shown because too many files changed in this diff