mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
Fix for Titanium returning wrong value in ConvertClientVersionToExpansion##
This commit is contained in:
parent
cbe811cf94
commit
36b0a60451
@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "emu_versions.h"
|
#include "emu_versions.h"
|
||||||
|
#include "emu_constants.h"
|
||||||
|
|
||||||
|
|
||||||
bool EQEmu::versions::IsValidClientVersion(ClientVersion client_version)
|
bool EQEmu::versions::IsValidClientVersion(ClientVersion client_version)
|
||||||
@ -493,7 +494,7 @@ EQEmu::expansions::Expansion EQEmu::expansions::ConvertExpansionBitToExpansion(u
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 EQEmu::expansions::ConvertExpansionToExpansionMask(Expansion expansion)
|
uint32 EQEmu::expansions::ConvertExpansionToExpansionsMask(Expansion expansion)
|
||||||
{
|
{
|
||||||
switch (expansion) {
|
switch (expansion) {
|
||||||
case Expansion::RoK:
|
case Expansion::RoK:
|
||||||
@ -543,57 +544,15 @@ uint32 EQEmu::expansions::ConvertExpansionToExpansionMask(Expansion expansion)
|
|||||||
|
|
||||||
EQEmu::expansions::Expansion EQEmu::expansions::ConvertClientVersionToExpansion(versions::ClientVersion client_version)
|
EQEmu::expansions::Expansion EQEmu::expansions::ConvertClientVersionToExpansion(versions::ClientVersion client_version)
|
||||||
{
|
{
|
||||||
switch (client_version) {
|
return EQEmu::constants::StaticLookup(client_version)->Expansion;
|
||||||
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)
|
uint32 EQEmu::expansions::ConvertClientVersionToExpansionBit(versions::ClientVersion client_version)
|
||||||
{
|
{
|
||||||
switch (client_version) {
|
return EQEmu::constants::StaticLookup(client_version)->ExpansionBit;
|
||||||
case versions::ClientVersion::Titanium:
|
|
||||||
return expansions::bitPoR;
|
|
||||||
case versions::ClientVersion::SoF:
|
|
||||||
return expansions::bitSoF;
|
|
||||||
case versions::ClientVersion::SoD:
|
|
||||||
return expansions::bitSoD;
|
|
||||||
case versions::ClientVersion::UF:
|
|
||||||
return expansions::bitUF;
|
|
||||||
case versions::ClientVersion::RoF:
|
|
||||||
case versions::ClientVersion::RoF2:
|
|
||||||
return expansions::bitRoF;
|
|
||||||
default:
|
|
||||||
return expansions::bitEverQuest;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 EQEmu::expansions::ConvertClientVersionToExpansionMask(versions::ClientVersion client_version)
|
uint32 EQEmu::expansions::ConvertClientVersionToExpansionsMask(versions::ClientVersion client_version)
|
||||||
{
|
{
|
||||||
switch (client_version) {
|
return EQEmu::constants::StaticLookup(client_version)->ExpansionsMask;
|
||||||
case versions::ClientVersion::Titanium:
|
|
||||||
return expansions::maskPoR;
|
|
||||||
case versions::ClientVersion::SoF:
|
|
||||||
return expansions::maskSoF;
|
|
||||||
case versions::ClientVersion::SoD:
|
|
||||||
return expansions::maskSoD;
|
|
||||||
case versions::ClientVersion::UF:
|
|
||||||
return expansions::maskUF;
|
|
||||||
case versions::ClientVersion::RoF:
|
|
||||||
case versions::ClientVersion::RoF2:
|
|
||||||
return expansions::maskRoF;
|
|
||||||
default:
|
|
||||||
return expansions::maskEverQuest;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -210,10 +210,10 @@ namespace EQEmu
|
|||||||
const char* ExpansionName(uint32 expansion_bit);
|
const char* ExpansionName(uint32 expansion_bit);
|
||||||
uint32 ConvertExpansionToExpansionBit(Expansion expansion);
|
uint32 ConvertExpansionToExpansionBit(Expansion expansion);
|
||||||
Expansion ConvertExpansionBitToExpansion(uint32 expansion_bit);
|
Expansion ConvertExpansionBitToExpansion(uint32 expansion_bit);
|
||||||
uint32 ConvertExpansionToExpansionMask(Expansion expansion);
|
uint32 ConvertExpansionToExpansionsMask(Expansion expansion);
|
||||||
Expansion ConvertClientVersionToExpansion(versions::ClientVersion client_version);
|
Expansion ConvertClientVersionToExpansion(versions::ClientVersion client_version);
|
||||||
uint32 ConvertClientVersionToExpansionBit(versions::ClientVersion client_version);
|
uint32 ConvertClientVersionToExpansionBit(versions::ClientVersion client_version);
|
||||||
uint32 ConvertClientVersionToExpansionMask(versions::ClientVersion client_version);
|
uint32 ConvertClientVersionToExpansionsMask(versions::ClientVersion client_version);
|
||||||
|
|
||||||
} /*expansions*/
|
} /*expansions*/
|
||||||
|
|
||||||
|
|||||||
@ -43,17 +43,17 @@ static const EQEmu::constants::LookupEntry constants_static_lookup_entries[EQEmu
|
|||||||
{
|
{
|
||||||
/*[ClientVersion::Unknown] =*/
|
/*[ClientVersion::Unknown] =*/
|
||||||
EQEmu::constants::LookupEntry(
|
EQEmu::constants::LookupEntry(
|
||||||
EQEmu::expansions::Expansion::EverQuest,
|
ClientUnknown::constants::EXPANSION,
|
||||||
ClientUnknown::INULL,
|
ClientUnknown::constants::EXPANSION_BIT,
|
||||||
ClientUnknown::INULL,
|
ClientUnknown::constants::EXPANSIONS_MASK,
|
||||||
ClientUnknown::INULL,
|
ClientUnknown::INULL,
|
||||||
ClientUnknown::INULL
|
ClientUnknown::INULL
|
||||||
),
|
),
|
||||||
/*[ClientVersion::Client62] =*/
|
/*[ClientVersion::Client62] =*/
|
||||||
EQEmu::constants::LookupEntry(
|
EQEmu::constants::LookupEntry(
|
||||||
EQEmu::expansions::Expansion::EverQuest,
|
Client62::constants::EXPANSION,
|
||||||
Client62::INULL,
|
Client62::constants::EXPANSION_BIT,
|
||||||
Client62::INULL,
|
Client62::constants::EXPANSIONS_MASK,
|
||||||
Client62::INULL,
|
Client62::INULL,
|
||||||
Client62::INULL
|
Client62::INULL
|
||||||
),
|
),
|
||||||
|
|||||||
@ -243,6 +243,13 @@ namespace ClientUnknown
|
|||||||
const int16 IINVALID = -1;
|
const int16 IINVALID = -1;
|
||||||
const int16 INULL = 0;
|
const int16 INULL = 0;
|
||||||
|
|
||||||
|
namespace constants {
|
||||||
|
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::EverQuest;
|
||||||
|
const uint32 EXPANSION_BIT = EQEmu::expansions::bitEverQuest;
|
||||||
|
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskEverQuest;
|
||||||
|
|
||||||
|
} // namespace constants
|
||||||
|
|
||||||
} /*ClientUnknown*/
|
} /*ClientUnknown*/
|
||||||
|
|
||||||
namespace Client62
|
namespace Client62
|
||||||
@ -250,6 +257,13 @@ namespace Client62
|
|||||||
const int16 IINVALID = -1;
|
const int16 IINVALID = -1;
|
||||||
const int16 INULL = 0;
|
const int16 INULL = 0;
|
||||||
|
|
||||||
|
namespace constants {
|
||||||
|
const EQEmu::expansions::Expansion EXPANSION = EQEmu::expansions::Expansion::EverQuest;
|
||||||
|
const uint32 EXPANSION_BIT = EQEmu::expansions::bitEverQuest;
|
||||||
|
const uint32 EXPANSIONS_MASK = EQEmu::expansions::maskEverQuest;
|
||||||
|
|
||||||
|
} // namespace constants
|
||||||
|
|
||||||
} /*Client62*/
|
} /*Client62*/
|
||||||
|
|
||||||
#endif /*COMMON_EQ_LIMITS_H*/
|
#endif /*COMMON_EQ_LIMITS_H*/
|
||||||
|
|||||||
@ -172,12 +172,11 @@ void Client::SendExpansionInfo() {
|
|||||||
auto outapp = new EQApplicationPacket(OP_ExpansionInfo, sizeof(ExpansionInfo_Struct));
|
auto outapp = new EQApplicationPacket(OP_ExpansionInfo, sizeof(ExpansionInfo_Struct));
|
||||||
ExpansionInfo_Struct *eis = (ExpansionInfo_Struct*)outapp->pBuffer;
|
ExpansionInfo_Struct *eis = (ExpansionInfo_Struct*)outapp->pBuffer;
|
||||||
|
|
||||||
// need to rework .. not until full scope of change is accounted for, though
|
|
||||||
if (RuleB(World, UseClientBasedExpansionSettings)) {
|
if (RuleB(World, UseClientBasedExpansionSettings)) {
|
||||||
eis->Expansions = EQEmu::expansions::ConvertClientVersionToExpansionMask(eqs->ClientVersion());
|
eis->Expansions = EQEmu::expansions::ConvertClientVersionToExpansionsMask(eqs->ClientVersion());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
eis->Expansions = RuleI(World, ExpansionSettings);
|
eis->Expansions = (RuleI(World, ExpansionSettings) & EQEmu::expansions::ConvertClientVersionToExpansionsMask(eqs->ClientVersion()));
|
||||||
}
|
}
|
||||||
|
|
||||||
QueuePacket(outapp);
|
QueuePacket(outapp);
|
||||||
|
|||||||
@ -1414,12 +1414,11 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
|
|||||||
if (m_pp.ldon_points_tak < 0 || m_pp.ldon_points_tak > 2000000000) { m_pp.ldon_points_tak = 0; }
|
if (m_pp.ldon_points_tak < 0 || m_pp.ldon_points_tak > 2000000000) { m_pp.ldon_points_tak = 0; }
|
||||||
if (m_pp.ldon_points_available < 0 || m_pp.ldon_points_available > 2000000000) { m_pp.ldon_points_available = 0; }
|
if (m_pp.ldon_points_available < 0 || m_pp.ldon_points_available > 2000000000) { m_pp.ldon_points_available = 0; }
|
||||||
|
|
||||||
// need to rework .. not until full scope of change is accounted for, though
|
|
||||||
if (RuleB(World, UseClientBasedExpansionSettings)) {
|
if (RuleB(World, UseClientBasedExpansionSettings)) {
|
||||||
m_pp.expansions = EQEmu::expansions::ConvertClientVersionToExpansionMask(ClientVersion());
|
m_pp.expansions = EQEmu::expansions::ConvertClientVersionToExpansionsMask(ClientVersion());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_pp.expansions = RuleI(World, ExpansionSettings);
|
m_pp.expansions = (RuleI(World, ExpansionSettings) & EQEmu::expansions::ConvertClientVersionToExpansionsMask(ClientVersion()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!database.LoadAlternateAdvancement(this)) {
|
if (!database.LoadAlternateAdvancement(this)) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user