Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_passer2.h
Go to the documentation of this file.
1#ifndef D_A_NPC_PASSER2_H
2#define D_A_NPC_PASSER2_H
3
6
16class daNpcPasser2_c : public daNpcCd_c {
17public:
18 typedef void (daNpcPasser2_c::*actionFunc)();
19
20 enum Mode_e {
21 /* 0x0 */ MODE_MAX_e,
22 };
23
25 void callInit();
26 void callExecute();
27 void initPath();
28 void executePath();
29 void setAngle();
30 void pathMoveF();
32 void create_init();
33 inline ~daNpcPasser2_c();
35 inline int createHeap();
36 inline void setSpeed(f32, f32, f32*, int);
37 inline void initCollision();
38 inline void setBaseMtx();
39 inline int execute();
40 inline void setCollision();
41 inline int draw();
42 int getObjNum() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
45 int getTime() {return (getTimeHour() * 60) + getTimeMinute(); }
47 int getEndTime() { return current.angle.x; }
48 int getType() { return fopAcM_GetParam(this) & 0xFF; }
49 u8 getMoveType() { return (fopAcM_GetParam(this) >> 24) & 0xF; }
50 u8 getWalkMotionType() { return (fopAcM_GetParam(this) >> 28) & 3; }
51 u8 getRunMotionType() { return fopAcM_GetParam(this) >> 30; }
52 u8 getPathID() { return (fopAcM_GetParam(this) >> 16) & 0xFF; }
53
54 static actionFunc ActionTable[1][2];
55
56private:
57 /* 0x9EC */ J3DModel* mpModel;
58 /* 0x9F0 */ PathTrace_c m_path;
59 /* 0xA18 */ actionFunc* mAction;
60 /* 0xA1C */ Mode_e mActionIdx;
61 /* 0xA20 */ int mPrevActionIdx;
62 /* 0xA24 */ int m_objNum;
63 /* 0xA28 */ int m_dayOfWeek;
64 /* 0xA2C */ int m_endTime;
65 /* 0xA30 */ f32 field_0xa30;
66 /* 0xA34 */ f32 field_0xa34;
67 /* 0xA38 */ f32 mPosY;
68 /* 0xA3C */ u32 field_0xa3c;
69 /* 0xA40 */ u8 field_0xa40;
70 /* 0xA41 */ u8 field_0xa41;
71 /* 0xA42 */ u8 field_0xa42;
72 /* 0xA43 */ u8 field_0xa43;
73};
74
75STATIC_ASSERT(sizeof(daNpcPasser2_c) == 0xa44);
76
77#endif /* D_A_NPC_PASSER2_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DModel.h:43
Definition d_a_npc_cd2.h:222
Definition d_a_npc_cd.h:7
Low-Poly Hylian Passerby.
Definition d_a_npc_passer2.h:16
cPhs__Step create()
Definition d_a_npc_passer2.cpp:204
u32 field_0xa3c
Definition d_a_npc_passer2.h:68
int getTimeHour()
Definition d_a_npc_passer2.h:43
int getTimeMinute()
Definition d_a_npc_passer2.h:44
u8 getRunMotionType()
Definition d_a_npc_passer2.h:51
Mode_e
Definition d_a_npc_passer2.h:20
@ MODE_MAX_e
Definition d_a_npc_passer2.h:21
void pathMoveF()
Definition d_a_npc_passer2.cpp:154
f32 mPosY
Definition d_a_npc_passer2.h:67
u8 field_0xa41
Definition d_a_npc_passer2.h:70
int execute()
Definition d_a_npc_passer2.cpp:323
void setCollision()
Definition d_a_npc_passer2.cpp:342
int draw()
Definition d_a_npc_passer2.cpp:359
static actionFunc ActionTable[1][2]
Definition d_a_npc_passer2.h:34
PathTrace_c m_path
Definition d_a_npc_passer2.h:58
f32 field_0xa34
Definition d_a_npc_passer2.h:66
void setAction(daNpcPasser2_c::Mode_e)
Definition d_a_npc_passer2.cpp:38
~daNpcPasser2_c()
Definition d_a_npc_passer2.cpp:313
int getObjNum()
Definition d_a_npc_passer2.h:42
u8 field_0xa42
Definition d_a_npc_passer2.h:71
Mode_e mActionIdx
Definition d_a_npc_passer2.h:60
void(daNpcPasser2_c::*) actionFunc()
Definition d_a_npc_passer2.h:18
int getDayOfWeek()
Definition d_a_npc_passer2.h:46
int getTime()
Definition d_a_npc_passer2.h:45
void initCollision()
Definition d_a_npc_passer2.cpp:258
int m_endTime
Definition d_a_npc_passer2.h:64
actionFunc * mAction
Definition d_a_npc_passer2.h:59
void create_init()
Definition d_a_npc_passer2.cpp:275
void executePath()
Definition d_a_npc_passer2.cpp:98
void initPath()
Definition d_a_npc_passer2.cpp:65
int m_dayOfWeek
Definition d_a_npc_passer2.h:63
void setAngle()
Definition d_a_npc_passer2.cpp:132
int getEndTime()
Definition d_a_npc_passer2.h:47
u8 getMoveType()
Definition d_a_npc_passer2.h:49
u8 getPathID()
Definition d_a_npc_passer2.h:52
void callInit()
Definition d_a_npc_passer2.cpp:46
void callExecute()
Definition d_a_npc_passer2.cpp:51
u8 getWalkMotionType()
Definition d_a_npc_passer2.h:50
int mPrevActionIdx
Definition d_a_npc_passer2.h:61
u8 field_0xa43
Definition d_a_npc_passer2.h:72
int m_objNum
Definition d_a_npc_passer2.h:62
f32 field_0xa30
Definition d_a_npc_passer2.h:65
u8 field_0xa40
Definition d_a_npc_passer2.h:69
J3DModel * mpModel
Definition d_a_npc_passer2.h:57
void setBaseMtx()
Definition d_a_npc_passer2.cpp:267
int createHeap()
Definition d_a_npc_passer2.cpp:11
int getType()
Definition d_a_npc_passer2.h:48
void setSpeed(f32, f32, f32 *, int)
Definition d_a_npc_passer2.cpp:136
actor_place current
Definition f_op_actor.h:251
STATIC_ASSERT(sizeof(daNpcPasser2_c)==0xa44)
int dKy_getdaytime_hour()
Definition d_kankyo.cpp:1711
u8 dKy_getDarktime_week()
Definition d_kankyo.cpp:1742
int dKy_getDarktime_hour()
Definition d_kankyo.cpp:1731
u8 dKy_darkworld_check()
Definition d_kankyo.cpp:11379
int dKy_getdaytime_minute()
Definition d_kankyo.cpp:1716
int dKy_getDarktime_minute()
Definition d_kankyo.cpp:1736
int dKy_get_dayofweek()
Definition d_kankyo.cpp:9938
unsigned long u32
Definition types.h:12
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
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206