diff options
Diffstat (limited to 'src/server/shared/Realm/Realm.h')
-rw-r--r-- | src/server/shared/Realm/Realm.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/shared/Realm/Realm.h b/src/server/shared/Realm/Realm.h index 9dc672403f7..c9042cb3da7 100644 --- a/src/server/shared/Realm/Realm.h +++ b/src/server/shared/Realm/Realm.h @@ -46,6 +46,7 @@ namespace Battlenet RealmHandle() : Region(0), Site(0), Realm(0) { } RealmHandle(uint8 region, uint8 battlegroup, uint32 index) : Region(region), Site(battlegroup), Realm(index) { } + RealmHandle(uint32 realmAddress) : Region((realmAddress >> 24) & 0xFF), Site((realmAddress >> 16) & 0xFF), Realm(realmAddress & 0xFFFF) { } uint8 Region; uint8 Site; @@ -56,7 +57,9 @@ namespace Battlenet return Realm < r.Realm; } - uint32 GetAddress() const { return ((Site << 16) & 0xFF0000) | uint16(Realm); } + uint32 GetAddress() const { return (Region << 24) | (Site << 16) | uint16(Realm); } + std::string GetAddressString() const; + std::string GetSubRegionAddress() const; }; } |