mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
Fixed update of items for which auto/burst does not apply when swapped into the hand
Moved helicopter in Estoni so that it is unblocked by a weed and can therefore appear completely Fixed conditions where the game should remain paused but doesn't, and where it should unpause but doesn't git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1531 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -5491,7 +5491,7 @@ void MakeSureToolKitIsInHand( SOLDIERTYPE *pSoldier )
|
|||||||
{
|
{
|
||||||
if( Item[pSoldier -> inv[ bPocket ].usItem].toolkit )
|
if( Item[pSoldier -> inv[ bPocket ].usItem].toolkit )
|
||||||
{
|
{
|
||||||
SwapObjs( &pSoldier -> inv[ HANDPOS ], &pSoldier -> inv[ bPocket ] );
|
SwapObjs( pSoldier, HANDPOS, bPocket );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5519,7 +5519,7 @@ BOOLEAN MakeSureMedKitIsInHand( SOLDIERTYPE *pSoldier )
|
|||||||
if ( Item[pSoldier -> inv[ bPocket ].usItem].medicalkit )
|
if ( Item[pSoldier -> inv[ bPocket ].usItem].medicalkit )
|
||||||
{
|
{
|
||||||
fCharacterInfoPanelDirty = TRUE;
|
fCharacterInfoPanelDirty = TRUE;
|
||||||
SwapObjs( &pSoldier -> inv[ HANDPOS ], &pSoldier -> inv[ bPocket ] );
|
SwapObjs( pSoldier, HANDPOS, bPocket );
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5539,14 +5539,14 @@ BOOLEAN MakeSureMedKitIsInHand( SOLDIERTYPE *pSoldier )
|
|||||||
if( ( Item[ pSoldier -> inv[ HANDPOS ].usItem ].twohanded ) && ( bPocket >= SMALLPOCK1POS ) )
|
if( ( Item[ pSoldier -> inv[ HANDPOS ].usItem ].twohanded ) && ( bPocket >= SMALLPOCK1POS ) )
|
||||||
{
|
{
|
||||||
// first move from hand to second hand
|
// first move from hand to second hand
|
||||||
SwapObjs( &pSoldier -> inv[ HANDPOS ], &pSoldier -> inv[ SECONDHANDPOS ] );
|
SwapObjs( pSoldier, HANDPOS, SECONDHANDPOS );
|
||||||
|
|
||||||
// dirty mapscreen and squad panels
|
// dirty mapscreen and squad panels
|
||||||
fCharacterInfoPanelDirty = TRUE;
|
fCharacterInfoPanelDirty = TRUE;
|
||||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||||
}
|
}
|
||||||
|
|
||||||
SwapObjs( &pSoldier -> inv[ HANDPOS ], &pSoldier -> inv[ bPocket ] );
|
SwapObjs( pSoldier, HANDPOS, bPocket );
|
||||||
|
|
||||||
|
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
@@ -7084,6 +7084,8 @@ void ContractMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// The game should be unpaused when this message box disappears
|
||||||
|
UnPauseGame();
|
||||||
DoMapMessageBox( MSG_BOX_BASIC_STYLE, gzLateLocalizedString[ 48 ], MAP_SCREEN, MSG_BOX_FLAG_YESNO, MercDismissConfirmCallBack );
|
DoMapMessageBox( MSG_BOX_BASIC_STYLE, gzLateLocalizedString[ 48 ], MAP_SCREEN, MSG_BOX_FLAG_YESNO, MercDismissConfirmCallBack );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
//Macro to convert sector coordinates (1-16,1-16) to 0-255
|
//Macro to convert sector coordinates (1-16,1-16) to 0-255
|
||||||
#define SECTOR(x,y) ((y-1)*16+x-1)
|
#define SECTOR(x,y) (UINT8)((y-1)*16+x-1)
|
||||||
#define SECTORX(SectorID) ((SectorID % 16) + 1)
|
#define SECTORX(SectorID) (UINT8)((SectorID % 16) + 1)
|
||||||
#define SECTORY(SectorID) ((SectorID / 16) + 1)
|
#define SECTORY(SectorID) (UINT8)((SectorID / 16) + 1)
|
||||||
|
|
||||||
//Sector enumerations
|
//Sector enumerations
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ UINT8 ubRefuelList[ NUMBER_OF_REFUEL_SITES ][ 2 ] =
|
|||||||
|
|
||||||
INT16 sRefuelStartGridNo[ NUMBER_OF_REFUEL_SITES ] ={
|
INT16 sRefuelStartGridNo[ NUMBER_OF_REFUEL_SITES ] ={
|
||||||
9001, // drassen
|
9001, // drassen
|
||||||
13068, // estoni
|
13067, // estoni
|
||||||
};
|
};
|
||||||
|
|
||||||
// whether or not helicopter can refuel at this site
|
// whether or not helicopter can refuel at this site
|
||||||
@@ -1566,6 +1566,9 @@ void HandleHelicopterOnGroundGraphic( void )
|
|||||||
{
|
{
|
||||||
gMercProfiles[ SKYRIDER ].sSectorX = gWorldSectorX;
|
gMercProfiles[ SKYRIDER ].sSectorX = gWorldSectorX;
|
||||||
gMercProfiles[ SKYRIDER ].sSectorY = gWorldSectorY;
|
gMercProfiles[ SKYRIDER ].sSectorY = gWorldSectorY;
|
||||||
|
gMercProfiles[ SKYRIDER ].ubStrategicInsertionCode = INSERTION_CODE_GRIDNO;
|
||||||
|
gMercProfiles[ SKYRIDER ].usStrategicInsertionData = sRefuelStartGridNo[ubSite] - 639; // Stand near the heli
|
||||||
|
gMercProfiles[ SKYRIDER ].fUseProfileInsertionInfo = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -980,8 +980,12 @@ BOOLEAN StrategicRemoveMerc( SOLDIERTYPE *pSoldier )
|
|||||||
wcsncpy( gMercProfiles[ pSoldier->ubProfile ].zName, L"", 1 );
|
wcsncpy( gMercProfiles[ pSoldier->ubProfile ].zName, L"", 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// ATE: update team panels....
|
// ATE: update team panels....
|
||||||
UpdateTeamPanelAssignments( );
|
UpdateTeamPanelAssignments( );
|
||||||
|
|
||||||
|
// And unpause the @#$@#$ interface
|
||||||
|
UnLockPauseState();
|
||||||
|
UnPauseGame();
|
||||||
|
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -415,6 +415,7 @@ void ClearMapControlledFlags( void )
|
|||||||
SectorInfo[ SECTOR( iCounterA, iCounterB ) ].fPlayer[ 0 ] = TRUE;
|
SectorInfo[ SECTOR( iCounterA, iCounterB ) ].fPlayer[ 0 ] = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
UpdateAirspaceControl( );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -4476,10 +4476,10 @@ BOOLEAN IsThisSectorASAMSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ )
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( cnt = 0; cnt < NUMBER_OF_SAMS; cnt++ )
|
for ( cnt = 0; cnt < NUMBER_OF_SAMS; cnt++ )
|
||||||
{
|
{
|
||||||
if( ( sSectorX == gpSamSectorX[cnt] ) && ( sSectorY == gpSamSectorY[cnt] ) )
|
if( ( sSectorX == gpSamSectorX[cnt] ) && ( sSectorY == gpSamSectorY[cnt] ) )
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
return ( FALSE );
|
return ( FALSE );
|
||||||
@@ -4871,7 +4871,7 @@ void AdjustSoldierPathToGoOffEdge( SOLDIERTYPE *pSoldier, INT16 sEndGridNo, UINT
|
|||||||
|
|
||||||
for (iLoop = 0; iLoop < pSoldier->usPathDataSize; iLoop++)
|
for (iLoop = 0; iLoop < pSoldier->usPathDataSize; iLoop++)
|
||||||
{
|
{
|
||||||
sTempGridNo += (INT16)DirectionInc( pSoldier->usPathingData[ iLoop ] );
|
sTempGridNo += DirectionInc( (UINT8) pSoldier->usPathingData[ iLoop ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sTempGridNo == sEndGridNo)
|
if (sTempGridNo == sEndGridNo)
|
||||||
|
|||||||
Reference in New Issue
Block a user