Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_tbox.h
Go to the documentation of this file.
1#ifndef D_A_TBOX_H
2#define D_A_TBOX_H
3
5#include "d/d_cc_d.h"
6#include "d/d_bg_s_acch.h"
8#include "d/d_kankyo.h"
10#include "m_Do/m_Do_hostIO.h"
11
12class dBgW;
13
15protected:
16 virtual BOOL checkSmallTbox() = 0;
17
18 /* 0x5A0 */ dCcD_Stts mStts;
19 /* 0x5DC */ dCcD_Cyl mCyl;
20};
21
22STATIC_ASSERT(sizeof(daTboxBase_c) == 0x718);
23
25 /* 0x00 */ char* mArcName;
26 /* 0x04 */ int mModelResNo;
27 /* 0x08 */ int mBckResNo;
28 /* 0x0C */ int mClosedDzbResNo;
29 /* 0x10 */ int mOpenDzbResNo;
30 /* 0x14 */ int mEffectResNo;
31 /* 0x18 */ int mBrkResNo;
32};
33
35
36class daTbox_c;
37typedef int (daTbox_c::*daTbox_actionFn)();
38typedef void (daTbox_c::*daTbox_modeFn)();
39
48class daTbox_c : public daTboxBase_c {
49public:
55
56 enum Mode {
59 };
60
66 void lightReady();
67 void setLightPos();
68 int checkEnv();
69 int checkAppear();
70 int checkOpen();
71 void clrDzb();
72 void setDzb();
73 void surfaceProc();
74 int checkNormal();
77 int CreateHeap();
78 void CreateInit();
79 void initPos();
80 void initAnm();
81 int boxCheck();
82 void demoProcOpen();
83 void lightColorProc();
84 void environmentProc();
85 void lightUpProc();
86 void lightDownProc();
87 void dropProcInitCall();
88 void dropProcInit();
90 bool getDropSAngle(s16*);
91 int getDir();
92 void setRotAxis(cXyz const*, cXyz const*);
93 void dropProcInit2();
94 void dropProc();
95 void demoInitAppear();
96 void demoProcAppear();
97 int demoProc();
98 void OpenInit_com();
99 void OpenInit();
100 int actionWait();
101 int actionDemo();
102 int actionDemo2();
103 int actionDropDemo();
108 int setGetDemoItem();
109 int actionOpenWait();
110 int actionNotOpenDemo();
111 int checkDrop();
113 int actionSwOnWait();
114 int actionSwOnWait2();
115 int actionDropWait();
116 int actionGenocide();
118 int actionDropForWeb();
119 void initBaseMtx();
120 void setBaseMtx();
121 void mode_proc_call();
122 void mode_exec_wait();
123 void mode_exec();
125 int Execute(Mtx**);
126 int Draw();
127 int Delete();
128 int Create() { return true; }
129
130 virtual BOOL checkSmallTbox() { return TRUE; }
131
132 u32 getEvent() { return fopAcM_GetParam(this) >> 24; }
133 int getShapeType() { return (fopAcM_GetParam(this) >> 20) & 0xf; }
134 int getSwNo() { return (fopAcM_GetParam(this) >> 12) & 0xff; }
135 int getTboxNo() { return (fopAcM_GetParam(this) >> 6) & 0x3f; }
136 int getFuncType() { return fopAcM_GetParam(this) & 0x3f; }
137 u32 getSwType() { return field_0x980 & 0xf; }
138 int getItemNo() { return (field_0x982 >> 8) & 0xff; }
139 int getPathId() { return field_0x982 & 0xff; }
140 void flagClr() { mFlags = 0; }
141 void flagOn(u16 i_flag) { mFlags |= i_flag; }
142 void flagOff(u16 i_flag) { mFlags &= ~i_flag; }
143 u16 flagCheck(u16 i_flag) { return mFlags & i_flag; }
144 void setAction(daTbox_actionFn i_actionFn) { mpActionFn = i_actionFn; }
145 void action() { (this->*mpActionFn)(); }
146 void setDrawMtx(Mtx i_mtx) {
147 MTXCopy(i_mtx, mDrawMtx);
148 field_0x9fc = 1;
149 }
150
151private:
152 /* 0x718 */ u8 field_0x718;
154 /* 0x724 */ J3DModel* mpModel;
155 /* 0x728 */ J3DModel* mpSlimeModel;
156 /* 0x72C */ mDoExt_bckAnm* mpAnm;
159 /* 0x738 */ dBgW* mpOpenBgW;
160 /* 0x73C */ dBgW* mpBgCollision;
162 /* 0x74C */ int mStaffId;
163 /* 0x750 */ f32 field_0x750;
164 /* 0x754 */ u16 mFlags;
165 /* 0x756 */ u16 mDemoFrame;
166 /* 0x758 */ bool field_0x758;
167 /* 0x759 */ u8 field_0x759;
168 /* 0x75A */ u16 field_0x75a;
169 /* 0x75C */ u8 mTimer;
170 /* 0x760 */ dBgS_ObjAcch mAcch;
172 /* 0x978 */ u8 mTboxNo;
173 /* 0x97A */ s16 mEventId;
174 /* 0x97C */ bool field_0x97c;
175 /* 0x97D */ bool field_0x97d;
176 /* 0x97E */ u8 field_0x97e;
177 /* 0x97F */ bool mParamsInit;
178 /* 0x980 */ u16 field_0x980;
179 /* 0x982 */ u16 field_0x982;
180 /* 0x984 */ s16 field_0x984;
181 /* 0x988 */ Mtx field_0x988;
182 /* 0x9B8 */ cXyz mRotAxis;
183 /* 0x9C4 */ s16 field_0x9c4;
184 /* 0x9C6 */ s16 field_0x9c6;
185 /* 0x9C8 */ u8 field_0x9c8;
186 /* 0x9C9 */ u8 field_0x9c9;
187 /* 0x9CA */ s16 field_0x9ca;
188 /* 0x9CC */ u8 field_0x9cc;
189 /* 0x9CD */ u8 mMode;
191 /* 0x9F0 */ f32 mAllcolRatio;
192 /* 0x9F4 */ int field_0x9f4;
193 /* 0x9F8 */ u32 mOpenSeId;
194 /* 0x9FC */ u8 field_0x9fc;
195 /* 0x9FD */ u8 field_0x9fd;
196 /* 0xA00 */ Mtx mDrawMtx;
197};
198
199STATIC_ASSERT(sizeof(daTbox_c) == 0xA30);
200
201#endif /* D_A_TBOX_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DModel.h:43
Definition d_bg_s_acch.h:15
Definition d_bg_s_movebg_actor.h:11
Definition d_bg_s_acch.h:247
Definition d_bg_w.h:257
Definition d_cc_d.h:461
Definition d_cc_d.h:269
Definition d_a_tbox.h:14
virtual BOOL checkSmallTbox()=0
dCcD_Cyl mCyl
Definition d_a_tbox.h:19
dCcD_Stts mStts
Definition d_a_tbox.h:18
Treasure Box.
Definition d_a_tbox.h:48
void CreateInit()
Definition d_a_tbox.cpp:353
int Create()
Definition d_a_tbox.h:128
void demoProcOpen()
Definition d_a_tbox.cpp:552
bool field_0x97c
Definition d_a_tbox.h:174
int mStaffId
Definition d_a_tbox.h:162
int getTboxNo()
Definition d_a_tbox.h:135
int getDir()
Definition d_a_tbox.cpp:711
mDoExt_bckAnm * mpAnm
Definition d_a_tbox.h:156
int setGetDemoItem()
Definition d_a_tbox.cpp:1388
void OpenInit_com()
Definition d_a_tbox.cpp:947
void dropProcInit2()
Definition d_a_tbox.cpp:738
void mode_exec_wait()
Definition d_a_tbox.cpp:1734
Mtx field_0x988
Definition d_a_tbox.h:181
void lightColorProc()
Definition d_a_tbox.cpp:573
u8 field_0x9c8
Definition d_a_tbox.h:185
u8 field_0x9fd
Definition d_a_tbox.h:195
u32 calcHeapSize()
Definition d_a_tbox.cpp:304
void mode_proc_call()
Definition d_a_tbox.cpp:1726
int calcJumpGoalAndAngle(cXyz *, s16 *)
Definition d_a_tbox.cpp:678
int getSwNo()
Definition d_a_tbox.h:134
cPhs__Step commonShapeSet()
Definition d_a_tbox.cpp:102
u8 field_0x9c9
Definition d_a_tbox.h:186
bool getDropSAngle(s16 *)
Definition d_a_tbox.cpp:702
int actionNotOpenDemo()
Definition d_a_tbox.cpp:1450
s16 mEventId
Definition d_a_tbox.h:173
cPhs__Step create1st()
Definition d_a_tbox.cpp:1782
s16 field_0x9c4
Definition d_a_tbox.h:183
u32 mOpenSeId
Definition d_a_tbox.h:193
void dropProcInitCall()
Definition d_a_tbox.cpp:627
int checkNormal()
Definition d_a_tbox.cpp:271
u16 field_0x980
Definition d_a_tbox.h:178
u8 field_0x759
Definition d_a_tbox.h:167
dBgS_AcchCir mAcchCir
Definition d_a_tbox.h:171
int checkAppear()
Definition d_a_tbox.cpp:220
J3DModel * mpModel
Definition d_a_tbox.h:154
Shape
Definition d_a_tbox.h:50
@ SHAPE_BOSSKEY
Definition d_a_tbox.h:53
@ SHAPE_SMALL
Definition d_a_tbox.h:51
@ SHAPE_LARGE
Definition d_a_tbox.h:52
Mode
Definition d_a_tbox.h:56
@ MODE_EXEC
Definition d_a_tbox.h:58
@ MODE_EXEC_WAIT
Definition d_a_tbox.h:57
u8 field_0x718
Definition d_a_tbox.h:152
u8 mTboxNo
Definition d_a_tbox.h:172
int actionSwOnWait2()
Definition d_a_tbox.cpp:1557
int actionOpenWait()
Definition d_a_tbox.cpp:1411
int demoProc()
Definition d_a_tbox.cpp:844
bool field_0x758
Definition d_a_tbox.h:166
u32 getSwType()
Definition d_a_tbox.h:137
Mtx mDrawMtx
Definition d_a_tbox.h:196
f32 mAllcolRatio
Definition d_a_tbox.h:191
void mode_exec()
Definition d_a_tbox.cpp:1758
cXyz mRotAxis
Definition d_a_tbox.h:182
void setLightPos()
Definition d_a_tbox.cpp:209
cPhs__Step envShapeSet()
Definition d_a_tbox.cpp:175
dBgW * mpBgCollision
Definition d_a_tbox.h:160
void environmentProc()
Definition d_a_tbox.cpp:611
void setAction(daTbox_actionFn i_actionFn)
Definition d_a_tbox.h:144
void setDzb()
Definition d_a_tbox.cpp:238
u8 field_0x9fc
Definition d_a_tbox.h:194
void clrDzb()
Definition d_a_tbox.cpp:231
J3DModel * mpSlimeModel
Definition d_a_tbox.h:155
u8 getBombItemNoMain(u8)
Definition d_a_tbox.cpp:1288
void flagClr()
Definition d_a_tbox.h:140
int Delete()
Definition d_a_tbox.cpp:1869
mDoExt_brkAnm * mpEffectAnm
Definition d_a_tbox.h:158
daTbox_actionFn mpActionFn
Definition d_a_tbox.h:161
int actionDemo2()
Definition d_a_tbox.cpp:1043
u8 mMode
Definition d_a_tbox.h:189
int Execute(Mtx **)
Definition d_a_tbox.cpp:1814
int boxCheck()
Definition d_a_tbox.cpp:534
u32 getEvent()
Definition d_a_tbox.h:132
int checkDrop()
Definition d_a_tbox.cpp:1460
void dropProc()
Definition d_a_tbox.cpp:765
J3DModel * mpEffectModel
Definition d_a_tbox.h:157
u16 flagCheck(u16 i_flag)
Definition d_a_tbox.h:143
int actionSwOnWait()
Definition d_a_tbox.cpp:1540
void lightDownProc()
Definition d_a_tbox.cpp:623
u16 mFlags
Definition d_a_tbox.h:164
s16 field_0x984
Definition d_a_tbox.h:180
void dropProcInit()
Definition d_a_tbox.cpp:638
int checkOpen()
Definition d_a_tbox.cpp:227
dBgS_ObjAcch mAcch
Definition d_a_tbox.h:170
void initPos()
Definition d_a_tbox.cpp:412
int checkEnvEffectTbox()
Definition d_a_tbox.cpp:288
bool mParamsInit
Definition d_a_tbox.h:177
cPhs__Step bgCheckSet()
Definition d_a_tbox.cpp:179
void settingDropDemoCamera()
Definition d_a_tbox.cpp:1476
int checkEnv()
Definition d_a_tbox.cpp:216
void initAnm()
Definition d_a_tbox.cpp:458
void setDrawMtx(Mtx i_mtx)
Definition d_a_tbox.h:146
dBgW * mpOpenBgW
Definition d_a_tbox.h:159
int field_0x9f4
Definition d_a_tbox.h:192
void setBaseMtx()
Definition d_a_tbox.cpp:1687
void OpenInit()
Definition d_a_tbox.cpp:976
void setRotAxis(cXyz const *, cXyz const *)
Definition d_a_tbox.cpp:731
daTbox_ModelInfo * getModelInfo()
Definition d_a_tbox.cpp:96
cPhs__Step effectShapeSet()
Definition d_a_tbox.cpp:171
virtual BOOL checkSmallTbox()
Definition d_a_tbox.h:130
int actionDemo()
Definition d_a_tbox.cpp:988
u8 getBombItemNo2(u8, u8, u8)
Definition d_a_tbox.cpp:1160
void initBaseMtx()
Definition d_a_tbox.cpp:1667
void flagOff(u16 i_flag)
Definition d_a_tbox.h:142
void lightReady()
Definition d_a_tbox.cpp:199
void surfaceProc()
Definition d_a_tbox.cpp:255
void lightUpProc()
Definition d_a_tbox.cpp:619
void action()
Definition d_a_tbox.h:145
int actionGenocide()
Definition d_a_tbox.cpp:1594
void flagOn(u16 i_flag)
Definition d_a_tbox.h:141
u8 field_0x9cc
Definition d_a_tbox.h:188
s16 field_0x9c6
Definition d_a_tbox.h:184
int getFuncType()
Definition d_a_tbox.h:136
void demoInitAppear()
Definition d_a_tbox.cpp:812
u8 getBombItemNo3(u8, u8, u8, u8)
Definition d_a_tbox.cpp:1224
s16 field_0x9ca
Definition d_a_tbox.h:187
int actionDropWaitForWeb()
Definition d_a_tbox.cpp:1615
f32 field_0x750
Definition d_a_tbox.h:163
u16 field_0x75a
Definition d_a_tbox.h:168
int getPathId()
Definition d_a_tbox.h:139
u8 mTimer
Definition d_a_tbox.h:169
int actionDropDemo()
Definition d_a_tbox.cpp:1055
u16 mDemoFrame
Definition d_a_tbox.h:165
int Draw()
Definition d_a_tbox.cpp:1831
u16 field_0x982
Definition d_a_tbox.h:179
bool field_0x97d
Definition d_a_tbox.h:175
int CreateHeap()
Definition d_a_tbox.cpp:325
int actionDropForWeb()
Definition d_a_tbox.cpp:1639
request_of_phase_process_class mPhase
Definition d_a_tbox.h:153
LIGHT_INFLUENCE mLight
Definition d_a_tbox.h:190
u8 getBombItemNo(u8, u8)
Definition d_a_tbox.cpp:1082
int actionDropWait()
Definition d_a_tbox.cpp:1571
int getItemNo()
Definition d_a_tbox.h:138
int actionWait()
Definition d_a_tbox.cpp:984
u8 field_0x97e
Definition d_a_tbox.h:176
int getShapeType()
Definition d_a_tbox.h:133
void demoProcAppear()
Definition d_a_tbox.cpp:829
Definition m_Do_ext.h:151
Definition m_Do_ext.h:94
STATIC_ASSERT(sizeof(daTboxBase_c)==0x718)
int(daTbox_c::* daTbox_actionFn)()
Definition d_a_tbox.h:37
void(daTbox_c::* daTbox_modeFn)()
Definition d_a_tbox.h:38
f32 Mtx[3][4]
Definition mtx.h:25
int BOOL
Definition types.h:33
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
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
Definition d_kankyo.h:17
Definition c_xyz.h:7
Definition d_a_tbox.h:24
char * mArcName
Definition d_a_tbox.h:25
int mClosedDzbResNo
Definition d_a_tbox.h:28
int mBckResNo
Definition d_a_tbox.h:27
int mModelResNo
Definition d_a_tbox.h:26
int mOpenDzbResNo
Definition d_a_tbox.h:29
int mEffectResNo
Definition d_a_tbox.h:30
int mBrkResNo
Definition d_a_tbox.h:31
Definition c_phase.h:17