Fix some issues flagged by cppcheck
@@ -87,6 +87,7 @@ ConsoleDocClass( GuiClockHud,
GuiClockHud::GuiClockHud()
{
mShowFrame = mShowFill = true;
+ mTimeReversed = false;
mFillColor.set(0, 0, 0, 0.5);
mFrameColor.set(0, 1, 0, 1);
mTextColor.set( 0, 1, 0, 1 );
@@ -117,8 +117,11 @@ GuiShapeNameHud::GuiShapeNameHud()
mFillColor.set( 0.25f, 0.25f, 0.25f, 0.25f );
mFrameColor.set( 0, 1, 0, 1 );
+ mLabelFillColor.set( 0.25f, 0.25f, 0.25f, 0.25f );
+ mLabelFrameColor.set( 0, 1, 0, 1 );
+ mShowLabelFrame = mShowLabelFill = false;
mVerticalOffset = 0.5f;
mDistanceFade = 0.1f;
mLabelPadding.set(0, 0);
@@ -148,7 +148,7 @@ protected:
public:
- GroundCoverCell() {}
+ GroundCoverCell() : mDirty(false) {}
~GroundCoverCell()
@@ -156,6 +156,7 @@ LightningStrikeEvent::LightningStrikeEvent()
mLightning = NULL;
mTarget = NULL;
+ mClientId = 0;
}
LightningStrikeEvent::~LightningStrikeEvent()
@@ -240,6 +240,7 @@ struct ServerFilter
ServerFilter()
+ type = Normal;
queryFlags = 0;
gameType = NULL;
missionType = NULL;
@@ -2179,6 +2179,7 @@ void CMDerror(char *format, ...)
#else
vsnprintf( tempBuf, BUFMAX, format, args );
#endif
+ va_end(args);
if(fileName)
@@ -250,6 +250,7 @@ void CMDerror(char *format, ...)
@@ -1162,6 +1162,7 @@ const char *evaluatef(const char* string, ...)
va_list args;
va_start(args, string);
dVsprintf(buffer, sizeof(buffer), string, args);
CodeBlock *newCodeBlock = new CodeBlock();
return newCodeBlock->compileExec(NULL, buffer, false, 0);
@@ -389,6 +389,7 @@ void dPrintf(const char *format, ...)
va_start(args, format);
vprintf(format, args);
S32 dVprintf(const char *format, va_list arglist)
@@ -402,6 +403,7 @@ S32 dSprintf(char *buffer, U32 bufferSize, const char *format, ...)
S32 len = vsnprintf(buffer, bufferSize, format, args);
AssertWarn( len < bufferSize, "Buffer too small in call to dSprintf!" );
@@ -470,7 +472,9 @@ S32 dSscanf(const char *buffer, const char *format, ...)
- return vsscanf(buffer, format, args);
+ S32 res = vsscanf(buffer, format, args);
+ return res;
@@ -103,13 +103,17 @@ struct UTF16Cache
dMemcpy(mString, other.mString, mLength * sizeof(UTF16));
- void operator =(const UTF16Cache &other)
+ UTF16Cache & operator =(const UTF16Cache &other)
- delete [] mString;
+ if (&other != this)
+ {
+ delete [] mString;
- mLength = other.mLength;
- mString = new UTF16[mLength];
- dMemcpy(mString, other.mString, mLength * sizeof(UTF16));
+ mLength = other.mLength;
+ mString = new UTF16[mLength];
+ dMemcpy(mString, other.mString, mLength * sizeof(UTF16));
+ }
+ return *this;
~UTF16Cache()
@@ -39,7 +39,7 @@ protected:
const UTF16* mUTF16;
U32 mLength;
- StrTest() : mData( 0 ), mUTF16( 0 ) {}
+ StrTest() : mData( 0 ), mUTF16( 0 ), mLength( 0 ) {}
StrTest( const char* str )
: mData( str ), mLength( str ? dStrlen( str ) : 0 ), mUTF16( NULL )
@@ -63,6 +63,12 @@ BasicClouds::BasicClouds()
mTypeMask |= EnvironmentObjectType | StaticObjectType;
mNetFlags.set(Ghostable | ScopeAlways);
+ mTimeSC = 0;
+ mModelViewProjSC = 0;
+ mTexScaleSC = 0;
+ mTexDirectionSC = 0;
+ mTexOffsetSC = 0;
+
mLayerEnabled[0] = true;
mLayerEnabled[1] = true;
mLayerEnabled[2] = true;
@@ -73,15 +73,27 @@ U32 CloudLayer::smVertCount = smVertStride * smVertStride;
U32 CloudLayer::smTriangleCount = smStrideMinusOne * smStrideMinusOne * 2;
CloudLayer::CloudLayer()
-: mBaseColor( 0.9f, 0.9f, 0.9f, 1.0f ),
- mCoverage( 0.5f ),
+: mLastTime( 0 ),
+ mBaseColor( 0.9f, 0.9f, 0.9f, 1.0f ),
mExposure( 1.0f ),
- mWindSpeed( 1.0f ),
- mLastTime( 0 )
+ mCoverage( 0.5f ),
+ mWindSpeed( 1.0f )
+ mModelViewProjSC =
+ mAmbientColorSC =
+ mSunColorSC =
+ mSunVecSC =
+ mTexScaleSC =
+ mBaseColorSC =
+ mCoverageSC =
+ mExposureSC =
+ mEyePosWorldSC = 0;
+ mTexOffsetSC[0] = mTexOffsetSC[1] = mTexOffsetSC[2] = 0;
mTexScale[0] = 1.0;
mTexScale[1] = 1.0;
mTexScale[2] = 1.0;
@@ -606,8 +606,6 @@ bool DDSFile::read(Stream &s, U32 dropMipCount)
mPitchOrLinearSize = getSurfaceSize( dropMipCount );
else if ( mFlags.test( PitchSizeFlag ) )
mPitchOrLinearSize = getSurfacePitch( dropMipCount );
- else
- mPitchOrLinearSize = mPitchOrLinearSize; // Do nothing?
// Now fix up the rest of the
mMipMapCount = getMax( (U32)1, mMipMapCount - dropMipCount );
@@ -64,7 +64,7 @@ public:
};
GFXGLShaderConstHandle::GFXGLShaderConstHandle( GFXGLShader *shader )
- : mShader( shader ), mSamplerNum(-1), mInstancingConstant(false)
+ : mShader( shader ), mLocation(0), mOffset(0), mSize(0), mSamplerNum(-1), mInstancingConstant(false)
mValid = false;
@@ -103,7 +103,7 @@ class TheoraTextureFrame
F32 mFrameDuration;
TheoraTextureFrame()
- : mLockedRect( NULL )
+ : mLockedRect( NULL ), mFrameNumber(0), mFrameTime(0.0f), mFrameDuration(0.0f)
@@ -193,7 +193,7 @@ class VideoEncoderTheora : public VideoEncoder, public Thread
VideoEncoderTheora() :
- mLastFrame(NULL)
+ mCurrentFrame(0), td(NULL), mLastFrame(NULL)
setStatus(false);
@@ -41,7 +41,7 @@ protected:
S32 mSelectedOption; ///< Index into mOptions pointing at the selected option
bool mWrapOptions; ///< Determines if options should "wrap around" at the ends
- Row()
+ Row() : mSelectedOption(0), mWrapOptions(false)
VECTOR_SET_ASSOCIATION( mOptions );
@@ -905,7 +905,7 @@ ConsoleDocClass( DICreateUndoAction,
"@internal");
DICreateUndoAction::DICreateUndoAction( const UTF8* actionName )
- : UndoAction( actionName )
+ : UndoAction( actionName ), mEditor(0), mDatablockId(0)
@@ -993,7 +993,7 @@ ConsoleDocClass( DIDeleteUndoAction,
DIDeleteUndoAction::DIDeleteUndoAction( const UTF8 *actionName )
@@ -1081,7 +1081,7 @@ ConsoleDocClass( DBDeleteUndoAction,
DBDeleteUndoAction::DBDeleteUndoAction( const UTF8 *actionName )
@@ -1190,7 +1190,7 @@ ConsoleDocClass( DBRetargetUndoAction,
DBRetargetUndoAction::DBRetargetUndoAction( const UTF8 *actionName )
+ : UndoAction( actionName ), mEditor(0), mDBFromId(0), mDBToId(0)
@@ -159,7 +159,9 @@ blTerrainProxy::blTerrainProxy( SceneObject *obj ) :
Parent( obj ),
mLightMapSize( getObject()->getLightMapSize() ),
mTerrainBlockSize( getObject()->getBlockSize() ),
- mLightmap( NULL )
+ mShadowVolume( NULL ),
+ mLightmap( NULL ),
+ sgBakedLightmap( NULL )
@@ -32,7 +32,7 @@ extern "C"
int (*torque_winmain)( HINSTANCE hInstance, HINSTANCE h, LPSTR lpszCmdLine, int nShow) = NULL;
-bool getDllName(std::wstring& dllName, const std::wstring suffix)
+bool getDllName(std::wstring& dllName, const std::wstring& suffix)
wchar_t filenameBuf[MAX_PATH];
DWORD length = GetModuleFileNameW( NULL, filenameBuf, MAX_PATH );
@@ -38,9 +38,13 @@
duDebugDrawTorque::duDebugDrawTorque()
+ mPrimType = 0;
+ mQuadsMode = false;
+ mVertCount = 0;
+ mGroup = 0;
+ mCurrColor = 0;
mOverrideColor = 0;
mOverride = false;
- mGroup = 0;
duDebugDrawTorque::~duDebugDrawTorque()
@@ -622,7 +622,7 @@ bool NavMesh::build(bool background, bool saveIntermediates)
if(!background)
- while(mDirtyTiles.size())
+ while(!mDirtyTiles.empty())
buildNextTile();
@@ -637,7 +637,7 @@ DefineEngineMethod(NavMesh, build, bool, (bool background, bool save), (true, fa
void NavMesh::cancelBuild()
- while(mDirtyTiles.size()) mDirtyTiles.pop();
+ while(!mDirtyTiles.empty()) mDirtyTiles.pop();
ctx->stopTimer(RC_TIMER_TOTAL);
mBuilding = false;
@@ -707,7 +707,7 @@ void NavMesh::updateTiles(bool dirty)
mTiles.clear();
mTileData.clear();
const Box3F &box = DTStoRC(getWorldBox());
if(box.isEmpty())
@@ -756,7 +756,7 @@ void NavMesh::processTick(const Move *move)
void NavMesh::buildNextTile()
- if(mDirtyTiles.size())
+ if(!mDirtyTiles.empty())
// Pop a single dirty tile and process it.
U32 i = mDirtyTiles.front();
@@ -794,7 +794,7 @@ void NavMesh::buildNextTile()
// Did we just build the last tile?
- if(!mDirtyTiles.size())
+ if(mDirtyTiles.empty())
if(getEventManager())
@@ -36,6 +36,7 @@ RecastPolyList::RecastPolyList()
ntris = 0;
tris = NULL;
tricap = 0;
+ vidx = 0;
RecastPolyList::~RecastPolyList()
@@ -179,6 +179,7 @@ const char* avar(const char *message, ...)
va_start(args, message);
dVsprintf(buffer, sizeof(buffer), message, args);
return( buffer );
@@ -421,6 +421,7 @@ StringTableEntry Platform::makeRelativePathName(const char *path, const char *to
else
+ // FIXME: This condition is clearly wrong
if((*pathPtr == 0 && *toPtr == '/') || (*toPtr == '/' && *pathPtr == 0))
branch = pathPtr;
@@ -45,7 +45,7 @@ int dSprintf(char *buffer, dsize_t /*bufferSize*/, const char *format, ...)
S32 len = vsprintf(buffer, format, args);
-
return (len);
@@ -53,6 +53,7 @@ public:
mRunArg = 0;
mThread = 0;
mThreadHnd = 0;
+ mThreadID = 0;
mDead = false;
@@ -43,13 +43,17 @@ public:
Win32Timer()
mPerfCountRemainderCurrent = 0.0f;
+ mPerfCountRemainderNext = 0.0f;
// Attempt to use QPC for high res timing, otherwise fallback to GTC.
mUsingPerfCounter = QueryPerformanceFrequency((LARGE_INTEGER *) &mFrequency);
if(mUsingPerfCounter)
mUsingPerfCounter = QueryPerformanceCounter((LARGE_INTEGER *) &mPerfCountCurrent);
if(!mUsingPerfCounter)
mTickCountCurrent = GetTickCount();
+ mTickCountNext = 0;
const S32 getElapsedMs()
@@ -174,6 +174,7 @@ void StdConsole::printf(const char *s, ...)
va_start(args, s);
vsnprintf(buffer, BufSize, s, args);
// Replace tabs with carats, like the "real" console does.
char *pos = buffer;
while (*pos) {
@@ -364,6 +364,9 @@ bool Platform::setClipboard(const char *text)
XClipboard::XClipboard()
mInitialized = false;
+ mXData = 0;
+ mTData = 0;
+ mTDataSize = 0;
//------------------------------------------------------------------------------
@@ -56,12 +56,6 @@ RenderOcclusionMgr::RenderOcclusionMgr()
mMatInstance = NULL;
-RenderOcclusionMgr::RenderOcclusionMgr(RenderInstType riType, F32 renderOrder, F32 processAddOrder)
-: RenderBinManager(riType, renderOrder, processAddOrder)
-{
- delete mMatInstance;
-}
static const Point3F cubePoints[8] =
Point3F(-0.5, -0.5, -0.5), Point3F(-0.5, -0.5, 0.5), Point3F(-0.5, 0.5, -0.5), Point3F(-0.5, 0.5, 0.5),
@@ -38,7 +38,6 @@ class RenderOcclusionMgr : public RenderBinManager
typedef RenderBinManager Parent;
RenderOcclusionMgr();
- RenderOcclusionMgr(RenderInstType riType, F32 renderOrder, F32 processAddOrder);
// RenderOcclusionMgr
virtual void init();
@@ -86,7 +86,7 @@ class PathManagerEvent : public NetEvent
typedef NetEvent Parent;
- PathManagerEvent() { }
+ PathManagerEvent() : modifiedPath(0), clearPaths(false) { }
void pack(NetConnection*, BitStream*);
void write(NetConnection*, BitStream*);
@@ -627,7 +627,7 @@ S32 QSORT_CALLBACK SFXSound::qsortCompare( const void* item1, const void* item2
if( !source1IsPlaying && !source2IsPlaying )
return 0;
- else if( !source1IsPlaying && source1IsPlaying )
+ else if( !source1IsPlaying && source2IsPlaying )
return 1;
else if( source1IsPlaying && !source2IsPlaying )
return -1;
@@ -89,19 +89,22 @@ Var::Var()
dStrcpy( (char*)type, "float4" );
structName[0] = '\0';
+ connectName[0] = '\0';
+ constSortPos = cspUninit;
+ constNum = 0;
+ texCoordNum = 0;
uniform = false;
vertData = false;
connector = false;
sampler = false;
mapsToSampler = false;
- texCoordNum = 0;
- constSortPos = cspUninit;
arraySize = 1;
Var::Var( const char *inName, const char *inType )
@@ -31,6 +31,7 @@
ShaderConnector::ShaderConnector()
mCurTexElem = 0;
+ mName[0] = '\0';
//----------------------------------------------------------------------------
@@ -52,7 +52,13 @@ public:
objectId = obj->getId();
ghostIndex = index;
+ else
+ objectId = 0;
+ ghostIndex = 0;
object = NULL;
+ validObject = false;
~GhostAlwaysObjectEvent()
{ delete object; }