summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2026-04-30 20:44:33 +0200
committerrobojumper <robojumper@gmail.com>2026-05-10 20:05:46 +0200
commitdfb2e9048b3e1a6eeeebda7252dab98664d58576 (patch)
tree9f5c70b364c3f0df1fce642aef5d948187f92b27 /include
parentb80ede8f48197b69ecfe3e3945f45e09a4342792 (diff)
item_mdl_rupee OK
Diffstat (limited to 'include')
-rw-r--r--include/toBeSorted/item_mdl.h3
-rw-r--r--include/toBeSorted/item_mdl_misc.h13
-rw-r--r--include/toBeSorted/item_mdl_rupee.h36
3 files changed, 43 insertions, 9 deletions
diff --git a/include/toBeSorted/item_mdl.h b/include/toBeSorted/item_mdl.h
index 5ed940d0..107f9980 100644
--- a/include/toBeSorted/item_mdl.h
+++ b/include/toBeSorted/item_mdl.h
@@ -1,7 +1,6 @@
#ifndef TOBESORTED_ITEM_MDL_H
#define TOBESORTED_ITEM_MDL_H
-#include "m/m3d/m_mdl.h"
#include "m/m_allocator.h"
#include "m/m_mtx.h"
#include "m/m_vec.h"
@@ -21,7 +20,7 @@ public:
/* 0x14 */ virtual void setScale(const mVec3_c &scale) = 0;
/* 0x18 */ virtual void setLocalMtx(const mMtx_c &mtx) = 0;
/* 0x1C */ virtual void draw() = 0;
- /* 0x20 */ virtual void vt_0x20() = 0;
+ /* 0x20 */ virtual void vt_0x20(u16 itemId) = 0;
/* 0x24 */ virtual void setPriorityDraw() = 0;
/* 0x28 */ virtual void unsetPriorityDraw() = 0;
/* 0x2C */ virtual m3d::smdl_c *getMdl() {
diff --git a/include/toBeSorted/item_mdl_misc.h b/include/toBeSorted/item_mdl_misc.h
index e5178dab..0e0bc9dd 100644
--- a/include/toBeSorted/item_mdl_misc.h
+++ b/include/toBeSorted/item_mdl_misc.h
@@ -6,7 +6,6 @@
#include "m/m3d/m_anmmdl.h"
#include "m/m3d/m_anmtexpat.h"
#include "m/m3d/m_anmtexsrt.h"
-#include "m/m3d/m_mdl.h"
#include "m/m3d/m_smdl.h"
#include "m/types_m.h"
#include "toBeSorted/item_mdl.h"
@@ -19,7 +18,7 @@ public:
/* 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() override;
+ /* 0x20 */ virtual void vt_0x20(u16 itemId) override;
/* 0x24 */ virtual void setPriorityDraw() override;
/* 0x28 */ virtual void unsetPriorityDraw() override;
@@ -61,7 +60,7 @@ public:
/* 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() override;
+ /* 0x20 */ virtual void vt_0x20(u16 itemId) override;
/* 0x24 */ virtual void setPriorityDraw() override;
/* 0x28 */ virtual void unsetPriorityDraw() override;
@@ -103,7 +102,7 @@ public:
/* 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() 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 {
@@ -145,7 +144,7 @@ public:
/* 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() override;
+ /* 0x20 */ virtual void vt_0x20(u16 itemId) override;
/* 0x24 */ virtual void setPriorityDraw() override;
/* 0x28 */ virtual void unsetPriorityDraw() override;
@@ -174,7 +173,7 @@ public:
/* 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() 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;
@@ -195,7 +194,7 @@ public:
/* 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() 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;
diff --git a/include/toBeSorted/item_mdl_rupee.h b/include/toBeSorted/item_mdl_rupee.h
new file mode 100644
index 00000000..41757072
--- /dev/null
+++ b/include/toBeSorted/item_mdl_rupee.h
@@ -0,0 +1,36 @@
+#ifndef TOBESORTED_ITEM_MDL_RUPEE_H
+#define TOBESORTED_ITEM_MDL_RUPEE_H
+
+#include "m/m3d/m_anmtexpat.h"
+#include "m/m3d/m_smdl.h"
+#include "toBeSorted/item_mdl.h"
+
+
+class dItemMdlRupee_c : public dItemMdl_c {
+public:
+ /* 0x08 */ virtual ~dItemMdlRupee_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;
+
+ static bool isMdlForItemId(u16 itemId);
+
+private:
+ struct MdlConfig {
+ u16 itemId;
+ f32 texPatFrame;
+ };
+ static const MdlConfig sMdlConfig[];
+
+ /* 0x18 */ m3d::smdl_c mMdl1;
+ /* 0x34 */ m3d::smdl_c mMdl2;
+ /* 0x50 */ m3d::anmTexPat_c mAnmTexPat1;
+ /* 0x7C */ m3d::anmTexPat_c mAnmTexPat2;
+};
+
+#endif