Reworked EQEmuDictionary to use class LookupEntry

This commit is contained in:
Uleat
2016-06-06 21:59:42 -04:00
parent 79549ba330
commit 9ec299247c
11 changed files with 390 additions and 836 deletions
+9
View File
@@ -36,6 +36,15 @@ namespace EntityLimits
} /*NPC*/
namespace NPCMerchant {
enum : int { Invalid = -1, Null, Safety };
enum : bool { False = false, True = true };
const size_t InvTypeTradeSize = 4;
} /*NPCMerchant*/
namespace Merc {
enum : int { Invalid = -1, Null, Safety };
+2
View File
@@ -212,6 +212,8 @@ const char* EQEmu::versions::InventoryVersionName(InventoryVersion inventory_ver
return "RoF2";
case InventoryVersion::NPC:
return "NPC";
case InventoryVersion::NPCMerchant:
return "NPC Merchant";
case InventoryVersion::Merc:
return "Merc";
case InventoryVersion::Bot:
+1
View File
@@ -84,6 +84,7 @@ namespace EQEmu
RoF,
RoF2,
NPC,
NPCMerchant,
Merc,
Bot,
ClientPet,
+343 -818
View File
File diff suppressed because it is too large Load Diff
+25 -11
View File
@@ -20,6 +20,7 @@
#ifndef COMMON_EQ_LIMITS_H
#define COMMON_EQ_LIMITS_H
#include "emu_legacy.h"
#include "types.h"
#include "eq_constants.h"
#include "emu_versions.h"
@@ -34,28 +35,41 @@
namespace EQEmu
{
namespace constants {
extern size_t GetCharacterCreationLimit(versions::ClientVersion client_version);
class LookupEntry {
public:
size_t CharacterCreationLimit;
};
const LookupEntry* Lookup(versions::ClientVersion client_version);
} /*constants*/
namespace inventory {
extern size_t GetInventoryTypeSize(versions::InventoryVersion inventory_version, int inv_type);
extern uint64 GetPossessionsBitmask(versions::InventoryVersion inventory_version);
class LookupEntry {
public:
size_t InventoryTypeSize[legacy::TypeCount];
extern bool GetAllowEmptyBagInBag(versions::InventoryVersion inventory_version);
extern bool GetAllowClickCastFromBag(versions::InventoryVersion inventory_version);
uint64 PossessionsBitmask;
size_t ItemBagSize;
size_t ItemAugSize;
extern bool GetConcatenateInvTypeLimbo(versions::InventoryVersion inventory_version);
bool AllowEmptyBagInBag;
bool AllowClickCastFromBag;
bool ConcatenateInvTypeLimbo;
bool AllowOverLevelEquipment;
};
extern bool GetAllowOverLevelEquipment(versions::InventoryVersion inventory_version);
extern size_t GetItemAugSize(versions::InventoryVersion inventory_version);
extern size_t GetItemBagSize(versions::InventoryVersion inventory_version);
const LookupEntry* Lookup(versions::InventoryVersion inventory_version);
} /*inventory*/
namespace behavior {
extern bool GetCoinHasWeight(versions::InventoryVersion inventory_version);
class LookupEntry {
public:
bool CoinHasWeight;
};
const LookupEntry* Lookup(versions::InventoryVersion inventory_version);
} /*behavior*/
+1 -1
View File
@@ -929,7 +929,7 @@ bool Inventory::SupportsClickCasting(int16 slot_id)
}
else if (slot_id >= EQEmu::legacy::GENERAL_BAGS_BEGIN && slot_id <= EQEmu::legacy::GENERAL_BAGS_END)
{
if (EQEmu::inventory::GetAllowClickCastFromBag(m_inventory_version))
if (EQEmu::inventory::Lookup(m_inventory_version)->AllowClickCastFromBag)
return true;
}