summaryrefslogtreecommitdiff
path: root/include/d/actor/d_a_switem.h
blob: a2002e0706cef138646d165c369637cc43d70ee0 (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
#ifndef D_A_SWITEM_H
#define D_A_SWITEM_H

#include "f_op/f_op_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"

class daSwItem_c : public fopAc_ac_c {
public:
    bool _delete();
    BOOL CreateInit();
    cPhs_State _create();
    bool _execute();
    BOOL isRupeeInAllCreateTable(int);
    bool _draw();

public:
    /* 0x290 */ u8 m290[0x29C - 0x290];
    /* 0x29C */ dCcD_Stts mStts;
    /* 0x2D8 */ dCcD_Cyl mCyl;
    /* 0x408 */ u8 mAtTypeTrigger;
    /* 0x409 */ bool mSpawnedItem;
    /* 0x40A */ u8 m40A[0x40C - 0x40A];
};

namespace daSwItem_prm {
    inline u32 getAtType(daSwItem_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x00) & 0xFF; }
    inline u32 getItemTbl(daSwItem_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x08) & 0x3F; }
    inline u32 getItemBitNo(daSwItem_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x0E) & 0x7F; }
}

#endif /* D_A_SWITEM_H */