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 void initBaseMtx();
29 void setBaseMtx();
30 int Create();
31 bool CreateHeap();
32 int create();
33 int execute();
34 void mode_proc_call();
35 void init_modePutWait();
36 void modePutWait();
37 void init_modeWait();
38 void modeWait();
39 void init_modeDrop();
40 void modeDrop();
41 void init_modeCarry();
42 void modeCarry();
43 void init_modeWalk();
44 void modeWalk();
46 void init_modeYogan();
47 void modeYogan();
48 void init_modeBreak();
49 void modeBreak();
50 void CrrPos();
51 void createItem();
52 void calcRotBaseMtx(s16*);
53 int checkRollAngle();
54 void set_carry_eff();
55 void effect_delete(bool);
56 int draw();
57 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 */
Definition J3DModel.h:43
Definition JPAEmitter.h:101
Definition Z2SoundObject.h:38
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Small / Large Stones.
Definition d_a_obj_stone.h:19
void init_modeBreak()
Definition d_a_obj_stone.cpp:789
void modeBreak()
Definition d_a_obj_stone.cpp:826
void modeWalk()
Definition d_a_obj_stone.cpp:658
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:142
void init_modeWait()
Definition d_a_obj_stone.cpp:508
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:281
bool mIsInWater
Definition d_a_obj_stone.h:81
int checkRollAngle()
Definition d_a_obj_stone.cpp:914
int _delete()
Definition d_a_obj_stone.cpp:992
void modeCarry()
Definition d_a_obj_stone.cpp:586
void init_modeYogan()
Definition d_a_obj_stone.cpp:757
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:872
void init_modePutWait()
Definition d_a_obj_stone.cpp:495
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:831
void init_modeWalk()
Definition d_a_obj_stone.cpp:650
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:254
u8 field_0x094f
Definition d_a_obj_stone.h:82
void(daObjStone_c::*) modeFunc()
Definition d_a_obj_stone.h:21
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:162
J3DModel * mpModel
Definition d_a_obj_stone.h:61
void modePutWait()
Definition d_a_obj_stone.cpp:504
dCcD_Stts mStatus
Definition d_a_obj_stone.h:64
void createItem()
Definition d_a_obj_stone.cpp:856
void effect_delete(bool)
Definition d_a_obj_stone.cpp:959
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:976
void set_carry_eff()
Definition d_a_obj_stone.cpp:938
bool CreateHeap()
Definition d_a_obj_stone.cpp:225
f32 mLastPosY
Definition d_a_obj_stone.h:77
void init_modePushWolfNonBreak()
Definition d_a_obj_stone.cpp:737
s16 field_0x091c
Definition d_a_obj_stone.h:72
void modeDrop()
Definition d_a_obj_stone.cpp:537
int create()
Definition d_a_obj_stone.cpp:232
void modeWait()
Definition d_a_obj_stone.cpp:516
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:569
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:528
u32 field_0x0954
Definition d_a_obj_stone.h:85
void modeYogan()
Definition d_a_obj_stone.cpp:768
void setBaseMtx()
Definition d_a_obj_stone.cpp:151
u8 getItemType()
Definition d_a_obj_stone.h:24
Definition f_op_actor.h:230
@ 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)
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParamBit(void *ac, u8 shift, u8 bit)
Definition f_op_actor_mng.h:196
Definition mtx.h:21
Definition c_xyz.h:7
Definition c_phase.h:17