Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_guard.h
Go to the documentation of this file.
1#ifndef D_A_NPC_GUARD_H
2#define D_A_NPC_GUARD_H
3
4#include "d/actor/d_a_npc.h"
6
15class daNpcGuard_c : public daNpcCd2_c {
16public:
17 typedef void (daNpcGuard_c::*actionFunc)();
18
19 enum Mode_e {
20 /* 0 */ MODE_PATH_e,
21 /* 1 */ MODE_RUN_e,
25 /* 5 */ MODE_FEAR_e,
26 /* 6 */ MODE_MAX_e, // Escape
27 };
28
30 void callInit();
31 void callExecute();
32 void initPath();
33 void executePath();
34 void initRun();
35 void executeRun();
36 void initFightWait();
37 void executeFightWait();
39 void executeFightStep();
40 void initFightMenace();
41 void executeFightMenace();
42 void initFear();
43 void executeFear();
44 void initEscape();
45 void executeEscape();
46 void setAngle();
47 inline void setSpeed(f32, f32, f32*, int);
48 void pathMoveF();
49 int create();
50 inline void create_init();
51 inline void setMtx();
52 inline void lookat();
53 inline virtual ~daNpcGuard_c();
54 int execute();
55
56 inline int createHeap();
57 inline int draw();
58 inline void setCollision();
59 inline void initCollision();
60
61 u32 getPathID() { return fopAcM_GetParam(this) >> 0x10 & 0xFF; }
62
63 static actionFunc ActionTable[7][2];
64
65private:
66 /* 0xAC8 */ J3DModel* mpModel;
67 /* 0xACC */ J3DModel* mpModel2;
70 /* 0xAD8 */ PathTrace_c m_path;
73 /* 0xB0C */ Mode_e mActionIdx;
75 /* 0xB14 */ dCcD_Sph mSpheres[2];
76 /* 0xD84 */ int mObjNum;
77 /* 0xD88 */ int field_0xd88;
78 /* 0xD8C */ f32 field_0xd8c;
79 /* 0xD90 */ f32 field_0xd90;
80 /* 0xD94 */ f32 field_0xd94;
81 /* 0xD98 */ f32 field_0xd98;
82 /* 0xD9C */ u32 field_0xd9c;
83 /* 0xDA0 */ s16 field_0xda0;
84 /* 0xDA2 */ u8 field_0xda2;
85 /* 0xDA3 */ u8 field_0xda3[0xDA5 - 0xDA3];
86 /* 0xDA5 */ u8 field_0xda5;
87};
88
89STATIC_ASSERT(sizeof(daNpcGuard_c) == 0xda8);
90
91#endif /* D_A_NPC_GUARD_H */
Definition J3DAnimation.h:525
Definition J3DModel.h:43
Definition d_a_npc_cd2.h:222
Definition d_cc_d.h:473
Definition d_a_npc_cd2.h:257
Guard (Hyrule Castle Town Guard?)
Definition d_a_npc_guard.h:15
void executeEscape()
Definition d_a_npc_guard.cpp:269
daNpcT_ActorMngr_c mActorMngr
Definition d_a_npc_guard.h:71
Mode_e
Definition d_a_npc_guard.h:19
@ MODE_FIGHT_STEP_e
Definition d_a_npc_guard.h:23
@ MODE_FEAR_e
Definition d_a_npc_guard.h:25
@ MODE_PATH_e
Definition d_a_npc_guard.h:20
@ MODE_RUN_e
Definition d_a_npc_guard.h:21
@ MODE_MAX_e
Definition d_a_npc_guard.h:26
@ MODE_FIGHT_WAIT_e
Definition d_a_npc_guard.h:22
@ MODE_FIGHT_MENACE_e
Definition d_a_npc_guard.h:24
void initFightStep()
Definition d_a_npc_guard.cpp:199
int execute()
Definition d_a_npc_guard.cpp:556
daNpcGuard_c::actionFunc * mAction
Definition d_a_npc_guard.h:72
void executeFightStep()
Definition d_a_npc_guard.cpp:203
dCcD_Sph mSpheres[2]
Definition d_a_npc_guard.h:75
f32 field_0xd94
Definition d_a_npc_guard.h:80
void callExecute()
Definition d_a_npc_guard.cpp:62
virtual ~daNpcGuard_c()
Definition d_a_npc_guard.cpp:519
Mode_e mPrevActionIdx
Definition d_a_npc_guard.h:74
void setAngle()
Definition d_a_npc_guard.cpp:309
int create()
Definition d_a_npc_guard.cpp:496
f32 field_0xd90
Definition d_a_npc_guard.h:79
J3DAnmTransformKey * mpAnmKey
Definition d_a_npc_guard.h:68
static actionFunc ActionTable[7][2]
Definition d_a_npc_guard.h:38
void setCollision()
Definition d_a_npc_guard.cpp:530
void callInit()
Definition d_a_npc_guard.cpp:57
void executePath()
Definition d_a_npc_guard.cpp:72
f32 field_0xd98
Definition d_a_npc_guard.h:81
void executeRun()
Definition d_a_npc_guard.cpp:115
J3DModel * mpModel2
Definition d_a_npc_guard.h:67
void executeFear()
Definition d_a_npc_guard.cpp:235
void executeFightMenace()
Definition d_a_npc_guard.cpp:216
void setMtx()
Definition d_a_npc_guard.cpp:447
void initEscape()
Definition d_a_npc_guard.cpp:260
void setAction(daNpcGuard_c::Mode_e)
Definition d_a_npc_guard.cpp:48
f32 field_0xd8c
Definition d_a_npc_guard.h:78
u8 field_0xda5
Definition d_a_npc_guard.h:86
Mode_e mActionIdx
Definition d_a_npc_guard.h:73
u8 field_0xda2
Definition d_a_npc_guard.h:84
s16 field_0xda0
Definition d_a_npc_guard.h:83
u32 getPathID()
Definition d_a_npc_guard.h:61
void setSpeed(f32, f32, f32 *, int)
Definition d_a_npc_guard.cpp:313
void(daNpcGuard_c::*) actionFunc()
Definition d_a_npc_guard.h:17
void lookat()
Definition d_a_npc_guard.cpp:460
void initFightWait()
Definition d_a_npc_guard.cpp:152
int draw()
Definition d_a_npc_guard.cpp:585
int field_0xd88
Definition d_a_npc_guard.h:77
int createHeap()
Definition d_a_npc_guard.cpp:11
void initPath()
Definition d_a_npc_guard.cpp:67
J3DAnmTransformKey * mpAnmKey2
Definition d_a_npc_guard.h:69
void create_init()
Definition d_a_npc_guard.cpp:419
u8 field_0xda3[0xDA5 - 0xDA3]
Definition d_a_npc_guard.h:85
int mObjNum
Definition d_a_npc_guard.h:76
void initFear()
Definition d_a_npc_guard.cpp:228
void initCollision()
Definition d_a_npc_guard.cpp:385
u32 field_0xd9c
Definition d_a_npc_guard.h:82
void initFightMenace()
Definition d_a_npc_guard.cpp:209
void executeFightWait()
Definition d_a_npc_guard.cpp:162
PathTrace_c m_path
Definition d_a_npc_guard.h:70
void pathMoveF()
Definition d_a_npc_guard.cpp:331
void initRun()
Definition d_a_npc_guard.cpp:110
J3DModel * mpModel
Definition d_a_npc_guard.h:66
Definition d_a_npc.h:30
STATIC_ASSERT(sizeof(daNpcGuard_c)==0xda8)
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_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192