Operator overloads for accessing SOLDIERTYPE* through SoldierID

This commit is contained in:
Asdow
2024-11-14 00:43:48 +02:00
parent f5b1447646
commit 0103a871cc
+6
View File
@@ -376,6 +376,9 @@ typedef struct
#define COMPARE_PALETTEREP_ID( a, b ) ( strcmp( a, b ) ? FALSE : TRUE ) #define COMPARE_PALETTEREP_ID( a, b ) ( strcmp( a, b ) ? FALSE : TRUE )
struct SOLDIERTYPE;
extern SOLDIERTYPE *MercPtrs[TOTAL_SOLDIERS];
typedef struct SoldierID typedef struct SoldierID
{ {
UINT16 i; UINT16 i;
@@ -386,6 +389,9 @@ typedef struct SoldierID
SoldierID(const UINT16 val = 0) SoldierID(const UINT16 val = 0)
: i(val) : i(val)
{} {}
SOLDIERTYPE* operator->() { return MercPtrs[i]; }
const SOLDIERTYPE* operator->() const { return MercPtrs[i]; }
} SoldierID; } SoldierID;
//inline bool operator==(const SoldierID lhs, const SoldierID rhs) { return lhs.i == rhs.i; } //inline bool operator==(const SoldierID lhs, const SoldierID rhs) { return lhs.i == rhs.i; }