Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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
19private:
20 /* 0x568 */ int field_0x568;
22 /* 0x574 */ J3DModel* mModel;
23 /* 0x578 */ dBgS_ObjAcch mAcch;
24 /* 0x750 */ dCcD_Stts mStts;
26 /* 0x7CC */ cBgS_GndChk mGndChk;
27 /* 0x808 */ dCcD_Cyl mCyl;
28 /* 0x944 */ cM3dGCyl mCyl2;
29 /* 0x95C */ cM3dGLin mGLin;
30 /* 0x978 */ dBgS_LinChk mLinChk;
31 /* 0x9E8 */ dJntCol_c mJntCol;
32 /* 0x9F8 */ csXyz field_0x9f8[3];
33 /* 0xA0A */ u16 field_0xa0a;
34 /* 0xA0C */ int mCutType;
35 /* 0xA10 */ int field_0xa10;
36 /* 0xA14 */ f32 mGroundH;
37 /* 0xA18 */ f32 field_0xa18[3];
38 /* 0xA24 */ s16 field_0xa24[3];
39 /* 0xA2A */ s16 field_0xa2a;
40 /* 0xA2C */ int mShadowId;
41 /* 0xA30 */ s16 field_0xa30;
42 /* 0xA32 */ u8 field_0xa32;
43 /* 0xA34 */ fpc_ProcID mTargetId;
44 /* 0xA38 */ u8 field_0xa38;
45 /* 0xA39 */ bool mIsCurTurnRight;
46
47public:
48 /* 80BBAFEC */ virtual ~daObj_BouMato_c();
49 /* 80BBB230 */ int create();
50 /* 80BBB770 */ int CreateHeap();
51 /* 80BBB800 */ int Delete();
52 /* 80BBB834 */ int Execute();
53 /* 80BBBD80 */ int Draw();
54 /* 80BBBE50 */ static int createHeapCallBack(fopAc_ac_c*);
55 /* 80BBBE70 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
56 /* 80BBBEA0 */ static void* srchArrow(void*, void*);
57 /* 80BBBF4C */ void deleteStuckArrow();
58 /* 80BBBFF8 */ char* getResName();
59 /* 80BBC008 */ void setSwayParam(fopAc_ac_c*);
60 /* 80BBC19C */ void setEnvTevColor();
61 /* 80BBC1F8 */ void setRoomNo();
62 /* 80BBC23C */ void setMtx();
63
64 int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
65 daArrow_c* arrow_p = (daArrow_c*)param_0;
66 cXyz sp2C;
67 cXyz sp20;
68
69 JUT_ASSERT(164, 0 != arrow_p);
70
71 if (field_0xa38 != 0) {
72 return 0;
73 }
74
75 mCyl2.cM3dGCyl::Set(current.pos, mCyl.GetShapeP()->GetR() + 120.0f, mCyl.GetShapeP()->GetH() + 30.0f);
76 if ((param_1 - current.pos).abs() < param_3) {
77 mGLin.SetStartEnd(param_1, param_2);
78 if (cM3d_Cross_CylLin(&mCyl2, &mGLin, &sp2C, &sp20)) {
79 return 2;
80 }
81 }
82
83 return 0;
84 }
85
86 u8 getType() { return 0; }
87 u8 getOffSwBit() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
88 u8 getOnSwBit() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
89 void setCutType(u8 cutType) { mCutType = cutType; }
92};
93
95
97public:
98 /* 80BBC404 */ virtual ~daObj_BouMato_Param_c() {}
99
100 static f32 const m[7];
101};
102
103
104#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:1549
Definition c_bg_s_gnd_chk.h:8
const cM3dGCyl * GetShapeP() const
Definition c_cc_d.h:246
Definition c_m3d_g_lin.h:8
void SetStartEnd(const cXyz &, const cXyz &)
Definition c_m3d_g_lin.cpp:15
Definition d_bg_s_lin_chk.h:9
Definition d_jnt_col.h:19
Arrow.
Definition d_a_arrow.h:17
Definition d_a_obj_boumato.h:96
static f32 const m[7]
Definition d_a_obj_boumato.h:16
virtual ~daObj_BouMato_Param_c()
Definition d_a_obj_boumato.h:98
Stick Target.
Definition d_a_obj_boumato.h:18
dBgS_AcchCir mAcchCir
Definition d_a_obj_boumato.h:25
int CreateHeap()
Definition d_a_obj_boumato.cpp:97
request_of_phase_process_class mPhase
Definition d_a_obj_boumato.h:21
dBgS_ObjAcch mAcch
Definition d_a_obj_boumato.h:23
fpc_ProcID getTgHitAcId()
Definition d_a_obj_boumato.h:90
char * getResName()
Definition d_a_obj_boumato.cpp:272
s16 field_0xa2a
Definition d_a_obj_boumato.h:39
u8 getOnSwBit()
Definition d_a_obj_boumato.h:88
cM3dGLin mGLin
Definition d_a_obj_boumato.h:29
J3DModel * mModel
Definition d_a_obj_boumato.h:22
int Draw()
Definition d_a_obj_boumato.cpp:202
s16 field_0xa30
Definition d_a_obj_boumato.h:41
void clrTgHitAcId()
Definition d_a_obj_boumato.h:91
bool mIsCurTurnRight
Definition d_a_obj_boumato.h:45
int create()
Definition d_a_obj_boumato.cpp:60
int field_0xa10
Definition d_a_obj_boumato.h:35
f32 mGroundH
Definition d_a_obj_boumato.h:36
int mShadowId
Definition d_a_obj_boumato.h:40
u8 getType()
Definition d_a_obj_boumato.h:86
void setRoomNo()
Definition d_a_obj_boumato.cpp:323
void setMtx()
Definition d_a_obj_boumato.cpp:330
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_obj_boumato.cpp:219
void deleteStuckArrow()
Definition d_a_obj_boumato.cpp:260
dJntCol_c mJntCol
Definition d_a_obj_boumato.h:31
cBgS_GndChk mGndChk
Definition d_a_obj_boumato.h:26
int Delete()
Definition d_a_obj_boumato.cpp:108
dCcD_Cyl mCyl
Definition d_a_obj_boumato.h:27
cM3dGCyl mCyl2
Definition d_a_obj_boumato.h:28
u16 field_0xa0a
Definition d_a_obj_boumato.h:33
f32 field_0xa18[3]
Definition d_a_obj_boumato.h:37
u8 field_0xa38
Definition d_a_obj_boumato.h:44
csXyz field_0x9f8[3]
Definition d_a_obj_boumato.h:32
void setEnvTevColor()
Definition d_a_obj_boumato.cpp:317
virtual ~daObj_BouMato_c()
Definition d_a_obj_boumato.cpp:54
u8 getOffSwBit()
Definition d_a_obj_boumato.h:87
int Execute()
Definition d_a_obj_boumato.cpp:115
s16 field_0xa24[3]
Definition d_a_obj_boumato.h:38
void setCutType(u8 cutType)
Definition d_a_obj_boumato.h:89
u8 field_0xa32
Definition d_a_obj_boumato.h:42
int mCutType
Definition d_a_obj_boumato.h:34
fpc_ProcID mTargetId
Definition d_a_obj_boumato.h:43
int checkCrs(fopAc_ac_c *param_0, cXyz param_1, cXyz param_2, f32 param_3)
Definition d_a_obj_boumato.h:64
static void * srchArrow(void *, void *)
Definition d_a_obj_boumato.cpp:247
dCcD_Stts mStts
Definition d_a_obj_boumato.h:24
dBgS_LinChk mLinChk
Definition d_a_obj_boumato.h:30
int field_0x568
Definition d_a_obj_boumato.h:20
void setSwayParam(fopAc_ac_c *)
Definition d_a_obj_boumato.cpp:278
static void tgHitCallBack(fopAc_ac_c *, dCcD_GObjInf *, fopAc_ac_c *, dCcD_GObjInf *)
Definition d_a_obj_boumato.cpp:225
STATIC_ASSERT(sizeof(daObj_BouMato_c)==0xa40)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:182
unsigned int fpc_ProcID
Definition f_pc_base.h:10
@ fpcM_ERROR_PROCESS_ID_e
Definition f_pc_manager.h:12
Definition d_a_hozelda.cpp:146
cXyz pos
Definition f_op_actor.h:171
Definition d_a_npc_fguard.cpp:126
f32 GetH() const
Definition c_m3d_g_cyl.h:37
f32 GetR() const
Definition c_m3d_g_cyl.h:35
Definition d_a_hozelda.cpp:20
Definition d_a_hozelda.cpp:161
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:81
Definition d_a_npc_fguard.cpp:70
Definition d_a_hozelda.cpp:74
actor_place current
Definition f_op_actor.h:221
Definition d_a_hozelda.cpp:14
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5