mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
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:
+1
-1
@@ -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
|
||||||
|
|||||||
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user