mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 01:11:29 +00:00
Added enum class Expansion
This commit is contained in:
parent
34e7d96977
commit
38bf73cc08
@ -188,6 +188,7 @@ namespace EQEmu
|
||||
namespace constants {
|
||||
const EQEmu::versions::ClientVersion CHARACTER_CREATION_CLIENT = EQEmu::versions::ClientVersion::Titanium;
|
||||
|
||||
using RoF2::constants::EXPANSION;
|
||||
using RoF2::constants::EXPANSION_BIT;
|
||||
using RoF2::constants::EXPANSIONS_MASK;
|
||||
|
||||
|
||||
@ -342,56 +342,224 @@ EQEmu::versions::MobVersion EQEmu::versions::ConvertClientVersionToOfflinePCMobV
|
||||
}
|
||||
}
|
||||
|
||||
const char* EQEmu::expansions::ExpansionName(uint32 expansion_bit)
|
||||
const char* EQEmu::expansions::ExpansionName(Expansion expansion)
|
||||
{
|
||||
switch (expansion_bit) {
|
||||
case expansions::bitEverQuest:
|
||||
switch (expansion) {
|
||||
case Expansion::EverQuest:
|
||||
return "EverQuest";
|
||||
case expansions::bitRoK:
|
||||
case Expansion::RoK:
|
||||
return "The Ruins of Kunark";
|
||||
case expansions::bitSoV:
|
||||
case Expansion::SoV:
|
||||
return "The Scars of Velious";
|
||||
case expansions::bitSoL:
|
||||
case Expansion::SoL:
|
||||
return "The Shadows of Luclin";
|
||||
case expansions::bitPoP:
|
||||
case Expansion::PoP:
|
||||
return "The Planes of Power";
|
||||
case expansions::bitLoY:
|
||||
case Expansion::LoY:
|
||||
return "The Legacy of Ykesha";
|
||||
case expansions::bitLDoN:
|
||||
case Expansion::LDoN:
|
||||
return "Lost Dungeons of Norrath";
|
||||
case expansions::bitGoD:
|
||||
case Expansion::GoD:
|
||||
return "Gates of Discord";
|
||||
case expansions::bitOoW:
|
||||
case Expansion::OoW:
|
||||
return "Omens of War";
|
||||
case expansions::bitDoN:
|
||||
case Expansion::DoN:
|
||||
return "Dragons of Norrath";
|
||||
case expansions::bitDoD:
|
||||
case Expansion::DoD:
|
||||
return "Depths of Darkhollow";
|
||||
case expansions::bitPoR:
|
||||
case Expansion::PoR:
|
||||
return "Prophecy of Ro";
|
||||
case expansions::bitTSS:
|
||||
case Expansion::TSS:
|
||||
return "The Serpent's Spine";
|
||||
case expansions::bitTBS:
|
||||
case Expansion::TBS:
|
||||
return "The Buried Sea";
|
||||
case expansions::bitSoF:
|
||||
case Expansion::SoF:
|
||||
return "Secrets of Faydwer";
|
||||
case expansions::bitSoD:
|
||||
case Expansion::SoD:
|
||||
return "Seeds of Destruction";
|
||||
case expansions::bitUF:
|
||||
case Expansion::UF:
|
||||
return "Underfoot";
|
||||
case expansions::bitHoT:
|
||||
case Expansion::HoT:
|
||||
return "House of Thule";
|
||||
case expansions::bitVoA:
|
||||
case Expansion::VoA:
|
||||
return "Veil of Alaris";
|
||||
case expansions::bitRoF:
|
||||
case Expansion::RoF:
|
||||
return "Rain of Fear";
|
||||
case expansions::bitCotF:
|
||||
case Expansion::CotF:
|
||||
return "Call of the Forsaken";
|
||||
default:
|
||||
return "Invalid Expansion";
|
||||
}
|
||||
}
|
||||
|
||||
const char* EQEmu::expansions::ExpansionName(uint32 expansion_bit)
|
||||
{
|
||||
return ExpansionName(ConvertExpansionBitToExpansion(expansion_bit));
|
||||
}
|
||||
|
||||
uint32 EQEmu::expansions::ConvertExpansionToExpansionBit(Expansion expansion)
|
||||
{
|
||||
switch (expansion) {
|
||||
case Expansion::RoK:
|
||||
return bitRoK;
|
||||
case Expansion::SoV:
|
||||
return bitSoV;
|
||||
case Expansion::SoL:
|
||||
return bitSoL;
|
||||
case Expansion::PoP:
|
||||
return bitPoP;
|
||||
case Expansion::LoY:
|
||||
return bitLoY;
|
||||
case Expansion::LDoN:
|
||||
return bitLDoN;
|
||||
case Expansion::GoD:
|
||||
return bitGoD;
|
||||
case Expansion::OoW:
|
||||
return bitOoW;
|
||||
case Expansion::DoN:
|
||||
return bitDoN;
|
||||
case Expansion::DoD:
|
||||
return bitDoD;
|
||||
case Expansion::PoR:
|
||||
return bitPoR;
|
||||
case Expansion::TSS:
|
||||
return bitTSS;
|
||||
case Expansion::TBS:
|
||||
return bitTBS;
|
||||
case Expansion::SoF:
|
||||
return bitSoF;
|
||||
case Expansion::SoD:
|
||||
return bitSoD;
|
||||
case Expansion::UF:
|
||||
return bitUF;
|
||||
case Expansion::HoT:
|
||||
return bitHoT;
|
||||
case Expansion::VoA:
|
||||
return bitVoA;
|
||||
case Expansion::RoF:
|
||||
return bitRoF;
|
||||
case Expansion::CotF:
|
||||
return bitCotF;
|
||||
default:
|
||||
return bitEverQuest;
|
||||
}
|
||||
}
|
||||
|
||||
EQEmu::expansions::Expansion EQEmu::expansions::ConvertExpansionBitToExpansion(uint32 expansion_bit)
|
||||
{
|
||||
switch (expansion_bit) {
|
||||
case bitRoK:
|
||||
return Expansion::RoK;
|
||||
case bitSoV:
|
||||
return Expansion::SoV;
|
||||
case bitSoL:
|
||||
return Expansion::SoL;
|
||||
case bitPoP:
|
||||
return Expansion::PoP;
|
||||
case bitLoY:
|
||||
return Expansion::LoY;
|
||||
case bitLDoN:
|
||||
return Expansion::LDoN;
|
||||
case bitGoD:
|
||||
return Expansion::GoD;
|
||||
case bitOoW:
|
||||
return Expansion::OoW;
|
||||
case bitDoN:
|
||||
return Expansion::DoN;
|
||||
case bitDoD:
|
||||
return Expansion::DoD;
|
||||
case bitPoR:
|
||||
return Expansion::PoR;
|
||||
case bitTSS:
|
||||
return Expansion::TSS;
|
||||
case bitTBS:
|
||||
return Expansion::TBS;
|
||||
case bitSoF:
|
||||
return Expansion::SoF;
|
||||
case bitSoD:
|
||||
return Expansion::SoD;
|
||||
case bitUF:
|
||||
return Expansion::UF;
|
||||
case bitHoT:
|
||||
return Expansion::HoT;
|
||||
case bitVoA:
|
||||
return Expansion::VoA;
|
||||
case bitRoF:
|
||||
return Expansion::RoF;
|
||||
case bitCotF:
|
||||
return Expansion::CotF;
|
||||
default:
|
||||
return Expansion::EverQuest;
|
||||
}
|
||||
}
|
||||
|
||||
uint32 EQEmu::expansions::ConvertExpansionToExpansionMask(Expansion expansion)
|
||||
{
|
||||
switch (expansion) {
|
||||
case Expansion::RoK:
|
||||
return maskRoK;
|
||||
case Expansion::SoV:
|
||||
return maskSoV;
|
||||
case Expansion::SoL:
|
||||
return maskSoL;
|
||||
case Expansion::PoP:
|
||||
return maskPoP;
|
||||
case Expansion::LoY:
|
||||
return maskLoY;
|
||||
case Expansion::LDoN:
|
||||
return maskLDoN;
|
||||
case Expansion::GoD:
|
||||
return maskGoD;
|
||||
case Expansion::OoW:
|
||||
return maskOoW;
|
||||
case Expansion::DoN:
|
||||
return maskDoN;
|
||||
case Expansion::DoD:
|
||||
return maskDoD;
|
||||
case Expansion::PoR:
|
||||
return maskPoR;
|
||||
case Expansion::TSS:
|
||||
return maskTSS;
|
||||
case Expansion::TBS:
|
||||
return maskTBS;
|
||||
case Expansion::SoF:
|
||||
return maskSoF;
|
||||
case Expansion::SoD:
|
||||
return maskSoD;
|
||||
case Expansion::UF:
|
||||
return maskUF;
|
||||
case Expansion::HoT:
|
||||
return maskHoT;
|
||||
case Expansion::VoA:
|
||||
return maskVoA;
|
||||
case Expansion::RoF:
|
||||
return maskRoF;
|
||||
case Expansion::CotF:
|
||||
return maskCotF;
|
||||
default:
|
||||
return maskEverQuest;
|
||||
}
|
||||
}
|
||||
|
||||
EQEmu::expansions::Expansion EQEmu::expansions::ConvertClientVersionToExpansion(versions::ClientVersion client_version)
|
||||
{
|
||||
switch (client_version) {
|
||||
case versions::ClientVersion::Titanium:
|
||||
return expansions::Expansion::PoR;
|
||||
case versions::ClientVersion::SoF:
|
||||
return expansions::Expansion::SoF;
|
||||
case versions::ClientVersion::SoD:
|
||||
return expansions::Expansion::SoD;
|
||||
case versions::ClientVersion::UF:
|
||||
return expansions::Expansion::UF;
|
||||
case versions::ClientVersion::RoF:
|
||||
case versions::ClientVersion::RoF2:
|
||||
return expansions::Expansion::RoF;
|
||||
default:
|
||||
return expansions::Expansion::EverQuest;
|
||||
}
|
||||
}
|
||||
|
||||
uint32 EQEmu::expansions::ConvertClientVersionToExpansionBit(versions::ClientVersion client_version)
|
||||
{
|
||||
switch (client_version) {
|
||||
|
||||
@ -137,6 +137,30 @@ namespace EQEmu
|
||||
} /*versions*/
|
||||
|
||||
namespace expansions {
|
||||
enum class Expansion : uint32 {
|
||||
EverQuest = 0,
|
||||
RoK,
|
||||
SoV,
|
||||
SoL,
|
||||
PoP,
|
||||
LoY,
|
||||
LDoN,
|
||||
GoD,
|
||||
OoW,
|
||||
DoN,
|
||||
DoD,
|
||||
PoR,
|
||||
TSS,
|
||||
TBS,
|
||||
SoF,
|
||||
SoD,
|
||||
UF,
|
||||
HoT,
|
||||
VoA,
|
||||
RoF,
|
||||
CotF
|
||||
};
|
||||
|
||||
enum ExpansionBitmask : uint32 {
|
||||
bitEverQuest = 0x00000000,
|
||||
bitRoK = 0x00000001,
|
||||
@ -182,7 +206,12 @@ namespace EQEmu
|
||||
maskCotF = 0x000FFFFF
|
||||
};
|
||||
|
||||
const char* ExpansionName(Expansion expansion);
|
||||
const char* ExpansionName(uint32 expansion_bit);
|
||||
uint32 ConvertExpansionToExpansionBit(Expansion expansion);
|
||||
Expansion ConvertExpansionBitToExpansion(uint32 expansion_bit);
|
||||
uint32 ConvertExpansionToExpansionMask(Expansion expansion);
|
||||
Expansion ConvertClientVersionToExpansion(versions::ClientVersion client_version);
|
||||
uint32 ConvertClientVersionToExpansionBit(versions::ClientVersion client_version);
|
||||
uint32 ConvertClientVersionToExpansionMask(versions::ClientVersion client_version);
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
{
|
||||
/*[ClientVersion::Unknown] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
EQEmu::expansions::Expansion::EverQuest,
|
||||
ClientUnknown::INULL,
|
||||
ClientUnknown::INULL,
|
||||
ClientUnknown::INULL,
|
||||
@ -39,6 +40,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
),
|
||||
/*[ClientVersion::Client62] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
EQEmu::expansions::Expansion::EverQuest,
|
||||
Client62::INULL,
|
||||
Client62::INULL,
|
||||
Client62::INULL,
|
||||
@ -53,6 +55,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
),
|
||||
/*[ClientVersion::Titanium] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
Titanium::constants::EXPANSION,
|
||||
Titanium::constants::EXPANSION_BIT,
|
||||
Titanium::constants::EXPANSIONS_MASK,
|
||||
Titanium::constants::CHARACTER_CREATION_LIMIT,
|
||||
@ -67,6 +70,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
),
|
||||
/*[ClientVersion::SoF] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
SoF::constants::EXPANSION,
|
||||
SoF::constants::EXPANSION_BIT,
|
||||
SoF::constants::EXPANSIONS_MASK,
|
||||
SoF::constants::CHARACTER_CREATION_LIMIT,
|
||||
@ -81,6 +85,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
),
|
||||
/*[ClientVersion::SoD] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
SoD::constants::EXPANSION,
|
||||
SoD::constants::EXPANSION_BIT,
|
||||
SoD::constants::EXPANSIONS_MASK,
|
||||
SoD::constants::CHARACTER_CREATION_LIMIT,
|
||||
@ -95,6 +100,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
),
|
||||
/*[ClientVersion::UF] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
UF::constants::EXPANSION,
|
||||
UF::constants::EXPANSION_BIT,
|
||||
UF::constants::EXPANSIONS_MASK,
|
||||
UF::constants::CHARACTER_CREATION_LIMIT,
|
||||
@ -109,6 +115,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
),
|
||||
/*[ClientVersion::RoF] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
RoF::constants::EXPANSION,
|
||||
RoF::constants::EXPANSION_BIT,
|
||||
RoF::constants::EXPANSIONS_MASK,
|
||||
RoF::constants::CHARACTER_CREATION_LIMIT,
|
||||
@ -123,6 +130,7 @@ static const EQEmu::constants::LookupEntry constants_lookup_entries[EQEmu::versi
|
||||
),
|
||||
/*[ClientVersion::RoF2] =*/
|
||||
EQEmu::constants::LookupEntry(
|
||||
RoF2::constants::EXPANSION,
|
||||
RoF2::constants::EXPANSION_BIT,
|
||||
RoF2::constants::EXPANSIONS_MASK,
|
||||
RoF2::constants::CHARACTER_CREATION_LIMIT,
|
||||
|
||||
@ -35,6 +35,7 @@ namespace EQEmu
|
||||
{
|
||||
namespace constants {
|
||||
struct LookupEntry {
|
||||
EQEmu::expansions::Expansion Expansion;
|
||||
uint32 ExpansionBit;
|
||||
uint32 ExpansionsMask;
|
||||
int16 CharacterCreationLimit;
|
||||
@ -48,6 +49,7 @@ namespace EQEmu
|
||||
int MercBuffs;
|
||||
|
||||
LookupEntry(
|
||||
EQEmu::expansions::Expansion Expansion,
|
||||
uint32 ExpansionBit,
|
||||
uint32 ExpansionsMask,
|
||||
int16 CharacterCreationLimit,
|
||||
@ -60,6 +62,7 @@ namespace EQEmu
|
||||
int PetBuffs,
|
||||
int MercBuffs
|
||||
) :
|
||||
Expansion(Expansion),
|
||||
ExpansionBit(ExpansionBit),
|
||||
ExpansionsMask(ExpansionsMask),
|
||||
CharacterCreationLimit(CharacterCreationLimit),
|
||||
|
||||
@ -259,6 +259,7 @@ namespace RoF2
|
||||
namespace constants {
|
||||
inline EQEmu::versions::ClientVersion GetConstantsRef() { return EQEmu::versions::ClientVersion::RoF2; }
|
||||
|
||||
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::RoF;
|
||||
const uint32 EXPANSION_BIT = EQEmu::expansions::bitRoF;
|
||||
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskRoF;
|
||||
|
||||
|
||||
@ -250,6 +250,7 @@ namespace RoF
|
||||
namespace constants {
|
||||
inline EQEmu::versions::ClientVersion GetConstantsRef() { return EQEmu::versions::ClientVersion::RoF; }
|
||||
|
||||
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::RoF;
|
||||
const uint32 EXPANSION_BIT = EQEmu::expansions::bitRoF;
|
||||
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskRoF;
|
||||
|
||||
|
||||
@ -277,6 +277,7 @@ namespace SoD
|
||||
namespace constants {
|
||||
inline EQEmu::versions::ClientVersion GetConstantsRef() { return EQEmu::versions::ClientVersion::SoD; }
|
||||
|
||||
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::SoD;
|
||||
const uint32 EXPANSION_BIT = EQEmu::expansions::bitSoD;
|
||||
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskSoD;
|
||||
|
||||
|
||||
@ -277,6 +277,7 @@ namespace SoF
|
||||
namespace constants {
|
||||
inline EQEmu::versions::ClientVersion GetConstantsRef() { return EQEmu::versions::ClientVersion::SoF; }
|
||||
|
||||
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::SoF;
|
||||
const uint32 EXPANSION_BIT = EQEmu::expansions::bitSoF;
|
||||
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskSoF;
|
||||
|
||||
|
||||
@ -276,6 +276,7 @@ namespace Titanium
|
||||
namespace constants {
|
||||
inline EQEmu::versions::ClientVersion GetConstantsRef() { return EQEmu::versions::ClientVersion::Titanium; }
|
||||
|
||||
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::PoR;
|
||||
const uint32 EXPANSION_BIT = EQEmu::expansions::bitPoR;
|
||||
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskPoR;
|
||||
|
||||
|
||||
@ -278,6 +278,7 @@ namespace UF
|
||||
namespace constants {
|
||||
inline EQEmu::versions::ClientVersion GetConstantsRef() { return EQEmu::versions::ClientVersion::UF; }
|
||||
|
||||
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::UF;
|
||||
const uint32 EXPANSION_BIT = EQEmu::expansions::bitUF;
|
||||
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskUF;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user