Convert gusSelectedSoldier to SoldierID

This commit is contained in:
Asdow
2024-11-15 19:06:34 +02:00
parent e9c8124dc2
commit b98732daa7
30 changed files with 270 additions and 289 deletions
+1 -1
View File
@@ -104,7 +104,7 @@ UINT32 AniEditScreenHandle(void)
fToggle2 = FALSE;
ubCurLoadedState = 0;
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
gTacticalStatus.uiFlags |= LOADING_SAVED_GAME;
+6 -6
View File
@@ -261,17 +261,17 @@ void EnterTacticalScreen( )
if ( gusSelectedSoldier != NOBODY )
{
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: check our guy"));
if ( !OK_CONTROLLABLE_MERC( MercPtrs[ gusSelectedSoldier ] ) )
if ( !OK_CONTROLLABLE_MERC( gusSelectedSoldier ) )
{
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: SelectNextAvailSoldier, merc not controllable"));
SelectNextAvailSoldier( MercPtrs[ gusSelectedSoldier ] );
SelectNextAvailSoldier( gusSelectedSoldier );
}
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: who is selected? %d", gusSelectedSoldier));
// ATE: If the current guy is sleeping, change....
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->flags.fMercAsleep )
if ( gusSelectedSoldier != NOBODY && gusSelectedSoldier->flags.fMercAsleep )
{
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: SelectNextAvailSoldier, merc asleep"));
SelectNextAvailSoldier( MercPtrs[ gusSelectedSoldier ] );
SelectNextAvailSoldier( gusSelectedSoldier );
}
}
else
@@ -684,7 +684,7 @@ UINT32 MainGameScreenHandle(void)
// Select a guy if he hasn;'
if( !gfTacticalPlacementGUIActive )
{
if ( gusSelectedSoldier != NOBODY && OK_INTERRUPT_MERC( MercPtrs[ gusSelectedSoldier ] ) )
if ( gusSelectedSoldier != NOBODY && OK_INTERRUPT_MERC( gusSelectedSoldier ) )
{
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("maingamescreenhandle: selectsoldier"));
SelectSoldier( gusSelectedSoldier, FALSE, TRUE );
@@ -933,7 +933,7 @@ UINT32 MainGameScreenHandle(void)
if ( gusSelectedSoldier != NOBODY )
{
if( !gGameSettings.fOptions[ TOPTION_MUTE_CONFIRMATIONS ] )
MercPtrs[ gusSelectedSoldier ]->DoMercBattleSound( BATTLE_SOUND_ATTN1 );
gusSelectedSoldier->DoMercBattleSound( BATTLE_SOUND_ATTN1 );
}
}
+14 -30
View File
@@ -514,31 +514,25 @@ UINT32 PalEditScreenShutdown(void)
void PalEditRenderHook( )
{
SOLDIERTYPE *pSoldier;
if ( gusSelectedSoldier != NOBODY )
if ( gusSelectedSoldier < NOBODY && gusSelectedSoldier->bActive)
{
// Set to current
GetSoldier( &pSoldier, gusSelectedSoldier );
DisplayPaletteRep( pSoldier->HeadPal, 50, 10, FRAME_BUFFER );
DisplayPaletteRep( pSoldier->PantsPal, 50, 50, FRAME_BUFFER );
DisplayPaletteRep( pSoldier->VestPal, 50, 90, FRAME_BUFFER );
DisplayPaletteRep( pSoldier->SkinPal, 50, 130, FRAME_BUFFER );
DisplayPaletteRep( gusSelectedSoldier->HeadPal, 50, 10, FRAME_BUFFER );
DisplayPaletteRep( gusSelectedSoldier->PantsPal, 50, 50, FRAME_BUFFER );
DisplayPaletteRep( gusSelectedSoldier->VestPal, 50, 90, FRAME_BUFFER );
DisplayPaletteRep( gusSelectedSoldier->SkinPal, 50, 130, FRAME_BUFFER );
}
}
BOOLEAN PalEditKeyboardHook( InputAtom *pInputEvent )
{
UINT8 ubType;
SOLDIERTYPE *pSoldier;
UINT8 ubPaletteRep;
UINT32 cnt;
UINT8 ubStartRep = 0;
UINT8 ubEndRep = 0;
SOLDIERTYPE *pSoldier;
UINT32 cnt;
UINT8 ubType;
UINT8 ubPaletteRep;
UINT8 ubStartRep = 0;
UINT8 ubEndRep = 0;
if ( gusSelectedSoldier == NOBODY )
if ( gusSelectedSoldier >= NOBODY || gusSelectedSoldier->bActive == FALSE )
{
return( FALSE );
}
@@ -549,11 +543,10 @@ BOOLEAN PalEditKeyboardHook( InputAtom *pInputEvent )
return( TRUE );
}
pSoldier = gusSelectedSoldier;
if ((pInputEvent->usEvent == KEY_DOWN )&& ( pInputEvent->usParam == 'h' ))
{
// Get Soldier
GetSoldier( &pSoldier, gusSelectedSoldier );
// Get index of current
CHECKF( GetPaletteRepIndexFromID( pSoldier->HeadPal, &ubPaletteRep ) );
ubType = gpPalRep[ ubPaletteRep ].ubType;
@@ -582,9 +575,6 @@ BOOLEAN PalEditKeyboardHook( InputAtom *pInputEvent )
if ((pInputEvent->usEvent == KEY_DOWN )&& ( pInputEvent->usParam == 'v' ))
{
// Get Soldier
GetSoldier( &pSoldier, gusSelectedSoldier );
// Get index of current
CHECKF( GetPaletteRepIndexFromID( pSoldier->VestPal, &ubPaletteRep ) );
ubType = gpPalRep[ ubPaletteRep ].ubType;
@@ -612,9 +602,6 @@ BOOLEAN PalEditKeyboardHook( InputAtom *pInputEvent )
if ((pInputEvent->usEvent == KEY_DOWN )&& ( pInputEvent->usParam == 'p' ))
{
// Get Soldier
GetSoldier( &pSoldier, gusSelectedSoldier );
// Get index of current
CHECKF( GetPaletteRepIndexFromID( pSoldier->PantsPal, &ubPaletteRep ) );
ubType = gpPalRep[ ubPaletteRep ].ubType;
@@ -642,9 +629,6 @@ BOOLEAN PalEditKeyboardHook( InputAtom *pInputEvent )
if ((pInputEvent->usEvent == KEY_DOWN )&& ( pInputEvent->usParam == 's' ))
{
// Get Soldier
GetSoldier( &pSoldier, gusSelectedSoldier );
// Get index of current
CHECKF( GetPaletteRepIndexFromID( pSoldier->SkinPal, &ubPaletteRep ) );
ubType = gpPalRep[ ubPaletteRep ].ubType;
+5 -5
View File
@@ -3993,7 +3993,7 @@ void JumpIntoAdjacentSector( UINT8 ubTacticalDirection, UINT8 ubJumpCode, INT32
// This guy should always be 1 ) selected and 2 ) close enough to exit sector to leave
if ( gusSelectedSoldier != NOBODY )
{
pValidSoldier = MercPtrs[gusSelectedSoldier];
pValidSoldier = gusSelectedSoldier;
ubDirection = GetInsertionDataFromAdjacentMoveDirection( ubTacticalDirection, sAdditionalData );
}
@@ -4839,13 +4839,13 @@ BOOLEAN OKForSectorExit( INT8 bExitDirection, INT32 usAdditionalData, UINT32 *pu
UINT8 ubNumMercs = 0, ubNumEPCs = 0;
UINT8 ubPlayerControllableMercsInSquad = 0;
if ( gusSelectedSoldier == NOBODY )
if ( gusSelectedSoldier >= NOBODY )
{ //must have a selected soldier to be allowed to tactically traverse.
return FALSE;
}
// anv: vehicles can't use inner exit grids
if ( bExitDirection == (-1) && MercPtrs[gusSelectedSoldier]->bAssignment == VEHICLE )
if ( bExitDirection == (-1) && gusSelectedSoldier->bAssignment == VEHICLE )
{
return FALSE;
}
@@ -4959,12 +4959,12 @@ BOOLEAN OKForSectorExit( INT8 bExitDirection, INT32 usAdditionalData, UINT32 *pu
// If we are here, at least one guy is controllable in this sector, at least he can go!
if ( fAtLeastOneMercControllable )
{
ubPlayerControllableMercsInSquad = (UINT8)NumberOfPlayerControllableMercsInSquad( MercPtrs[gusSelectedSoldier]->bAssignment );
ubPlayerControllableMercsInSquad = (UINT8)NumberOfPlayerControllableMercsInSquad( gusSelectedSoldier->bAssignment );
if ( fAtLeastOneMercControllable <= ubPlayerControllableMercsInSquad )
{ //if the selected merc is an EPC and we can only leave with that merc, then prevent it
//as EPCs aren't allowed to leave by themselves. Instead of restricting this in the
//exiting sector gui, we restrict it by explaining it with a message box.
if ( AM_AN_EPC( MercPtrs[gusSelectedSoldier] ) )
if ( AM_AN_EPC( gusSelectedSoldier ) )
{
if ( AM_A_ROBOT( pSoldier ) && !pSoldier->CanRobotBeControlled( ) )
{
+9 -9
View File
@@ -657,13 +657,13 @@ void HandleDialogue( )
{
if( gfMorrisShouldSayHi )
{
SOLDIERTYPE * pMorris;
SOLDIERTYPE * pSoldier;
INT16 sPlayerGridNo;
UINT8 ubPlayerID;
UINT8 ubQualifiedSoldierIDArray[ NUM_MERCS_WITH_NEW_QUOTES ];
UINT8 ubNumQualifiedMercs=0;
UINT8 ubCnt=0;
SOLDIERTYPE *pMorris;
SOLDIERTYPE *pSoldier;
INT16 sPlayerGridNo;
SoldierID ubPlayerID;
UINT8 ubQualifiedSoldierIDArray[ NUM_MERCS_WITH_NEW_QUOTES ];
UINT8 ubNumQualifiedMercs=0;
UINT8 ubCnt=0;
if( !( gMercProfiles[ MORRIS_UB ].ubMiscFlags2 & PROFILE_MISC_FLAG2_SAID_FIRSTSEEN_QUOTE ) )
{
@@ -676,7 +676,7 @@ void HandleDialogue( )
ubPlayerID = WhoIsThere2( sPlayerGridNo, 0 );
if (ubPlayerID != NOBODY)
{
InitiateConversation( pMorris, MercPtrs[ ubPlayerID ], NPC_INITIAL_QUOTE, 0 );
InitiateConversation( pMorris, ubPlayerID, NPC_INITIAL_QUOTE, 0 );
gMercProfiles[ pMorris->ubProfile ].ubMiscFlags2 |= PROFILE_MISC_FLAG2_SAID_FIRSTSEEN_QUOTE;
}
}
@@ -1887,7 +1887,7 @@ BOOLEAN CharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceI
{
if ( gusSelectedSoldier != NOBODY )
{
AdditionalTacticalCharacterDialogue_CallsLua( MercPtrs[gusSelectedSoldier], ADE_DIALOGUE_REACTION, ubCharacterNum, usQuoteNum, ( gMercProfiles[ubCharacterNum].ubMiscFlags & PROFILE_MISC_FLAG_RECRUITED ) ? 1 : 0 );
AdditionalTacticalCharacterDialogue_CallsLua( gusSelectedSoldier, ADE_DIALOGUE_REACTION, ubCharacterNum, usQuoteNum, ( gMercProfiles[ubCharacterNum].ubMiscFlags & PROFILE_MISC_FLAG_RECRUITED ) ? 1 : 0 );
}
}
// if team members talk, anyone may answer
+8 -9
View File
@@ -538,11 +538,10 @@ void DisplayCover( BOOLEAN forceUpdate )
static void CalculateCoverFromEnemies()
{
if (gusSelectedSoldier == NOBODY)
if (gusSelectedSoldier == NOBODY || gusSelectedSoldier->bActive == false)
return;
SOLDIERTYPE* pSoldier;
GetSoldier(&pSoldier, gusSelectedSoldier);
SOLDIERTYPE* pSoldier = gusSelectedSoldier;
const INT8 OurSoldierStealth = GetStealth(pSoldier);
const INT8 OurSoldierLBESightAdjustment = GetSightAdjustmentBasedOnLBE(pSoldier);
@@ -673,10 +672,10 @@ void CalculateCover()
INT8 ubZ;
SOLDIERTYPE* pSoldier;
if (gusSelectedSoldier == NOBODY)
if (gusSelectedSoldier == NOBODY || gusSelectedSoldier->bActive == false)
return;
GetSoldier(&pSoldier, gusSelectedSoldier);
pSoldier = gusSelectedSoldier;
for (ubX = gsMinCellX; ubX <= gsMaxCellX; ++ubX)
{
@@ -1199,7 +1198,7 @@ void CalculateMines()
return;
}
const INT32& sSelectedSoldierGridNo = MercPtrs[ gusSelectedSoldier ]->sGridNo;
const INT32& sSelectedSoldierGridNo = gusSelectedSoldier->sGridNo;
for ( ubX=gsMinCellX; ubX<=gsMaxCellX; ++ubX )
{
@@ -1453,7 +1452,7 @@ void CalculateTraitRange()
return;
}
const INT32& sSelectedSoldierGridNo = MercPtrs[ gusSelectedSoldier ]->sGridNo;
const INT32& sSelectedSoldierGridNo = gusSelectedSoldier->sGridNo;
for ( ubX=gsMinCellX; ubX<=gsMaxCellX; ++ubX )
{
@@ -1591,7 +1590,7 @@ void CalculateTrackerRange( )
UINT16 range = gSkillTraitValues.usSVTrackerMaxRange * trackerskill;
const INT32& sSelectedSoldierGridNo = MercPtrs[gusSelectedSoldier]->sGridNo;
const INT32& sSelectedSoldierGridNo = gusSelectedSoldier->sGridNo;
for ( ubX = gsMinCellX; ubX <= gsMaxCellX; ++ubX )
{
@@ -1775,7 +1774,7 @@ void CalculateWeapondata()
BOOLEAN guninhand = WeaponInHand( pSoldier );
INT32 sSelectedSoldierGridNo = MercPtrs[gusSelectedSoldier]->sGridNo;
INT32 sSelectedSoldierGridNo = gusSelectedSoldier->sGridNo;
if ( TileIsOutOfBounds( sSelectedSoldierGridNo ) )
return;
+2 -1
View File
@@ -197,7 +197,7 @@ BOOLEAN AddUIPlan( INT32 sGridNo, UINT8 ubPlanID )
pPlanSoldier->ChangeSoldierState( pPlanSoldier->usUIMovementMode, 0, FALSE );
// Change selected soldier
gusSelectedSoldier = (UINT16)pPlanSoldier->ubID;
gusSelectedSoldier = pPlanSoldier->ubID;
// Change global planned mode to this guy!
gpUIPlannedSoldier = pPlanSoldier;
@@ -243,6 +243,7 @@ void EndUIPlan( )
SOLDIERTYPE *pSoldier;
// Zero out any planned soldiers
//FIXME
for( cnt = MAX_NUM_SOLDIERS; cnt < TOTAL_SOLDIERS; cnt++ )
{
pSoldier = MercPtrs[ cnt ];
+7 -7
View File
@@ -1013,7 +1013,7 @@ void SetUIMouseCursor( )
if( GetMouseMapPos( &usMapPos) )
{
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->pathing.bLevel == 0 )
if ( gusSelectedSoldier != NOBODY && gusSelectedSoldier->pathing.bLevel == 0 )
{
// ATE: Is this place revealed?
if ( !InARoom( usMapPos, &usRoomNum ) || ( InARoom( usMapPos, &usRoomNum ) && gpWorldLevelData[ usMapPos ].uiFlags & MAPELEMENT_REVEALED ) )
@@ -1953,7 +1953,7 @@ UINT32 UIHandleAOnTerrain( UI_EVENT *pUIEvent )
if ( gfUIFullTargetFound )
{
// No, ok display message IF this is the first time at this gridno
if ( gsOutOfRangeGridNo != MercPtrs[ gusUIFullTargetID ]->sGridNo || gubOutOfRangeMerc != gusSelectedSoldier )
if ( gsOutOfRangeGridNo != gusUIFullTargetID->sGridNo || gubOutOfRangeMerc != gusSelectedSoldier )
{
// Display
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, TacticalStr[ OUT_OF_RANGE_STRING ] );
@@ -1961,7 +1961,7 @@ UINT32 UIHandleAOnTerrain( UI_EVENT *pUIEvent )
//PlayJA2Sample( TARGET_OUT_OF_RANGE, RATE_11025, MIDVOLUME, 1, MIDDLEPAN );
// Set
gsOutOfRangeGridNo = MercPtrs[ gusUIFullTargetID ]->sGridNo;
gsOutOfRangeGridNo = gusUIFullTargetID->sGridNo;
gubOutOfRangeMerc = gusSelectedSoldier;
}
}
@@ -2058,7 +2058,7 @@ UINT32 UIHandleCWait( UI_EVENT *pUIEvent )
{
if( pSoldier->flags.uiStatusFlags & SOLDIER_DRIVER )
{
pSoldier = GetSoldierStructureForVehicle( MercPtrs[ gusSelectedSoldier ]->iVehicleId );
pSoldier = GetSoldierStructureForVehicle( gusSelectedSoldier->iVehicleId );
}
pInvTile = GetCurInteractiveTile( );
@@ -3746,7 +3746,7 @@ BOOLEAN UIHandleOnMerc( BOOLEAN fMovementMode )
// anv: don't switch if passengers are blocked from attacking
if( gusSelectedSoldier != NOBODY )
{
SOLDIERTYPE *pSelectedSoldier = MercPtrs[gusSelectedSoldier];
SOLDIERTYPE *pSelectedSoldier = gusSelectedSoldier;
if( pSelectedSoldier->flags.uiStatusFlags & ( SOLDIER_DRIVER | SOLDIER_PASSENGER ) )
{
SOLDIERTYPE *pVehicle = GetSoldierStructureForVehicle( pSelectedSoldier->iVehicleId );
@@ -6386,7 +6386,7 @@ BOOLEAN IsValidTalkableNPC( UINT16 ubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMer
if ( gusSelectedSoldier != NOBODY )
{
if ( AM_A_ROBOT( MercPtrs[ gusSelectedSoldier ] ) )
if ( AM_A_ROBOT( gusSelectedSoldier ) )
{
return( FALSE );
}
@@ -7042,7 +7042,7 @@ BOOLEAN SelectedGuyInBusyAnimation( )
if ( gusSelectedSoldier != NOBODY )
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
if ( pSoldier->usAnimState == LOB_ITEM ||
pSoldier->usAnimState == THROW_ITEM ||
+2 -2
View File
@@ -317,7 +317,7 @@ void SetUpInterface( )
{
if ( gusSelectedSoldier != NOBODY )
{
if ( MercPtrs[ gusSelectedSoldier ]->sGridNo != gsUIHandleShowMoveGridLocation )
if ( gusSelectedSoldier->sGridNo != gsUIHandleShowMoveGridLocation )
{
if ( gfUIHandleShowMoveGrid == 2 )
{
@@ -327,7 +327,7 @@ void SetUpInterface( )
}
else
{
if ( MercPtrs[ gusSelectedSoldier ]->bStealthMode )
if ( gusSelectedSoldier->bStealthMode )
{
AddTopmostToHead( gsUIHandleShowMoveGridLocation, GetSnapCursorIndex( FIRSTPOINTERS9 ) );
gpWorldLevelData[gsUIHandleShowMoveGridLocation].pTopmostHead->ubShadeLevel=DEFAULT_SHADE_LEVEL;
+2 -2
View File
@@ -354,7 +354,7 @@ BOOLEAN DrawUICursor( )
// ATE; Is the current guy in steath mode?
if ( gusSelectedSoldier != NOBODY )
{
if ( MercPtrs[ gusSelectedSoldier ]->bStealthMode )
if ( gusSelectedSoldier->bStealthMode )
{
usTileCursor = FIRSTPOINTERS9;
}
@@ -367,7 +367,7 @@ BOOLEAN DrawUICursor( )
// ATE; Is the current guy in steath mode?
if ( gusSelectedSoldier != NOBODY )
{
if ( MercPtrs[ gusSelectedSoldier ]->bStealthMode )
if ( gusSelectedSoldier->bStealthMode )
{
usTileCursor = FIRSTPOINTERS10;
}
+3 -3
View File
@@ -6201,7 +6201,7 @@ void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
if ( OK_CONTROLLABLE_MERC( MercPtrs[ ubSoldierID ] ) && !( MercPtrs[ ubSoldierID ]->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_PASSENGER | SOLDIER_DRIVER ) ) )
{
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%s added", MercPtrs[ ubSoldierID ]->name );
MercPtrs[ gusSelectedSoldier ]->flags.uiStatusFlags |= SOLDIER_MULTI_SELECTED;
gusSelectedSoldier->flags.uiStatusFlags |= SOLDIER_MULTI_SELECTED;
MercPtrs[ ubSoldierID ]->flags.uiStatusFlags |= SOLDIER_MULTI_SELECTED;
EndMultiSoldierSelection( TRUE );
}
@@ -6213,7 +6213,7 @@ void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
MercPtrs[ ubSoldierID ]->flags.uiStatusFlags &= (~SOLDIER_MULTI_SELECTED );
if (ubSoldierID != gusSelectedSoldier)
{
MercPtrs[ gusSelectedSoldier ]->flags.uiStatusFlags |= SOLDIER_MULTI_SELECTED;
gusSelectedSoldier->flags.uiStatusFlags |= SOLDIER_MULTI_SELECTED;
}
EndMultiSoldierSelection( TRUE );
}
@@ -7194,7 +7194,7 @@ UINT16 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLif
//Select next squad
iCurrentSquad = CurrentSquad( );
pNewSoldier = FindNextActiveSquad( MercPtrs[ gusSelectedSoldier ] );
pNewSoldier = FindNextActiveSquad( gusSelectedSoldier );
if ( pNewSoldier->bAssignment != iCurrentSquad )
{
+1 -1
View File
@@ -43,7 +43,7 @@ extern UINT32 guiBrownBackgroundForTeamPanel;
extern UINT32 guiGoldBackgroundForTeamPanel;
// selected grunt
extern UINT16 gusSelectedSoldier;
extern SoldierID gusSelectedSoldier;
// car portraits
enum{
+3 -3
View File
@@ -851,7 +851,7 @@ void PopupMovementMenu( UI_EVENT *pUIEvent )
if ( gusSelectedSoldier != NOBODY )
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
}
// Blit background!
@@ -6136,7 +6136,7 @@ void ShowEnemyWeapon( INT16 sX, INT16 sY, SOLDIERTYPE* pTargetSoldier )
INT32 iVisibleDistance;
if ( gusSelectedSoldier != NOBODY )
pSelectedSoldier = MercPtrs[ gusSelectedSoldier ];
pSelectedSoldier = gusSelectedSoldier;
else
return;
@@ -6182,7 +6182,7 @@ void ShowEnemyHealthBar( INT16 sX, INT16 sY, SOLDIERTYPE* pSoldier )
SOLDIERTYPE *pSelectedSoldier;
if ( gusSelectedSoldier != NOBODY )
pSelectedSoldier = MercPtrs[ gusSelectedSoldier ];
pSelectedSoldier = gusSelectedSoldier;
else
return;
+32 -32
View File
@@ -298,7 +298,7 @@ SOLDIERTYPE* SoldierFromID(const SoldierID id, SOLDIERTYPE* Array[TOTAL_SOLDIERS
UINT8 gbPlayerNum = 0;
// Global for current selected soldier
UINT16 gusSelectedSoldier = NOBODY;
SoldierID gusSelectedSoldier = NOBODY;
INT8 gbShowEnemies = FALSE;
BOOLEAN gfMovingAnimation = FALSE;
@@ -3362,7 +3362,7 @@ void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fF
if ( gusSelectedSoldier != NOBODY )
{
// Get guy
pOldSoldier = MercPtrs[ gusSelectedSoldier ];
pOldSoldier = gusSelectedSoldier;
pOldSoldier->flags.fShowLocator = FALSE;
pOldSoldier->flags.fFlashLocator = FALSE;
@@ -4249,8 +4249,8 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld )
//if the person was Raul, and we are to say the blown up quotes
if( pSoldierOld->ubProfile == RAUL_UB /*RAUL */ && IsJa25GeneralFlagSet( JA_GF__RAUL_BLOW_HIMSELF_UP ) )
{
UINT8 SoldierId1;
UINT8 SoldierId2;
SoldierID SoldierId1;
SoldierID SoldierId2;
//Get some random Soldier ID's of the valid mercs
if( Get3RandomQualifiedMercs( &SoldierId1, &SoldierId2, NULL ) != 0 )
@@ -6571,8 +6571,8 @@ void EnterCombatMode( UINT8 ubStartingTeam )
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("EnterCombatMode continuing... start player turn, selected soldier = %d",gusSelectedSoldier));
// OK, make sure we have a selected guy
// Madd: this was causing a weird crash becuase gusSelectedSoldier was 156 (out of the array bounds) for some reason
//if ( MercPtrs[ gusSelectedSoldier ]->aiData.bOppCnt == 0 )
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->aiData.bOppCnt == 0 )
//if ( gusSelectedSoldier->aiData.bOppCnt == 0 )
if ( gusSelectedSoldier != NOBODY && gusSelectedSoldier->aiData.bOppCnt == 0 )
{
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"EnterCombatMode continuing... nobody selected");
// OK, look through and find one....
@@ -9631,7 +9631,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
if (gTacticalStatus.ubCurrentTeam == gbPlayerNum && gusSelectedSoldier < TOTAL_SOLDIERS)
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
}
else
{
@@ -9658,7 +9658,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
return( NULL );
}
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
}
if (!pSoldier)
@@ -10179,7 +10179,7 @@ void RemoveManFromTeam( INT8 bTeam )
void RemoveSoldierFromTacticalSector( SOLDIERTYPE *pSoldier, BOOLEAN fAdjustSelected )
{
UINT16 ubID;
SoldierID ubID;
SOLDIERTYPE *pNewSoldier;
// reset merc's opplist
@@ -10935,7 +10935,7 @@ void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
INT16 approachselected = DropDownTemplate<DROPDOWNNR_MSGBOX_1>::getInstance().GetSelectedEntryKey();
UINT8 approachchance = MercPtrs[gusSelectedSoldier]->GetTurncoatConvinctionChance( prisonerdialoguetargetID, approachselected );
UINT8 approachchance = gusSelectedSoldier->GetTurncoatConvinctionChance( prisonerdialoguetargetID, approachselected );
// you can never turn a VIP (though we don't tell the player if someone is a VIP, lest they have an exploit to find out)
if ( pSoldier->usSoldierFlagMask & SOLDIER_VIP )
@@ -10953,24 +10953,24 @@ void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szTurncoatText[0], pSoldier->GetName() );
// increase intel penalty. We can only try to convert enemies if the penalty is low, and having a high penalty means we can't mine intel for a few hours but have to hide
MercPtrs[gusSelectedSoldier]->usSkillCooldown[SOLDIER_COOLDOWN_INTEL_PENALTY] += 1;
gusSelectedSoldier->usSkillCooldown[SOLDIER_COOLDOWN_INTEL_PENALTY] += 1;
StatChange( MercPtrs[gusSelectedSoldier], EXPERAMT, 2, FROM_SUCCESS );
StatChange( MercPtrs[gusSelectedSoldier], LDRAMT, 4, FROM_SUCCESS );
StatChange( gusSelectedSoldier, EXPERAMT, 2, FROM_SUCCESS );
StatChange( gusSelectedSoldier, LDRAMT, 4, FROM_SUCCESS );
}
else
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szTurncoatText[1], pSoldier->GetName() );
// increase intel penalty. We can only try to convert enemies if the penalty is low, and having a high penalty means we can't mine intel for a few hours but have to hide
MercPtrs[gusSelectedSoldier]->usSkillCooldown[SOLDIER_COOLDOWN_INTEL_PENALTY] += 4;
gusSelectedSoldier->usSkillCooldown[SOLDIER_COOLDOWN_INTEL_PENALTY] += 4;
StatChange( MercPtrs[gusSelectedSoldier], EXPERAMT, 1, FROM_FAILURE );
StatChange( MercPtrs[gusSelectedSoldier], LDRAMT, 1, FROM_FAILURE );
StatChange( gusSelectedSoldier, EXPERAMT, 1, FROM_FAILURE );
StatChange( gusSelectedSoldier, LDRAMT, 1, FROM_FAILURE );
}
// explain that suspicion is so high that we have to stop
if ( MercPtrs[gusSelectedSoldier]->usSkillCooldown[SOLDIER_COOLDOWN_INTEL_PENALTY] >= 20 )
if ( gusSelectedSoldier->usSkillCooldown[SOLDIER_COOLDOWN_INTEL_PENALTY] >= 20 )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szTurncoatText[2] );
// use up resources spent, regardless of whether or not we were successful
@@ -10979,7 +10979,7 @@ void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
INT32 bribeamount = 10 * min( 10, CurrentPlayerProgressPercentage() );
// substract money spent
AddTransactionToPlayersBook ( TRANSFER_FUNDS_TO_MERC, MercPtrs[gusSelectedSoldier]->ubProfile, GetWorldTotalMin(), -bribeamount );
AddTransactionToPlayersBook ( TRANSFER_FUNDS_TO_MERC, gusSelectedSoldier->ubProfile, GetWorldTotalMin(), -bribeamount );
}
else if ( approachselected == 4 )
{
@@ -10989,7 +10989,7 @@ void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
}
// spend AP
DeductPoints( MercPtrs[gusSelectedSoldier], APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
DeductPoints( gusSelectedSoldier, APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
//ReduceAttackBusyCount();
}
@@ -11014,12 +11014,12 @@ void HandleTurncoatAttempt( SOLDIERTYPE* pSoldier )
std::vector<std::pair<INT16, STR16> > dropdownvector_1;
INT16 cnt = 1;
UINT8 chance = MercPtrs[gusSelectedSoldier]->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
UINT8 chance = gusSelectedSoldier->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
swprintf( gTurncoatDropdownText[cnt-1], szTurncoatText[3], chance );
dropdownvector_1.push_back( std::make_pair( cnt, gTurncoatDropdownText[cnt - 1] ) );
++cnt;
chance = MercPtrs[gusSelectedSoldier]->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
chance = gusSelectedSoldier->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
swprintf( gTurncoatDropdownText[cnt - 1], szTurncoatText[4], chance );
dropdownvector_1.push_back( std::make_pair( cnt, gTurncoatDropdownText[cnt - 1] ) );
@@ -11028,7 +11028,7 @@ void HandleTurncoatAttempt( SOLDIERTYPE* pSoldier )
INT32 bribeamount = 10 * min( 10, ubCurrentProgress );
if ( bribeamount <= balance )
{
chance = MercPtrs[gusSelectedSoldier]->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
chance = gusSelectedSoldier->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
swprintf( gTurncoatDropdownText[cnt - 1], szTurncoatText[5], bribeamount, chance );
dropdownvector_1.push_back( std::make_pair( cnt, gTurncoatDropdownText[cnt - 1] ) );
}
@@ -11038,7 +11038,7 @@ void HandleTurncoatAttempt( SOLDIERTYPE* pSoldier )
int intelbribeneeded = max( 2, ( ubCurrentProgress + 5 ) / 10 );
if ( intelbribeneeded <= intelreserve )
{
chance = MercPtrs[gusSelectedSoldier]->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
chance = gusSelectedSoldier->GetTurncoatConvinctionChance( prisonerdialoguetargetID, cnt );
swprintf( gTurncoatDropdownText[cnt - 1], szTurncoatText[6], intelbribeneeded, chance );
dropdownvector_1.push_back( std::make_pair( cnt, gTurncoatDropdownText[cnt - 1] ) );
}
@@ -11163,7 +11163,7 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
if ( ubExitValue == 1 )
{
SOLDIERTYPE *pSoldierToSurrender = MercPtrs[prisonerdialoguetargetID];
DeductPoints( MercPtrs[gusSelectedSoldier], APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
DeductPoints( gusSelectedSoldier, APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
if ( !gGameExternalOptions.fEnemyCanSurrender )
{
@@ -11285,7 +11285,7 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
// dynamic opinion: a merc caused the remaining enemies to give up
if (gGameExternalOptions.fDynamicOpinions && gusSelectedSoldier != NOBODY )
HandleDynamicOpinionChange( MercPtrs[gusSelectedSoldier], OPINIONEVENT_BATTLE_TOOK_PRISONER, TRUE, TRUE );
HandleDynamicOpinionChange( gusSelectedSoldier, OPINIONEVENT_BATTLE_TOOK_PRISONER, TRUE, TRUE );
}
else
{
@@ -11295,22 +11295,22 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_REFUSE_SURRENDER] );
// if asking for surrender while undercover and the enemy refuses, he learns who you are, so he uncovers you
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->usSoldierFlagMask & (SOLDIER_COVERT_CIV|SOLDIER_COVERT_SOLDIER) )
if ( gusSelectedSoldier != NOBODY && gusSelectedSoldier->usSoldierFlagMask & (SOLDIER_COVERT_CIV|SOLDIER_COVERT_SOLDIER) )
{
MercPtrs[ gusSelectedSoldier ]->LooseDisguise();
gusSelectedSoldier->LooseDisguise();
if ( gSkillTraitValues.fCOStripIfUncovered )
MercPtrs[ gusSelectedSoldier ]->Strip();
gusSelectedSoldier->Strip();
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_SURRENDER_FAILED] );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_UNCOVER_SINGLE], MercPtrs[ gusSelectedSoldier ]->GetName() );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_UNCOVER_SINGLE], gusSelectedSoldier->GetName() );
}
}
}
// we offered to surrender OURSELVES TO the enemy
else if ( ubExitValue == 2 )
{
DeductPoints( MercPtrs[gusSelectedSoldier], APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
DeductPoints( gusSelectedSoldier, APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
if ( !gGameExternalOptions.fPlayerCanAsktoSurrender || MercPtrs[prisonerdialoguetargetID]->bTeam == CREATURE_TEAM )
{
@@ -11323,7 +11323,7 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
// we distract the enemy by essentially talking them to death
else if ( ubExitValue == 3 )
{
DeductPoints( MercPtrs[gusSelectedSoldier], APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
DeductPoints( gusSelectedSoldier, APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
// Flugente: if we are disguised and talk to a non-profile NPC, we will continue to 'chat' with the enemy as long as we aren't ordered to do something else.
// This way we can easily order our spies to 'distract' enemies
@@ -11367,7 +11367,7 @@ void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
else
{
// normal dialog
DeductPoints( MercPtrs[gusSelectedSoldier], APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
DeductPoints( gusSelectedSoldier, APBPConstants[AP_TALK], 0, UNTRIGGERED_INTERRUPT );
StartCivQuote(MercPtrs[prisonerdialoguetargetID]);
}
}
+2 -2
View File
@@ -170,8 +170,8 @@ struct TacticalStatusType
extern UINT8 gbPlayerNum;
extern INT8 gbShowEnemies;
extern UINT16 gusSelectedSoldier;
extern UINT16 gusOldSelectedSoldier;
extern SoldierID gusSelectedSoldier;
extern UINT16 gusOldSelectedSoldier;
extern CHAR8 gzAlertStr[][ 30 ];
extern CHAR8 gzActionStr[][ 30 ];
+17 -17
View File
@@ -202,11 +202,11 @@ void QueryRTLeftButton( UINT32 *puiNewEvent )
if ( gusSelectedSoldier != NOBODY )
{
if ( MercPtrs[ gusSelectedSoldier ]->pTempObject != NULL )
if ( gusSelectedSoldier->pTempObject != NULL )
{
return;
}
if ( MercPtrs[ gusSelectedSoldier ]->flags.uiStatusFlags & SOLDIER_DRIVER )
if ( gusSelectedSoldier->flags.uiStatusFlags & SOLDIER_DRIVER )
{
pVehicle = GetSoldierStructureForVehicle( MercPtrs[ usSubjectSoldier ]->iVehicleId );
usSubjectSoldier = pVehicle->ubID;
@@ -448,8 +448,8 @@ void QueryRTLeftButton( UINT32 *puiNewEvent )
{
// Set movement mode
// OK, only change this if we are stationary!
//if ( gAnimControl[ MercPtrs[ gusSelectedSoldier ]->usAnimState ].uiFlags & ANIM_STATIONARY )
//if ( MercPtrs[ gusSelectedSoldier ]->usAnimState == WALKING )
//if ( gAnimControl[ gusSelectedSoldier->usAnimState ].uiFlags & ANIM_STATIONARY )
//if ( gusSelectedSoldier->usAnimState == WALKING )
{
MercPtrs[ usSubjectSoldier ]->flags.fUIMovementFast = TRUE;
*puiNewEvent = C_MOVE_MERC;
@@ -621,7 +621,7 @@ void QueryRTLeftButton( UINT32 *puiNewEvent )
//{
// if ( gusSelectedSoldier != NOBODY )
// {
// if ( !( gAnimControl[ MercPtrs[ gusSelectedSoldier ]->usAnimState ].uiFlags & ANIM_STATIONARY ) )
// if ( !( gAnimControl[ gusSelectedSoldier->usAnimState ].uiFlags & ANIM_STATIONARY ) )
// {
//gUITargetShotWaiting = TRUE;
@@ -680,7 +680,7 @@ void QueryRTLeftButton( UINT32 *puiNewEvent )
// OK, if we have a selected guy.. make him part too....
if ( gusSelectedSoldier != NOBODY )
{
MercPtrs[ gusSelectedSoldier ]->flags.uiStatusFlags |= (SOLDIER_MULTI_SELECTED );
gusSelectedSoldier->flags.uiStatusFlags |= (SOLDIER_MULTI_SELECTED );
}
}
@@ -715,7 +715,7 @@ void QueryRTLeftButton( UINT32 *puiNewEvent )
// OK, if we have a selected guy.. make him part too....
if ( gusSelectedSoldier != NOBODY )
{
MercPtrs[ gusSelectedSoldier ]->flags.uiStatusFlags |= (SOLDIER_MULTI_SELECTED );
gusSelectedSoldier->flags.uiStatusFlags |= (SOLDIER_MULTI_SELECTED );
}
gfIgnoreOnSelectedGuy = TRUE;
@@ -1017,7 +1017,7 @@ void QueryRTRightButton( UINT32 *puiNewEvent )
if ( gfUICanBeginAllMoveCycle )
{
// ATE: Here, check if we can do this....
if ( !UIOKMoveDestination( MercPtrs[ gusSelectedSoldier ], usMapPos ) )
if ( !UIOKMoveDestination( gusSelectedSoldier, usMapPos ) )
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ CANT_MOVE_THERE_STR ] );
gfRTClickLeftHoldIntercepted = TRUE;
@@ -1041,7 +1041,7 @@ void QueryRTRightButton( UINT32 *puiNewEvent )
{
gfBeginBurstSpreadTracking = FALSE;
gfRTClickLeftHoldIntercepted = TRUE;
MercPtrs[ gusSelectedSoldier ]->flags.fDoSpread = FALSE;
gusSelectedSoldier->flags.fDoSpread = FALSE;
fClickHoldIntercepted = TRUE;
*puiNewEvent = A_END_ACTION;
gCurrentUIMode = MOVE_MODE;
@@ -1234,7 +1234,7 @@ void QueryRTRightButton( UINT32 *puiNewEvent )
case MOVE_MODE:
case TALKCURSOR_MODE:
// anv: don't switch if passengers are blocked from attacking
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
if( pSoldier->flags.uiStatusFlags & ( SOLDIER_DRIVER | SOLDIER_PASSENGER ) )
{
SOLDIERTYPE *pVehicle = GetSoldierStructureForVehicle( pSoldier->iVehicleId );
@@ -2032,13 +2032,13 @@ void HandleMouseRTWheel( void )
if ( _KeyDown( ALT ) )
{
if ( (gusSelectedSoldier != NOBODY) && ( gpItemPointer == NULL ) )
GotoLowerStance(MercPtrs[ gusSelectedSoldier ]);
GotoLowerStance(gusSelectedSoldier);
return;
}
if ( gusSelectedSoldier != NOBODY )
{ //Select prev merc
bID = FindPrevActiveAndAliveMerc( MercPtrs[ gusSelectedSoldier ], TRUE, TRUE );
bID = FindPrevActiveAndAliveMerc( gusSelectedSoldier, TRUE, TRUE );
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
// Center to guy....
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
@@ -2050,14 +2050,14 @@ void HandleMouseRTWheel( void )
if ( _KeyDown( ALT ) )
{
if ( (gusSelectedSoldier != NOBODY) && ( gpItemPointer == NULL ) )
GotoHeigherStance( MercPtrs[ gusSelectedSoldier ] );
GotoHeigherStance( gusSelectedSoldier );
return;
}
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"wheel %d", gViewportRegion.WheelState);
if ( gusSelectedSoldier != NOBODY )
{ //Select next merc
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
bID = FindNextMercInTeamPanel( gusSelectedSoldier, FALSE, FALSE );
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
// Center to guy....
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
@@ -2073,7 +2073,7 @@ void HandleMouseRTMButton( UINT32 *puiNewEvent )
// toggle fire mode
if ( ( gpItemPointer == NULL ) && ( gusSelectedSoldier != NOBODY ) &&
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ BURSTMODE_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
ChangeWeaponMode( MercPtrs[ gusSelectedSoldier ] );
ChangeWeaponMode( gusSelectedSoldier );
}
else
*puiNewEvent = LC_LOOK;
@@ -2140,7 +2140,7 @@ void HandleMouseRTX1Button( UINT32 *puiNewEvent )
void HandleMouseRTX2Button( UINT32 *puiNewEvent )
{
if ( _KeyDown( ALT ) )
AutoReload( MercPtrs[ gusSelectedSoldier ] );
AutoReload( gusSelectedSoldier );
else
// Toggle squad's stealth mode.....
// For each guy on squad...
@@ -2252,7 +2252,7 @@ void HandleRTToggleFireMode( void )
// toggle fire mode
if ( ( gpItemPointer == NULL ) && ( gusSelectedSoldier != NOBODY ) &&
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ BURSTMODE_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
ChangeWeaponMode( MercPtrs[ gusSelectedSoldier ] );
ChangeWeaponMode( gusSelectedSoldier );
}
void HandleRTLocateSoldier( void )
{
+5 -5
View File
@@ -766,7 +766,7 @@ BOOLEAN EnterShopKeeperInterface()
//ADB if we are here, we must be able to talk with an extended ear (CheckIfRadioIsEquipped())
//but if we are physically too far away, we don't have extended arms!
SOLDIERTYPE* pSoldier = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE* pSoldier = gusSelectedSoldier;
SOLDIERTYPE* pShopkeeper = NULL;
if ( gusIDOfCivTrader != NOBODY )
@@ -826,7 +826,7 @@ BOOLEAN EnterShopKeeperInterface()
}
// make sure current merc is close enough and eligible to talk to the shopkeeper.
AssertMsg( CanMercInteractWithSelectedShopkeeper( MercPtrs[ gusSelectedSoldier ] ), "Selected merc can't interact with shopkeeper. Send save AM-1");
AssertMsg( CanMercInteractWithSelectedShopkeeper( gusSelectedSoldier ), "Selected merc can't interact with shopkeeper. Send save AM-1");
// Create a video surface to blt corner of the tactical screen that still shines through
vs_desc.fCreateFlags = VSURFACE_CREATE_DEFAULT | VSURFACE_SYSTEM_MEM_USAGE;
@@ -2477,7 +2477,7 @@ void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT16 aMercID
// Flugente: additional dialogue
if ( gusSelectedSoldier != NOBODY )
AdditionalTacticalCharacterDialogue_CallsLua( MercPtrs[gusSelectedSoldier], ADE_MERCHANT_CHAT, ubArmsDealerID >= 0 ? (UINT32)ubArmsDealerID : 0 );
AdditionalTacticalCharacterDialogue_CallsLua( gusSelectedSoldier, ADE_MERCHANT_CHAT, ubArmsDealerID >= 0 ? (UINT32)ubArmsDealerID : 0 );
LeaveTacticalScreen( SHOPKEEPER_SCREEN );
}
@@ -6780,7 +6780,7 @@ void DealWithItemsStillOnTheTable()
}
else
{
pDropSoldier = MercPtrs[ gusSelectedSoldier ];
pDropSoldier = gusSelectedSoldier;
}
// this guy HAS to be valid!
@@ -7023,7 +7023,7 @@ void SelectArmsDealersDropItemToGroundRegionCallBack(MOUSE_REGION * pRegion, INT
}
else
{
pDropSoldier = MercPtrs[ gusSelectedSoldier ];
pDropSoldier = gusSelectedSoldier;
}
//if we don't have an item, pick one up
+1 -1
View File
@@ -2763,7 +2763,7 @@ BOOLEAN ReCreateSelectedSoldierLight( )
return(FALSE);
}
pSoldier = MercPtrs[gusSelectedSoldier];
pSoldier = gusSelectedSoldier;
return(pSoldier->ReCreateSoldierLight( ));
}
+8 -8
View File
@@ -132,8 +132,8 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
if ( gusSelectedSoldier != NOBODY && gusUIFullTargetID != NOBODY )
{
//CHRISL: Changed the second parameter to use the same information as the 'F' hotkey uses.
//iRangeToTarget = GetRangeInCellCoordsFromGridNoDiff( MercPtrs[ gusSelectedSoldier ]->sGridNo, sSoldierGridNo ) / 10;
iRangeToTarget = GetRangeInCellCoordsFromGridNoDiff( MercPtrs[ gusSelectedSoldier ]->sGridNo, MercPtrs[ gusUIFullTargetID ]->sGridNo ) / 10;
//iRangeToTarget = GetRangeInCellCoordsFromGridNoDiff( gusSelectedSoldier->sGridNo, sSoldierGridNo ) / 10;
iRangeToTarget = GetRangeInCellCoordsFromGridNoDiff( gusSelectedSoldier->sGridNo, MercPtrs[ gusUIFullTargetID ]->sGridNo ) / 10;
}
// WANNE: If we want to show the tooltip of milita and no merc is present in the sector
else
@@ -145,14 +145,14 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
// SANDRO - don't use this if detail set to debug!
if ( gGameExternalOptions.gfAllowUDTRange && gGameExternalOptions.ubSoldierTooltipDetailLevel != DL_Debug && !(gTacticalStatus.uiFlags & SHOW_ALL_MERCS) )
{
uiMaxTooltipDistance = (UINT32)( MercPtrs[ gusSelectedSoldier ]->GetMaxDistanceVisible(MercPtrs[ gusUIFullTargetID ]->sGridNo, 0, CALC_FROM_WANTED_DIR) * (gGameExternalOptions.ubUDTModifier));
uiMaxTooltipDistance = (UINT32)( gusSelectedSoldier->GetMaxDistanceVisible(MercPtrs[ gusUIFullTargetID ]->sGridNo, 0, CALC_FROM_WANTED_DIR) * (gGameExternalOptions.ubUDTModifier));
uiMaxTooltipDistance /= 100;
}
//SCORE: Otherwise if we're using dynamics then do this
// SANDRO - don't use this if detail set to debug!
else if ( gGameExternalOptions.fEnableDynamicSoldierTooltips && gGameExternalOptions.ubSoldierTooltipDetailLevel != DL_Debug && !(gTacticalStatus.uiFlags & SHOW_ALL_MERCS) )
{
OBJECTTYPE* pObject = &(MercPtrs[gusSelectedSoldier]->inv[HANDPOS]);
OBJECTTYPE* pObject = &(gusSelectedSoldier->inv[HANDPOS]);
for (attachmentList::iterator iter = (*pObject)[0]->attachments.begin(); iter != (*pObject)[0]->attachments.end(); ++iter) {
if ( Item[iter->usItem].visionrangebonus > 0 && iter->exists())
{
@@ -175,14 +175,14 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
{
// add 10% to max tooltip viewing distance per level of the merc
// sevenfm: fixed incorrect integer calculation
uiMaxTooltipDistance = (INT32)( uiMaxTooltipDistance * ( 1 + ( (FLOAT)( EffectiveExpLevel( MercPtrs[ gusSelectedSoldier ] ) ) / 10.0 ) ) ); // SANDRO - changed to effective level calc
uiMaxTooltipDistance = (INT32)( uiMaxTooltipDistance * ( 1 + ( (FLOAT)( EffectiveExpLevel( gusSelectedSoldier ) ) / 10.0 ) ) ); // SANDRO - changed to effective level calc
// sevenfm: this calculation doesn't make sense: disabled
//if ( gGameExternalOptions.gfAllowLimitedVision )
// uiMaxTooltipDistance *= 1 - (gGameExternalOptions.ubVisDistDecreasePerRainIntensity / 100);
if ( !(Item[MercPtrs[gusSelectedSoldier]->inv[HEAD1POS].usItem].nightvisionrangebonus > 0) &&
!(Item[MercPtrs[gusSelectedSoldier]->inv[HEAD2POS].usItem].nightvisionrangebonus > 0) &&
if ( !(Item[gusSelectedSoldier->inv[HEAD1POS].usItem].nightvisionrangebonus > 0) &&
!(Item[gusSelectedSoldier->inv[HEAD2POS].usItem].nightvisionrangebonus > 0) &&
!DayTime() )
{
// if night reduce max tooltip viewing distance by a factor of 4 if merc is not wearing NVG
@@ -321,7 +321,7 @@ void SoldierTooltip( SOLDIERTYPE* pSoldier )
if ( ubTooltipDetailLevel < DL_Full)
{
// Get the current selected merc
SOLDIERTYPE* pMerc = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE* pMerc = gusSelectedSoldier;
if ( pMerc->aiData.bOppList[pSoldier->ubID] != SEEN_CURRENTLY )
{
+1 -1
View File
@@ -926,7 +926,7 @@ BOOLEAN SetCurrentSquad( INT32 iCurrentSquad, BOOLEAN fForce )
// check if the currently selected guy is on this squad, if not, get the first one on the new squad
if ( gusSelectedSoldier != NOBODY )
{
if( Menptr[ gusSelectedSoldier ].bAssignment != iCurrentTacticalSquad )
if( gusSelectedSoldier->bAssignment != iCurrentTacticalSquad )
{
// ATE: Changed this to FALSE for ackoledgement sounds.. sounds bad if just starting/entering sector..
SelectSoldier( Squad[ iCurrentTacticalSquad ][ 0 ]->ubID, FALSE, TRUE );
+16 -16
View File
@@ -177,7 +177,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
}
// anv: vehicle always move with all passengers inside
if( MercPtrs[gusSelectedSoldier]->bAssignment == VEHICLE )
if( gusSelectedSoldier->bAssignment == VEHICLE )
{
gExitDialog.fSingleMoveDisabled = TRUE;
gExitDialog.fSingleMoveOn = FALSE;
@@ -217,7 +217,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
gExitDialog.fGotoSector = TRUE;
}
gExitDialog.ubNumPeopleOnSquad = NumberOfPlayerControllableMercsInSquad( MercPtrs[ gusSelectedSoldier ]->bAssignment );
gExitDialog.ubNumPeopleOnSquad = NumberOfPlayerControllableMercsInSquad( gusSelectedSoldier->bAssignment );
//Determine
for( i = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; i <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; i++ )
@@ -230,8 +230,8 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
if( !pSoldier->flags.fBetweenSectors &&
pSoldier->sSectorX == gWorldSectorX && pSoldier->sSectorY == gWorldSectorY && pSoldier->bSectorZ == gbWorldSectorZ &&
pSoldier->stats.bLife >= OKLIFE &&
( pSoldier->bAssignment != MercPtrs[ gusSelectedSoldier ]->bAssignment ||
( pSoldier->bAssignment == VEHICLE && pSoldier->iVehicleId != MercPtrs[ gusSelectedSoldier ]->iVehicleId ) ) &&
( pSoldier->bAssignment != gusSelectedSoldier->bAssignment ||
( pSoldier->bAssignment == VEHICLE && pSoldier->iVehicleId != gusSelectedSoldier->iVehicleId ) ) &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_DEAD && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
&& !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
{ //KM: We need to determine if there are more than one squad (meaning other concious mercs in a different squad or assignment)
@@ -245,7 +245,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
// Double check that ...
// if we are a EPC and are the selected guy, make single move off and disable it....
if ( AM_AN_EPC( MercPtrs[ gusSelectedSoldier ] ) )
if ( AM_AN_EPC( gusSelectedSoldier ) )
{
// Check if there are more than one in this squad
if ( gExitDialog.ubNumPeopleOnSquad > 1 )
@@ -268,7 +268,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
{
continue;
}
if( MercPtrs[ i ]->bAssignment == MercPtrs[ gusSelectedSoldier ]->bAssignment )
if( MercPtrs[ i ]->bAssignment == gusSelectedSoldier->bAssignment )
{
if( AM_AN_EPC( MercPtrs[ i ] ) )
{
@@ -550,7 +550,7 @@ void UpdateSectorExitMenu( )
if( gExitDialog.fSelectedMercIsEPC )
{ //EPCs cannot leave the sector alone and must be escorted
CHAR16 str[ 256 ];
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_ESCORTED_CHARACTERS_MUST_BE_ESCORTED_HELPTEXT ], MercPtrs[ gusSelectedSoldier ]->name );
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_ESCORTED_CHARACTERS_MUST_BE_ESCORTED_HELPTEXT ], gusSelectedSoldier->name );
SetButtonFastHelpText( gExitDialog.uiSingleMoveButton, str );
SetRegionFastHelpText( &gExitDialog.SingleRegion, str );
}
@@ -561,26 +561,26 @@ void UpdateSectorExitMenu( )
CHAR16 str[ 256 ];
if( !gExitDialog.fSquadHasMultipleEPCs )
{
if( gMercProfiles[ MercPtrs[ gusSelectedSoldier ]->ubProfile ].bSex == MALE )
if( gMercProfiles[ gusSelectedSoldier->ubProfile ].bSex == MALE )
{ //male singular
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_SINGULAR ], MercPtrs[ gusSelectedSoldier ]->name,
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_SINGULAR ], gusSelectedSoldier->name,
MercPtrs[ gExitDialog.bSingleMoveWillIsolateEPC ]->name );
}
else
{ //female singular
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_SINGULAR ], MercPtrs[ gusSelectedSoldier ]->name,
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_SINGULAR ], gusSelectedSoldier->name,
MercPtrs[ gExitDialog.bSingleMoveWillIsolateEPC ]->name );
}
}
else
{
if( gMercProfiles[ MercPtrs[ gusSelectedSoldier ]->ubProfile ].bSex == MALE )
if( gMercProfiles[ gusSelectedSoldier->ubProfile ].bSex == MALE )
{ //male plural
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_PLURAL ], MercPtrs[ gusSelectedSoldier ]->name );
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_PLURAL ], gusSelectedSoldier->name );
}
else
{ //female plural
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_PLURAL ], MercPtrs[ gusSelectedSoldier ]->name );
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_PLURAL ], gusSelectedSoldier->name );
}
}
SetButtonFastHelpText( gExitDialog.uiSingleMoveButton, str );
@@ -592,7 +592,7 @@ void UpdateSectorExitMenu( )
CHAR16 str[ 256 ];
EnableButton( gExitDialog.uiSingleMoveButton );
MSYS_EnableRegion(&(gExitDialog.SingleRegion) );
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_SINGLE_TRAVERSAL_WILL_SEPARATE_SQUADS_HELPTEXT ], MercPtrs[ gusSelectedSoldier ]->name );
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_SINGLE_TRAVERSAL_WILL_SEPARATE_SQUADS_HELPTEXT ], gusSelectedSoldier->name );
SetButtonFastHelpText( gExitDialog.uiSingleMoveButton, str );
SetRegionFastHelpText( &gExitDialog.SingleRegion, str );
}
@@ -762,12 +762,12 @@ void RemoveSectorExitMenu( BOOLEAN fOk )
gfIgnoreScrolling = FALSE;
// if we are an EPC, don't allow this if nobody else on squad
if ( fOk && AM_AN_EPC( MercPtrs[ gusSelectedSoldier ] ) )
if ( fOk && AM_AN_EPC( gusSelectedSoldier ) )
{
// Check if there are more than one in this squad
if ( gExitDialog.ubNumPeopleOnSquad == 0 )
{
swprintf( Str, pMessageStrings[ MSG_EPC_CANT_TRAVERSE ], MercPtrs[ gusSelectedSoldier ]->name );
swprintf( Str, pMessageStrings[ MSG_EPC_CANT_TRAVERSE ], gusSelectedSoldier->name );
DoMessageBox( MSG_BOX_BASIC_STYLE, Str, GAME_SCREEN, ( UINT8 )MSG_BOX_FLAG_OK, NULL, NULL );
return;
+11 -11
View File
@@ -212,10 +212,10 @@ void StartPlayerTeamTurn( BOOLEAN fDoBattleSnd, BOOLEAN fEnteringCombatMode )
if ( gusSelectedSoldier != NOBODY )
{
// Check if this guy is able to be selected....
if ( MercPtrs[ gusSelectedSoldier ]->stats.bLife < OKLIFE )
if ( gusSelectedSoldier->stats.bLife < OKLIFE )
{
DebugMsg(TOPIC_JA2INTERRUPT,DBG_LEVEL_3,String("StartPlayerTeamTurn: SelectNextAvailSoldier"));
SelectNextAvailSoldier( MercPtrs[ gusSelectedSoldier ] );
SelectNextAvailSoldier( gusSelectedSoldier );
}
else
{
@@ -230,7 +230,7 @@ void StartPlayerTeamTurn( BOOLEAN fDoBattleSnd, BOOLEAN fEnteringCombatMode )
if ( fDoBattleSnd )
{
// Say ATTENTION SOUND...
MercPtrs[ gusSelectedSoldier ]->DoMercBattleSound( BATTLE_SOUND_ATTN1 );
gusSelectedSoldier->DoMercBattleSound( BATTLE_SOUND_ATTN1 );
}
if ( gsInterfaceLevel == 1 )
@@ -1289,14 +1289,14 @@ void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
gfHiddenInterrupt = FALSE;
// If we can continue a move, do so!
if ( MercPtrs[ gusSelectedSoldier ]->flags.fNoAPToFinishMove && pSoldier->ubReasonCantFinishMove != REASON_STOPPED_SIGHT )
if ( gusSelectedSoldier->flags.fNoAPToFinishMove && pSoldier->ubReasonCantFinishMove != REASON_STOPPED_SIGHT )
{
// Continue
MercPtrs[ gusSelectedSoldier ]->AdjustNoAPToFinishMove( FALSE );
gusSelectedSoldier->AdjustNoAPToFinishMove( FALSE );
if ( MercPtrs[ gusSelectedSoldier ]->sGridNo != MercPtrs[ gusSelectedSoldier ]->pathing.sFinalDestination )
if ( gusSelectedSoldier->sGridNo != gusSelectedSoldier->pathing.sFinalDestination )
{
MercPtrs[ gusSelectedSoldier ]->EVENT_GetNewSoldierPath( MercPtrs[ gusSelectedSoldier ]->pathing.sFinalDestination, MercPtrs[ gusSelectedSoldier ]->usUIMovementMode );
gusSelectedSoldier->EVENT_GetNewSoldierPath( gusSelectedSoldier->pathing.sFinalDestination, gusSelectedSoldier->usUIMovementMode );
}
else
{
@@ -1332,7 +1332,7 @@ void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
SlideTo( NOWHERE, gusSelectedSoldier, NOBODY ,SETLOCATOR);
// Say ATTENTION SOUND...
MercPtrs[ gusSelectedSoldier ]->DoMercBattleSound( BATTLE_SOUND_ATTN1 );
gusSelectedSoldier->DoMercBattleSound( BATTLE_SOUND_ATTN1 );
if ( gsInterfaceLevel == 1 )
{
@@ -1692,7 +1692,7 @@ BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT16 ubOpponen
// the selected character, ie. his friends...
if ( pOpponent->bTeam == gbPlayerNum )
{
if ((ubOpponentID != gusSelectedSoldier) && (pSoldier->bSide != Menptr[gusSelectedSoldier].bSide))
if ((ubOpponentID != gusSelectedSoldier) && (pSoldier->bSide != gusSelectedSoldier->bSide))
{
return( FALSE );
}
@@ -1714,7 +1714,7 @@ BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT16 ubOpponen
}
/* old DG code for same:
if ((ubOpponentID != gusSelectedSoldier) && (pSoldier->bSide != Menptr[gusSelectedSoldier].bSide))
if ((ubOpponentID != gusSelectedSoldier) && (pSoldier->bSide != gusSelectedSoldier->bSide))
{
return(FALSE);
}
@@ -2356,7 +2356,7 @@ void DoneAddingToIntList( SOLDIERTYPE * pSoldier, BOOLEAN fChange, UINT8 ubInter
send_interrupt( npSoldier );
SOLDIERTYPE* pMerc = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE* pMerc = gusSelectedSoldier;
//AdjustNoAPToFinishMove( pMerc, TRUE );
pMerc->HaultSoldierFromSighting(TRUE);
//pMerc->fTurningFromPronePosition = FALSE;// hmmm ??
+98 -98
View File
@@ -493,7 +493,7 @@ void QueryTBLeftButton( UINT32 *puiNewEvent )
{
BOOLEAN fResult;
if ( ( fResult = UIOKMoveDestination( MercPtrs[ gusSelectedSoldier ], usMapPos ) ) == 1 )
if ( ( fResult = UIOKMoveDestination( gusSelectedSoldier, usMapPos ) ) == 1 )
{
// ATE: CHECK IF WE CAN GET TO POSITION
// Check if we are not in combat
@@ -998,10 +998,10 @@ void QueryTBRightButton( UINT32 *puiNewEvent )
gfFirstCycleMovementStarted = TRUE;
// OK, set this guy's movement mode to crawling fo rthat we will start cycling in run.....
if ( MercPtrs[ gusSelectedSoldier ]->usUIMovementMode != RUNNING )
if ( gusSelectedSoldier->usUIMovementMode != RUNNING )
{
// ATE: UNLESS WE ARE IN RUNNING MODE ALREADY
MercPtrs[ gusSelectedSoldier ]->usUIMovementMode = CRAWLING;
gusSelectedSoldier->usUIMovementMode = CRAWLING;
}
}
@@ -1016,7 +1016,7 @@ void QueryTBRightButton( UINT32 *puiNewEvent )
{
gfBeginBurstSpreadTracking = FALSE;
gfRTClickLeftHoldIntercepted = TRUE;
MercPtrs[ gusSelectedSoldier ]->flags.fDoSpread = FALSE;
gusSelectedSoldier->flags.fDoSpread = FALSE;
fClickHoldIntercepted = TRUE;
*puiNewEvent = A_END_ACTION;
gCurrentUIMode = MOVE_MODE;
@@ -1070,7 +1070,7 @@ void QueryTBRightButton( UINT32 *puiNewEvent )
case MOVE_MODE:
// anv: don't switch if passengers are blocked from attacking
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
if( pSoldier->flags.uiStatusFlags & ( SOLDIER_DRIVER | SOLDIER_PASSENGER ) )
{
SOLDIERTYPE *pVehicle = GetSoldierStructureForVehicle( pSoldier->iVehicleId );
@@ -1627,8 +1627,8 @@ void CheatCreateItem( )
CreateItem( usitem, status, &newobj );
(newobj)[0]->data.bTemperature = temperature;
if ( !AutoPlaceObject( MercPtrs[ gusSelectedSoldier ], &newobj, FALSE ) )
AddItemToPool( MercPtrs[ gusSelectedSoldier ]->sGridNo, &newobj, 1, 0, 0, -1 );
if ( !AutoPlaceObject( gusSelectedSoldier, &newobj, FALSE ) )
AddItemToPool( gusSelectedSoldier->sGridNo, &newobj, 1, 0, 0, -1 );
}
}
@@ -2121,7 +2121,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
gfRTClickLeftHoldIntercepted = TRUE;
if ( gusSelectedSoldier != NOBODY )
{
MercPtrs[ gusSelectedSoldier ]->flags.fDoSpread = FALSE;
gusSelectedSoldier->flags.fDoSpread = FALSE;
}
// Before anything, delete popup box!
@@ -2223,11 +2223,11 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
continue;
}
else if (gusSelectedSoldier != NOBODY &&
MercPtrs[gusSelectedSoldier] &&
!(gAnimControl[MercPtrs[gusSelectedSoldier]->usAnimState].uiFlags & ANIM_STATIONARY))
gusSelectedSoldier &&
!(gAnimControl[gusSelectedSoldier->usAnimState].uiFlags & ANIM_STATIONARY))
{
// If soldier is not stationary, stop
MercPtrs[gusSelectedSoldier]->StopSoldier();
gusSelectedSoldier->StopSoldier();
*puiNewEvent = A_CHANGE_TO_MOVE;
continue;
}
@@ -2235,21 +2235,21 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
// sevenfm: also stop dragging
if (gusSelectedSoldier != NOBODY &&
MercPtrs[gusSelectedSoldier] &&
MercPtrs[gusSelectedSoldier]->IsDragging(false))
gusSelectedSoldier &&
gusSelectedSoldier->IsDragging(false))
{
MercPtrs[gusSelectedSoldier]->CancelDrag();
DirtyMercPanelInterface(MercPtrs[gusSelectedSoldier], DIRTYLEVEL2);
gusSelectedSoldier->CancelDrag();
DirtyMercPanelInterface(gusSelectedSoldier, DIRTYLEVEL2);
continue;
}
// sevenfm: unready weapon
if (gusSelectedSoldier != NOBODY &&
MercPtrs[gusSelectedSoldier] &&
WeaponReady(MercPtrs[gusSelectedSoldier]))
gusSelectedSoldier &&
WeaponReady(gusSelectedSoldier))
{
MercPtrs[gusSelectedSoldier]->InternalSoldierReadyWeapon(MercPtrs[gusSelectedSoldier]->ubDirection, TRUE, FALSE);
HandleSight(MercPtrs[gusSelectedSoldier], SIGHT_LOOK);
gusSelectedSoldier->InternalSoldierReadyWeapon(gusSelectedSoldier->ubDirection, TRUE, FALSE);
HandleSight(gusSelectedSoldier, SIGHT_LOOK);
continue;
}
}
@@ -2313,19 +2313,19 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
// {
// if ( gusSelectedSoldier != NOBODY )
// {
// if ( gTacticalStatus.uiFlags & TURNBASED && !MercPtrs[ gusSelectedSoldier ]->fDontChargeReadyAPs )
// if ( gTacticalStatus.uiFlags & TURNBASED && !gusSelectedSoldier->fDontChargeReadyAPs )
// {
// INT16 apCost = GetAPsToReadyWeapon( MercPtrs[ gusSelectedSoldier ], 0 );
// if (MercPtrs[ gusSelectedSoldier ]->bActionPoints >= apCost )
// INT16 apCost = GetAPsToReadyWeapon( gusSelectedSoldier, 0 );
// if (gusSelectedSoldier->bActionPoints >= apCost )
// {
// DeductPoints( MercPtrs[ gusSelectedSoldier ],apCost , 0 );
// DirtyMercPanelInterface( MercPtrs[ gusSelectedSoldier ], DIRTYLEVEL2 );
// SoldierReadyWeapon( MercPtrs[ gusSelectedSoldier ] );
// DeductPoints( gusSelectedSoldier,apCost , 0 );
// DirtyMercPanelInterface( gusSelectedSoldier, DIRTYLEVEL2 );
// SoldierReadyWeapon( gusSelectedSoldier );
// }
// }
// else
// {
// SoldierReadyWeapon( MercPtrs[ gusSelectedSoldier ] );
// SoldierReadyWeapon( gusSelectedSoldier );
// }
// }
@@ -2344,7 +2344,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
for ( i = 0; i < 1000; i++ )
{
CalculateLaunchItemChanceToGetThrough( MercPtrs[ gusSelectedSoldier ], &(MercPtrs[ gusSelectedSoldier ]->inv[ HANDPOS ] ), usMapPos, 0, 0, &sGridNo, TRUE, (INT8 *)&ubLevel, TRUE );
CalculateLaunchItemChanceToGetThrough( gusSelectedSoldier, &(gusSelectedSoldier->inv[ HANDPOS ] ), usMapPos, 0, 0, &sGridNo, TRUE, (INT8 *)&ubLevel, TRUE );
}
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Physics 100 times: %d", ( GetJA2Clock( ) - iTime ) );
@@ -2412,7 +2412,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
//Select next squad
iCurrentSquad = CurrentSquad( );
pNewSoldier = FindNextActiveSquad( MercPtrs[ gusSelectedSoldier ] );
pNewSoldier = FindNextActiveSquad( gusSelectedSoldier );
if ( pNewSoldier->bAssignment != iCurrentSquad )
{
@@ -2436,7 +2436,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
{ //Select next merc
UINT16 bID;
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
bID = FindNextMercInTeamPanel( gusSelectedSoldier, FALSE, FALSE );
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
@@ -2458,7 +2458,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if ( fCtrl )
{
if ( gusSelectedSoldier != NOBODY )
SwapMercPortraits( MercPtrs[ gusSelectedSoldier ], -1 );
SwapMercPortraits( gusSelectedSoldier, -1 );
}
break;
@@ -2467,7 +2467,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if ( fCtrl )
{
if ( gusSelectedSoldier != NOBODY )
SwapMercPortraits( MercPtrs[ gusSelectedSoldier ], 1 );
SwapMercPortraits( gusSelectedSoldier, 1 );
}
break;
@@ -2498,10 +2498,10 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
// Lalien: commented out, to fix "end move & LOS bug" (same button has two different actions)
// if ( gusSelectedSoldier != NOBODY )
// {
// if ( CheckForMercContMove( MercPtrs[ gusSelectedSoldier ] ) )
// if ( CheckForMercContMove( gusSelectedSoldier ) )
// {
// // Continue
// ContinueMercMovement( MercPtrs[ gusSelectedSoldier ] );
// ContinueMercMovement( gusSelectedSoldier );
// ErasePath( TRUE );
// }
// }
@@ -2521,7 +2521,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
// nothing in hand and either not in SM panel, or the matching button is enabled if we are in SM panel
if ( ( gpItemPointer == NULL ) )
{
GotoHeigherStance( MercPtrs[ gusSelectedSoldier ] );
GotoHeigherStance( gusSelectedSoldier );
}
}
}
@@ -2541,7 +2541,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
// nothing in hand and either not in SM panel, or the matching button is enabled if we are in SM panel
if ( ( gpItemPointer == NULL ) )
{
GotoLowerStance( MercPtrs[ gusSelectedSoldier ] );
GotoLowerStance( gusSelectedSoldier );
}
}
}
@@ -2921,7 +2921,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
{
if ( gusSelectedSoldier != NOBODY )
{
HandleTacticalFunctionSelection(MercPtrs[ gusSelectedSoldier ], usMapPos );
HandleTacticalFunctionSelection(gusSelectedSoldier, usMapPos );
}
}
else if ( fAlt )
@@ -2994,8 +2994,8 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if (CHEATER_CHEAT_LEVEL())
{
//ChangeSoldiersBodyType( TANK_NW, TRUE );
// MercPtrs[ gusSelectedSoldier ]->flags.uiStatusFlags |= SOLDIER_CREATURE;
//EVENT_InitNewSoldierAnim( MercPtrs[ gusSelectedSoldier ], CRIPPLE_BEG, 0 , TRUE );
// gusSelectedSoldier->flags.uiStatusFlags |= SOLDIER_CREATURE;
//EVENT_InitNewSoldierAnim( gusSelectedSoldier, CRIPPLE_BEG, 0 , TRUE );
}
}
else if( fAlt )
@@ -3034,12 +3034,12 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
{
if (CHEATER_CHEAT_LEVEL())
{
MercPtrs[gusSelectedSoldier]->EVENT_InitNewSoldierAnim(KID_SKIPPING, 0, TRUE);
gusSelectedSoldier->EVENT_InitNewSoldierAnim(KID_SKIPPING, 0, TRUE);
//ChangeSoldiersBodyType( LARVAE_MONSTER, TRUE );
//MercPtrs[ gusSelectedSoldier ]->usAttackingWeapon = TANK_CANNON;
//gusSelectedSoldier->usAttackingWeapon = TANK_CANNON;
//LocateSoldier( gusSelectedSoldier, FALSE );
//EVENT_FireSoldierWeapon( MercPtrs[ gusSelectedSoldier ], sMapPos );
//EVENT_FireSoldierWeapon( gusSelectedSoldier, sMapPos );
}
}
else if( fAlt )
@@ -3510,7 +3510,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if ( gusSelectedSoldier != NOBODY )
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
if ( pSoldier->aiData.bOppCnt > 0 )
{
@@ -3529,7 +3529,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
//CHRISL: drop all items
if ( gusSelectedSoldier != NOBODY && !(gTacticalStatus.fEnemyInSector) )
{
SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE *pSoldier = gusSelectedSoldier;
for(int i = BODYPOSFINAL; i<NUM_INV_SLOTS; i++)
{
if(pSoldier->inv[i].exists() == true)
@@ -3593,12 +3593,12 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
if ( gfUIFullTargetFound )
{
//Display the range to the target
DisplayRangeToTarget( MercPtrs[gusSelectedSoldier], MercPtrs[gusUIFullTargetID]->sGridNo );
DisplayRangeToTarget( gusSelectedSoldier, MercPtrs[gusUIFullTargetID]->sGridNo );
}
else
{
//Display the range to the target
DisplayRangeToTarget( MercPtrs[gusSelectedSoldier], usGridNo );
DisplayRangeToTarget( gusSelectedSoldier, usGridNo );
}
}
@@ -4022,7 +4022,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
//CHRISL: Swap gunsling
if ( gusSelectedSoldier != NOBODY )
{
SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE *pSoldier = gusSelectedSoldier;
if ( fAlt )
// switch to knife, or from knife to gun
@@ -4324,7 +4324,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
{
if ( CHEATER_CHEAT_LEVEL( ) )
{
ReloadWeapon( MercPtrs[ gusSelectedSoldier ], MercPtrs[ gusSelectedSoldier ]->ubAttackingHand );
ReloadWeapon( gusSelectedSoldier, gusSelectedSoldier->ubAttackingHand );
}
else
HandleTBReload();
@@ -4355,7 +4355,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
{
if ( fAlt )
{
RemoveCharacterFromSquads( MercPtrs[gusSelectedSoldier] );
RemoveCharacterFromSquads( gusSelectedSoldier );
}
else if ( !fDisableMapInterfaceDueToBattle && !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) && !is_networked )
{
@@ -4475,7 +4475,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
else if ( fAlt && fShift )
{
//resort Team by ubID
SortSquadByID(MercPtrs[gusSelectedSoldier]->bTeam);
SortSquadByID(gusSelectedSoldier->bTeam);
}
else
{
@@ -4597,7 +4597,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
{
if ( gusSelectedSoldier != NOBODY )
{
CreateItem( FLAMETHROWER, 100, &( MercPtrs[ gusSelectedSoldier ]->inv[ HANDPOS ]) );
CreateItem( FLAMETHROWER, 100, &( gusSelectedSoldier->inv[ HANDPOS ]) );
}
}
}
@@ -4642,7 +4642,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
//Check if we have a good selected guy
if ( gusSelectedSoldier != NOBODY )
{
pSoldier1 = MercPtrs[ gusSelectedSoldier ];
pSoldier1 = gusSelectedSoldier;
BOOLEAN fFoundGoodTarget = FALSE;
if ( gfUIFullTargetFound )
@@ -4879,7 +4879,7 @@ BOOLEAN HandleCheckForExitArrowsInput( BOOLEAN fAdjustConfirm )
}
else if( gfLoneEPCAttemptingTraversal )
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, pExitingSectorHelpText[ EXIT_GUI_ESCORTED_CHARACTERS_CANT_LEAVE_SECTOR_ALONE_STR ], MercPtrs[ gusSelectedSoldier ]->GetName() );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, pExitingSectorHelpText[ EXIT_GUI_ESCORTED_CHARACTERS_CANT_LEAVE_SECTOR_ALONE_STR ], gusSelectedSoldier->GetName() );
gfLoneEPCAttemptingTraversal = FALSE;
}
else if( gubLoneMercAttemptingToAbandonEPCs )
@@ -4887,26 +4887,26 @@ BOOLEAN HandleCheckForExitArrowsInput( BOOLEAN fAdjustConfirm )
CHAR16 str[256];
if( gubLoneMercAttemptingToAbandonEPCs == 1 )
{ //Use the singular version of the string
if( gMercProfiles[ MercPtrs[ gusSelectedSoldier ]->ubProfile ].bSex == MALE )
if( gMercProfiles[ gusSelectedSoldier->ubProfile ].bSex == MALE )
{ //male singular
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_SINGULAR ], MercPtrs[ gusSelectedSoldier ]->GetName(),
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_SINGULAR ], gusSelectedSoldier->GetName(),
MercPtrs[ gbPotentiallyAbandonedEPCSlotID ]->GetName() );
}
else
{ //female singular
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_SINGULAR ], MercPtrs[ gusSelectedSoldier ]->GetName(),
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_SINGULAR ], gusSelectedSoldier->GetName(),
MercPtrs[ gbPotentiallyAbandonedEPCSlotID ]->GetName() );
}
}
else
{ //Use the plural version of the string
if( gMercProfiles[ MercPtrs[ gusSelectedSoldier ]->ubProfile ].bSex == MALE )
if( gMercProfiles[ gusSelectedSoldier->ubProfile ].bSex == MALE )
{ //male plural
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_PLURAL ], MercPtrs[ gusSelectedSoldier ]->GetName() );
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_MALE_PLURAL ], gusSelectedSoldier->GetName() );
}
else
{ //female plural
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_PLURAL ], MercPtrs[ gusSelectedSoldier ]->GetName() );
swprintf( str, pExitingSectorHelpText[ EXIT_GUI_MERC_CANT_ISOLATE_EPC_HELPTEXT_FEMALE_PLURAL ], gusSelectedSoldier->GetName() );
}
}
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, str );
@@ -4918,7 +4918,7 @@ BOOLEAN HandleCheckForExitArrowsInput( BOOLEAN fAdjustConfirm )
}
else
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ MERC_IS_TOO_FAR_AWAY_STR ], MercPtrs[ gusSelectedSoldier ]->GetName() );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ MERC_IS_TOO_FAR_AWAY_STR ], gusSelectedSoldier->GetName() );
}
return( TRUE );
@@ -5148,7 +5148,7 @@ void CycleSelectedMercsItem()
if( gusSelectedSoldier != NOBODY )
{
// Get soldier...
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
UINT16 usOldHandItem = pSoldier->inv[HANDPOS].usItem;
@@ -5377,7 +5377,7 @@ void SetBurstMode()
{
if ( gusSelectedSoldier != NOBODY )
{
ChangeWeaponMode( MercPtrs[ gusSelectedSoldier ] );
ChangeWeaponMode( gusSelectedSoldier );
}
}
@@ -5386,12 +5386,12 @@ void SetScopeMode( INT32 usMapPos )
if ( gusSelectedSoldier != NOBODY )
{
if ( GetMouseMapPos( &usMapPos ))
ChangeScopeMode( MercPtrs[ gusSelectedSoldier ], usMapPos );
ChangeScopeMode( gusSelectedSoldier, usMapPos );
else
ChangeScopeMode( MercPtrs[ gusSelectedSoldier ], NOWHERE );
ChangeScopeMode( gusSelectedSoldier, NOWHERE );
// reevaluate sight
ManLooksForOtherTeams( MercPtrs[ gusSelectedSoldier ] );
ManLooksForOtherTeams( gusSelectedSoldier );
}
}
#pragma optimize("", off)
@@ -6115,14 +6115,14 @@ INT8 HandleMoveModeInteractiveClick( INT32 usMapPos, UINT32 *puiNewEvent )
if ( fContinue )
{
sActionGridNo = FindAdjacentGridEx( MercPtrs[ gusSelectedSoldier ], sIntTileGridNo, &ubDirection, NULL, FALSE, TRUE );
sActionGridNo = FindAdjacentGridEx( gusSelectedSoldier, sIntTileGridNo, &ubDirection, NULL, FALSE, TRUE );
if ( sActionGridNo == -1 )
{
sActionGridNo = sIntTileGridNo;
}
// If this is not the same tile as ours, check if we can get to dest!
if ( sActionGridNo != MercPtrs[ gusSelectedSoldier ]->sGridNo && gsCurrentActionPoints == 0 )
if ( sActionGridNo != gusSelectedSoldier->sGridNo && gsCurrentActionPoints == 0 )
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_UI_FEEDBACK, TacticalStr[ NO_PATH ] );
bReturnCode = -1;
@@ -6403,7 +6403,7 @@ void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight )
{
if( gusSelectedSoldier != NOBODY )
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
// silversurfer: If we decide to stand up or press "s" again while we are standing we should reset movement to walk mode.
// If we want to run we have to press "r" which is handled elsewhere.
if ( ubAnimHeight == ANIM_STAND )
@@ -6508,9 +6508,9 @@ void HandleStealthChangeFromUIKeys( )
{
if( gusSelectedSoldier != NOBODY )
{
if ( !AM_A_ROBOT( MercPtrs[ gusSelectedSoldier ] ) )
if ( !AM_A_ROBOT( gusSelectedSoldier ) )
{
ToggleStealthMode( MercPtrs[ gusSelectedSoldier ] );
ToggleStealthMode( gusSelectedSoldier );
}
}
}
@@ -7475,12 +7475,12 @@ void HandleMouseTBWheel( void )
//change stance ->DOWN
if ( _KeyDown( ALT ) )
{ if ( (gusSelectedSoldier != NOBODY) && ( gpItemPointer == NULL ) )
GotoLowerStance(MercPtrs[ gusSelectedSoldier ]);
GotoLowerStance(gusSelectedSoldier);
return;
}
if ( gusSelectedSoldier != NOBODY )
{
bID = FindPrevActiveAndAliveMerc( MercPtrs[ gusSelectedSoldier ], TRUE, TRUE );
bID = FindPrevActiveAndAliveMerc( gusSelectedSoldier, TRUE, TRUE );
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
ErasePath(TRUE);
gfPlotNewMovement = TRUE;
@@ -7494,14 +7494,14 @@ void HandleMouseTBWheel( void )
//change stance ->UP
if ( _KeyDown( ALT ) )
{ if ( (gusSelectedSoldier != NOBODY) && ( gpItemPointer == NULL ) )
GotoHeigherStance( MercPtrs[ gusSelectedSoldier ] );
GotoHeigherStance( gusSelectedSoldier );
return;
}
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"wheel %d", gViewportRegion.WheelState);
if ( gusSelectedSoldier != NOBODY )
{ //Select next merc
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
bID = FindNextMercInTeamPanel( gusSelectedSoldier, FALSE, FALSE );
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
ErasePath(TRUE);
gfPlotNewMovement = TRUE;
@@ -7546,7 +7546,7 @@ void HandleMouseTBX1Button( UINT32 *puiNewEvent )
void HandleMouseTBX2Button( UINT32 *puiNewEvent )
{
if ( _KeyDown( ALT ) )
AutoReload( MercPtrs[ gusSelectedSoldier ] );
AutoReload( gusSelectedSoldier );
else
HandleTBToggleStealthAll();
}
@@ -7761,7 +7761,7 @@ void HandleTBCycleThroughVisibleEnemies( void )
if ( gusSelectedSoldier != NOBODY )
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
if ( pSoldier->aiData.bOppCnt > 0 )
{
@@ -7780,7 +7780,7 @@ void HandleTBCycleThroughVisibleEnemiesBackward( void )
if ( gusSelectedSoldier != NOBODY )
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
if ( pSoldier->aiData.bOppCnt > 0 )
{
@@ -7808,9 +7808,9 @@ void HandleTBChangeLevel( void )
void HandleTBSwapHands( void )
{
// swap primary & secondary hand
if ( gusSelectedSoldier != NOBODY && !AM_A_ROBOT( MercPtrs[ gusSelectedSoldier ] ))
if ( gusSelectedSoldier != NOBODY && !AM_A_ROBOT( gusSelectedSoldier ))
{
SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE *pSoldier = gusSelectedSoldier;
UINT16 usOldHandItem = pSoldier->inv[HANDPOS].usItem;
SwapHandItems( pSoldier );
pSoldier->ReLoadSoldierAnimationDueToHandItemChange( usOldHandItem, pSoldier->inv[HANDPOS].usItem );
@@ -7825,7 +7825,7 @@ void HandleTBSwapGunsling( void )
if ( gusSelectedSoldier != NOBODY && UsingNewInventorySystem() == true)
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
pSoldier->SwitchWeapons( );
}
}
@@ -7833,7 +7833,7 @@ void HandleTBSwapKnife( void )
{
if ( gusSelectedSoldier != NOBODY && UsingNewInventorySystem() == true)
{
SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE *pSoldier = gusSelectedSoldier;
pSoldier->SwitchWeapons( TRUE );
}
}
@@ -7841,7 +7841,7 @@ void HandleTBSwapSidearm( void )
{
if ( gusSelectedSoldier != NOBODY && UsingNewInventorySystem() == true)
{
SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE *pSoldier = gusSelectedSoldier;
pSoldier->SwitchWeapons( FALSE, TRUE );
}
}
@@ -7941,7 +7941,7 @@ void HandleTBToggleStealth( void )
}
void HandleTBReload( void )
{
AutoReload( MercPtrs[ gusSelectedSoldier ] );
AutoReload( gusSelectedSoldier );
}
void HandleTBReloadAll( void )
{
@@ -8242,19 +8242,19 @@ void HandleTBToggleTrapNetworkView( void )
void HandleTBGotoHigherStance( void )
{
if ( (gusSelectedSoldier != NOBODY) && ( gpItemPointer == NULL ) )
GotoHeigherStance(MercPtrs[ gusSelectedSoldier ]);
GotoHeigherStance(gusSelectedSoldier);
}
void HandleTBGotoLowerStance( void )
{
if ( (gusSelectedSoldier != NOBODY) && ( gpItemPointer == NULL ) )
GotoLowerStance( MercPtrs[ gusSelectedSoldier ] );
GotoLowerStance( gusSelectedSoldier );
}
void HandleTBLocateNextMerc( void )
{
UINT16 bID;
if ( gusSelectedSoldier != NOBODY )
{ //Select next merc
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
bID = FindNextMercInTeamPanel( gusSelectedSoldier, FALSE, FALSE );
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
// Center to guy....
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
@@ -8265,7 +8265,7 @@ void HandleTBLocatePrevMerc( void )
UINT16 bID;
if ( gusSelectedSoldier != NOBODY )
{
bID = FindPrevActiveAndAliveMerc( MercPtrs[ gusSelectedSoldier ], TRUE, TRUE );
bID = FindPrevActiveAndAliveMerc( gusSelectedSoldier, TRUE, TRUE );
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
// Center to guy....
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
@@ -8338,7 +8338,7 @@ void HandleTBDropBackpacks( void )
//if( UsingNewInventorySystem() && gusSelectedSoldier != NOBODY )
if( UsingNewInventorySystem() )
{
//SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
//SOLDIERTYPE *pSoldier = gusSelectedSoldier;
SOLDIERTYPE *pTeamSoldier;
UINT16 ubLoop;
@@ -8376,7 +8376,7 @@ void HandleTBPickUpBackpacks( void )
//if( UsingNewInventorySystem() && gusSelectedSoldier != NOBODY )
if( UsingNewInventorySystem() )
{
//SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
//SOLDIERTYPE *pSoldier = gusSelectedSoldier;
SOLDIERTYPE *pTeamSoldier;
UINT16 ubLoop;
@@ -8411,7 +8411,7 @@ void HandleTBPickUpBackpacks( void )
void HandleTBSoldierRun( void )
{
SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
SOLDIERTYPE *pSoldier = gusSelectedSoldier;
if ( pSoldier->flags.uiStatusFlags & ( SOLDIER_DRIVER ) )
{
pSoldier = GetSoldierStructureForVehicle( pSoldier->iVehicleId );
@@ -8861,7 +8861,7 @@ void HandleTacticalStoreInvItem( void )
UINT16 APTotalCost = 0;
if( gusSelectedSoldier != NOBODY )
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
else
return;
@@ -8934,7 +8934,7 @@ void HandleTacticalTakeInvItem( INT32 iType )
}
if( gusSelectedSoldier != NOBODY )
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
else
return;
@@ -9044,7 +9044,7 @@ void HandleTacticalDropItem( UINT8 ubSlot )
UINT16 APTotalCost = 0;
if( gusSelectedSoldier != NOBODY )
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
else
return;
@@ -9069,7 +9069,7 @@ void HandleTacticalTakeItem( void )
SOLDIERTYPE *pSoldier;
if( gusSelectedSoldier != NOBODY )
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
else
return;
@@ -9108,7 +9108,7 @@ void HandleTacticalReload()
INT16 bAPs = 0;
if (gusSelectedSoldier != NOBODY)
pSoldier = MercPtrs[gusSelectedSoldier];
pSoldier = gusSelectedSoldier;
else
return;
@@ -9579,10 +9579,10 @@ void HandleTBSkillsMenu(void)
{
TraitsMenu(usMapPos);
}
else if (gusSelectedSoldier != NOBODY && MercPtrs[gusSelectedSoldier] && !TileIsOutOfBounds(MercPtrs[gusSelectedSoldier]->sGridNo))
else if (gusSelectedSoldier != NOBODY && gusSelectedSoldier && !TileIsOutOfBounds(gusSelectedSoldier->sGridNo))
{
LocateGridNo(MercPtrs[gusSelectedSoldier]->sGridNo);
TraitsMenu(MercPtrs[gusSelectedSoldier]->sGridNo);
LocateGridNo(gusSelectedSoldier->sGridNo);
TraitsMenu(gusSelectedSoldier->sGridNo);
}
}
@@ -9606,7 +9606,7 @@ void HandleTBPickUpBackpacks(BOOLEAN fAll)
if (gusSelectedSoldier != NOBODY)
{
pSoldier = MercPtrs[gusSelectedSoldier];
pSoldier = gusSelectedSoldier;
}
INT16 sAPCost = APBPConstants[AP_BACK_PACK];
+1 -1
View File
@@ -364,7 +364,7 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos, BOOLEA
// If we are in realtime, follow!
if ( ( !( gTacticalStatus.uiFlags & INCOMBAT ) ) )
{
if ( ( gAnimControl[ MercPtrs[ gusSelectedSoldier ]->usAnimState ].uiFlags & ANIM_STATIONARY ) )
if ( ( gAnimControl[ gusSelectedSoldier->usAnimState ].uiFlags & ANIM_STATIONARY ) )
{
if ( gUITargetShotWaiting )
{
+6 -6
View File
@@ -4642,16 +4642,16 @@ void DebugSoldierPage3( )
// OPIONION OF SELECTED MERC
if ( gusSelectedSoldier != NOBODY && pSoldier->ubProfile != NO_PROFILE && (
gMercProfiles[MercPtrs[gusSelectedSoldier]->ubProfile].Type == PROFILETYPE_AIM ||
gMercProfiles[MercPtrs[gusSelectedSoldier]->ubProfile].Type == PROFILETYPE_MERC ||
gMercProfiles[MercPtrs[gusSelectedSoldier]->ubProfile].Type == PROFILETYPE_RPC ||
gMercProfiles[MercPtrs[gusSelectedSoldier]->ubProfile].Type == PROFILETYPE_IMP ) )
gMercProfiles[gusSelectedSoldier->ubProfile].Type == PROFILETYPE_AIM ||
gMercProfiles[gusSelectedSoldier->ubProfile].Type == PROFILETYPE_MERC ||
gMercProfiles[gusSelectedSoldier->ubProfile].Type == PROFILETYPE_RPC ||
gMercProfiles[gusSelectedSoldier->ubProfile].Type == PROFILETYPE_IMP ) )
{
SetFontShade(LARGEFONT1, FONT_SHADE_GREEN);
gprintf( 0, LINE_HEIGHT * ubLine, L"NPC Opinion:");
SetFontShade(LARGEFONT1, FONT_SHADE_NEUTRAL);
if (OKToCheckOpinion(MercPtrs[ gusSelectedSoldier ]->ubProfile))
gprintf( 150, LINE_HEIGHT * ubLine, L"%d", gMercProfiles[ pSoldier->ubProfile ].bMercOpinion[ MercPtrs[ gusSelectedSoldier ]->ubProfile ] );
if (OKToCheckOpinion(gusSelectedSoldier->ubProfile))
gprintf( 150, LINE_HEIGHT * ubLine, L"%d", gMercProfiles[ pSoldier->ubProfile ].bMercOpinion[ gusSelectedSoldier->ubProfile ] );
ubLine++;
}
}
+3 -6
View File
@@ -4387,7 +4387,7 @@ void HandleExplosionWarningAnimations( )
// show focus area if skill is active
if ( gusSelectedSoldier != NOBODY )
{
SOLDIERTYPE* pSoldier = MercPtrs[gusSelectedSoldier];
SOLDIERTYPE* pSoldier = gusSelectedSoldier;
if ( pSoldier->bActive && pSoldier->bInSector)
{
@@ -5620,10 +5620,8 @@ void FireFragmentsTrapGun( SOLDIERTYPE* pThrower, INT32 gridno, INT16 sZ, OBJECT
void HavePersonAtGridnoStop( UINT32 sGridNo )
{
UINT8 ubID;
//Sewe if there is a person at the gridno
ubID = WhoIsThere2( sGridNo, 0 );
SoldierID ubID = WhoIsThere2( sGridNo, 0 );
//is it a valid person
if ( (ubID != NOBODY) && (MercPtrs[ ubID ]->bTeam == gbPlayerNum) )
@@ -5813,8 +5811,7 @@ void HandleSwitchToOpenFortifiedDoor( UINT32 sGridNo )
void HandleSeeingPowerGenFan( UINT32 sGridNo )
{
// INT8 bID;
UINT8 ubPerson;
SoldierID ubPerson;
BOOLEAN fFanIsStopped;
BOOLEAN fFanHasBeenStopped;
SOLDIERTYPE *pSoldier;
+2 -2
View File
@@ -505,7 +505,7 @@ void LogMouseOverInteractiveTile( INT32 sGridNo )
}
// Also, don't allow for mercs who are on upper level...
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->pathing.bLevel == 1 )
if ( gusSelectedSoldier != NOBODY && gusSelectedSoldier->pathing.bLevel == 1 )
{
return;
}
@@ -789,7 +789,7 @@ BOOLEAN RefineLogicOnStruct( INT32 sGridNo, LEVELNODE *pNode )
return( FALSE );
}
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->ubBodyType == ROBOTNOWEAPON )
if ( gusSelectedSoldier != NOBODY && gusSelectedSoldier->ubBodyType == ROBOTNOWEAPON )
{
return( FALSE );
}
+1 -1
View File
@@ -567,7 +567,7 @@ void HandleOverheadMap( )
if( !gfEditMode && !gfTacticalPlacementGUIActive && gusSelectedSoldier != NOBODY )
{
pSoldier = MercPtrs[ gusSelectedSoldier ];
pSoldier = gusSelectedSoldier;
DisplayMercNameInOverhead( pSoldier );
}
+2 -2
View File
@@ -1069,7 +1069,7 @@ inline UINT16 * GetShadeTable(LEVELNODE * pNode, SOLDIERTYPE * pSoldier, SOLDIER
SOLDIERTYPE * pSelSoldier;
if (gusSelectedSoldier != NOBODY)
{
pSelSoldier = MercPtrs[gusSelectedSoldier];
pSelSoldier = gusSelectedSoldier;
}
else
{
@@ -1149,7 +1149,7 @@ inline UINT16 * GetShadeTable(LEVELNODE * pNode, SOLDIERTYPE * pSoldier, SOLDIER
}
//if ( gusSelectedSoldier != NOBODY )
//{
// pSelSoldier = MercPtrs[ gusSelectedSoldier ];
// pSelSoldier = gusSelectedSoldier;
// Shade differently depending on visiblity
// if ( pSoldier->bVisible == 0 || ( pSelSoldier->aiData.bOppList[ pSoldier->ubID ] == 0 ) )
// {
+1 -1
View File
@@ -3291,7 +3291,7 @@ BOOLEAN LoadWorld(const STR8 puiFilename, FLOAT* pMajorMapVersion, UINT8* pMinor
// CHECK IF OUR SELECTED GUY IS GONE!
if(gusSelectedSoldier != NOBODY)
{
if(MercPtrs[gusSelectedSoldier]->bActive == FALSE)
if(gusSelectedSoldier->bActive == FALSE)
gusSelectedSoldier = NOBODY;
}
AdjustSoldierCreationStartValues();