mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
bug fixes from Overhaul:
- CTD when someone fell off the west side of a building - Assertion failure when Skyrider leaves a sector where a merc cannot be woken up - Boxing fixes: Opponent no longer "seeks cover", ie jumps back out of the ring; no longer will pick up a gun from the ground while boxing - Disappearing corpses (and possibly items) when cursor hovers over a square on the rooftop; also fixes a "write to freed memory" heap check git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@867 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
|
||||
|
||||
//RELEASE BUILD VERSION
|
||||
wchar_t zVersionLabel[256] = { L"Release v1.13.861" };
|
||||
wchar_t zVersionLabel[256] = { L"Release v1.13.867" };
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -546,7 +546,7 @@
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib"
|
||||
OutputFile="D:\games\Jagged Alliance 2 v1.13\JA2 v1.13.861_EN.exe"
|
||||
OutputFile="D:\games\Jagged Alliance 2 v1.13\JA2 v1.13.867_EN.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
|
||||
|
||||
@@ -2638,12 +2638,19 @@ void RemovePGroup( GROUP *pGroup )
|
||||
|
||||
uniqueIDMask[ index ] -= mask;
|
||||
|
||||
if (gpBattleGroup == pGroup) {
|
||||
gpBattleGroup = NULL;
|
||||
}
|
||||
|
||||
MemFree( pGroup );
|
||||
pGroup = NULL;
|
||||
}
|
||||
|
||||
void RemoveAllGroups()
|
||||
{
|
||||
// Since we are removing all groups, clear the gpBattleGroup
|
||||
gpBattleGroup = NULL;
|
||||
|
||||
gfRemovingAllGroups = TRUE;
|
||||
while( gpGroupList )
|
||||
{
|
||||
@@ -3253,14 +3260,14 @@ BOOLEAN PlayersBetweenTheseSectors( INT16 sSource, INT16 sDest, INT32 *iCountEnt
|
||||
|
||||
if( gpBattleGroup )
|
||||
{
|
||||
Assert( gfPreBattleInterfaceActive );
|
||||
// Assert( gfPreBattleInterfaceActive );
|
||||
sBattleSector = (INT16)SECTOR( gpBattleGroup->ubSectorX, gpBattleGroup->ubSectorY );
|
||||
}
|
||||
|
||||
// debug only
|
||||
if ( gfDisplayPotentialRetreatPaths == TRUE )
|
||||
{
|
||||
Assert( gfPreBattleInterfaceActive );
|
||||
// Assert( gfPreBattleInterfaceActive );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12322,11 +12322,10 @@ void HandleNewDestConfirmation( INT16 sMapX, INT16 sMapY )
|
||||
// tell player the route was CONFIRMED
|
||||
// NOTE: We don't this this for the helicopter any more, since it clashes with Skyrider's own confirmation msg
|
||||
MapScreenMessage( FONT_MCOLOR_LTYELLOW, MSG_MAP_UI_POSITION_MIDDLE, pMapPlotStrings[ 1 ] );
|
||||
|
||||
// wake up anybody who needs to be awake to travel
|
||||
WakeUpAnySleepingSelectedMercsOnFootOrDriving();
|
||||
}
|
||||
|
||||
|
||||
// wake up anybody who needs to be awake to travel
|
||||
WakeUpAnySleepingSelectedMercsOnFootOrDriving();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -554,6 +554,12 @@ INT16 FindBestNearbyCover(SOLDIERTYPE *pSoldier, INT32 morale, INT32 *piPercentB
|
||||
UINT8 ubLightPercentDifference;
|
||||
BOOLEAN fNight;
|
||||
|
||||
// There's no cover when boxing!
|
||||
if (gTacticalStatus.bBoxingState == BOXING)
|
||||
{
|
||||
return (NOWHERE);
|
||||
}
|
||||
|
||||
if ( gbWorldSectorZ > 0 )
|
||||
{
|
||||
fNight = FALSE;
|
||||
@@ -1638,6 +1644,12 @@ INT8 SearchForItems( SOLDIERTYPE * pSoldier, INT8 bReason, UINT16 usItem )
|
||||
iTempValue = -1;
|
||||
iItemIndex = iBestItemIndex = -1;
|
||||
|
||||
// No fair picking up weapons while boxing!
|
||||
if (gTacticalStatus.bBoxingState == BOXING)
|
||||
{
|
||||
return AI_ACTION_NONE;
|
||||
}
|
||||
|
||||
if (pSoldier->bActionPoints < AP_PICKUP_ITEM)
|
||||
{
|
||||
return( AI_ACTION_NONE );
|
||||
|
||||
+14
-1
@@ -982,6 +982,8 @@ UINT8 GetLandLevelDepth( UINT32 iMapIndex )
|
||||
BOOLEAN GetSubIndexFromTileIndex( UINT16 usTileIndex, UINT16 *pusSubIndex )
|
||||
{
|
||||
UINT32 uiType=0;
|
||||
*pusSubIndex = 0xffff;
|
||||
|
||||
if( GetTileType( usTileIndex, &uiType ) )
|
||||
{
|
||||
*pusSubIndex = usTileIndex - gTileTypeStartIndex[ uiType ] + 1;
|
||||
@@ -995,6 +997,8 @@ BOOLEAN GetTypeSubIndexFromTileIndex( UINT32 uiCheckType, UINT16 usIndex, UINT16
|
||||
|
||||
// Tile database is zero-based, Type indecies are 1-based!
|
||||
|
||||
*pusSubIndex = 0xffff;
|
||||
|
||||
CHECKF ( uiCheckType < NUMBEROFTILETYPES );
|
||||
|
||||
*pusSubIndex = usIndex - gTileTypeStartIndex[ uiCheckType ] + 1;
|
||||
@@ -1004,6 +1008,7 @@ BOOLEAN GetTypeSubIndexFromTileIndex( UINT32 uiCheckType, UINT16 usIndex, UINT16
|
||||
|
||||
BOOLEAN GetTypeSubIndexFromTileIndexChar( UINT32 uiCheckType, UINT16 usIndex, UINT8 *pubSubIndex )
|
||||
{
|
||||
*pubSubIndex = 0xff;
|
||||
|
||||
// Tile database is zero-based, Type indecies are 1-based!
|
||||
|
||||
@@ -1018,6 +1023,8 @@ BOOLEAN GetTileIndexFromTypeSubIndex( UINT32 uiCheckType, UINT16 usSubIndex, UIN
|
||||
{
|
||||
// Tile database is zero-based, Type indecies are 1-based!
|
||||
|
||||
*pusTileIndex = 0xffff;
|
||||
|
||||
CHECKF ( uiCheckType < NUMBEROFTILETYPES );
|
||||
|
||||
*pusTileIndex = usSubIndex + gTileTypeStartIndex[ uiCheckType ] - 1;
|
||||
@@ -1045,6 +1052,8 @@ BOOLEAN GetTileType( UINT16 usIndex, UINT32 *puiType )
|
||||
{
|
||||
TILE_ELEMENT TileElem;
|
||||
|
||||
*puiType = 0xffffffff;
|
||||
|
||||
CHECKF( usIndex != NO_TILE );
|
||||
CHECKF( usIndex < NUMBEROFTILES ); //lal bugfix
|
||||
|
||||
@@ -1060,6 +1069,8 @@ BOOLEAN GetTileFlags( UINT16 usIndex, UINT32 *puiFlags )
|
||||
{
|
||||
TILE_ELEMENT TileElem;
|
||||
|
||||
*puiFlags = 0;
|
||||
|
||||
CHECKF( usIndex != NO_TILE );
|
||||
CHECKF( usIndex < NUMBEROFTILES );
|
||||
|
||||
@@ -1195,8 +1206,10 @@ BOOLEAN AnyLowerLand( UINT32 iMapIndex, UINT32 uiSrcType, UINT8 *pubLastLevel )
|
||||
|
||||
BOOLEAN GetWallOrientation( UINT16 usIndex, UINT16 *pusWallOrientation )
|
||||
{
|
||||
TILE_ELEMENT TileElem;
|
||||
TILE_ELEMENT TileElem;
|
||||
|
||||
*pusWallOrientation = 0xffff;
|
||||
|
||||
CHECKF( usIndex != NO_TILE );
|
||||
CHECKF( usIndex < NUMBEROFTILES ); //lal bugfix
|
||||
|
||||
|
||||
Reference in New Issue
Block a user