From 337cf1804f6ae53fcbe71b6016a62da5b33e2faa Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Fri, 15 Nov 2024 01:32:35 +0200 Subject: [PATCH] Update Overhead Types.h --- Tactical/Overhead Types.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Tactical/Overhead Types.h b/Tactical/Overhead Types.h index 4f22eed1..1807979a 100644 --- a/Tactical/Overhead Types.h +++ b/Tactical/Overhead Types.h @@ -392,13 +392,30 @@ typedef struct SoldierID SOLDIERTYPE* operator->() { return MercPtrs[i]; } const SOLDIERTYPE* operator->() const { return MercPtrs[i]; } + inline operator SOLDIERTYPE* () { return MercPtrs[i]; } + inline operator const SOLDIERTYPE*() const { return MercPtrs[i]; } } 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; } +inline bool operator==(const SoldierID lhs, const SoldierID rhs) { return lhs.i == rhs.i; } +inline bool operator==(const SoldierID lhs, const int rhs) { return lhs.i == rhs; } +inline bool operator==(const SoldierID lhs, const UINT32 rhs) { return lhs.i == rhs; } +inline bool operator==(const SoldierID lhs, const UINT16 rhs) { return lhs.i == rhs; } +inline bool operator==(const SoldierID lhs, const INT16 rhs) { return lhs.i == rhs; } +inline bool operator==(const int lhs, const SoldierID rhs) { return lhs == rhs.i; } +inline bool operator==(const UINT16 lhs, const SoldierID rhs) { return lhs == rhs.i; } +inline bool operator==(const INT16 lhs, const SoldierID rhs) { return lhs == rhs.i; } + +inline bool operator!=(const SoldierID lhs, const SoldierID rhs) { return lhs.i != rhs.i; } +inline bool operator!=(const SoldierID lhs, const UINT32 rhs) { return lhs.i != rhs; } +inline bool operator!=(const SoldierID lhs, const UINT16 rhs) { return lhs.i != rhs; } +inline bool operator!=(const int lhs, const SoldierID rhs) { return lhs != rhs.i; } +inline bool operator!=(const UINT32 lhs, const SoldierID rhs) { return lhs != rhs.i; } +inline bool operator!=(const UINT16 lhs, const SoldierID rhs) { return lhs != rhs.i; } +inline bool operator!=(const INT16 lhs, const SoldierID rhs) { return lhs != rhs.i; } inline bool operator<(const SoldierID lhs, const SoldierID rhs) { return lhs.i < rhs.i; } inline bool operator<(const SoldierID lhs, const int rhs) { return lhs.i < rhs; } +inline bool operator<(const SoldierID lhs, UINT16 rhs) { return lhs.i < rhs; } inline bool operator<(const int lhs, const SoldierID rhs) { return lhs < rhs.i; } inline bool operator<(const unsigned int lhs, const SoldierID rhs) { return lhs < rhs.i; } inline bool operator<(const UINT16 lhs, const SoldierID rhs) { return lhs < rhs.i; }