Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_kwheel01.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_KWHEEL01_H
2#define D_A_OBJ_KWHEEL01_H
3
4
6#include "d/d_event_lib.h"
8
17public:
20
22 void setMtx();
23 int CreateHeap();
24 int Create();
25 int Execute(Mtx**);
26 int Draw();
27 int Delete();
28 bool eventStart();
29
30private:
31 /* 0x5B8 */ Mtx mNewBgMtx;
32 /* 0x5E8 */ Mtx mTransformMtx;
33 /* 0x618 */ J3DModel* mpModel;
34 /* 0x61C */ s16 mYAngularVelocity;
35 /* 0x620 */ fpc_ProcID m_klift_pid[4]; // JUT_ASSERT debug string shows this was called m_klift_pid
36 /* 0x630 */ dBgW* mKLiftCollisions[4];
37 /* 0x640 */ Mtx mKLiftBaseMatrices[4];
38 /* 0x700 */ u8 mCreatedKLifts;
39
40 // Switch number to check if water is flowing and the gear should turn, and whether the gear should accelerate to the target speed or start off at it
41 int getSwNo() {
42 return fopAcM_GetParamBit(this, 0, 8);
43 }
44
45 // Determines rotational direction of gear; 0 = counter-clockwise, 1 = clockwise
46 u32 getArg0() {
47 return fopAcM_GetParamBit(this, 8, 1);
48 }
49
50 int getEvent() {
51 return fopAcM_GetParamBit(this, 9, 8);
52 }
53
54 // Determines the number of chain models each lift should use
55 u32 getArg2() {
56 return fopAcM_GetParamBit(this, 17, 6);
57 }
58
59 // Determines whether each of 4 potential lifts should be created and/or updated
60 u32 getArg4567() {
61 return fopAcM_GetParamBit(this, 23, 4);
62 }
63
64 u32 getOut() {
65 return fopAcM_GetParamBit(this, 27, 1);
66 }
67};
68
70
74
75 void genMessage(JORMContext*);
76
77 /* 0x4 */ s16 mTargetYAngularSpeed;
78 /* 0x6 */ s16 mYAngularAcceleration;
79};
80
81#endif /* D_A_OBJ_KWHEEL01_H */
int cPhs_Step
Definition c_phase.h:8
Definition d_bg_s_movebg_actor.h:11
Definition d_bg_w.h:262
Definition d_event_lib.h:24
Water Wheel/Gear.
Definition d_a_obj_kwheel01.h:16
dBgW * mKLiftCollisions[4]
Definition d_a_obj_kwheel01.h:36
int Draw()
Definition d_a_obj_kwheel01.cpp:297
~daObjKWheel01_c()
Definition d_a_obj_kwheel01.h:19
cPhs_Step create1st()
Definition d_a_obj_kwheel01.cpp:55
u32 getArg0()
Definition d_a_obj_kwheel01.h:46
int Create()
Definition d_a_obj_kwheel01.cpp:168
int getEvent()
Definition d_a_obj_kwheel01.h:50
void setMtx()
Definition d_a_obj_kwheel01.cpp:116
int getSwNo()
Definition d_a_obj_kwheel01.h:41
J3DModel * mpModel
Definition d_a_obj_kwheel01.h:33
bool eventStart()
Definition d_a_obj_kwheel01.cpp:324
Mtx mTransformMtx
Definition d_a_obj_kwheel01.h:32
daObjKWheel01_c()
Definition d_a_obj_kwheel01.h:18
int CreateHeap()
Definition d_a_obj_kwheel01.cpp:139
Mtx mNewBgMtx
Definition d_a_obj_kwheel01.h:31
u8 mCreatedKLifts
Definition d_a_obj_kwheel01.h:38
s16 mYAngularVelocity
Definition d_a_obj_kwheel01.h:34
fpc_ProcID m_klift_pid[4]
Definition d_a_obj_kwheel01.h:35
Mtx mKLiftBaseMatrices[4]
Definition d_a_obj_kwheel01.h:37
int Delete()
Definition d_a_obj_kwheel01.cpp:308
u32 getOut()
Definition d_a_obj_kwheel01.h:64
u32 getArg2()
Definition d_a_obj_kwheel01.h:55
u32 getArg4567()
Definition d_a_obj_kwheel01.h:60
int Execute(Mtx **)
Definition d_a_obj_kwheel01.cpp:205
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daObjKWheel01_c)==0x704)
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:176
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition d_a_obj_kwheel01.h:71
void genMessage(JORMContext *)
Definition d_a_obj_kwheel01.cpp:38
s16 mTargetYAngularSpeed
Definition d_a_obj_kwheel01.h:77
~daObjKWheel01_HIO_c()
Definition d_a_obj_kwheel01.h:73
daObjKWheel01_HIO_c()
Definition d_a_obj_kwheel01.cpp:33
s16 mYAngularAcceleration
Definition d_a_obj_kwheel01.h:78
Definition c_phase.h:19