diff --git a/ModularizedTacticalAI/src/AbstractPlanFactory.cpp b/ModularizedTacticalAI/src/AbstractPlanFactory.cpp index f22c4c8a..accd9113 100644 --- a/ModularizedTacticalAI/src/AbstractPlanFactory.cpp +++ b/ModularizedTacticalAI/src/AbstractPlanFactory.cpp @@ -39,7 +39,7 @@ namespace AI if(i.event_type_ == AIInputData::auditive_event) return os<<"sound: "<ubID<<" was seen at "<ubID.i<<" was seen at "<bTeam = (INT8) cnt; + cnt2->bTeam = (INT8) cnt; } } @@ -3962,7 +3961,7 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld ) #ifdef JA2UB if ( pSoldierOld->ubProfile == MORRIS_UB ) { - INT16 bSoldierID; + SoldierID bSoldierID; SOLDIERTYPE* pOther = FindSoldierByProfileID( MORRIS_UB, FALSE ); if ( pOther ) { @@ -3975,10 +3974,10 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld ) bSoldierID = RandomSoldierIdFromNewMercsOnPlayerTeam(); //if there is any - if( bSoldierID != -1 ) + if( bSoldierID != NOBODY ) { //say the MORRIS dead quote - TacticalCharacterDialogue( &Menptr[ bSoldierID ], QUOTE_LEARNED_TO_HATE_ON_TEAM_WONT_RENEW ); + TacticalCharacterDialogue( bSoldierID, QUOTE_LEARNED_TO_HATE_ON_TEAM_WONT_RENEW ); } } // Ja25no queen @@ -6860,10 +6859,8 @@ BOOLEAN WeSawSomeoneThisTurn( ) void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd ) { // WDS - make number of mercenaries, etc. be configurable - // UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 }; - std::vector ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0); + SoldierID ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = {}; UINT16 ubNumMercs = 0; - UINT16 ubChosenMerc; SOLDIERTYPE *pTeamSoldier; // Loop through all our guys and randomly say one from someone in our sector @@ -6878,7 +6875,7 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd ) // Add guy if he's a candidate... if ( OK_INSECTOR_MERC( pTeamSoldier ) && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep ) { - ubMercsInSector[ ubNumMercs ] = (UINT16)cnt; + ubMercsInSector[ ubNumMercs ] = cnt; ubNumMercs++; } } @@ -6886,9 +6883,9 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd ) // If we are > 0 if ( ubNumMercs > 0 ) { - ubChosenMerc = ubMercsInSector[ (UINT16)Random( ubNumMercs ) ]; + SoldierID ubChosenMerc = ubMercsInSector[ (UINT16)Random( ubNumMercs ) ]; - MercPtrs[ ubChosenMerc ]->DoMercBattleSound( (UINT8)iBattleSnd ); + ubChosenMerc->DoMercBattleSound( (UINT8)iBattleSnd ); } } @@ -7945,10 +7942,9 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated ) void CycleThroughKnownEnemies( BOOLEAN backward ) { // static to indicate last position we were at: - SOLDIERTYPE *pSoldier; - static BOOLEAN fFirstTime = TRUE; - static UINT16 usStartToLook; - UINT32 cnt; + static BOOLEAN fFirstTime = TRUE; + static SoldierID usStartToLook; + SoldierID enemy; BOOLEAN fEnemyBehindStartLook = FALSE; BOOLEAN fEnemiesFound = FALSE; @@ -7959,30 +7955,31 @@ void CycleThroughKnownEnemies( BOOLEAN backward ) if(backward) usStartToLook = TOTAL_SOLDIERS; else - usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; + usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; } - if(backward) - for ( cnt = TOTAL_SOLDIERS-1 , pSoldier = MercPtrs[ cnt ]; cnt >= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt--, pSoldier-- ) + if (backward) + { + for ( enemy = TOTAL_SOLDIERS-1; enemy >= gTacticalStatus.Team[ gbPlayerNum ].bLastID; --enemy ) { // try to find first active, OK enemy - if ( pSoldier->bActive && pSoldier->bInSector && !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum) && (pSoldier->stats.bLife > 0) ) + if ( enemy->bActive && enemy->bInSector && !enemy->aiData.bNeutral && (enemy->bSide != gbPlayerNum) && (enemy->stats.bLife > 0) ) { - if ( pSoldier->bVisible != -1 ) + if ( enemy->bVisible != -1 ) { fEnemiesFound = TRUE; // If we are < ok start, this is the one! - if ( cnt < usStartToLook ) + if ( enemy < usStartToLook ) { - usStartToLook = (UINT16)cnt; + usStartToLook = enemy; // Locate to! //LocateSoldier( pSoldier->ubID, 1 ); //ATE: Change to Slide To... - SlideTo( pSoldier->ubID, SETANDREMOVEPREVIOUSLOCATOR ); + SlideTo( enemy, SETANDREMOVEPREVIOUSLOCATOR ); return; } else @@ -7992,31 +7989,34 @@ void CycleThroughKnownEnemies( BOOLEAN backward ) } } } + } else - for ( cnt = gTacticalStatus.Team[ gbPlayerNum ].bLastID, pSoldier = MercPtrs[ cnt ]; cnt < TOTAL_SOLDIERS; cnt++, pSoldier++ ) { - // try to find first active, OK enemy - if ( pSoldier->bActive && pSoldier->bInSector && !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum) && (pSoldier->stats.bLife > 0) ) + for ( enemy = gTacticalStatus.Team[gbPlayerNum].bLastID; enemy < TOTAL_SOLDIERS; ++enemy ) { - if ( pSoldier->bVisible != -1 ) + // try to find first active, OK enemy + if ( enemy->bActive && enemy->bInSector && !enemy->aiData.bNeutral && (enemy->bSide != gbPlayerNum) && (enemy->stats.bLife > 0) ) { - fEnemiesFound = TRUE; - - // If we are > ok start, this is the one! - if ( cnt > usStartToLook ) + if (enemy->bVisible != -1) { - usStartToLook = (UINT16)cnt; + fEnemiesFound = TRUE; - // Locate to! - //LocateSoldier( pSoldier->ubID, 1 ); + // If we are > ok start, this is the one! + if (enemy > usStartToLook) + { + usStartToLook = enemy; - //ATE: Change to Slide To... - SlideTo( pSoldier->ubID, SETANDREMOVEPREVIOUSLOCATOR ); - return; - } - else - { - fEnemyBehindStartLook = TRUE; + // Locate to! + //LocateSoldier( pSoldier->ubID, 1 ); + + //ATE: Change to Slide To... + SlideTo(enemy, SETANDREMOVEPREVIOUSLOCATOR); + return; + } + else + { + fEnemyBehindStartLook = TRUE; + } } } } @@ -8038,39 +8038,34 @@ void CycleThroughKnownEnemies( BOOLEAN backward ) } else { - usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; - - CycleThroughKnownEnemies( ); - } + usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; + CycleThroughKnownEnemies( ); + } } } void CycleVisibleEnemies( SOLDIERTYPE *pSrcSoldier ) { - // static to indicate last position we were at: - SOLDIERTYPE *pSoldier; - UINT16 usStartToLook; - UINT32 cnt; + SoldierID enemy; + SoldierID usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; - usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; - - for ( cnt = gTacticalStatus.Team[ gbPlayerNum ].bLastID, pSoldier = MercPtrs[ cnt ]; cnt < TOTAL_SOLDIERS; cnt++, pSoldier++ ) + for ( enemy = gTacticalStatus.Team[ gbPlayerNum ].bLastID; enemy < TOTAL_SOLDIERS; ++enemy ) { // try to find first active, OK enemy - if ( pSoldier->bActive && pSoldier->bInSector && !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum) && (pSoldier->stats.bLife > 0) ) + if ( enemy->bActive && enemy->bInSector && !enemy->aiData.bNeutral && (enemy->bSide != gbPlayerNum) && (enemy->stats.bLife > 0) ) { - if ( pSrcSoldier->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY ) + if ( pSrcSoldier->aiData.bOppList[ enemy ] == SEEN_CURRENTLY ) { // If we are > ok start, this is the one! - if ( cnt > pSrcSoldier->ubLastEnemyCycledID ) + if ( enemy > pSrcSoldier->ubLastEnemyCycledID ) { - pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt; + pSrcSoldier->ubLastEnemyCycledID = enemy; //ATE: Change to Slide To... - SlideTo( pSoldier->ubID, SETANDREMOVEPREVIOUSLOCATOR ); + SlideTo( enemy, SETANDREMOVEPREVIOUSLOCATOR ); - ChangeInterfaceLevel( pSoldier->pathing.bLevel ); + ChangeInterfaceLevel( enemy->pathing.bLevel ); return; } } @@ -8082,58 +8077,51 @@ void CycleVisibleEnemies( SOLDIERTYPE *pSrcSoldier ) usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; - for ( cnt = gTacticalStatus.Team[ gbPlayerNum ].bLastID, pSoldier = MercPtrs[ cnt ]; cnt < TOTAL_SOLDIERS; cnt++, pSoldier++ ) + for ( enemy = gTacticalStatus.Team[ gbPlayerNum ].bLastID; enemy < TOTAL_SOLDIERS; ++enemy ) { // try to find first active, OK enemy - if ( pSoldier->bActive && pSoldier->bInSector && !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum) && (pSoldier->stats.bLife > 0) ) + if (enemy->bActive && enemy->bInSector && !enemy->aiData.bNeutral && (enemy->bSide != gbPlayerNum) && (enemy->stats.bLife > 0) ) { - if ( pSrcSoldier->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY ) + if ( pSrcSoldier->aiData.bOppList[ enemy ] == SEEN_CURRENTLY ) { // If we are > ok start, this is the one! - if ( cnt > pSrcSoldier->ubLastEnemyCycledID ) + if ( enemy > pSrcSoldier->ubLastEnemyCycledID ) { - pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt; + pSrcSoldier->ubLastEnemyCycledID = enemy; //ATE: Change to Slide To... - SlideTo( pSoldier->ubID, SETANDREMOVEPREVIOUSLOCATOR ); + SlideTo(enemy, SETANDREMOVEPREVIOUSLOCATOR ); - ChangeInterfaceLevel( pSoldier->pathing.bLevel ); + ChangeInterfaceLevel( enemy->pathing.bLevel ); return; } } } } - - } void CycleVisibleEnemiesBackward( SOLDIERTYPE *pSrcSoldier ) { - // static to indicate last position we were at: - SOLDIERTYPE *pSoldier; - UINT16 usStartToLook; - UINT32 cnt; + SoldierID enemy; + SoldierID usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; - usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; - -// for ( cnt = gTacticalStatus.Team[ gbPlayerNum ].bLastID, pSoldier = MercPtrs[ cnt ]; cnt < TOTAL_SOLDIERS; cnt++, pSoldier++ ) - for ( cnt = TOTAL_SOLDIERS-1, pSoldier = MercPtrs[ cnt ]; cnt >= gTacticalStatus.Team[ gbPlayerNum ].bLastID ; cnt--, pSoldier-- ) + for ( enemy = TOTAL_SOLDIERS-1; enemy >= gTacticalStatus.Team[ gbPlayerNum ].bLastID ; --enemy ) { // try to find first active, OK enemy - if ( pSoldier->bActive && pSoldier->bInSector && !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum) && (pSoldier->stats.bLife > 0) ) + if ( enemy->bActive && enemy->bInSector && !enemy->aiData.bNeutral && (enemy->bSide != gbPlayerNum) && (enemy->stats.bLife > 0) ) { - if ( pSrcSoldier->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY ) + if ( pSrcSoldier->aiData.bOppList[ enemy ] == SEEN_CURRENTLY ) { // If we are > ok start, this is the one! - if ( cnt < pSrcSoldier->ubLastEnemyCycledID ) + if ( enemy < pSrcSoldier->ubLastEnemyCycledID ) { - pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt; + pSrcSoldier->ubLastEnemyCycledID = enemy; //ATE: Change to Slide To... - SlideTo( pSoldier->ubID, SETANDREMOVEPREVIOUSLOCATOR ); + SlideTo( enemy, SETANDREMOVEPREVIOUSLOCATOR ); - ChangeInterfaceLevel( pSoldier->pathing.bLevel ); + ChangeInterfaceLevel( enemy->pathing.bLevel ); return; } } @@ -8145,24 +8133,23 @@ void CycleVisibleEnemiesBackward( SOLDIERTYPE *pSrcSoldier ) usStartToLook = gTacticalStatus.Team[ gbPlayerNum ].bLastID; - //for ( cnt = gTacticalStatus.Team[ gbPlayerNum ].bLastID, pSoldier = MercPtrs[ cnt ]; cnt >= 0; cnt--, pSoldier-- ) - for ( cnt = TOTAL_SOLDIERS-1, pSoldier = MercPtrs[ cnt ]; cnt >= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt--, pSoldier-- ) + for ( enemy = TOTAL_SOLDIERS-1; enemy >= gTacticalStatus.Team[ gbPlayerNum ].bLastID; --enemy ) { // try to find first active, OK enemy - if ( pSoldier->bActive && pSoldier->bInSector && !pSoldier->aiData.bNeutral && (pSoldier->bSide != gbPlayerNum) && (pSoldier->stats.bLife > 0) ) + if ( enemy->bActive && enemy->bInSector && !enemy->aiData.bNeutral && (enemy->bSide != gbPlayerNum) && (enemy->stats.bLife > 0) ) { - if ( pSrcSoldier->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY ) + if ( pSrcSoldier->aiData.bOppList[ enemy ] == SEEN_CURRENTLY ) { // If we are > ok start, this is the one! - if ( cnt < pSrcSoldier->ubLastEnemyCycledID ) + if ( enemy < pSrcSoldier->ubLastEnemyCycledID ) { - pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt; + pSrcSoldier->ubLastEnemyCycledID = enemy; //ATE: Change to Slide To... - SlideTo( pSoldier->ubID, SETANDREMOVEPREVIOUSLOCATOR ); + SlideTo( enemy, SETANDREMOVEPREVIOUSLOCATOR ); - ChangeInterfaceLevel( pSoldier->pathing.bLevel ); + ChangeInterfaceLevel( enemy->pathing.bLevel ); return; } } @@ -10492,8 +10479,7 @@ BOOLEAN HostileCreaturesPresent() void HandleCreatureTenseQuote( ) { // WDS - make number of mercenaries, etc. be configurable - // UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 }; - std::vector ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0); + SoldierID ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = {}; UINT16 ubNumMercs = 0; UINT16 ubChosenMerc; SOLDIERTYPE *pTeamSoldier; @@ -10523,7 +10509,7 @@ void HandleCreatureTenseQuote( ) // Add guy if he's a candidate... if ( OK_INSECTOR_MERC( pTeamSoldier ) && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep ) { - ubMercsInSector[ ubNumMercs ] = (UINT16)cnt; + ubMercsInSector[ ubNumMercs ] = cnt; ubNumMercs++; } } @@ -10533,7 +10519,7 @@ void HandleCreatureTenseQuote( ) { ubChosenMerc = (UINT16)Random( ubNumMercs ); - DoCreatureTensionQuote ( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ] ); + DoCreatureTensionQuote ( ubMercsInSector[ ubChosenMerc ] ); } // Adjust delay.... diff --git a/Tactical/Overhead.h b/Tactical/Overhead.h index fc89d207..114c4053 100644 --- a/Tactical/Overhead.h +++ b/Tactical/Overhead.h @@ -69,7 +69,7 @@ struct TacticalStatusType INT8 fPanicFlags; INT32 sPanicTriggerGridNoUnused; INT16 sHandGrid; - UINT16 ubSpottersCalledForBy; + SoldierID ubSpottersCalledForBy; SoldierID ubTheChosenOne; UINT32 uiTimeOfLastInput; UINT32 uiTimeSinceDemoOn; diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index 30547a63..be63bdff 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -992,7 +992,7 @@ SOLDIERTYPE& SOLDIERTYPE::operator=(const OLDSOLDIERTYPE_101& src) this->bRegenBoostersUsedToday = src.bRegenBoostersUsedToday; this->bNumPelletsHitBy = src.bNumPelletsHitBy; this->sSkillCheckGridNo = src.sSkillCheckGridNo; - this->ubLastEnemyCycledID = src.ubLastEnemyCycledID; + this->ubLastEnemyCycledID = static_cast( src.ubLastEnemyCycledID ); this->ubPrevSectorID = src.ubPrevSectorID; this->ubNumTilesMovesSinceLastForget = src.ubNumTilesMovesSinceLastForget; diff --git a/Tactical/Soldier Control.h b/Tactical/Soldier Control.h index 473da2a0..3bba03d3 100644 --- a/Tactical/Soldier Control.h +++ b/Tactical/Soldier Control.h @@ -1453,7 +1453,7 @@ public: INT8 bRegenBoostersUsedToday; // Flugente: not used anymore! INT8 bNumPelletsHitBy; INT32 sSkillCheckGridNo; - UINT16 ubLastEnemyCycledID; + SoldierID ubLastEnemyCycledID; UINT8 ubPrevSectorID; UINT8 ubNumTilesMovesSinceLastForget; diff --git a/Tactical/TeamTurns.cpp b/Tactical/TeamTurns.cpp index efac8945..48488f6d 100644 --- a/Tactical/TeamTurns.cpp +++ b/Tactical/TeamTurns.cpp @@ -107,7 +107,7 @@ BOOLEAN InterruptsAllowed = TRUE; BOOLEAN gfHiddenInterrupt = FALSE; SoldierID gubLastInterruptedGuy = NOBODY; -extern UINT16 gsWhoThrewRock; +extern SoldierID gsWhoThrewRock; extern UINT8 gubSightFlags; typedef struct @@ -115,7 +115,7 @@ typedef struct UINT16 ubOutOfTurnPersons; SoldierID InterruptOnlyGuynum; - INT16 sWhoThrewRock; + SoldierID sWhoThrewRock; BOOLEAN InterruptsAllowed; BOOLEAN fHiddenInterrupt; SoldierID ubLastInterruptedGuy; diff --git a/Tactical/opplist.cpp b/Tactical/opplist.cpp index b528e648..3d61980b 100644 --- a/Tactical/opplist.cpp +++ b/Tactical/opplist.cpp @@ -248,7 +248,7 @@ INT8 gbSmellStrength[3] = }; -UINT16 gsWhoThrewRock = NOBODY; +SoldierID gsWhoThrewRock = NOBODY; // % values of sighting distance at various light levels //DBrot: use gGameExternalOptions.ubBrightnessVisionMod instead @@ -1056,7 +1056,7 @@ void OurTeamRadiosRandomlyAbout(UINT16 ubAbout) -INT16 TeamNoLongerSeesMan( UINT8 ubTeam, SOLDIERTYPE *pOpponent, UINT16 ubExcludeID, INT8 bIteration ) +INT16 TeamNoLongerSeesMan( UINT8 ubTeam, SOLDIERTYPE *pOpponent, SoldierID ubExcludeID, INT8 bIteration ) { SOLDIERTYPE *pMate; SoldierID bLoop = gTacticalStatus.Team[ubTeam].bFirstID; @@ -1833,7 +1833,7 @@ void HandleManNoLongerSeen( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent, INT { // check if I was the only one who was seeing this guy (exlude ourselves) // THIS MUST HAPPEN EVEN FOR ENEMIES, TO MAKE THEIR PUBLIC opplist DECAY! - if (TeamNoLongerSeesMan(pSoldier->bTeam,pOpponent,pSoldier->ubID, 0 )) + if (TeamNoLongerSeesMan(pSoldier->bTeam, pOpponent, pSoldier->ubID, 0)) { #ifdef TESTOPPLIST DebugMsg( TOPIC_JA2OPPLIST, DBG_LEVEL_3, String( "TeamNoLongerSeesMan: ID %d(%S) to ID %d",pSoldier->ubID,pSoldier->name,pOpponent->ubID) ); @@ -5720,7 +5720,7 @@ void ProcessNoise( SoldierID ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubT UINT8 ubLoudestEffVolume, ubEffVolume; // UINT8 ubPlayVolume; UINT8 ubSourceTerrType; - UINT16 ubSource; + SoldierID ubSource; INT8 bTellPlayer = FALSE, bHeard, bSeen; SoldierID ubHeardLoudestBy = NOBODY; UINT8 ubNoiseDir = 0xff, ubLoudestNoiseDir = 0xff; @@ -7718,9 +7718,9 @@ void SetWatchedLocAsUsed( UINT16 ubID, INT32 sGridNo, INT8 bLevel ) BOOLEAN WatchedLocLocationIsEmpty( INT32 sGridNo, INT8 bLevel, INT8 bTeam ) { // look to see if there is anyone near the watched loc who is not on this team - UINT16 ubID; - INT32 sTempGridNo; - INT16 sX, sY; + SoldierID ubID; + INT32 sTempGridNo; + INT16 sX, sY; for ( sY = -WATCHED_LOC_RADIUS; sY <= WATCHED_LOC_RADIUS; sY++ ) { @@ -7732,7 +7732,7 @@ BOOLEAN WatchedLocLocationIsEmpty( INT32 sGridNo, INT8 bLevel, INT8 bTeam ) continue; } ubID = WhoIsThere2( sTempGridNo, bLevel ); - if ( ubID != NOBODY && MercPtrs[ ubID ]->bTeam != bTeam ) + if ( ubID != NOBODY && ubID->bTeam != bTeam ) { return( FALSE ); } diff --git a/TacticalAI/AIUtils.cpp b/TacticalAI/AIUtils.cpp index 5ed40f53..e320e442 100644 --- a/TacticalAI/AIUtils.cpp +++ b/TacticalAI/AIUtils.cpp @@ -830,7 +830,8 @@ INT16 RandomFriendWithin(SOLDIERTYPE *pSoldier) { UINT32 uiLoop; UINT16 usMaxDist; - UINT16 ubFriendCount, ubFriendIDs[MAXMERCS], ubFriendID; + UINT16 ubFriendCount; + SoldierID ubFriendIDs[MAXMERCS], ubFriendID; UINT8 ubDirection; UINT8 ubDirsLeft; BOOLEAN fDirChecked[8]; @@ -5929,14 +5930,14 @@ INT32 RandomizeOpponentLocation(INT32 sSpot, SOLDIERTYPE *pOpponent, INT16 sMaxD } // first call PrepareThreatlist to make threat list -UINT16 ClosestKnownThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt) +SoldierID ClosestKnownThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt) { CHECKF(pSoldier); UINT32 uiLoop; INT32 sClosestOpponent = NOWHERE; INT32 iRange, iClosestRange; - UINT16 ubClosestOpponentID = NOBODY; + SoldierID ubClosestOpponentID = NOBODY; // use global defined threat list for (uiLoop = 0; uiLoop < uiThreatCnt; uiLoop++) @@ -5959,14 +5960,14 @@ UINT16 ClosestKnownThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt) } // first call PrepareThreatlist to make threat list -UINT16 ClosestSeenThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt, UINT8 ubMax) +SoldierID ClosestSeenThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt, UINT8 ubMax) { CHECKF(pSoldier); UINT32 uiLoop; INT32 sClosestOpponent = NOWHERE; INT32 iRange, iClosestRange; - UINT16 ubClosestOpponentID = NOBODY; + SoldierID ubClosestOpponentID = NOBODY; // use global defined threat list for (uiLoop = 0; uiLoop < uiThreatCnt; uiLoop++) diff --git a/TacticalAI/NPC.cpp b/TacticalAI/NPC.cpp index fe48412c..a6960b64 100644 --- a/TacticalAI/NPC.cpp +++ b/TacticalAI/NPC.cpp @@ -2909,7 +2909,7 @@ BOOLEAN PCDoesFirstAidOnNPC( UINT8 ubNPC ) void TriggerClosestMercWhoCanSeeNPC( UINT8 ubNPC, NPCQuoteInfo *pQuotePtr ) { // Loop through all mercs, gather closest mercs who can see and trigger one! - UINT16 ubMercsInSector[CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS] = { 0 }; //std::vector would probably be better here + SoldierID ubMercsInSector[CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS] = {}; //std::vector would probably be better here UINT16 ubNumMercs = 0; UINT16 ubChosenMerc; SOLDIERTYPE *pTeamSoldier, *pSoldier; @@ -2929,7 +2929,7 @@ void TriggerClosestMercWhoCanSeeNPC( UINT8 ubNPC, NPCQuoteInfo *pQuotePtr ) // Add guy if he's a candidate... if ( OK_INSECTOR_MERC( pTeamSoldier ) && pTeamSoldier->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY ) { - ubMercsInSector[ ubNumMercs ] = (UINT16)cnt; + ubMercsInSector[ ubNumMercs ] = cnt; ubNumMercs++; } } @@ -2945,11 +2945,11 @@ void TriggerClosestMercWhoCanSeeNPC( UINT8 ubNPC, NPCQuoteInfo *pQuotePtr ) // If 64, do something special if ( pQuotePtr->ubTriggerNPCRec == QUOTE_RESPONSE_TO_MIGUEL_SLASH_QUOTE_MERC_OR_RPC_LETGO ) { - TacticalCharacterDialogueWithSpecialEvent( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ], pQuotePtr->ubTriggerNPCRec, DIALOGUE_SPECIAL_EVENT_PCTRIGGERNPC, 57, 6 ); + TacticalCharacterDialogueWithSpecialEvent( ubMercsInSector[ ubChosenMerc ], pQuotePtr->ubTriggerNPCRec, DIALOGUE_SPECIAL_EVENT_PCTRIGGERNPC, 57, 6 ); } else { - TacticalCharacterDialogue( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ], pQuotePtr->ubTriggerNPCRec ); + TacticalCharacterDialogue( ubMercsInSector[ ubChosenMerc ], pQuotePtr->ubTriggerNPCRec ); } } diff --git a/TacticalAI/ai.h b/TacticalAI/ai.h index 72af7137..3dd5ca2a 100644 --- a/TacticalAI/ai.h +++ b/TacticalAI/ai.h @@ -315,8 +315,8 @@ BOOLEAN AICheckIsFlanking( SOLDIERTYPE *pSoldier ); INT8 CalcMoraleNew(SOLDIERTYPE *pSoldier); UINT32 PrepareThreatlist(SOLDIERTYPE *pSoldier); -UINT16 ClosestSeenThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt, UINT8 ubMax = SEEN_CURRENTLY); // first call PrepareThreatlist to make threat list -UINT16 ClosestKnownThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt); // first call PrepareThreatlist to make threat list +SoldierID ClosestSeenThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt, UINT8 ubMax = SEEN_CURRENTLY); // first call PrepareThreatlist to make threat list +SoldierID ClosestKnownThreatID(SOLDIERTYPE *pSoldier, UINT32 uiThreatCnt); // first call PrepareThreatlist to make threat list BOOLEAN ProneSightCoverAtSpot(SOLDIERTYPE *pSoldier, INT32 sSpot, BOOLEAN fUnlimited); BOOLEAN SightCoverAtSpot(SOLDIERTYPE *pSoldier, INT32 sSpot, BOOLEAN fUnlimited); diff --git a/TileEngine/SmokeEffects.cpp b/TileEngine/SmokeEffects.cpp index 28170ec6..04bc9726 100644 --- a/TileEngine/SmokeEffects.cpp +++ b/TileEngine/SmokeEffects.cpp @@ -204,7 +204,7 @@ INT32 NewSmokeEffect( INT32 sGridNo, UINT16 usItem, INT8 bLevel, SoldierID ubOwn // OJW - 20091027 - Syncronising smoke effect start for multiplayer if (is_networked && is_client) { - SOLDIERTYPE* pSoldier = MercPtrs[ubOwner]; + SOLDIERTYPE* pSoldier = ubOwner; if (pSoldier != NULL) { if (pSoldier->bTeam == 0 || (pSoldier->bTeam == 1 && is_server)) diff --git a/TileEngine/overhead map.cpp b/TileEngine/overhead map.cpp index 14dd2f31..df808584 100644 --- a/TileEngine/overhead map.cpp +++ b/TileEngine/overhead map.cpp @@ -1378,11 +1378,10 @@ void RenderOverheadOverlays() { UINT32 uiDestPitchBYTES; WORLDITEM *pWorldItem; - UINT32 i; SOLDIERTYPE *pSoldier; HVOBJECT hVObject; INT16 sX, sY; - UINT16 end; + SoldierID id, end; UINT16 usLineColor=0; UINT8 *pDestBuf; UINT8 ubPassengers = 0; @@ -1416,10 +1415,10 @@ void RenderOverheadOverlays() || RebelCommand::ShowApproximateEnemyLocations()) marklastenemy = TRUE; - for( i = 0; i < end; ++i ) + for( id = 0; id < end; ++id ) { //First, check to see if the soldier exists and is in the sector. - pSoldier = MercPtrs[ i ]; + pSoldier = id; if( !pSoldier->bActive || !pSoldier->bInSector ) continue; //Soldier is here. Calculate his screen position based on his current gridno. @@ -1695,7 +1694,7 @@ void RenderOverheadOverlays() FLOAT radius_inner = radius - thickness / 2; FLOAT radius_outer = radius + thickness / 2; - for( i = 0 ; i < guiNumWorldItems; ++i ) + for( UINT32 i = 0 ; i < guiNumWorldItems; ++i ) { pWorldItem = &gWorldItems[ i ]; if( !pWorldItem || !pWorldItem->fExists )