mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Use SoldierID
This commit is contained in:
+20
-18
@@ -6731,9 +6731,9 @@ BOOLEAN LoadSavedGame( int ubSavedGameID )
|
||||
|
||||
// player team character fixes
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
for (UINT16 bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++)
|
||||
for (SoldierID bLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++bLoop)
|
||||
{
|
||||
pTeamSoldier=MercPtrs[bLoop];
|
||||
pTeamSoldier = bLoop;
|
||||
|
||||
// silversurfer: added additional check to only remove the flags when there is no boxing activity going on at the moment.
|
||||
// WANNE: This should fix the bug if any merc are still under PC control. This could happen after boxing in SAN MONA.
|
||||
@@ -9277,20 +9277,20 @@ BOOLEAN LoadGeneralInfo( HWFILE hFile )
|
||||
gCamoFace[i].gSnowCamoface = FALSE;
|
||||
}
|
||||
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 bMercID = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
UINT16 bLastTeamID = gTacticalStatus.Team[gbPlayerNum].bLastID;
|
||||
for ( pSoldier = MercPtrs[ bMercID ]; bMercID <= bLastTeamID; ++bMercID,pSoldier++)
|
||||
SoldierID Soldier = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
SoldierID bLastTeamID = gTacticalStatus.Team[gbPlayerNum].bLastID;
|
||||
for ( ; Soldier <= bLastTeamID; ++Soldier)
|
||||
{
|
||||
if ( pSoldier )
|
||||
if ( Soldier )
|
||||
{
|
||||
gCamoFace[pSoldier->ubProfile].gCamoface = ( pSoldier->bCamo > 0 );
|
||||
gCamoFace[pSoldier->ubProfile].gUrbanCamoface = ( pSoldier->urbanCamo > 0 );
|
||||
gCamoFace[pSoldier->ubProfile].gDesertCamoface = ( pSoldier->desertCamo > 0 );
|
||||
gCamoFace[pSoldier->ubProfile].gSnowCamoface = ( pSoldier->snowCamo > 0 );
|
||||
UINT8 profile = Soldier->ubProfile;
|
||||
gCamoFace[profile].gCamoface = ( Soldier->bCamo > 0 );
|
||||
gCamoFace[profile].gUrbanCamoface = ( Soldier->urbanCamo > 0 );
|
||||
gCamoFace[profile].gDesertCamoface = ( Soldier->desertCamo > 0 );
|
||||
gCamoFace[profile].gSnowCamoface = ( Soldier->snowCamo > 0 );
|
||||
|
||||
DeleteSoldierFace( pSoldier );
|
||||
pSoldier->iFaceIndex = InitSoldierFace( pSoldier );
|
||||
DeleteSoldierFace( Soldier );
|
||||
Soldier->iFaceIndex = InitSoldierFace( Soldier );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9511,18 +9511,19 @@ void GetBestPossibleSectorXYZValues( INT16 *psSectorX, INT16 *psSectorY, INT8 *p
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT16 sSoldierCnt;
|
||||
SoldierID sSoldierCnt;
|
||||
SoldierID bLastTeamID;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT16 bLastTeamID;
|
||||
BOOLEAN fFoundAMerc=FALSE;
|
||||
BOOLEAN fFoundAMerc = FALSE;
|
||||
|
||||
// Set locator to first merc
|
||||
sSoldierCnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
|
||||
//loop through all the mercs on the players team to find the one that is not moving
|
||||
for ( pSoldier = MercPtrs[ sSoldierCnt ]; sSoldierCnt <= bLastTeamID; sSoldierCnt++,pSoldier++)
|
||||
for ( ; sSoldierCnt <= bLastTeamID; ++sSoldierCnt )
|
||||
{
|
||||
pSoldier = sSoldierCnt;
|
||||
// test for !NULL (if initilization fails and MercPtrs contains 'NULL's)
|
||||
if( pSoldier && pSoldier->bActive )
|
||||
{
|
||||
@@ -9546,8 +9547,9 @@ void GetBestPossibleSectorXYZValues( INT16 *psSectorX, INT16 *psSectorY, INT8 *p
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
|
||||
//loop through all the mercs and find one that is moving
|
||||
for ( pSoldier = MercPtrs[ sSoldierCnt ]; sSoldierCnt <= bLastTeamID; sSoldierCnt++,pSoldier++)
|
||||
for ( ; sSoldierCnt <= bLastTeamID; ++sSoldierCnt )
|
||||
{
|
||||
pSoldier = sSoldierCnt;
|
||||
if( pSoldier && pSoldier->bActive )
|
||||
{
|
||||
//we found an alive, merc that is not moving
|
||||
|
||||
+11
-19
@@ -1030,10 +1030,7 @@ void DisableFPSOverlay( BOOLEAN fEnable )
|
||||
|
||||
void TacticalScreenLocateToSoldier( )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT16 bLastTeamID;
|
||||
BOOLEAN fPreferedGuyUsed = FALSE;
|
||||
BOOLEAN fPreferedGuyUsed = FALSE;
|
||||
|
||||
if ( gubPreferredInitialSelectedGuy != NOBODY )
|
||||
{
|
||||
@@ -1050,14 +1047,14 @@ void TacticalScreenLocateToSoldier( )
|
||||
if ( !fPreferedGuyUsed )
|
||||
{
|
||||
// Set locator to first merc
|
||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
|
||||
SoldierID Soldier = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
SoldierID bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
for ( ; Soldier <= bLastTeamID; ++Soldier)
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pSoldier ) && OK_INTERRUPT_MERC( pSoldier ) )
|
||||
if ( OK_CONTROLLABLE_MERC( Soldier ) && OK_INTERRUPT_MERC( Soldier ) )
|
||||
{
|
||||
LocateSoldier( pSoldier->ubID, 10 );
|
||||
SelectSoldier( pSoldier->ubID, FALSE, TRUE );
|
||||
LocateSoldier( Soldier, 10 );
|
||||
SelectSoldier( Soldier, FALSE, TRUE );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1075,22 +1072,17 @@ void EnterMapScreen( )
|
||||
|
||||
void UpdateTeamPanelAssignments( )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT16 bLastTeamID;
|
||||
|
||||
// Remove all players
|
||||
RemoveAllPlayersFromSlot( );
|
||||
|
||||
// Set locator to first merc
|
||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
|
||||
SoldierID Soldier = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
SoldierID bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
for ( ; Soldier <= bLastTeamID; ++Soldier)
|
||||
{
|
||||
// Setup team interface
|
||||
CheckForAndAddMercToTeamPanel( pSoldier );
|
||||
CheckForAndAddMercToTeamPanel( Soldier );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -7541,16 +7541,15 @@ void HandleMovingTheEnemiesToBeNearPlayerWhenEnteringComplexMap( )
|
||||
//if the player made a 'noise' going through the gate at the end of the tunnel sector
|
||||
if ( gJa25SaveStruct.uiJa25GeneralFlags & JA_GF__DID_PLAYER_MAKE_SOUND_GOING_THROUGH_TUNNEL_GATE )
|
||||
{
|
||||
UINT8 cnt;
|
||||
|
||||
//
|
||||
//Move some of the enemies to be 'near' them player when the enter the room
|
||||
//
|
||||
|
||||
// Loop through the list and move some of the enemies
|
||||
cnt = gTacticalStatus.Team[ENEMY_TEAM].bFirstID;
|
||||
for ( pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[ENEMY_TEAM].bLastID; cnt++, pSoldier++ )
|
||||
SoldierID cnt = gTacticalStatus.Team[ENEMY_TEAM].bFirstID;
|
||||
for ( ; cnt <= gTacticalStatus.Team[ENEMY_TEAM].bLastID; ++cnt)
|
||||
{
|
||||
pSoldier = cnt;
|
||||
//if the soldier is active,
|
||||
if ( pSoldier->bActive )
|
||||
{
|
||||
@@ -7581,8 +7580,9 @@ void HandleMovingTheEnemiesToBeNearPlayerWhenEnteringComplexMap( )
|
||||
while ( ubNumEnemiesMoved < 3 )
|
||||
{
|
||||
cnt = gTacticalStatus.Team[ENEMY_TEAM].bFirstID;
|
||||
for ( pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[ENEMY_TEAM].bLastID; cnt++, pSoldier++ )
|
||||
for ( ; cnt <= gTacticalStatus.Team[ENEMY_TEAM].bLastID; ++cnt )
|
||||
{
|
||||
pSoldier = cnt;
|
||||
//if the soldier is active,
|
||||
if ( pSoldier->bActive && pSoldier->sGridNo != 15705 && pSoldier->sGridNo != 15712 && pSoldier->sGridNo != 15233 )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user