summaryrefslogtreecommitdiff
path: root/include/toBeSorted/item_mdl_rupee.h
blob: 1882516e3a5b1c3eed8adbc5e9f3adade54b01e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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 setDrawMode(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 changeItemId(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 mPutMdl;
    /* 0x34 */ m3d::smdl_c mGetMdl;
    /* 0x50 */ m3d::anmTexPat_c mPutAnmTexPat;
    /* 0x7C */ m3d::anmTexPat_c mGetAnmTexPat;
};

#endif