Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_suspend.h
Go to the documentation of this file.
1#ifndef D_A_SUSPEND_H
2#define D_A_SUSPEND_H
3
5
14class daSus_c : public fopAc_ac_c {
15public:
16 class data_c {
17 public:
18 void set(s8, cXyz const&, cXyz const&, u8, u8, u8);
19 data_c* reset();
20 u8 isSwitch();
22 bool check(cXyz const&);
23 void execute();
25 data_c() { reset(); }
26
27 void setNext(data_c* i_next) { mpNext = i_next; }
28 data_c* getNext() { return mpNext; }
29 u8 getType() { return mType; }
30 bool isUsed() { return mRoomNo < 0; }
31 s8 getRoomNo() { return mRoomNo; }
32
33 /* 0x00 */ s8 mRoomNo;
34 /* 0x01 */ bool field_0x1;
35 /* 0x02 */ u8 field_0x2;
36 /* 0x03 */ u8 field_0x3;
37 /* 0x04 */ u8 mType;
38 /* 0x08 */ cXyz field_0x8;
39 /* 0x14 */ cXyz field_0x14;
40 /* 0x20 */ data_c* mpNext;
41 }; // Size: 0x24
42
43 class room_c {
44 public:
45 void add(daSus_c::data_c*);
46 void reset();
47 room_c() { init(); }
48 void init() { mpData = NULL; }
49
50 /* 0x0 */ data_c* mpData;
51 }; // Size: 0x4
52
53 static int newData(s8, cXyz const&, cXyz const&, u8, u8, u8);
54 static void reset();
55 static void check(fopAc_ac_c*);
56 static bool check(s8 i_roomNo, cXyz const& i_pos);
57 static void execute();
58 int create();
59
60 static void reset(int roomNo) {
61 mRoom[roomNo].reset();
62 }
63
64 u32 getScale() { return fopAcM_GetParam(this) >> 0x1E; }
65 u8 getArg1() { return (fopAcM_GetParam(this) >> 9) & 1; }
66 u8 getArg0() { return (fopAcM_GetParam(this) >> 8) & 1; }
67 u8 getSw() { return fopAcM_GetParam(this) & 0xFF; }
68 u8 getRoom() { return fopAcM_GetParam(this) >> 10; }
69
70 static data_c mData[0x20];
71 static room_c mRoom[0x40];
72 static s16 mSetTop;
73};
74
75#endif /* D_A_SUSPEND_H */
Definition d_a_suspend.h:16
u8 field_0x2
Definition d_a_suspend.h:35
data_c * mpNext
Definition d_a_suspend.h:40
data_c()
Definition d_a_suspend.h:25
u8 getType()
Definition d_a_suspend.h:29
void setNext(data_c *i_next)
Definition d_a_suspend.h:27
void execute()
Definition d_com_static.cpp:75
u8 check(fopAc_ac_c *)
Definition d_com_static.cpp:56
cXyz field_0x8
Definition d_a_suspend.h:38
u8 field_0x3
Definition d_a_suspend.h:36
data_c * reset()
Definition d_com_static.cpp:28
void set(s8, cXyz const &, cXyz const &, u8, u8, u8)
Definition d_com_static.cpp:17
data_c * getNext()
Definition d_a_suspend.h:28
cXyz field_0x14
Definition d_a_suspend.h:39
u8 mType
Definition d_a_suspend.h:37
bool field_0x1
Definition d_a_suspend.h:34
~data_c()
Definition d_a_suspend.h:24
bool isUsed()
Definition d_a_suspend.h:30
u8 isSwitch()
Definition d_com_static.cpp:33
s8 getRoomNo()
Definition d_a_suspend.h:31
s8 mRoomNo
Definition d_a_suspend.h:33
Definition d_a_suspend.h:43
void add(daSus_c::data_c *)
Definition d_com_static.cpp:82
data_c * mpData
Definition d_a_suspend.h:50
void init()
Definition d_a_suspend.h:48
void reset()
Definition d_com_static.cpp:108
room_c()
Definition d_a_suspend.h:47
Suspend.
Definition d_a_suspend.h:14
static s16 mSetTop
Definition d_a_suspend.h:72
u8 getArg1()
Definition d_a_suspend.h:65
static int newData(s8, cXyz const &, cXyz const &, u8, u8, u8)
Definition d_com_static.cpp:124
u32 getScale()
Definition d_a_suspend.h:64
static void reset(int roomNo)
Definition d_a_suspend.h:60
static data_c mData[0x20]
Definition d_a_suspend.h:70
int create()
Definition d_a_suspend.cpp:11
static void reset()
Definition d_com_static.cpp:151
static void execute()
Definition d_com_static.cpp:195
static void check(fopAc_ac_c *)
Definition d_com_static.cpp:175
u8 getArg0()
Definition d_a_suspend.h:66
static room_c mRoom[0x40]
Definition d_a_suspend.h:71
u8 getRoom()
Definition d_a_suspend.h:68
u8 getSw()
Definition d_a_suspend.h:67
Definition f_op_actor.h:230
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
Definition c_xyz.h:7