bug fixes from Overhaul:

- Disappearing corpses (and possibly items) when cursor hovers over a square on the rooftop; also fixes a "write to freed memory" heap check
- Fixed improper printf field in a debug message 

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@870 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2007-05-08 22:44:08 +00:00
parent 8e80a6168a
commit 61d6152ce5
14 changed files with 41 additions and 40 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ wchar_t zVersionLabel[256] = { L"Beta v. 0.98" };
#else #else
//RELEASE BUILD VERSION //RELEASE BUILD VERSION
wchar_t zVersionLabel[256] = { L"Release v1.13.868" }; wchar_t zVersionLabel[256] = { L"Release v1.13.870" };
#endif #endif
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -546,7 +546,7 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib" AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib"
OutputFile="D:\games\Jagged Alliance 2 v1.13\JA2 v1.13.868_EN.exe" OutputFile="D:\games\Jagged Alliance 2 v1.13\JA2 v1.13.870_EN.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\" AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
+18 -18
View File
@@ -1315,8 +1315,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_ASSHOLE; iAttitude = ATT_ASSHOLE;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 2; iPortraitNumber = 2;
return TRUE; return TRUE;
} }
@@ -1340,8 +1340,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_FRIENDLY; iAttitude = ATT_FRIENDLY;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 1; iPortraitNumber = 1;
return TRUE; return TRUE;
} }
@@ -1365,8 +1365,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_FRIENDLY; iAttitude = ATT_FRIENDLY;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 2; // LaptopSaveInfo.iCurrentVoice = 2;
LaptopSaveInfo.iCharIndex = 2; // LaptopSaveInfo.iCharIndex = 2;
iPortraitNumber = 1; iPortraitNumber = 1;
return TRUE; return TRUE;
} }
@@ -1393,8 +1393,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_AGGRESSIVE; iAttitude = ATT_AGGRESSIVE;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 4; iPortraitNumber = 4;
return TRUE; return TRUE;
} }
@@ -1421,8 +1421,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_ARROGANT; iAttitude = ATT_ARROGANT;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 2; iPortraitNumber = 2;
return TRUE; return TRUE;
} }
@@ -1449,8 +1449,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_AGGRESSIVE; iAttitude = ATT_AGGRESSIVE;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 4; iPortraitNumber = 4;
return TRUE; return TRUE;
} }
@@ -1477,8 +1477,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_LONER; iAttitude = ATT_LONER;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 3; iPortraitNumber = 3;
return TRUE; return TRUE;
} }
@@ -1502,8 +1502,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = PSYCHO; iPersonality = PSYCHO;
iAttitude = ATT_ASSHOLE; iAttitude = ATT_ASSHOLE;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 2; iPortraitNumber = 2;
//DEF: temp //DEF: temp
@@ -1559,8 +1559,8 @@ BOOLEAN CheckCharacterInputForEgg( void )
iPersonality = NO_PERSONALITYTRAIT; iPersonality = NO_PERSONALITYTRAIT;
iAttitude = ATT_LONER; iAttitude = ATT_LONER;
iCurrentImpPage = IMP_FINISH; iCurrentImpPage = IMP_FINISH;
LaptopSaveInfo.iCurrentVoice = 1; // LaptopSaveInfo.iCurrentVoice = 1;
LaptopSaveInfo.iCharIndex = 1; // LaptopSaveInfo.iCharIndex = 1;
iPortraitNumber = 3; iPortraitNumber = 3;
return TRUE; return TRUE;
} }
+1 -1
View File
@@ -1251,7 +1251,7 @@ void AddStringToFilesList( STR16 pString )
// alloc string and copy // alloc string and copy
pFileString-> pString = (STR16) MemAlloc( ( wcslen( pString ) * 2 ) + 2 ); pFileString-> pString = (STR16) MemAlloc( ( wcslen( pString ) * sizeof(CHAR16) ) + 2 );
wcscpy( pFileString->pString, pString ); wcscpy( pFileString->pString, pString );
pFileString->pString[ wcslen( pString ) ] = 0; pFileString->pString[ wcslen( pString ) ] = 0;
+1 -1
View File
@@ -2146,7 +2146,7 @@ INT16 MinAPsToThrow( SOLDIERTYPE *pSoldier, INT16 sGridNo, UINT8 ubAddTurningCos
else else
{ {
#ifdef JA2TESTVERSION #ifdef JA2TESTVERSION
ScreenMsg( MSG_FONT_YELLOW, MSG_DEBUG, L"MinAPsToThrow - Called when in-hand item is %s", usInHand ); ScreenMsg( MSG_FONT_YELLOW, MSG_DEBUG, L"MinAPsToThrow - Called when in-hand item is %d", usInHand );
#endif #endif
return(0); return(0);
} }
+9 -8
View File
@@ -186,13 +186,14 @@ CHAR8 zNoBloodCorpseFilenames[ NUM_CORPSES ][70] =
UINT8 gb4DirectionsFrom8[8] = UINT8 gb4DirectionsFrom8[8] =
{ {
7, // NORTH // 7, // NORTH
0,
0, // NE 0, // NE
0, // E 1, // E
0, // SE 0, // SE
1, // S 2, // S
0, // SW, 0, // SW,
2, // W, 3, // W,
0 // NW 0 // NW
}; };
@@ -419,10 +420,10 @@ UINT16 GetCorpseStructIndex( ROTTING_CORPSE_DEFINITION *pCorpseDef, BOOLEAN fFor
// OK , these have 4 directions.... // OK , these have 4 directions....
bDirection = gb4DirectionsFrom8[ pCorpseDef->bDirection ]; bDirection = gb4DirectionsFrom8[ pCorpseDef->bDirection ];
if ( fForImage ) // if ( fForImage )
{ // {
bDirection = gOneCDirection[ bDirection ]; // bDirection = gOneCDirection[ bDirection ];
} // }
break; break;
default: default:
+1 -1
View File
@@ -2485,7 +2485,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
// ATE: Here, reduce again if creaturequeen tentical attack... // ATE: Here, reduce again if creaturequeen tentical attack...
if ( pSoldier->usAnimState == QUEEN_SWIPE ) if ( pSoldier->usAnimState == QUEEN_SWIPE )
{ {
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("@@@@@@@ Reducing attacker busy count for end of queen swipe" ) ); DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("@@@@@@@ Reducing attacker busy count for end of queen swipe\n" ) );
ReduceAttackBusyCount( (UINT8) pSoldier->ubID, FALSE ); ReduceAttackBusyCount( (UINT8) pSoldier->ubID, FALSE );
} }
break; break;
+1 -1
View File
@@ -1512,7 +1512,7 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT16 sTargetGridNo )
UINT16 usItemNum; UINT16 usItemNum;
BOOLEAN fBuckshot; BOOLEAN fBuckshot;
UINT8 ubVolume; UINT8 ubVolume;
INT8 zBurstString[50]; INT8 zBurstString[512];
UINT8 ubDirection; UINT8 ubDirection;
INT16 sNewGridNo; INT16 sNewGridNo;
UINT8 ubMerc; UINT8 ubMerc;
+1 -1
View File
@@ -1561,7 +1561,7 @@ void HandleManNoLongerSeen( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent, INT
{ {
// if neither side is neutral AND // if neither side is neutral AND
// if this soldier is an opponent (fights for different side) // if this soldier is an opponent (fights for different side)
if (!CONSIDERED_NEUTRAL( pOpponent, pSoldier ) && !CONSIDERED_NEUTRAL( pSoldier, pOpponent ) && (pSoldier->bSide != pOpponent->bSide)) if (pSoldier->bActive && pOpponent->bActive && !CONSIDERED_NEUTRAL( pOpponent, pSoldier ) && !CONSIDERED_NEUTRAL( pSoldier, pOpponent ) && (pSoldier->bSide != pOpponent->bSide))
{ {
RemoveOneOpponent(pSoldier); RemoveOneOpponent(pSoldier);
} }
+2 -2
View File
@@ -1224,10 +1224,10 @@ void ExplosiveDamageGridNo( INT16 sGridNo, INT16 sWoundAmt, UINT32 uiDist, BOOLE
sBaseGridNo = pBaseStructure->sGridNo; sBaseGridNo = pBaseStructure->sGridNo;
ubNumberOfTiles = pBaseStructure->pDBStructureRef->pDBStructure->ubNumberOfTiles; ubNumberOfTiles = pBaseStructure->pDBStructureRef->pDBStructure->ubNumberOfTiles;
fMultiStructure = ( ( pBaseStructure->fFlags & STRUCTURE_MULTI ) != 0 ); fMultiStructure = ( ( pBaseStructure->fFlags & STRUCTURE_MULTI ) != 0 );
ppTile = (DB_STRUCTURE_TILE **) MemAlloc( sizeof( DB_STRUCTURE_TILE ) * ubNumberOfTiles ); ppTile = (DB_STRUCTURE_TILE **) MemAlloc( sizeof( DB_STRUCTURE_TILE* ) * ubNumberOfTiles );
// Lesh: CTD was in next line once // Lesh: CTD was in next line once
memcpy( ppTile, pBaseStructure->pDBStructureRef->ppTile, sizeof( DB_STRUCTURE_TILE ) * ubNumberOfTiles ); memcpy( ppTile, pBaseStructure->pDBStructureRef->ppTile, sizeof( DB_STRUCTURE_TILE* ) * ubNumberOfTiles );
if ( bMultiStructSpecialFlag == -1 ) if ( bMultiStructSpecialFlag == -1 )
{ {
+3 -3
View File
@@ -393,7 +393,7 @@ void AddMonoString(UINT32 *hStringHandle, STR16 pString)
if (pStringSt == NULL) if (pStringSt == NULL)
return; return;
pLocalString=(STR16)(MemAlloc(wcslen(pString)*2+2)); pLocalString=(STR16)MemAlloc((wcslen(pString)+1)*sizeof(CHAR16));
if (pLocalString == NULL) if (pLocalString == NULL)
return; return;
@@ -443,7 +443,7 @@ void AddSecondColumnMonoString( UINT32 *hStringHandle, STR16 pString )
if (pStringSt == NULL) if (pStringSt == NULL)
return; return;
pLocalString=(STR16)(MemAlloc(wcslen(pString)*2+2)); pLocalString=(STR16)MemAlloc((wcslen(pString)+1)*sizeof(CHAR16));
if (pLocalString == NULL) if (pLocalString == NULL)
return; return;
@@ -490,7 +490,7 @@ void AddColorString(INT32 *hStringHandle, STR16 pString)
if (pStringSt == NULL) if (pStringSt == NULL)
return; return;
pLocalString=(STR16)(MemAlloc(wcslen(pString)*2+2)); pLocalString=(STR16)MemAlloc((wcslen(pString)+1)*sizeof(CHAR16));
if (pLocalString == NULL) if (pLocalString == NULL)
return; return;
+1 -1
View File
@@ -1579,7 +1579,7 @@ void ExecuteCopyCommand()
ubEnd = gubStartHilite; ubEnd = gubStartHilite;
} }
ubCount = (UINT8)(ubEnd - ubStart); ubCount = (UINT8)(ubEnd - ubStart);
szClipboard = (UINT16*)MemAlloc( ( ubCount + 1 ) * 2 ); szClipboard = (UINT16*)MemAlloc( ( ubCount + 1 ) * sizeof(CHAR16) );
Assert( szClipboard ); Assert( szClipboard );
for( ubCount = ubStart; ubCount < ubEnd; ubCount++ ) for( ubCount = ubStart; ubCount < ubEnd; ubCount++ )
{ {
+1 -1
View File
@@ -170,7 +170,7 @@ ScrollStringStPtr AddString(STR16 pString, UINT16 usColor, UINT32 uiFont, BOOLEA
void SetString(ScrollStringStPtr pStringSt, STR16 pString) void SetString(ScrollStringStPtr pStringSt, STR16 pString)
{ {
// ARM: Why x2 + 4 ??? // ARM: Why x2 + 4 ???
pStringSt->pString16=(STR16)MemAlloc((wcslen(pString)*2)+4); pStringSt->pString16=(STR16)MemAlloc((wcslen(pString)+2)*sizeof(CHAR16));
wcsncpy(pStringSt->pString16, pString, wcslen(pString)); wcsncpy(pStringSt->pString16, pString, wcslen(pString));
pStringSt->pString16[wcslen(pString)]=0; pStringSt->pString16[wcslen(pString)]=0;
} }