Removed an inconsistency between quickload and regular load

Turned on heap checking for debug builds.  *Could cause memory to run low if game runs for extended periods
Fixed assertion message for case where soldier groups try to cross impassible terrain
Fixed inventory memory leak


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1110 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Overhaul
2007-07-24 09:14:56 +00:00
parent 48527d4aa5
commit b559e8601d
4 changed files with 12 additions and 5 deletions
+5
View File
@@ -430,11 +430,16 @@ void SetSaveLoadExitScreen( UINT32 uiScreen )
SetPendingNewScreen( uiScreen );
#if 0
// 0verhaul: This is a repeat of the previous line, but with a different variable set.
// None of it really makes sense. Why would a quicksave be different from a regular one?
// Why should ctrl+L act differently than alt+L?
if( gfDoingQuickLoad )
{
fFirstTimeInGameScreen = TRUE;
SetPendingNewScreen( uiScreen );
}
#endif
ExitSaveLoadScreen();
+3
View File
@@ -791,6 +791,9 @@ int PASCAL HandledWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR p
//EmergencyExitButtonInit();
//end rain
#ifdef _DEBUG
_CrtSetDbgFlag( _CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_DELAY_FREE_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
#endif
ghInstance = hInstance;
+1 -1
View File
@@ -2444,7 +2444,7 @@ void InitiateGroupMovementToNextSector( GROUP *pGroup )
{
AssertMsg( 0, String("Group %d (%s) attempting illegal move from %c%d to %c%d (%s).",
pGroup->ubGroupID, ( pGroup->fPlayer ) ? "Player" : "AI",
pGroup->ubSectorY+'A', pGroup->ubSectorX, pGroup->ubNextY+'A', pGroup->ubNextX,
pGroup->ubSectorY+'A'-1, pGroup->ubSectorX, pGroup->ubNextY+'A'-1, pGroup->ubNextX,
gszTerrain[SectorInfo[ubSector].ubTraversability[ubDirection]] ) );
}
+3 -4
View File
@@ -232,15 +232,14 @@ BATTLESNDS_STRUCT gBattleSndsData[] =
// ----------------------------------------
Inventory::Inventory() {
OBJECTTYPE filler;
memset( &filler, 0, sizeof( OBJECTTYPE ) );
slotCnt = NUM_INV_SLOTS;
inv.reserve(slotCnt);
for (int idx=0; idx < slotCnt; ++idx) {
//OBJECTTYPE *filler = new OBJECTTYPE; // Use MEMALLOC?
OBJECTTYPE *filler = NULL;
filler = (OBJECTTYPE*)MemAlloc( sizeof( OBJECTTYPE ) );
memset( filler, 0, sizeof( OBJECTTYPE ) );
inv.push_back(*filler);
inv.push_back(filler);
}
clear();
Assert (inv.size() == slotCnt);