mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
Encapsulate PBI Category-1 transition flags as file-statics
gfEnteringMapScreenToEnterPreBattleInterface, gfAutomaticallyStartAutoResolve and gfDelayAutoResolveStart are now file-static in PreBattle Interface.cpp (the latter's definition moved here from Strategic Movement.cpp). External access goes through accessors declared in the header; PBI.cpp touches the statics directly. Accessors exist only where an external caller needs one: AutomaticallyStartAutoResolve() getter (read in Town Militia, gamescreen, Player Command); SetAutomaticallyStartAutoResolve (set in Creature Spreading, strategicmap); SetDelayAutoResolveStart (set in Strategic Movement); SetEnteringMapScreenToEnterPreBattleInterface (set in strategicmap). gfEnteringMapScreen stays a raw cross-read into mapscreen state, not PBI-owned. No behavior change: getter returns BOOLEAN. Verify: grep the three flag names across the tree hits only PreBattle Interface.cpp (three static defs, four accessor bodies, and in-file Handle/reader access). No header externs, no external raw refs. Build: JA2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
committed by
majcosta
co-authored by
Claude Opus 4.8
parent
f1d5431660
commit
380fedca10
+1
-1
@@ -353,7 +353,7 @@ void InternalLeaveTacticalScreen( UINT32 uiNewScreen )
|
|||||||
gpCustomizableTimerCallback = NULL;
|
gpCustomizableTimerCallback = NULL;
|
||||||
|
|
||||||
// unload the sector they teleported out of
|
// unload the sector they teleported out of
|
||||||
if ( !gfAutomaticallyStartAutoResolve )
|
if ( !AutomaticallyStartAutoResolve() )
|
||||||
{
|
{
|
||||||
CheckAndHandleUnloadingOfCurrentWorld();
|
CheckAndHandleUnloadingOfCurrentWorld();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1210,7 +1210,7 @@ void CreatureAttackTown( UINT8 ubSectorID, BOOLEAN fOverrideTest )
|
|||||||
InitPreBattleInterface( NULL, TRUE );
|
InitPreBattleInterface( NULL, TRUE );
|
||||||
break;
|
break;
|
||||||
case CREATURE_BATTLE_CODE_AUTORESOLVE:
|
case CREATURE_BATTLE_CODE_AUTORESOLVE:
|
||||||
gfAutomaticallyStartAutoResolve = TRUE;
|
SetAutomaticallyStartAutoResolve( TRUE );
|
||||||
InitPreBattleInterface( NULL, TRUE );
|
InitPreBattleInterface( NULL, TRUE );
|
||||||
break;
|
break;
|
||||||
case CREATURE_BATTLE_CODE_TACTICALLYADD:
|
case CREATURE_BATTLE_CODE_TACTICALLYADD:
|
||||||
@@ -1413,7 +1413,7 @@ void CreatureAttackTown_OtherCreatures( UINT8 ubSectorID, UINT8 ubType )
|
|||||||
InitPreBattleInterface( NULL, TRUE );
|
InitPreBattleInterface( NULL, TRUE );
|
||||||
break;
|
break;
|
||||||
case CREATURE_BATTLE_CODE_AUTORESOLVE:
|
case CREATURE_BATTLE_CODE_AUTORESOLVE:
|
||||||
gfAutomaticallyStartAutoResolve = TRUE;
|
SetAutomaticallyStartAutoResolve( TRUE );
|
||||||
InitPreBattleInterface( NULL, TRUE );
|
InitPreBattleInterface( NULL, TRUE );
|
||||||
break;
|
break;
|
||||||
case CREATURE_BATTLE_CODE_TACTICALLYADD:
|
case CREATURE_BATTLE_CODE_TACTICALLYADD:
|
||||||
|
|||||||
@@ -455,7 +455,7 @@ BOOLEAN SetThisSectorAsEnemyControlled( INT16 sMapX, INT16 sMapY, INT8 bMapZ, BO
|
|||||||
//KM : August 6, 1999 Patch fix
|
//KM : August 6, 1999 Patch fix
|
||||||
// This check was added because this function gets called when player mercs retreat from an unresolved
|
// This check was added because this function gets called when player mercs retreat from an unresolved
|
||||||
// battle between militia and enemies. It will get called again AFTER autoresolve is finished.
|
// battle between militia and enemies. It will get called again AFTER autoresolve is finished.
|
||||||
if( gfAutomaticallyStartAutoResolve )
|
if( AutomaticallyStartAutoResolve() )
|
||||||
{
|
{
|
||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,6 @@
|
|||||||
#include "GameInitOptionsScreen.h"
|
#include "GameInitOptionsScreen.h"
|
||||||
|
|
||||||
extern void InitializeTacticalStatusAtBattleStart();
|
extern void InitializeTacticalStatusAtBattleStart();
|
||||||
extern BOOLEAN gfDelayAutoResolveStart;
|
|
||||||
extern UILayout_Map UI_MAP;
|
extern UILayout_Map UI_MAP;
|
||||||
|
|
||||||
#ifdef JA2BETAVERSION
|
#ifdef JA2BETAVERSION
|
||||||
@@ -69,12 +68,13 @@ GROUP *gpTacticalTraversalGroup = NULL;
|
|||||||
SOLDIERTYPE *gpTacticalTraversalChosenSoldier = NULL;
|
SOLDIERTYPE *gpTacticalTraversalChosenSoldier = NULL;
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN gfAutomaticallyStartAutoResolve = FALSE;
|
static BOOLEAN gfAutomaticallyStartAutoResolve = FALSE;
|
||||||
|
static BOOLEAN gfDelayAutoResolveStart = FALSE;
|
||||||
BOOLEAN gfAutoAmbush = FALSE;
|
BOOLEAN gfAutoAmbush = FALSE;
|
||||||
BOOLEAN gfHighPotentialForAmbush = FALSE;
|
BOOLEAN gfHighPotentialForAmbush = FALSE;
|
||||||
BOOLEAN gfGotoSectorTransition = FALSE;
|
BOOLEAN gfGotoSectorTransition = FALSE;
|
||||||
BOOLEAN gfEnterAutoResolveMode = FALSE;
|
BOOLEAN gfEnterAutoResolveMode = FALSE;
|
||||||
BOOLEAN gfEnteringMapScreenToEnterPreBattleInterface = FALSE;
|
static BOOLEAN gfEnteringMapScreenToEnterPreBattleInterface = FALSE;
|
||||||
BOOLEAN gfIgnoreAllInput = TRUE;
|
BOOLEAN gfIgnoreAllInput = TRUE;
|
||||||
|
|
||||||
BOOLEAN gfZoomDone = FALSE;
|
BOOLEAN gfZoomDone = FALSE;
|
||||||
@@ -215,6 +215,11 @@ void SetPreBattleInterfaceActive( BOOLEAN fActive ) { gfPreBattleInterfaceActive
|
|||||||
BOOLEAN IsPersistantPBI() { return gfUsePersistantPBI; }
|
BOOLEAN IsPersistantPBI() { return gfUsePersistantPBI; }
|
||||||
void SetPersistantPBI( BOOLEAN fPersistant ) { gfUsePersistantPBI = fPersistant; }
|
void SetPersistantPBI( BOOLEAN fPersistant ) { gfUsePersistantPBI = fPersistant; }
|
||||||
|
|
||||||
|
BOOLEAN AutomaticallyStartAutoResolve() { return gfAutomaticallyStartAutoResolve; }
|
||||||
|
void SetAutomaticallyStartAutoResolve( BOOLEAN fAuto ) { gfAutomaticallyStartAutoResolve = fAuto; }
|
||||||
|
void SetDelayAutoResolveStart( BOOLEAN fDelay ) { gfDelayAutoResolveStart = fDelay; }
|
||||||
|
void SetEnteringMapScreenToEnterPreBattleInterface( BOOLEAN fEntering ) { gfEnteringMapScreenToEnterPreBattleInterface = fEntering; }
|
||||||
|
|
||||||
INT32 giHilitedInvolved = 0;
|
INT32 giHilitedInvolved = 0;
|
||||||
INT32 giHilitedUninvolved = 0;
|
INT32 giHilitedUninvolved = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,11 @@ BOOLEAN IsPreBattleInterfaceActive();
|
|||||||
void SetPreBattleInterfaceActive( BOOLEAN fActive );
|
void SetPreBattleInterfaceActive( BOOLEAN fActive );
|
||||||
BOOLEAN IsPersistantPBI();
|
BOOLEAN IsPersistantPBI();
|
||||||
void SetPersistantPBI( BOOLEAN fPersistant );
|
void SetPersistantPBI( BOOLEAN fPersistant );
|
||||||
|
BOOLEAN AutomaticallyStartAutoResolve();
|
||||||
|
void SetAutomaticallyStartAutoResolve( BOOLEAN fAuto );
|
||||||
|
void SetDelayAutoResolveStart( BOOLEAN fDelay );
|
||||||
|
void SetEnteringMapScreenToEnterPreBattleInterface( BOOLEAN fEntering );
|
||||||
extern BOOLEAN gfDisplayPotentialRetreatPaths;
|
extern BOOLEAN gfDisplayPotentialRetreatPaths;
|
||||||
extern BOOLEAN gfAutomaticallyStartAutoResolve;
|
|
||||||
extern BOOLEAN fDisableMapInterfaceDueToBattle;
|
extern BOOLEAN fDisableMapInterfaceDueToBattle;
|
||||||
|
|
||||||
extern GROUP *gpBattleGroup;
|
extern GROUP *gpBattleGroup;
|
||||||
@@ -24,7 +27,6 @@ extern GROUP *gpTacticalTraversalGroup;
|
|||||||
extern SOLDIERTYPE *gpTacticalTraversalChosenSoldier;
|
extern SOLDIERTYPE *gpTacticalTraversalChosenSoldier;
|
||||||
|
|
||||||
extern BOOLEAN gfGotoSectorTransition;
|
extern BOOLEAN gfGotoSectorTransition;
|
||||||
extern BOOLEAN gfEnteringMapScreenToEnterPreBattleInterface;
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -88,8 +88,6 @@ BOOLEAN ValidateGroups( GROUP *pGroup );
|
|||||||
extern BOOLEAN gubNumAwareBattles;
|
extern BOOLEAN gubNumAwareBattles;
|
||||||
extern INT8 SquadMovementGroups[ ];
|
extern INT8 SquadMovementGroups[ ];
|
||||||
|
|
||||||
BOOLEAN gfDelayAutoResolveStart = FALSE;
|
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN gfRandomizingPatrolGroup = FALSE;
|
BOOLEAN gfRandomizingPatrolGroup = FALSE;
|
||||||
|
|
||||||
@@ -1052,7 +1050,7 @@ void PrepareForPreBattleInterface( GROUP *pPlayerDialogGroup, GROUP *pInitiating
|
|||||||
if ( pPlayerDialogGroup->usGroupTeam == MILITIA_TEAM )
|
if ( pPlayerDialogGroup->usGroupTeam == MILITIA_TEAM )
|
||||||
{
|
{
|
||||||
// force direct transition to autoresolve
|
// force direct transition to autoresolve
|
||||||
gfDelayAutoResolveStart = TRUE;
|
SetDelayAutoResolveStart( TRUE );
|
||||||
|
|
||||||
// We MUST start combat, but donot play quote...
|
// We MUST start combat, but donot play quote...
|
||||||
InitPreBattleInterface( pInitiatingBattleGroup, TRUE );
|
InitPreBattleInterface( pInitiatingBattleGroup, TRUE );
|
||||||
@@ -1376,7 +1374,7 @@ BOOLEAN CheckConditionsForBattle( GROUP *pGroup )
|
|||||||
if( !fCombatAbleMerc )
|
if( !fCombatAbleMerc )
|
||||||
{
|
{
|
||||||
//Prepare for instant autoresolve.
|
//Prepare for instant autoresolve.
|
||||||
gfDelayAutoResolveStart = TRUE;
|
SetDelayAutoResolveStart( TRUE );
|
||||||
SetPersistantPBI( TRUE );
|
SetPersistantPBI( TRUE );
|
||||||
if( fMilitiaPresent )
|
if( fMilitiaPresent )
|
||||||
{
|
{
|
||||||
@@ -6207,7 +6205,7 @@ void CheckCombatInSectorDueToUnusualEnemyArrival( UINT8 aTeam, INT16 sX, INT16 s
|
|||||||
if ( !fCombatAbleMerc )
|
if ( !fCombatAbleMerc )
|
||||||
{
|
{
|
||||||
//Prepare for instant autoresolve.
|
//Prepare for instant autoresolve.
|
||||||
gfDelayAutoResolveStart = TRUE;
|
SetDelayAutoResolveStart( TRUE );
|
||||||
SetPersistantPBI( TRUE );
|
SetPersistantPBI( TRUE );
|
||||||
if ( fMilitiaPresent )
|
if ( fMilitiaPresent )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1124,7 +1124,7 @@ void HandleMilitiaStatusInCurrentMapBeforeLoadingNewMap( void )
|
|||||||
HandleMilitiaDefections( gWorldSectorX, gWorldSectorY );
|
HandleMilitiaDefections( gWorldSectorX, gWorldSectorY );
|
||||||
gTacticalStatus.Team[ MILITIA_TEAM ].bSide = 0;
|
gTacticalStatus.Team[ MILITIA_TEAM ].bSide = 0;
|
||||||
}
|
}
|
||||||
else if( !gfAutomaticallyStartAutoResolve )
|
else if( !AutomaticallyStartAutoResolve() )
|
||||||
{ //Don't promote militia if we are going directly to autoresolve to finish the current battle.
|
{ //Don't promote militia if we are going directly to autoresolve to finish the current battle.
|
||||||
HandleMilitiaPromotions();
|
HandleMilitiaPromotions();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6523,8 +6523,8 @@ BOOLEAN HandlePotentialBringUpAutoresolveToFinishBattle( int pSectorX, int pSect
|
|||||||
pMilitia->bSectorZ == pSectorZ )
|
pMilitia->bSectorZ == pSectorZ )
|
||||||
{ //We have militia and enemies and no mercs! Let's finish this battle in autoresolve.
|
{ //We have militia and enemies and no mercs! Let's finish this battle in autoresolve.
|
||||||
gfEnteringMapScreen = TRUE;
|
gfEnteringMapScreen = TRUE;
|
||||||
gfEnteringMapScreenToEnterPreBattleInterface = TRUE;
|
SetEnteringMapScreenToEnterPreBattleInterface( TRUE );
|
||||||
gfAutomaticallyStartAutoResolve = TRUE;
|
SetAutomaticallyStartAutoResolve( TRUE );
|
||||||
SetPersistantPBI( FALSE );
|
SetPersistantPBI( FALSE );
|
||||||
gubPBSectorX = (UINT8)pSectorX;
|
gubPBSectorX = (UINT8)pSectorX;
|
||||||
gubPBSectorY = (UINT8)pSectorY;
|
gubPBSectorY = (UINT8)pSectorY;
|
||||||
|
|||||||
Reference in New Issue
Block a user