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
4#include "d/d_cc_d.h"
5#include "d/d_bg_s_acch.h"
8#include "m_Do/m_Do_hostIO.h"
9
10class dBgW;
11
13protected:
14 virtual BOOL checkSmallTbox() = 0;
15
16 /* 0x5A0 */ dCcD_Stts mStts;
17 /* 0x5DC */ dCcD_Cyl mCyl;
18};
19
20STATIC_ASSERT(sizeof(daTboxBase_c) == 0x718);
21
23 /* 0x00 */ char* mArcName;
24 /* 0x04 */ int mModelResNo;
25 /* 0x08 */ int mBckResNo;
26 /* 0x0C */ int mClosedDzbResNo;
27 /* 0x10 */ int mOpenDzbResNo;
28 /* 0x14 */ int mEffectResNo;
29 /* 0x18 */ int mBrkResNo;
30};
31
33
34class daTbox_c;
37
46class daTbox_c : public daTboxBase_c {
47public:
53
54 enum Mode {
57 };
58
59 /* 80490E50 */ daTbox_ModelInfo* getModelInfo();
60 /* 80490E6C */ cPhs__Step commonShapeSet();
61 /* 804911B8 */ cPhs__Step effectShapeSet();
62 /* 804911C0 */ cPhs__Step envShapeSet();
63 /* 804911C8 */ cPhs__Step bgCheckSet();
64 /* 8049129C */ void lightReady();
65 /* 804912EC */ void setLightPos();
66 /* 8049135C */ int checkEnv();
67 /* 80491364 */ int checkAppear();
68 /* 8049139C */ int checkOpen();
69 /* 804913D0 */ void clrDzb();
70 /* 8049141C */ void setDzb();
71 /* 80491484 */ void surfaceProc();
72 /* 80491544 */ int checkNormal();
73 /* 804915BC */ int checkEnvEffectTbox();
74 /* 80491624 */ u32 calcHeapSize();
75 /* 804916A4 */ int CreateHeap();
76 /* 80491744 */ void CreateInit();
77 /* 804919B0 */ void initPos();
78 /* 80491BB0 */ void initAnm();
79 /* 80491F68 */ int boxCheck();
80 /* 804920A8 */ void demoProcOpen();
81 /* 8049216C */ void lightColorProc();
82 /* 8049233C */ void environmentProc();
83 /* 80492398 */ void lightUpProc();
84 /* 804923D4 */ void lightDownProc();
85 /* 80492408 */ void dropProcInitCall();
86 /* 80492450 */ void dropProcInit();
87 /* 804928DC */ int calcJumpGoalAndAngle(cXyz*, s16*);
88 /* 80492B10 */ bool getDropSAngle(s16*);
89 /* 80492BC8 */ int getDir();
90 /* 80492C84 */ void setRotAxis(cXyz const*, cXyz const*);
91 /* 80492D08 */ void dropProcInit2();
92 /* 80492F50 */ void dropProc();
93 /* 80493338 */ void demoInitAppear();
94 /* 80493484 */ void demoProcAppear();
95 /* 80493518 */ int demoProc();
96 /* 80493838 */ void OpenInit_com();
97 /* 804939A4 */ void OpenInit();
98 /* 804939F4 */ int actionWait();
99 /* 804939FC */ int actionDemo();
100 /* 80493CC8 */ int actionDemo2();
101 /* 80493D90 */ int actionDropDemo();
102 /* 80493ED8 */ u8 getBombItemNo(u8, u8);
103 /* 80493FE8 */ u8 getBombItemNo2(u8, u8, u8);
104 /* 80494144 */ u8 getBombItemNo3(u8, u8, u8, u8);
105 /* 804942CC */ u8 getBombItemNoMain(u8);
106 /* 804945C8 */ int setGetDemoItem();
107 /* 804946A4 */ int actionOpenWait();
108 /* 804948CC */ int actionNotOpenDemo();
109 /* 80494950 */ int checkDrop();
110 /* 80494A0C */ void settingDropDemoCamera();
111 /* 80494D88 */ int actionSwOnWait();
112 /* 80494E98 */ int actionSwOnWait2();
113 /* 80494F44 */ int actionDropWait();
114 /* 80495058 */ int actionGenocide();
115 /* 8049518C */ int actionDropWaitForWeb();
116 /* 80495250 */ int actionDropForWeb();
117 /* 804953D4 */ void initBaseMtx();
118 /* 80495490 */ void setBaseMtx();
119 /* 80495660 */ void mode_proc_call();
120 /* 804956EC */ void mode_exec_wait();
121 /* 80495818 */ void mode_exec();
122 /* 80495910 */ cPhs__Step create1st();
123 /* 804959EC */ int Execute(f32 (**)[3][4]);
124 /* 80495AF0 */ int Draw();
125 /* 80495C9C */ int Delete();
126 /* 804961B0 */ int Create();
127
128 /* 804961B8 */ virtual BOOL checkSmallTbox();
129
130 u32 getEvent() { return fopAcM_GetParam(this) >> 24; }
131 int getShapeType() { return (fopAcM_GetParam(this) >> 20) & 0xf; }
132 int getSwNo() { return (fopAcM_GetParam(this) >> 12) & 0xff; }
133 int getTboxNo() { return (fopAcM_GetParam(this) >> 6) & 0x3f; }
134 int getFuncType() { return fopAcM_GetParam(this) & 0x3f; }
135 u32 getSwType() { return field_0x980 & 0xf; }
136 int getItemNo() { return (field_0x982 >> 8) & 0xff; }
137 int getPathId() { return field_0x982 & 0xff; }
138 void flagClr() { mFlags = 0; }
143 void action() { (this->*mpActionFn)(); }
144
145private:
146 /* 0x718 */ bool field_0x718;
148 /* 0x724 */ J3DModel* mpModel;
149 /* 0x728 */ J3DModel* mpSlimeModel;
150 /* 0x72C */ mDoExt_bckAnm* mpAnm;
153 /* 0x738 */ dBgW* mpOpenBgW;
154 /* 0x73C */ dBgW* mpBgCollider;
156 /* 0x74C */ int mStaffId;
157 /* 0x750 */ f32 field_0x750;
158 /* 0x754 */ u16 mFlags;
159 /* 0x756 */ u16 mDemoFrame;
160 /* 0x758 */ bool field_0x758;
161 /* 0x759 */ u8 field_0x759;
162 /* 0x75A */ u16 field_0x75a;
163 /* 0x75C */ u8 mTimer;
164 /* 0x760 */ dBgS_ObjAcch mAcch;
166 /* 0x978 */ u8 mTboxNo;
167 /* 0x97A */ s16 mEventId;
168 /* 0x97C */ bool field_0x97c;
169 /* 0x97D */ bool field_0x97d;
170 /* 0x97E */ u8 field_0x97e;
171 /* 0x97F */ bool mParamsInit;
172 /* 0x980 */ u16 field_0x980;
173 /* 0x982 */ u16 field_0x982;
174 /* 0x984 */ s16 field_0x984;
175 /* 0x988 */ Mtx field_0x988;
176 /* 0x9B8 */ cXyz mRotAxis;
177 /* 0x9C4 */ s16 field_0x9c4;
178 /* 0x9C6 */ s16 field_0x9c6;
179 /* 0x9C8 */ u8 field_0x9c8;
180 /* 0x9C9 */ u8 field_0x9c9;
181 /* 0x9CA */ s16 field_0x9ca;
182 /* 0x9CC */ u8 field_0x9cc;
183 /* 0x9CD */ u8 mMode;
185 /* 0x9F0 */ f32 mAllcolRatio;
186 /* 0x9F4 */ int field_0x9f4;
187 /* 0x9F8 */ u32 mOpenSeId;
188 /* 0x9FC */ u8 field_0x9fc;
189 /* 0x9FD */ u8 field_0x9fd;
190 /* 0xA00 */ Mtx field_0xa00;
191};
192
193STATIC_ASSERT(sizeof(daTbox_c) == 0xA30);
194
196public:
197 /* 80490D2C */ daTbox_HIO_c();
198 /* 804960B8 */ virtual ~daTbox_HIO_c() {}
199
200 /* 0x04 */ u8 mItemNo;
201 /* 0x05 */ u8 mUseDebugItemNo;
202 /* 0x06 */ u8 mClearSwitch;
203 /* 0x07 */ u8 mDemoType;
205 /* 0x09 */ u8 mTimerDisplay;
206 /* 0x0A */ u8 mCheckDisplay;
207 /* 0x0B */ u8 mSaveOff;
208 /* 0x0C */ f32 mGravity;
209 /* 0x10 */ cXyz mLightOffset;
210 /* 0x1C */ s16 mLightColorR;
211 /* 0x1E */ s16 mLightColorG;
212 /* 0x20 */ s16 mLightColorB;
213 /* 0x24 */ f32 mLightPower;
218};
219
221
222#endif /* D_A_TBOX_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
cPhs__Step
Definition c_phase.h:8
Definition d_bg_s_movebg_actor.h:10
Definition d_bg_w.h:252
Definition d_a_tbox.h:12
virtual BOOL checkSmallTbox()=0
dCcD_Cyl mCyl
Definition d_a_tbox.h:17
dCcD_Stts mStts
Definition d_a_tbox.h:16
Definition d_a_tbox.h:195
u8 mTimerDisplay
Definition d_a_tbox.h:205
f32 mGravity
Definition d_a_tbox.h:208
daTbox_HIO_c()
Definition d_a_tbox.cpp:71
f32 mEnvColorInfluence
Definition d_a_tbox.h:215
s16 mLightColorG
Definition d_a_tbox.h:211
f32 mFluctuationRate
Definition d_a_tbox.h:214
u8 mItemNo
Definition d_a_tbox.h:200
u8 mCheckDisplay
Definition d_a_tbox.h:206
u8 mDemoType
Definition d_a_tbox.h:203
s16 mFluctuationSpeed
Definition d_a_tbox.h:216
u8 mClearSwitch
Definition d_a_tbox.h:202
s16 mLightColorB
Definition d_a_tbox.h:212
u8 mForPlacementCheck
Definition d_a_tbox.h:217
u8 mUseDebugItemNo
Definition d_a_tbox.h:201
f32 mLightPower
Definition d_a_tbox.h:213
cXyz mLightOffset
Definition d_a_tbox.h:209
u8 mDebugLightColorEnabled
Definition d_a_tbox.h:204
u8 mSaveOff
Definition d_a_tbox.h:207
s16 mLightColorR
Definition d_a_tbox.h:210
virtual ~daTbox_HIO_c()
Definition d_a_tbox.h:198
Treasure Box.
Definition d_a_tbox.h:46
void CreateInit()
Definition d_a_tbox.cpp:335
int Create()
Definition d_a_tbox.cpp:1689
void demoProcOpen()
Definition d_a_tbox.cpp:509
bool field_0x97c
Definition d_a_tbox.h:168
int mStaffId
Definition d_a_tbox.h:156
int getTboxNo()
Definition d_a_tbox.h:133
int getDir()
Definition d_a_tbox.cpp:652
mDoExt_bckAnm * mpAnm
Definition d_a_tbox.h:150
int setGetDemoItem()
Definition d_a_tbox.cpp:1229
void OpenInit_com()
Definition d_a_tbox.cpp:866
void dropProcInit2()
Definition d_a_tbox.cpp:681
void mode_exec_wait()
Definition d_a_tbox.cpp:1545
Mtx field_0x988
Definition d_a_tbox.h:175
void lightColorProc()
Definition d_a_tbox.cpp:529
u8 field_0x9c8
Definition d_a_tbox.h:179
bool field_0x718
Definition d_a_tbox.h:146
u8 field_0x9fd
Definition d_a_tbox.h:189
u32 calcHeapSize()
Definition d_a_tbox.cpp:290
void mode_proc_call()
Definition d_a_tbox.cpp:1536
int calcJumpGoalAndAngle(cXyz *, s16 *)
Definition d_a_tbox.cpp:622
int getSwNo()
Definition d_a_tbox.h:132
cPhs__Step commonShapeSet()
Definition d_a_tbox.cpp:102
u8 field_0x9c9
Definition d_a_tbox.h:180
bool getDropSAngle(s16 *)
Definition d_a_tbox.cpp:643
int actionNotOpenDemo()
Definition d_a_tbox.cpp:1288
s16 mEventId
Definition d_a_tbox.h:167
cPhs__Step create1st()
Definition d_a_tbox.cpp:1587
s16 field_0x9c4
Definition d_a_tbox.h:177
u32 mOpenSeId
Definition d_a_tbox.h:187
void dropProcInitCall()
Definition d_a_tbox.cpp:580
int checkNormal()
Definition d_a_tbox.cpp:260
u16 field_0x980
Definition d_a_tbox.h:172
u8 field_0x759
Definition d_a_tbox.h:161
dBgS_AcchCir mAcchCir
Definition d_a_tbox.h:165
int checkAppear()
Definition d_a_tbox.cpp:212
J3DModel * mpModel
Definition d_a_tbox.h:148
Shape
Definition d_a_tbox.h:48
@ SHAPE_BOSSKEY
Definition d_a_tbox.h:51
@ SHAPE_SMALL
Definition d_a_tbox.h:49
@ SHAPE_LARGE
Definition d_a_tbox.h:50
virtual BOOL checkSmallTbox()
Definition d_a_tbox.cpp:1694
Mode
Definition d_a_tbox.h:54
@ MODE_EXEC
Definition d_a_tbox.h:56
@ MODE_EXEC_WAIT
Definition d_a_tbox.h:55
u8 mTboxNo
Definition d_a_tbox.h:166
int actionSwOnWait2()
Definition d_a_tbox.cpp:1377
int actionOpenWait()
Definition d_a_tbox.cpp:1251
int demoProc()
Definition d_a_tbox.cpp:774
bool field_0x758
Definition d_a_tbox.h:160
u32 getSwType()
Definition d_a_tbox.h:135
f32 mAllcolRatio
Definition d_a_tbox.h:185
void mode_exec()
Definition d_a_tbox.cpp:1567
cXyz mRotAxis
Definition d_a_tbox.h:176
void setLightPos()
Definition d_a_tbox.cpp:199
cPhs__Step envShapeSet()
Definition d_a_tbox.cpp:166
void environmentProc()
Definition d_a_tbox.cpp:561
void setAction(daTbox_actionFn i_actionFn)
Definition d_a_tbox.h:142
void setDzb()
Definition d_a_tbox.cpp:233
u8 field_0x9fc
Definition d_a_tbox.h:188
void clrDzb()
Definition d_a_tbox.cpp:225
J3DModel * mpSlimeModel
Definition d_a_tbox.h:149
u8 getBombItemNoMain(u8)
Definition d_a_tbox.cpp:1172
void flagClr()
Definition d_a_tbox.h:138
int Delete()
Definition d_a_tbox.cpp:1658
mDoExt_brkAnm * mpEffectAnm
Definition d_a_tbox.h:152
daTbox_actionFn mpActionFn
Definition d_a_tbox.h:155
int actionDemo2()
Definition d_a_tbox.cpp:958
u8 mMode
Definition d_a_tbox.h:183
int boxCheck()
Definition d_a_tbox.cpp:491
u32 getEvent()
Definition d_a_tbox.h:130
int checkDrop()
Definition d_a_tbox.cpp:1299
void dropProc()
Definition d_a_tbox.cpp:703
J3DModel * mpEffectModel
Definition d_a_tbox.h:151
u16 flagCheck(u16 i_flag)
Definition d_a_tbox.h:141
int actionSwOnWait()
Definition d_a_tbox.cpp:1360
void lightDownProc()
Definition d_a_tbox.cpp:575
u16 mFlags
Definition d_a_tbox.h:158
s16 field_0x984
Definition d_a_tbox.h:174
void dropProcInit()
Definition d_a_tbox.cpp:592
int checkOpen()
Definition d_a_tbox.cpp:220
dBgS_ObjAcch mAcch
Definition d_a_tbox.h:164
void initPos()
Definition d_a_tbox.cpp:389
int checkEnvEffectTbox()
Definition d_a_tbox.cpp:276
bool mParamsInit
Definition d_a_tbox.h:171
cPhs__Step bgCheckSet()
Definition d_a_tbox.cpp:171
void settingDropDemoCamera()
Definition d_a_tbox.cpp:1317
int checkEnv()
Definition d_a_tbox.cpp:207
void initAnm()
Definition d_a_tbox.cpp:420
dBgW * mpOpenBgW
Definition d_a_tbox.h:153
int field_0x9f4
Definition d_a_tbox.h:186
void setBaseMtx()
Definition d_a_tbox.cpp:1500
int Execute(f32(**)[3][4])
Definition d_a_tbox.cpp:1612
void OpenInit()
Definition d_a_tbox.cpp:892
void setRotAxis(cXyz const *, cXyz const *)
Definition d_a_tbox.cpp:673
dBgW * mpBgCollider
Definition d_a_tbox.h:154
daTbox_ModelInfo * getModelInfo()
Definition d_a_tbox.cpp:93
cPhs__Step effectShapeSet()
Definition d_a_tbox.cpp:161
int actionDemo()
Definition d_a_tbox.cpp:906
u8 getBombItemNo2(u8, u8, u8)
Definition d_a_tbox.cpp:1065
Mtx field_0xa00
Definition d_a_tbox.h:190
void initBaseMtx()
Definition d_a_tbox.cpp:1482
void flagOff(u16 i_flag)
Definition d_a_tbox.h:140
void lightReady()
Definition d_a_tbox.cpp:188
void surfaceProc()
Definition d_a_tbox.cpp:244
void lightUpProc()
Definition d_a_tbox.cpp:570
void action()
Definition d_a_tbox.h:143
int actionGenocide()
Definition d_a_tbox.cpp:1414
void flagOn(u16 i_flag)
Definition d_a_tbox.h:139
u8 field_0x9cc
Definition d_a_tbox.h:182
s16 field_0x9c6
Definition d_a_tbox.h:178
int getFuncType()
Definition d_a_tbox.h:134
void demoInitAppear()
Definition d_a_tbox.cpp:745
u8 getBombItemNo3(u8, u8, u8, u8)
Definition d_a_tbox.cpp:1118
s16 field_0x9ca
Definition d_a_tbox.h:181
int actionDropWaitForWeb()
Definition d_a_tbox.cpp:1437
f32 field_0x750
Definition d_a_tbox.h:157
u16 field_0x75a
Definition d_a_tbox.h:162
int getPathId()
Definition d_a_tbox.h:137
u8 mTimer
Definition d_a_tbox.h:163
int actionDropDemo()
Definition d_a_tbox.cpp:970
u16 mDemoFrame
Definition d_a_tbox.h:159
int Draw()
Definition d_a_tbox.cpp:1627
u16 field_0x982
Definition d_a_tbox.h:173
bool field_0x97d
Definition d_a_tbox.h:169
int CreateHeap()
Definition d_a_tbox.cpp:310
int actionDropForWeb()
Definition d_a_tbox.cpp:1458
request_of_phase_process_class mPhase
Definition d_a_tbox.h:147
LIGHT_INFLUENCE mLight
Definition d_a_tbox.h:184
u8 getBombItemNo(u8, u8)
Definition d_a_tbox.cpp:997
int actionDropWait()
Definition d_a_tbox.cpp:1391
int getItemNo()
Definition d_a_tbox.h:136
int actionWait()
Definition d_a_tbox.cpp:901
u8 field_0x97e
Definition d_a_tbox.h:170
int getShapeType()
Definition d_a_tbox.h:131
void demoProcAppear()
Definition d_a_tbox.cpp:760
Definition m_Do_hostIO.h:5
STATIC_ASSERT(sizeof(daTboxBase_c)==0x718)
int(daTbox_c::* daTbox_actionFn)()
Definition d_a_tbox.h:35
void(daTbox_c::* daTbox_modeFn)()
Definition d_a_tbox.h:36
u32 fopAcM_GetParam(const void *pActor)
Definition f_op_actor_mng.h:224
f32 Mtx[3][4]
Definition mtx.h:15
Definition d_a_ep.cpp:155
Definition d_a_ep.cpp:149
Definition d_a_hozelda.cpp:20
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:94
Definition d_a_npc_fguard.cpp:86
Definition d_a_npc_fguard.cpp:70
Definition d_a_tbox.h:22
char * mArcName
Definition d_a_tbox.h:23
int mClosedDzbResNo
Definition d_a_tbox.h:26
int mBckResNo
Definition d_a_tbox.h:25
int mModelResNo
Definition d_a_tbox.h:24
int mOpenDzbResNo
Definition d_a_tbox.h:27
int mEffectResNo
Definition d_a_tbox.h:28
int mBrkResNo
Definition d_a_tbox.h:29
Definition d_a_hozelda.cpp:56
Definition d_a_obj_sekizoa.cpp:56
Definition d_a_hozelda.cpp:14
int BOOL
Definition types.h:27
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
unsigned char u8
Definition types.h:8