Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_boumato.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_BOUMATO_H
2#define D_A_OBJ_BOUMATO_H
3
4#include "d/d_bg_s_acch.h"
5#include "d/actor/d_a_arrow.h"
6#include "d/d_jnt_col.h"
8#include "d/d_cc_d.h"
9
11 /* 0x00 */ f32 field_0x00;
12 /* 0x04 */ f32 field_0x04;
13 /* 0x08 */ f32 field_0x08;
14 /* 0x0C */ f32 field_0x0c;
15 /* 0x10 */ f32 field_0x10;
16 /* 0x14 */ f32 field_0x14;
17 /* 0x18 */ f32 field_0x18;
18};
19
21public:
23
24 static daObj_BouMato_HIOParam const m;
25};
26
27#if DEBUG
38
39#define OBJ_BOUMATO_HIO_CLASS daObj_BouMato_HIO_c
40#else
41#define OBJ_BOUMATO_HIO_CLASS daObj_BouMato_Param_c
42#endif
43
53private:
54 /* 0x568 */ OBJ_BOUMATO_HIO_CLASS* mpHIO;
56 /* 0x574 */ J3DModel* mModel;
57 /* 0x578 */ dBgS_ObjAcch mAcch;
58 /* 0x750 */ dCcD_Stts mStts;
60 /* 0x7CC */ cBgS_GndChk mGndChk;
61 /* 0x808 */ dCcD_Cyl mCyl;
62 /* 0x944 */ cM3dGCyl mCyl2;
63 /* 0x95C */ cM3dGLin mGLin;
64 /* 0x978 */ dBgS_LinChk mLinChk;
65 /* 0x9E8 */ dJntCol_c mJntCol;
66 /* 0x9F8 */ csXyz field_0x9f8[3];
67 /* 0xA0A */ u16 field_0xa0a;
68 /* 0xA0C */ int mCutType;
69 /* 0xA10 */ int field_0xa10;
70 /* 0xA14 */ f32 mGroundH;
71 /* 0xA18 */ f32 field_0xa18[3];
72 /* 0xA24 */ s16 field_0xa24[3];
73 /* 0xA2A */ s16 field_0xa2a;
74 /* 0xA2C */ int mShadowId;
75 /* 0xA30 */ s16 field_0xa30;
76 /* 0xA32 */ u8 field_0xa32;
77 /* 0xA34 */ fpc_ProcID mTargetId;
78 /* 0xA38 */ u8 field_0xa38;
79 /* 0xA39 */ bool mIsCurTurnRight;
80
81public:
82 virtual ~daObj_BouMato_c();
83 int create();
84 int CreateHeap();
85 int Delete();
86 int Execute();
87 int Draw();
88 static int createHeapCallBack(fopAc_ac_c*);
90 static void* srchArrow(void*, void*);
91 void deleteStuckArrow();
92 char* getResName();
94 void setEnvTevColor();
95 void setRoomNo();
96 void setMtx();
97
98 int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
99 daArrow_c* arrow_p = (daArrow_c*)param_0;
100 cXyz sp2C;
101 cXyz sp20;
102
103 JUT_ASSERT(164, NULL != arrow_p);
104
105 if (field_0xa38 != 0) {
106 return 0;
107 }
108
109 mCyl2.cM3dGCyl::Set(current.pos, mCyl.GetShapeP()->GetR() + 120.0f, mCyl.GetShapeP()->GetH() + 30.0f);
110 if ((param_1 - current.pos).abs() < param_3) {
111 mGLin.SetStartEnd(param_1, param_2);
112 if (cM3d_Cross_CylLin(&mCyl2, &mGLin, &sp2C, &sp20)) {
113 return 2;
114 }
115 }
116
117 return 0;
118 }
119
120 u8 getType() { return 0; }
121 u8 getOffSwBit() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
122 u8 getOnSwBit() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
123 void setCutType(u8 cutType) { mCutType = cutType; }
126};
127
129
130
131#endif /* D_A_OBJ_BOUMATO_H */
int cM3d_Cross_CylLin(cM3dGCyl const *cyl, cM3dGLin const *line, Vec *param_2, Vec *param_3)
Definition c_m3d.cpp:1442
Definition J3DModel.h:43
Definition JORMContext.h:128
Definition c_bg_s_gnd_chk.h:8
const cM3dGCyl * GetShapeP() const
Definition c_cc_d.h:594
Definition c_m3d_g_cyl.h:16
f32 GetH() const
Definition c_m3d_g_cyl.h:37
f32 GetR() const
Definition c_m3d_g_cyl.h:35
Definition c_m3d_g_lin.h:8
void SetStartEnd(const cXyz &, const cXyz &)
Definition c_m3d_g_lin.cpp:13
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_lin_chk.h:9
Definition d_bg_s_acch.h:249
Definition d_cc_d.h:472
Definition d_cc_d.h:286
Definition d_cc_d.h:273
Definition d_jnt_col.h:19
Arrow.
Definition d_a_arrow.h:17
Definition d_a_obj_boumato.h:28
daObj_BouMato_HIO_c()
Definition d_a_obj_boumato.cpp:49
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_obj_boumato.cpp:53
void genMessage(JORMContext *)
Definition d_a_obj_boumato.cpp:57
daObj_BouMato_HIOParam m
Definition d_a_obj_boumato.h:36
Definition d_a_obj_boumato.h:20
static daObj_BouMato_HIOParam const m
Definition d_a_obj_boumato.h:17
virtual ~daObj_BouMato_Param_c()
Definition d_a_obj_boumato.h:22
Stick Target.
Definition d_a_obj_boumato.h:52
dBgS_AcchCir mAcchCir
Definition d_a_obj_boumato.h:59
int CreateHeap()
Definition d_a_obj_boumato.cpp:116
request_of_phase_process_class mPhase
Definition d_a_obj_boumato.h:55
dBgS_ObjAcch mAcch
Definition d_a_obj_boumato.h:57
fpc_ProcID getTgHitAcId()
Definition d_a_obj_boumato.h:124
char * getResName()
Definition d_a_obj_boumato.cpp:281
s16 field_0xa2a
Definition d_a_obj_boumato.h:73
u8 getOnSwBit()
Definition d_a_obj_boumato.h:122
cM3dGLin mGLin
Definition d_a_obj_boumato.h:63
J3DModel * mModel
Definition d_a_obj_boumato.h:56
int Draw()
Definition d_a_obj_boumato.cpp:226
s16 field_0xa30
Definition d_a_obj_boumato.h:75
void clrTgHitAcId()
Definition d_a_obj_boumato.h:125
bool mIsCurTurnRight
Definition d_a_obj_boumato.h:79
int create()
Definition d_a_obj_boumato.cpp:74
int field_0xa10
Definition d_a_obj_boumato.h:69
f32 mGroundH
Definition d_a_obj_boumato.h:70
int mShadowId
Definition d_a_obj_boumato.h:74
u8 getType()
Definition d_a_obj_boumato.h:120
void setRoomNo()
Definition d_a_obj_boumato.cpp:327
void setMtx()
Definition d_a_obj_boumato.cpp:333
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_obj_boumato.cpp:241
void deleteStuckArrow()
Definition d_a_obj_boumato.cpp:270
dJntCol_c mJntCol
Definition d_a_obj_boumato.h:65
cBgS_GndChk mGndChk
Definition d_a_obj_boumato.h:60
OBJ_BOUMATO_HIO_CLASS * mpHIO
Definition d_a_obj_boumato.h:54
int Delete()
Definition d_a_obj_boumato.cpp:135
dCcD_Cyl mCyl
Definition d_a_obj_boumato.h:61
cM3dGCyl mCyl2
Definition d_a_obj_boumato.h:62
u16 field_0xa0a
Definition d_a_obj_boumato.h:67
f32 field_0xa18[3]
Definition d_a_obj_boumato.h:71
u8 field_0xa38
Definition d_a_obj_boumato.h:78
csXyz field_0x9f8[3]
Definition d_a_obj_boumato.h:66
void setEnvTevColor()
Definition d_a_obj_boumato.cpp:322
virtual ~daObj_BouMato_c()
Definition d_a_obj_boumato.cpp:62
u8 getOffSwBit()
Definition d_a_obj_boumato.h:121
int Execute()
Definition d_a_obj_boumato.cpp:141
s16 field_0xa24[3]
Definition d_a_obj_boumato.h:72
void setCutType(u8 cutType)
Definition d_a_obj_boumato.h:123
u8 field_0xa32
Definition d_a_obj_boumato.h:76
int mCutType
Definition d_a_obj_boumato.h:68
fpc_ProcID mTargetId
Definition d_a_obj_boumato.h:77
int checkCrs(fopAc_ac_c *param_0, cXyz param_1, cXyz param_2, f32 param_3)
Definition d_a_obj_boumato.h:98
static void * srchArrow(void *, void *)
Definition d_a_obj_boumato.cpp:258
dCcD_Stts mStts
Definition d_a_obj_boumato.h:58
dBgS_LinChk mLinChk
Definition d_a_obj_boumato.h:64
void setSwayParam(fopAc_ac_c *)
Definition d_a_obj_boumato.cpp:285
static void tgHitCallBack(fopAc_ac_c *, dCcD_GObjInf *, fopAc_ac_c *, dCcD_GObjInf *)
Definition d_a_obj_boumato.cpp:245
Definition f_op_actor.h:243
actor_place current
Definition f_op_actor.h:264
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daObj_BouMato_c)==0xa40)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
unsigned int fpc_ProcID
Definition f_pc_base.h:10
@ fpcM_ERROR_PROCESS_ID_e
Definition f_pc_manager.h:14
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
Definition JORReflexible.h:10
cXyz pos
Definition f_op_actor.h:218
Definition c_xyz.h:7
Definition d_a_obj_boumato.h:10
f32 field_0x10
Definition d_a_obj_boumato.h:15
f32 field_0x18
Definition d_a_obj_boumato.h:17
f32 field_0x0c
Definition d_a_obj_boumato.h:14
f32 field_0x14
Definition d_a_obj_boumato.h:16
f32 field_0x04
Definition d_a_obj_boumato.h:12
f32 field_0x00
Definition d_a_obj_boumato.h:11
f32 field_0x08
Definition d_a_obj_boumato.h:13
Definition c_phase.h:19