mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 05:21:29 +00:00
Added bi-state dynamic lookup return
This commit is contained in:
parent
93cc07e097
commit
7b2c87c7ed
@ -37,8 +37,8 @@ void EQEmu::InitializeDynamicLookups() {
|
||||
global_dictionary_init = true;
|
||||
}
|
||||
|
||||
static std::unique_ptr<EQEmu::constants::LookupEntry> constants_dynamic_nongm_lookup_entries[EQEmu::versions::ClientVersionCount];
|
||||
static std::unique_ptr<EQEmu::constants::LookupEntry> constants_dynamic_gm_lookup_entries[EQEmu::versions::ClientVersionCount];
|
||||
static std::unique_ptr<EQEmu::constants::LookupEntry> constants_dynamic_lookup_entries[EQEmu::versions::ClientVersionCount];
|
||||
static const EQEmu::constants::LookupEntry constants_static_lookup_entries[EQEmu::versions::ClientVersionCount] =
|
||||
{
|
||||
/*[ClientVersion::Unknown] =*/
|
||||
@ -119,6 +119,23 @@ void EQEmu::constants::InitializeDynamicLookups() {
|
||||
// use static references for now
|
||||
}
|
||||
|
||||
const EQEmu::constants::LookupEntry* EQEmu::constants::DynamicLookup(versions::ClientVersion client_version, bool gm_flag)
|
||||
{
|
||||
if (gm_flag)
|
||||
return DynamicGMLookup(client_version);
|
||||
else
|
||||
return DynamicNonGMLookup(client_version);
|
||||
}
|
||||
|
||||
const EQEmu::constants::LookupEntry* EQEmu::constants::DynamicNonGMLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
client_version = versions::ValidateClientVersion(client_version);
|
||||
if (constants_dynamic_nongm_lookup_entries[static_cast<int>(client_version)])
|
||||
return constants_dynamic_nongm_lookup_entries[static_cast<int>(client_version)].get();
|
||||
|
||||
return &constants_static_lookup_entries[static_cast<int>(client_version)];
|
||||
}
|
||||
|
||||
const EQEmu::constants::LookupEntry* EQEmu::constants::DynamicGMLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
client_version = versions::ValidateClientVersion(client_version);
|
||||
@ -128,22 +145,13 @@ const EQEmu::constants::LookupEntry* EQEmu::constants::DynamicGMLookup(versions:
|
||||
return &constants_static_lookup_entries[static_cast<int>(client_version)];
|
||||
}
|
||||
|
||||
const EQEmu::constants::LookupEntry* EQEmu::constants::DynamicLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
client_version = versions::ValidateClientVersion(client_version);
|
||||
if (constants_dynamic_lookup_entries[static_cast<int>(client_version)])
|
||||
return constants_dynamic_lookup_entries[static_cast<int>(client_version)].get();
|
||||
|
||||
return &constants_static_lookup_entries[static_cast<int>(client_version)];
|
||||
}
|
||||
|
||||
const EQEmu::constants::LookupEntry* EQEmu::constants::StaticLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
return &constants_static_lookup_entries[static_cast<int>(versions::ValidateClientVersion(client_version))];
|
||||
}
|
||||
|
||||
static std::unique_ptr<EQEmu::inventory::LookupEntry> inventory_dynamic_nongm_lookup_entries[EQEmu::versions::MobVersionCount];
|
||||
static std::unique_ptr<EQEmu::inventory::LookupEntry> inventory_dynamic_gm_lookup_entries[EQEmu::versions::MobVersionCount];
|
||||
static std::unique_ptr<EQEmu::inventory::LookupEntry> inventory_dynamic_lookup_entries[EQEmu::versions::MobVersionCount];
|
||||
static const EQEmu::inventory::LookupEntry inventory_static_lookup_entries[EQEmu::versions::MobVersionCount] =
|
||||
{
|
||||
/*[MobVersion::Unknown] =*/
|
||||
@ -775,6 +783,63 @@ void EQEmu::inventory::InitializeDynamicLookups() {
|
||||
if ((dynamic_check_mask & RuleI(World, ExpansionSettings)) == dynamic_check_mask)
|
||||
return;
|
||||
|
||||
// Dynamic Lookups (promotive methodology) (all mob versions allowed)
|
||||
for (uint32 iter = static_cast<uint32>(EQEmu::versions::MobVersion::Unknown); iter <= static_cast<uint32>(EQEmu::versions::LastPCMobVersion); ++iter) {
|
||||
// no need to dynamic this condition since it is the lowest compatibility standard
|
||||
if ((dynamic_check_mask & ~constants_static_lookup_entries[iter].ExpansionsMask) == dynamic_check_mask)
|
||||
continue;
|
||||
|
||||
// only client versions whose supported expansions are affected need to be considered
|
||||
if ((constants_static_lookup_entries[iter].ExpansionsMask & RuleI(World, ExpansionSettings)) == constants_static_lookup_entries[iter].ExpansionsMask)
|
||||
continue;
|
||||
|
||||
// direct manipulation of lookup indices is safe so long as (int)ClientVersion::<mob> == (int)MobVersion::<mob>
|
||||
inventory_dynamic_nongm_lookup_entries[iter] = std::unique_ptr<LookupEntry>(new LookupEntry(inventory_static_lookup_entries[iter]));
|
||||
|
||||
// clamp affected fields to the lowest standard
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->InventoryTypeSize.Bank = Titanium::invtype::BANK_SIZE; // bank size
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->EquipmentBitmask = Titanium::invslot::EQUIPMENT_BITMASK; // power source
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->GeneralBitmask = Titanium::invslot::GENERAL_BITMASK; // general size
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->PossessionsBitmask = 0; // we'll fix later
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->CorpseBitmask = 0; // we'll fix later
|
||||
|
||||
if (RuleI(World, ExpansionSettings) & EQEmu::expansions::bitPoR) {
|
||||
// update bank size
|
||||
if (constants_static_lookup_entries[iter].ExpansionsMask & EQEmu::expansions::bitPoR)
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->InventoryTypeSize.Bank = SoF::invtype::BANK_SIZE;
|
||||
}
|
||||
|
||||
if (RuleI(World, ExpansionSettings) & EQEmu::expansions::bitTBS) {
|
||||
// update power source
|
||||
if (constants_static_lookup_entries[iter].ExpansionsMask & EQEmu::expansions::bitTBS)
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->EquipmentBitmask = SoF::invslot::EQUIPMENT_BITMASK;
|
||||
}
|
||||
|
||||
if (RuleI(World, ExpansionSettings) & EQEmu::expansions::bitHoT) {
|
||||
// update general size
|
||||
if (constants_static_lookup_entries[iter].ExpansionsMask & EQEmu::expansions::bitHoT)
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->GeneralBitmask = RoF::invslot::GENERAL_BITMASK;
|
||||
}
|
||||
|
||||
// fixup possessions bitmask
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->PossessionsBitmask =
|
||||
(
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->EquipmentBitmask |
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->GeneralBitmask |
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->CursorBitmask
|
||||
);
|
||||
|
||||
// fixup corpse bitmask
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->CorpseBitmask =
|
||||
(
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->GeneralBitmask |
|
||||
inventory_dynamic_nongm_lookup_entries[iter]->CursorBitmask |
|
||||
(inventory_dynamic_nongm_lookup_entries[iter]->EquipmentBitmask << 34)
|
||||
);
|
||||
|
||||
// expansion-related fields are now updated and all other fields reflect the static entry values
|
||||
}
|
||||
|
||||
// Dynamic GM Lookups (demotive methodology) (client-linked mob versions only)
|
||||
for (uint32 iter = static_cast<uint32>(EQEmu::versions::MobVersion::Unknown); iter <= static_cast<uint32>(EQEmu::versions::LastPCMobVersion); ++iter) {
|
||||
// no need to dynamic this condition since it is the lowest compatibility standard
|
||||
@ -859,66 +924,26 @@ void EQEmu::inventory::InitializeDynamicLookups() {
|
||||
// expansion-related fields are now updated and all other fields reflect the static entry values
|
||||
}
|
||||
|
||||
// Dynamic Lookups (promotive methodology) (all mob versions allowed)
|
||||
for (uint32 iter = static_cast<uint32>(EQEmu::versions::MobVersion::Unknown); iter <= static_cast<uint32>(EQEmu::versions::LastPCMobVersion); ++iter) {
|
||||
// no need to dynamic this condition since it is the lowest compatibility standard
|
||||
if ((dynamic_check_mask & ~constants_static_lookup_entries[iter].ExpansionsMask) == dynamic_check_mask)
|
||||
continue;
|
||||
|
||||
// only client versions whose supported expansions are affected need to be considered
|
||||
if ((constants_static_lookup_entries[iter].ExpansionsMask & RuleI(World, ExpansionSettings)) == constants_static_lookup_entries[iter].ExpansionsMask)
|
||||
continue;
|
||||
|
||||
// direct manipulation of lookup indices is safe so long as (int)ClientVersion::<mob> == (int)MobVersion::<mob>
|
||||
inventory_dynamic_lookup_entries[iter] = std::unique_ptr<LookupEntry>(new LookupEntry(inventory_static_lookup_entries[iter]));
|
||||
|
||||
// clamp affected fields to the lowest standard
|
||||
inventory_dynamic_lookup_entries[iter]->InventoryTypeSize.Bank = Titanium::invtype::BANK_SIZE; // bank size
|
||||
inventory_dynamic_lookup_entries[iter]->EquipmentBitmask = Titanium::invslot::EQUIPMENT_BITMASK; // power source
|
||||
inventory_dynamic_lookup_entries[iter]->GeneralBitmask = Titanium::invslot::GENERAL_BITMASK; // general size
|
||||
inventory_dynamic_lookup_entries[iter]->PossessionsBitmask = 0; // we'll fix later
|
||||
inventory_dynamic_lookup_entries[iter]->CorpseBitmask = 0; // we'll fix later
|
||||
|
||||
if (RuleI(World, ExpansionSettings) & EQEmu::expansions::bitPoR) {
|
||||
// update bank size
|
||||
if (constants_static_lookup_entries[iter].ExpansionsMask & EQEmu::expansions::bitPoR)
|
||||
inventory_dynamic_lookup_entries[iter]->InventoryTypeSize.Bank = SoF::invtype::BANK_SIZE;
|
||||
}
|
||||
|
||||
if (RuleI(World, ExpansionSettings) & EQEmu::expansions::bitTBS) {
|
||||
// update power source
|
||||
if (constants_static_lookup_entries[iter].ExpansionsMask & EQEmu::expansions::bitTBS)
|
||||
inventory_dynamic_lookup_entries[iter]->EquipmentBitmask = SoF::invslot::EQUIPMENT_BITMASK;
|
||||
}
|
||||
|
||||
if (RuleI(World, ExpansionSettings) & EQEmu::expansions::bitHoT) {
|
||||
// update general size
|
||||
if (constants_static_lookup_entries[iter].ExpansionsMask & EQEmu::expansions::bitHoT)
|
||||
inventory_dynamic_lookup_entries[iter]->GeneralBitmask = RoF::invslot::GENERAL_BITMASK;
|
||||
}
|
||||
|
||||
// fixup possessions bitmask
|
||||
inventory_dynamic_lookup_entries[iter]->PossessionsBitmask =
|
||||
(
|
||||
inventory_dynamic_lookup_entries[iter]->EquipmentBitmask |
|
||||
inventory_dynamic_lookup_entries[iter]->GeneralBitmask |
|
||||
inventory_dynamic_lookup_entries[iter]->CursorBitmask
|
||||
);
|
||||
|
||||
// fixup corpse bitmask
|
||||
inventory_dynamic_lookup_entries[iter]->CorpseBitmask =
|
||||
(
|
||||
inventory_dynamic_lookup_entries[iter]->GeneralBitmask |
|
||||
inventory_dynamic_lookup_entries[iter]->CursorBitmask |
|
||||
(inventory_dynamic_lookup_entries[iter]->EquipmentBitmask << 34)
|
||||
);
|
||||
|
||||
// expansion-related fields are now updated and all other fields reflect the static entry values
|
||||
}
|
||||
|
||||
// only client versions that require a change from their static definitions have been given a dynamic (gm) lookup entry
|
||||
}
|
||||
|
||||
const EQEmu::inventory::LookupEntry* EQEmu::inventory::DynamicLookup(versions::MobVersion mob_version, bool gm_flag)
|
||||
{
|
||||
if (gm_flag)
|
||||
return DynamicGMLookup(mob_version);
|
||||
else
|
||||
return DynamicNonGMLookup(mob_version);
|
||||
}
|
||||
|
||||
const EQEmu::inventory::LookupEntry* EQEmu::inventory::DynamicNonGMLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
mob_version = versions::ValidateMobVersion(mob_version);
|
||||
if (inventory_dynamic_nongm_lookup_entries[static_cast<int>(mob_version)])
|
||||
return inventory_dynamic_nongm_lookup_entries[static_cast<int>(mob_version)].get();
|
||||
|
||||
return &inventory_static_lookup_entries[static_cast<int>(mob_version)];
|
||||
}
|
||||
|
||||
const EQEmu::inventory::LookupEntry* EQEmu::inventory::DynamicGMLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
mob_version = versions::ValidateMobVersion(mob_version);
|
||||
@ -928,22 +953,13 @@ const EQEmu::inventory::LookupEntry* EQEmu::inventory::DynamicGMLookup(versions:
|
||||
return &inventory_static_lookup_entries[static_cast<int>(mob_version)];
|
||||
}
|
||||
|
||||
const EQEmu::inventory::LookupEntry* EQEmu::inventory::DynamicLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
mob_version = versions::ValidateMobVersion(mob_version);
|
||||
if (inventory_dynamic_lookup_entries[static_cast<int>(mob_version)])
|
||||
return inventory_dynamic_lookup_entries[static_cast<int>(mob_version)].get();
|
||||
|
||||
return &inventory_static_lookup_entries[static_cast<int>(mob_version)];
|
||||
}
|
||||
|
||||
const EQEmu::inventory::LookupEntry* EQEmu::inventory::StaticLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
return &inventory_static_lookup_entries[static_cast<int>(versions::ValidateMobVersion(mob_version))];
|
||||
}
|
||||
|
||||
static std::unique_ptr<EQEmu::behavior::LookupEntry> behavior_dynamic_nongm_lookup_entries[EQEmu::versions::MobVersionCount];
|
||||
static std::unique_ptr<EQEmu::behavior::LookupEntry> behavior_dynamic_gm_lookup_entries[EQEmu::versions::MobVersionCount];
|
||||
static std::unique_ptr<EQEmu::behavior::LookupEntry> behavior_dynamic_lookup_entries[EQEmu::versions::MobVersionCount];
|
||||
static const EQEmu::behavior::LookupEntry behavior_static_lookup_entries[EQEmu::versions::MobVersionCount] =
|
||||
{
|
||||
/*[MobVersion::Unknown] =*/
|
||||
@ -1048,6 +1064,23 @@ void EQEmu::behavior::InitializeDynamicLookups() {
|
||||
// use static references for now
|
||||
}
|
||||
|
||||
const EQEmu::behavior::LookupEntry* EQEmu::behavior::DynamicLookup(versions::MobVersion mob_version, bool gm_flag)
|
||||
{
|
||||
if (gm_flag)
|
||||
return DynamicGMLookup(mob_version);
|
||||
else
|
||||
return DynamicNonGMLookup(mob_version);
|
||||
}
|
||||
|
||||
const EQEmu::behavior::LookupEntry* EQEmu::behavior::DynamicNonGMLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
mob_version = versions::ValidateMobVersion(mob_version);
|
||||
if (behavior_dynamic_nongm_lookup_entries[static_cast<int>(mob_version)])
|
||||
return behavior_dynamic_nongm_lookup_entries[static_cast<int>(mob_version)].get();
|
||||
|
||||
return &behavior_static_lookup_entries[static_cast<int>(mob_version)];
|
||||
}
|
||||
|
||||
const EQEmu::behavior::LookupEntry* EQEmu::behavior::DynamicGMLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
mob_version = versions::ValidateMobVersion(mob_version);
|
||||
@ -1057,22 +1090,13 @@ const EQEmu::behavior::LookupEntry* EQEmu::behavior::DynamicGMLookup(versions::M
|
||||
return &behavior_static_lookup_entries[static_cast<int>(mob_version)];
|
||||
}
|
||||
|
||||
const EQEmu::behavior::LookupEntry* EQEmu::behavior::DynamicLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
mob_version = versions::ValidateMobVersion(mob_version);
|
||||
if (behavior_dynamic_lookup_entries[static_cast<int>(mob_version)])
|
||||
return behavior_dynamic_lookup_entries[static_cast<int>(mob_version)].get();
|
||||
|
||||
return &behavior_static_lookup_entries[static_cast<int>(mob_version)];
|
||||
}
|
||||
|
||||
const EQEmu::behavior::LookupEntry* EQEmu::behavior::StaticLookup(versions::MobVersion mob_version)
|
||||
{
|
||||
return &behavior_static_lookup_entries[static_cast<int>(versions::ValidateMobVersion(mob_version))];
|
||||
}
|
||||
|
||||
static std::unique_ptr<EQEmu::spells::LookupEntry> spells_dynamic_nongm_lookup_entries[EQEmu::versions::ClientVersionCount];
|
||||
static std::unique_ptr<EQEmu::spells::LookupEntry> spells_dynamic_gm_lookup_entries[EQEmu::versions::ClientVersionCount];
|
||||
static std::unique_ptr<EQEmu::spells::LookupEntry> spells_dynamic_lookup_entries[EQEmu::versions::ClientVersionCount];
|
||||
static const EQEmu::spells::LookupEntry spells_static_lookup_entries[EQEmu::versions::ClientVersionCount] =
|
||||
{
|
||||
/*[ClientVersion::Unknown] =*/
|
||||
@ -1193,6 +1217,23 @@ void EQEmu::spells::InitializeDynamicLookups() {
|
||||
// use static references for now
|
||||
}
|
||||
|
||||
const EQEmu::spells::LookupEntry* EQEmu::spells::DynamicLookup(versions::ClientVersion client_version, bool gm_flag)
|
||||
{
|
||||
if (gm_flag)
|
||||
return DynamicGMLookup(client_version);
|
||||
else
|
||||
return DynamicNonGMLookup(client_version);
|
||||
}
|
||||
|
||||
const EQEmu::spells::LookupEntry* EQEmu::spells::DynamicNonGMLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
client_version = versions::ValidateClientVersion(client_version);
|
||||
if (spells_dynamic_nongm_lookup_entries[static_cast<int>(client_version)])
|
||||
return spells_dynamic_nongm_lookup_entries[static_cast<int>(client_version)].get();
|
||||
|
||||
return &spells_static_lookup_entries[static_cast<int>(client_version)];
|
||||
}
|
||||
|
||||
const EQEmu::spells::LookupEntry* EQEmu::spells::DynamicGMLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
client_version = versions::ValidateClientVersion(client_version);
|
||||
@ -1202,15 +1243,6 @@ const EQEmu::spells::LookupEntry* EQEmu::spells::DynamicGMLookup(versions::Clien
|
||||
return &spells_static_lookup_entries[static_cast<int>(client_version)];
|
||||
}
|
||||
|
||||
const EQEmu::spells::LookupEntry* EQEmu::spells::DynamicLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
client_version = versions::ValidateClientVersion(client_version);
|
||||
if (spells_dynamic_lookup_entries[static_cast<int>(client_version)])
|
||||
return spells_dynamic_lookup_entries[static_cast<int>(client_version)].get();
|
||||
|
||||
return &spells_static_lookup_entries[static_cast<int>(client_version)];
|
||||
}
|
||||
|
||||
const EQEmu::spells::LookupEntry* EQEmu::spells::StaticLookup(versions::ClientVersion client_version)
|
||||
{
|
||||
return &spells_static_lookup_entries[static_cast<int>(versions::ValidateClientVersion(client_version))];
|
||||
|
||||
@ -61,8 +61,9 @@ namespace EQEmu
|
||||
|
||||
void InitializeDynamicLookups();
|
||||
|
||||
const LookupEntry* DynamicLookup(versions::ClientVersion client_version, bool gm_flag);
|
||||
const LookupEntry* DynamicNonGMLookup(versions::ClientVersion client_version);
|
||||
const LookupEntry* DynamicGMLookup(versions::ClientVersion client_version);
|
||||
const LookupEntry* DynamicLookup(versions::ClientVersion client_version);
|
||||
const LookupEntry* StaticLookup(versions::ClientVersion client_version);
|
||||
|
||||
} /*constants*/
|
||||
@ -158,8 +159,9 @@ namespace EQEmu
|
||||
|
||||
void InitializeDynamicLookups();
|
||||
|
||||
const LookupEntry* DynamicLookup(versions::MobVersion mob_version, bool gm_flag);
|
||||
const LookupEntry* DynamicNonGMLookup(versions::MobVersion mob_version);
|
||||
const LookupEntry* DynamicGMLookup(versions::MobVersion mob_version);
|
||||
const LookupEntry* DynamicLookup(versions::MobVersion mob_version);
|
||||
const LookupEntry* StaticLookup(versions::MobVersion mob_version);
|
||||
|
||||
} /*inventory*/
|
||||
@ -178,8 +180,9 @@ namespace EQEmu
|
||||
|
||||
void InitializeDynamicLookups();
|
||||
|
||||
const LookupEntry* DynamicLookup(versions::MobVersion mob_version, bool gm_flag);
|
||||
const LookupEntry* DynamicNonGMLookup(versions::MobVersion mob_version);
|
||||
const LookupEntry* DynamicGMLookup(versions::MobVersion mob_version);
|
||||
const LookupEntry* DynamicLookup(versions::MobVersion mob_version);
|
||||
const LookupEntry* StaticLookup(versions::MobVersion mob_version);
|
||||
|
||||
} /*behavior*/
|
||||
@ -226,8 +229,9 @@ namespace EQEmu
|
||||
|
||||
void InitializeDynamicLookups();
|
||||
|
||||
const LookupEntry* DynamicLookup(versions::ClientVersion client_version, bool gm_flag);
|
||||
const LookupEntry* DynamicNonGMLookup(versions::ClientVersion client_version);
|
||||
const LookupEntry* DynamicGMLookup(versions::ClientVersion client_version);
|
||||
const LookupEntry* DynamicLookup(versions::ClientVersion client_version);
|
||||
const LookupEntry* StaticLookup(versions::ClientVersion client_version);
|
||||
|
||||
} /*spells*/
|
||||
|
||||
@ -127,10 +127,7 @@ void EQEmu::InventoryProfile::SetInventoryVersion(versions::MobVersion inventory
|
||||
void EQEmu::InventoryProfile::SetGMInventory(bool gmi_flag) {
|
||||
m_gm_inventory = gmi_flag;
|
||||
|
||||
if (m_gm_inventory)
|
||||
m_lookup = inventory::DynamicGMLookup(m_mob_version);
|
||||
else
|
||||
m_lookup = inventory::DynamicLookup(m_mob_version);
|
||||
m_lookup = inventory::DynamicLookup(m_mob_version, gmi_flag);
|
||||
}
|
||||
|
||||
void EQEmu::InventoryProfile::CleanDirty() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user