Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_stone.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_STONE_H
2#define D_A_OBJ_STONE_H
3
4#include "d/d_com_inf_game.h"
5
6enum {
9};
10
19class daObjStone_c : public fopAc_ac_c {
20public:
21 typedef void (daObjStone_c::*modeFunc)();
22
23 u8 getType() { return fopAcM_GetParamBit(this,0,4); }
24 u8 getItemType() { return fopAcM_GetParamBit(this,4,2); }
25 u8 getItemNo() { return fopAcM_GetParamBit(this,8,8); }
26 u8 getItemBit() { return fopAcM_GetParamBit(this,16,8); }
27
28 /* 80CE93C4 */ void initBaseMtx();
29 /* 80CE9468 */ void setBaseMtx();
30 /* 80CE9540 */ int Create();
31 /* 80CE97C0 */ bool CreateHeap();
32 /* 80CE9840 */ int create();
33 /* 80CE9BA0 */ int execute();
34 /* 80CE9CF8 */ void mode_proc_call();
35 /* 80CEAF88 */ void init_modePutWait();
36 /* 80CEAFD8 */ void modePutWait();
37 /* 80CEAFE8 */ void init_modeWait();
38 /* 80CEB01C */ void modeWait();
39 /* 80CEB0B8 */ void init_modeDrop();
40 /* 80CEB0F8 */ void modeDrop();
41 /* 80CEB35C */ void init_modeCarry();
42 /* 80CEB480 */ void modeCarry();
43 /* 80CEB6E8 */ void init_modeWalk();
44 /* 80CEB720 */ void modeWalk();
45 /* 80CEBCDC */ void init_modePushWolfNonBreak();
46 /* 80CEBE24 */ void init_modeYogan();
47 /* 80CEBE84 */ void modeYogan();
48 /* 80CEBF1C */ void init_modeBreak();
49 /* 80CEC180 */ void modeBreak();
50 /* 80CEC1AC */ void CrrPos();
51 /* 80CEC264 */ void createItem();
52 /* 80CEC33C */ void calcRotBaseMtx(s16*);
53 /* 80CEC5BC */ int checkRollAngle();
54 /* 80CEC6D8 */ void set_carry_eff();
55 /* 80CEC7DC */ void effect_delete(bool);
56 /* 80CEC888 */ int draw();
57 /* 80CEC948 */ int _delete();
58
59private:
61 /* 0x0570 */ J3DModel* mpModel;
62 /* 0x0574 */ dBgS_ObjAcch mChkObj;
64 /* 0x078C */ dCcD_Stts mStatus;
65 /* 0x07C8 */ dCcD_Sph mCollider;
66 /* 0x0900 */ csXyz mShapeAngle;
67 /* 0x0906 */ u8 mStoneType; // 0: small rock, 1: big rock
68 /* 0x0907 */ u8 field_0x0907;
69 /* 0x0908 */ u8 field_0x0908;
70 /* 0x090C */ u32 mMode; // maybe a better name for this
71 /* 0x0910 */ cXyz field_0x0910;
72 /* 0x091C */ s16 field_0x091c;
73 /* 0x091E */ u8 field_0x091E[0x0920 - 0x091E];
76 /* 0x0940 */ f32 mInitialOffsetY;
77 /* 0x0944 */ f32 mLastPosY;
78 /* 0x0948 */ f32 mLastSpeedY; // maybe a better name for this
79 /* 0x094C */ u8 field_0x094c;
80 /* 0x094D */ u8 field_0x094d;
81 /* 0x094E */ bool mIsInWater;
82 /* 0x094F */ u8 field_0x094f;
83 /* 0x0950 */ u8 field_0x0950;
84 /* 0x0951 */ u8 field_0x0951;
85 /* 0x0954 */ u32 field_0x0954;
86 /* 0x0954 */ u32 field_0x0958;
87 /* 0x0954 */ u32 field_0x095c;
88 /* 0x0960 */ u32 field_0x0960;
89 /* 0x0964 */ JPABaseEmitter* field_0x0964[3];
91};
92
93STATIC_ASSERT(sizeof(daObjStone_c) == 0x990);
94
95#endif /* D_A_OBJ_STONE_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:79
Definition JPAEmitter.h:94
Definition Z2SoundObject.h:34
Definition d_cc_d.h:432
Small / Large Stones.
Definition d_a_obj_stone.h:19
void init_modeBreak()
Definition d_a_obj_stone.cpp:839
void modeBreak()
Definition d_a_obj_stone.cpp:877
void modeWalk()
Definition d_a_obj_stone.cpp:702
u8 field_0x094c
Definition d_a_obj_stone.h:79
Quaternion field_0x0920
Definition d_a_obj_stone.h:74
void initBaseMtx()
Definition d_a_obj_stone.cpp:169
void init_modeWait()
Definition d_a_obj_stone.cpp:545
u32 mMode
Definition d_a_obj_stone.h:70
u8 field_0x0951
Definition d_a_obj_stone.h:84
u8 field_0x094d
Definition d_a_obj_stone.h:80
void mode_proc_call()
Definition d_a_obj_stone.cpp:314
bool mIsInWater
Definition d_a_obj_stone.h:81
int checkRollAngle()
Definition d_a_obj_stone.cpp:970
int _delete()
Definition d_a_obj_stone.cpp:1053
void modeCarry()
Definition d_a_obj_stone.cpp:628
void init_modeYogan()
Definition d_a_obj_stone.cpp:804
u32 field_0x0958
Definition d_a_obj_stone.h:86
u8 field_0x091E[0x0920 - 0x091E]
Definition d_a_obj_stone.h:73
JPABaseEmitter * field_0x0964[3]
Definition d_a_obj_stone.h:89
u8 field_0x0908
Definition d_a_obj_stone.h:69
cXyz field_0x0910
Definition d_a_obj_stone.h:71
csXyz mShapeAngle
Definition d_a_obj_stone.h:66
void calcRotBaseMtx(s16 *)
Definition d_a_obj_stone.cpp:927
void init_modePutWait()
Definition d_a_obj_stone.cpp:530
u32 field_0x0960
Definition d_a_obj_stone.h:88
u8 getItemBit()
Definition d_a_obj_stone.h:26
void CrrPos()
Definition d_a_obj_stone.cpp:883
void init_modeWalk()
Definition d_a_obj_stone.cpp:693
u8 getType()
Definition d_a_obj_stone.h:23
dCcD_Sph mCollider
Definition d_a_obj_stone.h:65
u32 field_0x095c
Definition d_a_obj_stone.h:87
u8 field_0x0907
Definition d_a_obj_stone.h:68
int execute()
Definition d_a_obj_stone.cpp:286
u8 field_0x094f
Definition d_a_obj_stone.h:82
Z2SoundObjSimple mSound
Definition d_a_obj_stone.h:90
dBgS_AcchCir mChkCircle
Definition d_a_obj_stone.h:63
int Create()
Definition d_a_obj_stone.cpp:191
void(daObjStone_c::* modeFunc)()
Definition d_a_obj_stone.h:21
J3DModel * mpModel
Definition d_a_obj_stone.h:61
void modePutWait()
Definition d_a_obj_stone.cpp:540
dCcD_Stts mStatus
Definition d_a_obj_stone.h:64
void createItem()
Definition d_a_obj_stone.cpp:909
void effect_delete(bool)
Definition d_a_obj_stone.cpp:1018
u8 getItemNo()
Definition d_a_obj_stone.h:25
f32 mInitialOffsetY
Definition d_a_obj_stone.h:76
request_of_phase_process_class mPhase
Definition d_a_obj_stone.h:60
int draw()
Definition d_a_obj_stone.cpp:1036
void set_carry_eff()
Definition d_a_obj_stone.cpp:996
bool CreateHeap()
Definition d_a_obj_stone.cpp:255
f32 mLastPosY
Definition d_a_obj_stone.h:77
void init_modePushWolfNonBreak()
Definition d_a_obj_stone.cpp:783
s16 field_0x091c
Definition d_a_obj_stone.h:72
void modeDrop()
Definition d_a_obj_stone.cpp:577
int create()
Definition d_a_obj_stone.cpp:263
void modeWait()
Definition d_a_obj_stone.cpp:554
u8 field_0x0950
Definition d_a_obj_stone.h:83
Quaternion field_0x0930
Definition d_a_obj_stone.h:75
void init_modeCarry()
Definition d_a_obj_stone.cpp:610
dBgS_ObjAcch mChkObj
Definition d_a_obj_stone.h:62
f32 mLastSpeedY
Definition d_a_obj_stone.h:78
u8 mStoneType
Definition d_a_obj_stone.h:67
void init_modeDrop()
Definition d_a_obj_stone.cpp:567
u32 field_0x0954
Definition d_a_obj_stone.h:85
void modeYogan()
Definition d_a_obj_stone.cpp:816
void setBaseMtx()
Definition d_a_obj_stone.cpp:179
u8 getItemType()
Definition d_a_obj_stone.h:24
@ OBJ_STONE_TYPE_BIG
Definition d_a_obj_stone.h:8
@ OBJ_STONE_TYPE_SMALL
Definition d_a_obj_stone.h:7
STATIC_ASSERT(sizeof(daObjStone_c)==0x990)
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:170
Definition d_a_ep.cpp:155
Definition d_a_hozelda.cpp:16
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:66
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:94
Definition d_a_npc_fguard.cpp:70
Definition d_a_ep.cpp:19
Definition d_a_hozelda.cpp:14
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned char u8
Definition types.h:8