feat(component): add CCharacterComponent::GetSheatheLink

This commit is contained in:
fallenoak 2025-11-02 23:20:35 -06:00
parent 72ec15f494
commit bb4824cb02
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
4 changed files with 38 additions and 0 deletions

View File

@ -122,6 +122,21 @@ HTEXTURE CCharacterComponent::CreateTexture(const char* fileName, CStatus* statu
return TextureCreate(fileName, texFlags, status, 0);
}
GEOCOMPONENTLINKS CCharacterComponent::GetSheatheLink(SHEATHE_TYPE sheatheType, bool a2) {
switch (sheatheType) {
case SHEATHE_1:
return a2 ? ATTACH_SHEATH_MAINHAND : ATTACH_SHEATH_OFFHAND;
case SHEATHE_2:
return a2 ? ATTACH_LARGEWEAPONLEFT : ATTACH_LARGEWEAPONRIGHT;
case SHEATHE_3:
return a2 ? ATTACH_HIPWEAPONLEFT : ATTACH_HIPWEAPONRIGHT;
case SHEATHE_4:
return ATTACH_SHEATH_SHIELD;
default:
return ATTACH_NONE;
}
}
void CCharacterComponent::Initialize() {
// TODO

View File

@ -50,6 +50,7 @@ class CCharacterComponent {
static void AddHandItem(CM2Model* model, const ItemDisplayInfoRec* displayRec, INVENTORY_SLOTS invSlot, SHEATHE_TYPE sheatheType, bool a5, bool a6, bool a7, int32_t a8);
static CCharacterComponent* AllocComponent();
static HTEXTURE CreateTexture(const char* fileName, CStatus* status);
static GEOCOMPONENTLINKS GetSheatheLink(SHEATHE_TYPE sheatheType, bool a2);
static void Initialize();
static void Initialize(EGxTexFormat textureFormat, uint32_t textureLevel, int32_t thread, int32_t compress);
static void InitDbData();

View File

@ -52,6 +52,24 @@ enum COMPONENT_VARIATIONS {
NUM_COMPONENT_VARIATIONS
};
enum GEOCOMPONENTLINKS {
// TODO
ATTACH_HANDR = 1,
ATTACH_HANDL = 2,
// TODO
ATTACH_SHEATH_MAINHAND = 26,
ATTACH_SHEATH_OFFHAND = 27,
ATTACH_SHEATH_SHIELD = 28,
// TODO
ATTACH_LARGEWEAPONLEFT = 30,
ATTACH_LARGEWEAPONRIGHT = 31,
// TODO
ATTACH_HIPWEAPONLEFT = 32,
ATTACH_HIPWEAPONRIGHT = 33,
// TODO
ATTACH_NONE = 0xFFFFFFFF,
};
enum ITEM_SLOT {
ITEMSLOT_0 = 0,
ITEMSLOT_1 = 1,

View File

@ -40,6 +40,10 @@ enum INVENTORY_SLOTS {
enum SHEATHE_TYPE {
SHEATHE_0 = 0,
SHEATHE_1 = 1,
SHEATHE_2 = 2,
SHEATHE_3 = 3,
SHEATHE_4 = 4,
NUM_SHEATHE_TYPES
};