From b9641d4c90759c9fffe1c1f955227349f093d9e7 Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Sun, 17 Nov 2024 20:52:12 +0200 Subject: [PATCH] Convert to SoldierID --- Tactical/Overhead.cpp | 52 +++++++++++++++++++++---------------------- TacticalAI/AIMain.cpp | 9 +++----- TacticalAI/ai.h | 2 +- 3 files changed, 29 insertions(+), 34 deletions(-) diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index db65278d2..77d5ea2b9 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -1508,12 +1508,10 @@ BOOLEAN ExecuteOverhead( ) } else // otherwise determine our target position { - SOLDIERTYPE *pTarget; - UINT16 usSoldierIndex; - usSoldierIndex = WhoIsThere2( pSoldier->aiData.sPendingActionData2, pSoldier->pathing.bLevel ); + SoldierID usSoldierIndex = WhoIsThere2( pSoldier->aiData.sPendingActionData2, pSoldier->pathing.bLevel ); if ( usSoldierIndex != NOBODY ) { - pTarget = MercPtrs[ usSoldierIndex ]; + SOLDIERTYPE* pTarget = usSoldierIndex; // we always need to crouch to prone target if ( gAnimControl[ pTarget->usAnimState ].ubEndHeight == ANIM_PRONE ) @@ -3659,8 +3657,8 @@ void HandlePlayerTeamMemberDeath( SOLDIERTYPE *pSoldier ) { if ( pSoldier->ubAutoBandagingMedic != NOBODY ) { - DebugAI(AI_MSG_INFO, MercPtrs[pSoldier->ubAutoBandagingMedic], String("CancelAIAction: stop autobandaging in HandlePlayerTeamMemberDeath")); - CancelAIAction( MercPtrs[ pSoldier->ubAutoBandagingMedic ], TRUE ); + DebugAI(AI_MSG_INFO, pSoldier->ubAutoBandagingMedic, String("CancelAIAction: stop autobandaging in HandlePlayerTeamMemberDeath")); + CancelAIAction( pSoldier->ubAutoBandagingMedic, TRUE ); } } @@ -5087,7 +5085,7 @@ extern BOOLEAN InternalOkayToAddStructureToWorld( INT32 sBaseGridNo, INT8 bLevel // NB if making changes don't forget to update NewOKDestinationAndDirection BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPeopleToo, INT8 bLevel ) { - UINT16 bPerson; + SoldierID bPerson; STRUCTURE *pStructure; INT16 sDesiredLevel; BOOLEAN fOKCheckStruct; @@ -5112,7 +5110,7 @@ BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPe { if ( pCurrSoldier->bTeam == gbPlayerNum ) { - if ( ( Menptr[ bPerson ].bVisible >= 0) || ( gTacticalStatus.uiFlags & SHOW_ALL_MERCS ) ) + if ( ( bPerson->bVisible >= 0) || ( gTacticalStatus.uiFlags & SHOW_ALL_MERCS ) ) return( FALSE ); // if someone there it's NOT OK } else @@ -5234,7 +5232,7 @@ BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPe // NB if making changes don't forget to update NewOKDestination INT16 NewOKDestinationAndDirection( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, INT8 bDirection, BOOLEAN fPeopleToo, INT8 bLevel ) { - UINT16 bPerson; + SoldierID bPerson; STRUCTURE *pStructure; INT16 sDesiredLevel; BOOLEAN fOKCheckStruct; @@ -5247,7 +5245,7 @@ INT16 NewOKDestinationAndDirection( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, I { if ( pCurrSoldier->bTeam == gbPlayerNum ) { - if ( ( Menptr[ bPerson ].bVisible >= 0) || ( gTacticalStatus.uiFlags & SHOW_ALL_MERCS ) ) + if ( ( bPerson->bVisible >= 0) || ( gTacticalStatus.uiFlags & SHOW_ALL_MERCS ) ) return( FALSE ); // if someone there it's NOT OK } else @@ -5845,7 +5843,7 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub UINT8 ubWallOrientation; BOOLEAN fCheckGivenGridNo = TRUE; UINT8 ubTestDirection; - UINT16 ubWhoIsThere; + SoldierID ubWhoIsThere; // CHECK IF WE WANT TO FORCE GRIDNO TO PERSON if ( psAdjustedGridNo != NULL ) @@ -6151,7 +6149,7 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub INT32 FindAdjacentPunchTarget( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTargetSoldier, INT32 * psAdjustedTargetGridNo, UINT8 * pubDirection ) { INT32 sSpot; - UINT16 ubGuyThere; + SoldierID ubGuyThere; for ( UINT8 cnt = 0; cnt < NUM_WORLD_DIRECTIONS; ++cnt ) { @@ -6221,13 +6219,13 @@ BOOLEAN UIOKMoveDestination( SOLDIERTYPE *pSoldier, INT32 usMapPos ) void HandleTeamServices( UINT8 ubTeamNum ) { - INT32 cnt; - SOLDIERTYPE *pTeamSoldier, *pTargetSoldier; - UINT32 uiPointsUsed; - UINT16 usSoldierIndex; - UINT16 usKitPts; - INT8 bSlot; - BOOLEAN fDone; + INT32 cnt; + SOLDIERTYPE *pTeamSoldier, *pTargetSoldier; + UINT32 uiPointsUsed; + SoldierID usSoldierIndex; + UINT16 usKitPts; + INT8 bSlot; + BOOLEAN fDone; // IF IT'S THE SELECTED GUY, MAKE ANOTHER SELECTED! cnt = gTacticalStatus.Team[ ubTeamNum ].bFirstID; @@ -6246,7 +6244,7 @@ void HandleTeamServices( UINT8 ubTeamNum ) usSoldierIndex = WhoIsThere2( pTeamSoldier->sTargetGridNo, pTeamSoldier->pathing.bLevel ); if ( usSoldierIndex != NOBODY ) { - pTargetSoldier = MercPtrs[ usSoldierIndex ]; + pTargetSoldier = usSoldierIndex; if ( pTargetSoldier->ubServiceCount ) { @@ -6313,11 +6311,11 @@ void HandleTeamServices( UINT8 ubTeamNum ) void HandlePlayerServices( SOLDIERTYPE *pTeamSoldier ) { SOLDIERTYPE *pTargetSoldier; - UINT32 uiPointsUsed; - UINT16 usSoldierIndex; - UINT16 usKitPts; - INT8 bSlot; - BOOLEAN fDone = FALSE; + UINT32 uiPointsUsed; + SoldierID usSoldierIndex; + UINT16 usKitPts; + INT8 bSlot; + BOOLEAN fDone = FALSE; if ( pTeamSoldier->stats.bLife >= OKLIFE && pTeamSoldier->bActive ) { @@ -6330,7 +6328,7 @@ void HandlePlayerServices( SOLDIERTYPE *pTeamSoldier ) if ( usSoldierIndex != NOBODY ) { - pTargetSoldier = MercPtrs[ usSoldierIndex ]; + pTargetSoldier = usSoldierIndex; if ( pTargetSoldier->ubServiceCount ) { @@ -11384,7 +11382,7 @@ void CheckChatPartners() { pSoldier = MercPtrs[ubLoop]; - if ( pSoldier && pSoldier->bVisible && pSoldier->usChatPartnerID != NOBODY && MercPtrs[pSoldier->usChatPartnerID]->bVisible ) + if ( pSoldier && pSoldier->bVisible && pSoldier->usChatPartnerID != NOBODY && pSoldier->usChatPartnerID->bVisible ) { INT16 sScreenX, sScreenY; diff --git a/TacticalAI/AIMain.cpp b/TacticalAI/AIMain.cpp index a0d63c710..f3970d1d6 100644 --- a/TacticalAI/AIMain.cpp +++ b/TacticalAI/AIMain.cpp @@ -1254,13 +1254,10 @@ void FreeUpNPCFromPendingAction( SOLDIERTYPE *pSoldier ) } } -void FreeUpNPCFromAttacking(UINT16 ubID) +void FreeUpNPCFromAttacking(SoldierID ubID) { - SOLDIERTYPE *pSoldier; - - pSoldier = MercPtrs[ubID]; - ActionDone(pSoldier); - pSoldier->pathing.bNeedToLook = TRUE; + ActionDone(ubID); + ubID->pathing.bNeedToLook = TRUE; } void FreeUpNPCFromLoweringGun( SOLDIERTYPE *pSoldier ) diff --git a/TacticalAI/ai.h b/TacticalAI/ai.h index 5f1da3948..a6603ae39 100644 --- a/TacticalAI/ai.h +++ b/TacticalAI/ai.h @@ -220,7 +220,7 @@ BOOLEAN FindRoofClimbingPoints( SOLDIERTYPE * pSoldier, INT16 sDesiredSpot ); INT32 FindSpotMaxDistFromOpponents(SOLDIERTYPE *pSoldier); INT32 FindSweetCoverSpot(SOLDIERTYPE *pSoldier); -void FreeUpNPCFromAttacking(UINT16 ubID); +void FreeUpNPCFromAttacking(SoldierID ubID); void FreeUpNPCFromPendingAction( SOLDIERTYPE * pSoldier ); void FreeUpNPCFromTurning(SOLDIERTYPE *pSoldier, INT8 bLook); void FreeUpNPCFromStanceChange(SOLDIERTYPE *pSoldier );