diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index 5aa32012..05cbe6b3 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -274,6 +274,26 @@ UINT32 guiNumMercSlots = 0; SOLDIERTYPE* AwaySlots[ TOTAL_SOLDIERS ]; UINT32 guiNumAwaySlots = 0; +SOLDIERTYPE* SoldierFromID(const SoldierID id) +{ + if (id >= TOTAL_SOLDIERS) + { + return nullptr; + } + + return &Menptr[id.i]; +} + +SOLDIERTYPE* SoldierFromID(const SoldierID id, SOLDIERTYPE* Array[TOTAL_SOLDIERS]) +{ + if (id >= TOTAL_SOLDIERS) + { + return nullptr; + } + + return Array[id.i]; +} + // DEF: changed to have client wait for gPlayerNum assigned from host UINT8 gbPlayerNum = 0; diff --git a/Tactical/Overhead.h b/Tactical/Overhead.h index b3378957..9f123297 100644 --- a/Tactical/Overhead.h +++ b/Tactical/Overhead.h @@ -433,5 +433,8 @@ BOOLEAN IsCivFactionMemberAliveInSector( UINT8 usCivilianGroup ); BOOLEAN IsFreeSlotAvailable( int aTeam ); void AttemptToCapturePlayerSoldiers(); + +SOLDIERTYPE* SoldierFromID(const SoldierID id); +SOLDIERTYPE* SoldierFromID(const SoldierID id, SOLDIERTYPE* Array[TOTAL_SOLDIERS]); #endif