item_mdl_item OK

This commit is contained in:
robojumper
2026-04-30 22:38:49 +02:00
parent dfb2e9048b
commit 0146842436
9 changed files with 589 additions and 70 deletions
+2 -1
View File
@@ -75,12 +75,13 @@ public:
static u32 getHeartContainerHealthCount();
static u32 getGratitudeCrystalCount();
static u32 getTotalRequiredKeyPieceCount();
static u32 getKeyPieceCount();
static u32 getSmallKeyCount();
static bool isJellyBlob(ITEM_ID item);
static bool isStarryFirefly(ITEM_ID item);
static bool isSlingshot(ITEM_ID item);
static bool isRupee(ITEM_ID item);
static bool isKeyPiece(ITEM_ID item);
static bool isTreasure(ITEM_ID item);
+34
View File
@@ -0,0 +1,34 @@
#ifndef TOBESORTED_ITEM_MDL_ITEM_H
#define TOBESORTED_ITEM_MDL_ITEM_H
#include "m/m3d/m_smdl.h"
#include "toBeSorted/item_mdl.h"
class dItemMdlItem_c : public dItemMdl_c {
public:
/* 0x08 */ virtual ~dItemMdlItem_c() {}
/* 0x0C */ virtual bool init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator) override;
/* 0x10 */ virtual void vt_0x10(u8) override;
/* 0x14 */ virtual void setScale(const mVec3_c &scale) override;
/* 0x18 */ virtual void setLocalMtx(const mMtx_c &mtx) override;
/* 0x1C */ virtual void draw() override;
/* 0x20 */ virtual void vt_0x20(u16 itemId) override;
/* 0x24 */ virtual void setPriorityDraw() override;
/* 0x28 */ virtual void unsetPriorityDraw() override;
/* 0x2C */ virtual m3d::smdl_c *getMdl() override;
static bool isMdlForItemId(u16 itemId);
private:
struct MdlConfig {
const char *resFile;
const char *mdlName;
};
static const MdlConfig sMdlConfig[];
static const u8 sMdlIdx[];
/* 0x18 */ m3d::smdl_c mMdl;
};
#endif
-47
View File
@@ -25,20 +25,6 @@ public:
static bool isMdlForItemId(u16 itemId);
private:
enum MdlIdx {
MDL_PUT_ARROW,
MDL_PUT_ARROW_BUNDLE,
MDL_PUT_HEART,
MDL_PUT_KEY_SMALL,
MDL_PUT_BOMB_SET,
MDL_PUT_SEED,
MDL_PUT_HEART_UTUWA,
MDL_PUT_HEART_KAKERA,
MDL_PUT_TRI_FORCE,
MDL_PUT_GARAGARA,
MDL_PUT_MAX,
};
struct MdlConfig {
const char *putResFile;
const char *putResMdl;
@@ -67,19 +53,6 @@ public:
static bool isMdlForItemId(u16 itemId);
private:
enum ShieldIdx {
MDL_SHIELD_WOOD_0,
MDL_SHIELD_WOOD_1,
MDL_SHIELD_WOOD_2,
MDL_SHIELD_IRON_0,
MDL_SHIELD_IRON_1,
MDL_SHIELD_IRON_2,
MDL_SHIELD_HOLY_0,
MDL_SHIELD_HOLY_1,
MDL_SHIELD_HOLY_2,
MDL_SHIELD_MAX
};
struct MdlConfig {
f32 frame;
const char *resFile;
@@ -112,18 +85,6 @@ public:
static bool isMdlForItemId(u16 itemId);
private:
enum BottleIdx {
MDL_BOTTLE_WATER,
MDL_BOTTLE_FAIRY,
MDL_BOTTLE_HOLY,
MDL_BOTTLE_KUSURI,
MDL_BOTTLE_KUSURI_S,
MDL_BOTTLE_B_FAIRY,
MDL_BOTTLE_SOZAI_I,
MDL_BOTTLE_PUMPKIN,
MDL_BOTTLE_MAX
};
struct MdlConfig {
const char *resFile;
const char *mdlName;
@@ -202,14 +163,6 @@ public:
static bool isMdlForItemId(u16 itemId);
private:
enum PotionIdx {
MDL_POTION_MUTEKI,
MDL_POTION_GUTS,
MDL_POTION_AIR,
MDL_POTION_GENKI,
MDL_POTION_MAX,
};
struct MdlConfig {
const char *resFile;
const char *mdlName;
+1 -1
View File
@@ -25,7 +25,7 @@ enum ItemMdlIdx {
ITEMMDL_GODDESS_HARP,
ITEMMDL_SPIRIT_VESSEL,
ITEMMDL_BOW,
ITEMMDL_CLAWSHOWS,
ITEMMDL_CLAWSHOTS,
ITEMMDL_BIRD_STATUETTE,
ITEMMDL_AC_BK,
ITEMMDL_FS_BK,