aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Realm/Realm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shared/Realm/Realm.h')
-rw-r--r--src/server/shared/Realm/Realm.h5
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;
};
}