Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_swpush2.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_SWPUSH2_H
2#define D_A_OBJ_SWPUSH2_H
3
5#include "d/d_a_obj.h"
6
15namespace daObjSwpush2 {
24
25 class Attr_c {
26 public:
27 /* 0x00 */ u32 heap_size;
28 /* 0x04 */ AttrFlag_e flags;
29 /* 0x08 */ f32 size;
30 /* 0x0C */ const char* arcname;
31 /* 0x10 */ f32 unk_0x10;
32 /* 0x14 */ f32 unk_0x14;
33 /* 0x18 */ f32 unk_0x18;
34 /* 0x1C */ f32 unk_0x1c;
35 /* 0x20 */ s16 unk_0x20;
36 /* 0x22 */ s16 ride_time;
37 /* 0x24 */ s16 heavy_ride_time;
38 /* 0x26 */ s16 field_0x26;
39 /* 0x28 */ f32 unk_0x28;
40 /* 0x2C */ f32 unk_0x2c;
41 /* 0x30 */ s16 demo_run_time;
42 /* 0x34 */ f32 effect_distance;
43 };
44
45 class Hio_c : public JORReflexible {
46 public:
48
49 void ct();
50 void dt();
52
53 /* 0x4 */ int field_0x4;
54 /* 0x8 */ Attr_c M_attr[4];
55 };
56
57 class Act_c : public fopAc_ac_c {
58 public:
69
70 const char* getArcName();
71 const char* getBmdName();
72 const char* getDzbName();
73 const char* getNmlBtkName();
74 const char* getNmlBrkName();
75 const char* getOnBtkName();
76 const char* getRunBpkName();
77 const char* getRunBrkName();
78 const char* getRunBtkName();
79 void prmZ_init();
80 bool is_switch2() const;
81 static int solidHeapCB(fopAc_ac_c*);
82 bool create_heap();
83 bool create_init();
84 int create_res_load();
85 int Mthd_Create();
86 int Mthd_Delete();
87 void set_mtx();
88 void init_mtx();
89 static void rideCB(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
90 void calc_top_pos();
91 void set_push_flag();
92 void mode_upper_init();
93 void mode_upper();
94 void mode_u_l_init();
95 void mode_u_l();
96 void mode_lower_init();
97 void mode_lower();
98 void mode_l_u();
99 void demo_non_init();
100 void demo_non();
101 void demo_reqPause_init();
102 void demo_reqPause();
103 void demo_runPause_init(int);
104 void demo_runPause();
105 void demo_stop_puase();
106 void demo_reqSw_init();
107 void demo_reqSw();
108 void demo_runSw_init();
109 void demo_runSw();
110 int Mthd_Execute();
111 int Mthd_Draw();
112
113 const Attr_c& attr() const {
114 #if DEBUG
115 return M_hio.M_attr[mType];
116 #else
117 return M_attr[mType];
118 #endif
119 }
120
121 u8 prmZ_get_swSave2() const { return mPrmZ & 0xFF; }
125
126 bool is_switch() const { return fopAcM_isSwitch(this, prm_get_swSave()); }
127 void on_switch() const { fopAcM_onSwitch(this, prm_get_swSave()); }
128 void off_switch() const { fopAcM_offSwitch(this, prm_get_swSave()); }
129 void rev_switch() const { fopAcM_revSwitch(this, prm_get_swSave()); }
130
131 static const char M_arcname[];
132 static const Attr_c M_attr[4];
133
134 #if DEBUG
135 static Hio_c M_hio;
136 #endif
137
139 /* 0x570 */ dBgW* mpBgw;
140 /* 0x574 */ Mtx mBgMtx;
141 /* 0x5A4 */ J3DModel* mpModel;
145 /* 0x5B4 */ mDoExt_btkAnm* mpOnBtk;
148 /* 0x5C0 */ int mType;
149 /* 0x5C4 */ int mModeProc;
150 /* 0x5C8 */ int mDemoProc;
151 /* 0x5CC */ s16 mDemoRunTime;
152 /* 0x5CE */ s16 mEventIdx;
153 /* 0x5D0 */ u16 mPrmZ;
154 /* 0x5D2 */ u8 mPrmInit;
155 /* 0x5D3 */ u8 mShockTimer;
156 /* 0x5D4 */ u8 mRideType;
157 /* 0x5D5 */ u8 mPrevRideType;
158 /* 0x5D6 */ s16 mRideTimer;
159 /* 0x5D8 */ u8 mPushFlag;
162 /* 0x5DC */ s16 mHeavyRideTimer;
163 /* 0x5DE */ u8 mHeavyPushFlag;
164 /* 0x5DF */ u8 field_0x5df;
165 /* 0x5E0 */ s16 mPauseDemoTimer;
166 /* 0x5E4 */ f32 mTopPos;
167 /* 0x5E8 */ f32 field_0x5e8;
168 /* 0x5EC */ f32 field_0x5ec;
169 /* 0x5F0 */ u8 field_0x5f0;
170 };
171};
172
174
175#endif /* D_A_OBJ_SWPUSH2_H */
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition JORReflexible.h:43
Definition d_bg_w.h:257
Definition d_a_obj_swpush2.h:57
void demo_runSw()
Definition d_a_obj_swpush2.cpp:598
bool is_switch() const
Definition d_a_obj_swpush2.h:126
u8 mPrevPlayerRideHeavy
Definition d_a_obj_swpush2.h:161
u8 mHeavyPushFlag
Definition d_a_obj_swpush2.h:163
request_of_phase_process_class mPhase
Definition d_a_obj_swpush2.h:138
void demo_runPause()
Definition d_a_obj_swpush2.cpp:553
s16 mDemoRunTime
Definition d_a_obj_swpush2.h:151
mDoExt_btkAnm * mpNmlBtk
Definition d_a_obj_swpush2.h:147
u8 mPrevRideType
Definition d_a_obj_swpush2.h:157
const char * getNmlBrkName()
Definition d_a_obj_swpush2.cpp:31
u8 mPrmInit
Definition d_a_obj_swpush2.h:154
void rev_switch() const
Definition d_a_obj_swpush2.h:129
void mode_lower_init()
Definition d_a_obj_swpush2.cpp:503
void set_mtx()
Definition d_a_obj_swpush2.cpp:339
const char * getRunBpkName()
Definition d_a_obj_swpush2.cpp:39
void mode_lower()
Definition d_a_obj_swpush2.cpp:509
void mode_l_u()
Definition d_a_obj_swpush2.cpp:511
u8 mIsPlayerRideHeavy
Definition d_a_obj_swpush2.h:160
int Mthd_Delete()
Definition d_a_obj_swpush2.cpp:324
void off_switch() const
Definition d_a_obj_swpush2.h:128
const char * getNmlBtkName()
Definition d_a_obj_swpush2.cpp:27
void demo_runPause_init(int)
Definition d_a_obj_swpush2.cpp:546
s16 mEventIdx
Definition d_a_obj_swpush2.h:152
u8 mRideType
Definition d_a_obj_swpush2.h:156
void calc_top_pos()
Definition d_a_obj_swpush2.cpp:375
void set_push_flag()
Definition d_a_obj_swpush2.cpp:380
int mType
Definition d_a_obj_swpush2.h:148
void demo_runSw_init()
Definition d_a_obj_swpush2.cpp:594
mDoExt_brkAnm * mpNmlBrk
Definition d_a_obj_swpush2.h:146
void demo_reqSw_init()
Definition d_a_obj_swpush2.cpp:571
Mtx mBgMtx
Definition d_a_obj_swpush2.h:140
void mode_u_l_init()
Definition d_a_obj_swpush2.cpp:467
f32 field_0x5ec
Definition d_a_obj_swpush2.h:168
const Attr_c & attr() const
Definition d_a_obj_swpush2.h:113
dBgW * mpBgw
Definition d_a_obj_swpush2.h:139
void demo_non()
Definition d_a_obj_swpush2.cpp:528
bool create_heap()
Definition d_a_obj_swpush2.cpp:151
const char * getDzbName()
Definition d_a_obj_swpush2.cpp:23
void init_mtx()
Definition d_a_obj_swpush2.cpp:348
void demo_stop_puase()
Definition d_a_obj_swpush2.cpp:561
void demo_reqPause()
Definition d_a_obj_swpush2.cpp:538
void demo_reqPause_init()
Definition d_a_obj_swpush2.cpp:530
const char * getRunBtkName()
Definition d_a_obj_swpush2.cpp:47
int Mthd_Execute()
Definition d_a_obj_swpush2.cpp:605
int Mthd_Create()
Definition d_a_obj_swpush2.cpp:295
u8 field_0x5df
Definition d_a_obj_swpush2.h:164
void on_switch() const
Definition d_a_obj_swpush2.h:127
static const Attr_c M_attr[4]
Definition d_a_obj_swpush2.h:76
Prm_e
Definition d_a_obj_swpush2.h:59
@ PRM_SAVESW_SHIFT_e
Definition d_a_obj_swpush2.h:60
@ PRM_TYPE_NBITS_e
Definition d_a_obj_swpush2.h:67
@ PRM_SAVESW_NBITS_e
Definition d_a_obj_swpush2.h:61
@ PRM_EVID_SHIFT_e
Definition d_a_obj_swpush2.h:63
@ PRM_EVID_NBITS_e
Definition d_a_obj_swpush2.h:64
@ PRM_TYPE_SHIFT_e
Definition d_a_obj_swpush2.h:66
const char * getBmdName()
Definition d_a_obj_swpush2.cpp:19
u16 mPrmZ
Definition d_a_obj_swpush2.h:153
void prmZ_init()
Definition d_a_obj_swpush2.cpp:51
static const char M_arcname[]
Definition d_a_obj_swpush2.h:131
mDoExt_btkAnm * mpOnBtk
Definition d_a_obj_swpush2.h:145
u8 mShockTimer
Definition d_a_obj_swpush2.h:155
int Mthd_Draw()
Definition d_a_obj_swpush2.cpp:656
const char * getRunBrkName()
Definition d_a_obj_swpush2.cpp:43
int create_res_load()
Definition d_a_obj_swpush2.cpp:280
void mode_upper_init()
Definition d_a_obj_swpush2.cpp:420
s16 mPauseDemoTimer
Definition d_a_obj_swpush2.h:165
int prm_get_type() const
Definition d_a_obj_swpush2.h:124
mDoExt_bpkAnm * mpRunBpk
Definition d_a_obj_swpush2.h:142
static Hio_c M_hio
Definition d_a_obj_swpush2.h:135
f32 field_0x5e8
Definition d_a_obj_swpush2.h:167
mDoExt_btkAnm * mpRunBtk
Definition d_a_obj_swpush2.h:143
const char * getArcName()
Definition d_a_obj_swpush2.cpp:15
int prm_get_swSave() const
Definition d_a_obj_swpush2.h:122
J3DModel * mpModel
Definition d_a_obj_swpush2.h:141
const char * getOnBtkName()
Definition d_a_obj_swpush2.cpp:35
void demo_reqSw()
Definition d_a_obj_swpush2.cpp:585
void mode_u_l()
Definition d_a_obj_swpush2.cpp:472
static void rideCB(dBgW *, fopAc_ac_c *, fopAc_ac_c *)
Definition d_a_obj_swpush2.cpp:353
mDoExt_brkAnm * mpRunBrk
Definition d_a_obj_swpush2.h:144
void demo_non_init()
Definition d_a_obj_swpush2.cpp:524
bool create_init()
Definition d_a_obj_swpush2.cpp:235
u8 prm_get_evId() const
Definition d_a_obj_swpush2.h:123
f32 mTopPos
Definition d_a_obj_swpush2.h:166
u8 mPushFlag
Definition d_a_obj_swpush2.h:159
bool is_switch2() const
Definition d_a_obj_swpush2.cpp:61
u8 prmZ_get_swSave2() const
Definition d_a_obj_swpush2.h:121
s16 mRideTimer
Definition d_a_obj_swpush2.h:158
int mDemoProc
Definition d_a_obj_swpush2.h:150
int mModeProc
Definition d_a_obj_swpush2.h:149
s16 mHeavyRideTimer
Definition d_a_obj_swpush2.h:162
u8 field_0x5f0
Definition d_a_obj_swpush2.h:169
static int solidHeapCB(fopAc_ac_c *)
Definition d_a_obj_swpush2.cpp:70
void mode_upper()
Definition d_a_obj_swpush2.cpp:427
Definition d_a_obj_swpush2.h:25
f32 unk_0x10
Definition d_a_obj_swpush2.h:31
f32 effect_distance
Definition d_a_obj_swpush2.h:42
s16 demo_run_time
Definition d_a_obj_swpush2.h:41
f32 unk_0x28
Definition d_a_obj_swpush2.h:39
s16 ride_time
Definition d_a_obj_swpush2.h:36
s16 field_0x26
Definition d_a_obj_swpush2.h:38
f32 unk_0x18
Definition d_a_obj_swpush2.h:33
f32 size
Definition d_a_obj_swpush2.h:29
f32 unk_0x2c
Definition d_a_obj_swpush2.h:40
f32 unk_0x14
Definition d_a_obj_swpush2.h:32
const char * arcname
Definition d_a_obj_swpush2.h:30
AttrFlag_e flags
Definition d_a_obj_swpush2.h:28
u32 heap_size
Definition d_a_obj_swpush2.h:27
s16 unk_0x20
Definition d_a_obj_swpush2.h:35
s16 heavy_ride_time
Definition d_a_obj_swpush2.h:37
f32 unk_0x1c
Definition d_a_obj_swpush2.h:34
Definition d_a_obj_swpush2.h:45
int field_0x4
Definition d_a_obj_swpush2.h:53
void genMessage(JORMContext *)
Attr_c M_attr[4]
Definition d_a_obj_swpush2.h:54
AttrFlag_e
Definition d_a_obj_swpush2.h:16
@ AttrFlag_REV_SW_e
Definition d_a_obj_swpush2.h:19
@ AttrFlag_UNK_0x2_e
Definition d_a_obj_swpush2.h:18
@ AttrFlag_HEAVY_e
Definition d_a_obj_swpush2.h:20
@ AttrFlag_UNK_0x1_e
Definition d_a_obj_swpush2.h:17
@ AttrFlag_UNK_0x10_e
Definition d_a_obj_swpush2.h:21
@ AttrFlag_UNK_0x20_e
Definition d_a_obj_swpush2.h:22
Definition f_op_actor.h:230
Definition m_Do_ext.h:124
Definition m_Do_ext.h:94
Definition m_Do_ext.h:65
STATIC_ASSERT(sizeof(daObjSwpush2::Act_c)==0x5f4)
f32 Mtx[3][4]
Definition mtx.h:25
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
void fopAcM_revSwitch(const fopAc_ac_c *i_actor, int sw)
Definition f_op_actor_mng.h:455
BOOL fopAcM_isSwitch(const fopAc_ac_c *i_actor, int sw)
Definition f_op_actor_mng.h:459
void fopAcM_offSwitch(const fopAc_ac_c *i_actor, int sw)
Definition f_op_actor_mng.h:451
void fopAcM_onSwitch(const fopAc_ac_c *i_actor, int sw)
Definition f_op_actor_mng.h:447
Definition d_a_obj_swpush2.cpp:689
T PrmAbstract(const fopAc_ac_c *i_actor, T i_nbits, T i_shift)
Definition d_a_obj.h:20
Definition c_phase.h:17