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