Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_a_npc_zelR.h
Go to the documentation of this file.
1#ifndef D_A_NPC_ZELR_H
2#define D_A_NPC_ZELR_H
3
4#include "d/actor/d_a_npc.h"
5
14class daNpc_ZelR_c : public daNpcT_c {
15public:
16 typedef BOOL (daNpc_ZelR_c::*ActionFn)(void*);
17 typedef BOOL (daNpc_ZelR_c::*EventFn)(int);
18
19 enum Type {
22 };
23
24 /* 80B6EE2C */ ~daNpc_ZelR_c();
25 /* 80B6EF64 */ int create();
26 /* 80B6F1F8 */ int CreateHeap();
27 /* 80B6F664 */ int Delete();
28 /* 80B6F698 */ int Execute();
29 /* 80B6F6B8 */ int Draw();
30 /* 80B6F77C */ static int createHeapCallBack(fopAc_ac_c*);
31 /* 80B6F79C */ static int ctrlJointCallBack(J3DJoint*, int);
32 /* 80B6F7F4 */ u8 getType();
33 /* 80B6F814 */ u32 getFlowNodeNo();
34 /* 80B6F830 */ u8 getPath();
35 /* 80B6F83C */ int isDelete();
36 /* 80B6F894 */ void reset();
37 /* 80B6FA10 */ void afterJntAnm(int);
38 /* 80B6FA9C */ BOOL ctrlBtk();
39 /* 80B6FBA8 */ void setParam();
40 /* 80B6FC9C */ void setAfterTalkMotion();
41 /* 80B6FCFC */ void srchActors();
42 /* 80B6FD00 */ BOOL evtTalk();
43 /* 80B6FE00 */ BOOL evtCutProc();
44 /* 80B6FEC8 */ void action();
45 /* 80B70018 */ void beforeMove();
46 /* 80B70090 */ void setAttnPos();
47 /* 80B702B0 */ void setCollision();
48 /* 80B703E0 */ int drawDbgInfo();
49 /* 80B703E8 */ int selectAction();
50 /* 80B70430 */ int chkAction(int (daNpc_ZelR_c::*)(void*));
51 /* 80B7045C */ int setAction(int (daNpc_ZelR_c::*)(void*));
52 /* 80B70504 */ int wait(void*);
53 /* 80B706B0 */ BOOL talk(void*);
54 /* 80B71974 */ daNpc_ZelR_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
55 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
56 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
57 daNpcT_evtData_c const* param_7, char** param_8) :
58 daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
59 {}
60 /* 80B71A34 */ s32 getEyeballRMaterialNo();
61 /* 80B71A3C */ s32 getEyeballLMaterialNo();
62 /* 80B71A44 */ s32 getHeadJointNo();
63 /* 80B71A4C */ s32 getBackboneJointNo();
64 /* 80B71A54 */ BOOL checkChangeJoint(int param_1) { return param_1 == 3; };
65 /* 80B71A64 */ BOOL checkRemoveJoint(int param_1) { return param_1 == 13; };
66
67 static char* mCutNameList;
68 static EventFn mCutList[1];
69
70private:
71 /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
72 /* 0xE44 */ dCcD_Cyl mCyl;
73 /* 0xF80 */ u8 mType;
74 /* 0xF81 */ u8 field_0xf81[0xf84 - 0xf81];
75 /* 0xF84 */ ActionFn field_0xf84;
76 /* 0xF90 */ ActionFn field_0xf90;
77 /* 0xF9C */ daNpcT_Path_c mPath;
78 /* 0xFBE */ int field_0xfc4;
79};
80
81STATIC_ASSERT(sizeof(daNpc_ZelR_c) == 0xfc8);
82
84public:
85 /* 80B71A74 */ virtual ~daNpc_ZelR_Param_c() {};
86
87 struct Data {
88 /* 0x00 */ f32 field_0x0;
89 /* 0x04 */ f32 mGravity;
90 /* 0x08 */ f32 field_0x8;
91 /* 0x0C */ f32 field_0xc;
92 /* 0x10 */ f32 mWeight;
93 /* 0x14 */ f32 mCylH;
94 /* 0x18 */ f32 mWallH;
95 /* 0x1C */ f32 mWallR;
96 /* 0x20 */ f32 field_0x20;
97 /* 0x24 */ f32 field_0x24;
98 /* 0x28 */ f32 field_0x28;
99 /* 0x2C */ f32 field_0x2c;
100 /* 0x30 */ f32 field_0x30;
101 /* 0x34 */ f32 field_0x34;
102 /* 0x38 */ f32 field_0x38;
103 /* 0x3C */ f32 field_0x3c;
104 /* 0x40 */ f32 field_0x40;
105 /* 0x44 */ f32 mMorfFrames;
106 /* 0x48 */ s16 field_0x48;
107 /* 0x4A */ s16 field_0x4a;
108 /* 0x4C */ s16 field_0x4c;
109 /* 0x4E */ s16 field_0x4e;
110 /* 0x50 */ f32 field_0x50;
111 /* 0x54 */ f32 field_0x54;
112 /* 0x58 */ f32 field_0x58;
113 /* 0x5C */ f32 field_0x5c;
114 /* 0x60 */ s16 field_0x60;
115 /* 0x62 */ s16 field_0x62;
116 /* 0x64 */ f32 field_0x64;
117 /* 0x68 */ f32 field_0x68;
118 /* 0x6C */ f32 field_0x6c;
119 /* 0x70 */ f32 field_0x70;
120 /* 0x74 */ f32 field_0x74;
121 /* 0x78 */ f32 field_0x78;
122 /* 0x7C */ f32 field_0x7c;
123 /* 0x80 */ f32 field_0x80;
124 /* 0x84 */ f32 field_0x84;
125 /* 0x88 */ f32 field_0x88;
126 };
127
128 static const Data m;
129};
130
131
132#endif /* D_A_NPC_ZELR_H */
Definition d_a_npc.h:378
Definition d_a_npc.h:424
Definition d_a_npc_zelR.h:83
static const Data m
Definition d_a_npc_zelR.h:83
virtual ~daNpc_ZelR_Param_c()
Definition d_a_npc_zelR.h:85
Zelda (Cloaked & Hooded)
Definition d_a_npc_zelR.h:14
u32 getFlowNodeNo()
Definition d_a_npc_zelR.cpp:280
BOOL evtCutProc()
Definition d_a_npc_zelR.cpp:422
BOOL evtTalk()
Definition d_a_npc_zelR.cpp:400
u8 getPath()
Definition d_a_npc_zelR.cpp:289
int field_0xfc4
Definition d_a_npc_zelR.h:78
u8 field_0xf81[0xf84 - 0xf81]
Definition d_a_npc_zelR.h:74
void setAttnPos()
Definition d_a_npc_zelR.cpp:470
s32 getBackboneJointNo()
Definition d_a_npc_zelR.cpp:665
void srchActors()
Definition d_a_npc_zelR.cpp:395
BOOL(daNpc_ZelR_c::*) ActionFn(void *)
Definition d_a_npc_zelR.h:16
u8 getType()
Definition d_a_npc_zelR.cpp:270
void setParam()
Definition d_a_npc_zelR.cpp:366
int isDelete()
Definition d_a_npc_zelR.cpp:294
int Delete()
Definition d_a_npc_zelR.cpp:223
int create()
Definition d_a_npc_zelR.cpp:125
int CreateHeap()
Definition d_a_npc_zelR.cpp:177
int setAction(int(daNpc_ZelR_c::*)(void *))
Definition d_a_npc_zelR.cpp:543
int Draw()
Definition d_a_npc_zelR.cpp:235
BOOL(daNpc_ZelR_c::*) EventFn(int)
Definition d_a_npc_zelR.h:17
ActionFn field_0xf90
Definition d_a_npc_zelR.h:76
void beforeMove()
Definition d_a_npc_zelR.cpp:463
BOOL checkRemoveJoint(int param_1)
Definition d_a_npc_zelR.h:65
s32 getEyeballRMaterialNo()
Definition d_a_npc_zelR.cpp:650
void action()
Definition d_a_npc_zelR.cpp:439
int Execute()
Definition d_a_npc_zelR.cpp:230
Type
Definition d_a_npc_zelR.h:19
@ TYPE_0
Definition d_a_npc_zelR.h:20
@ TYPE_1
Definition d_a_npc_zelR.h:21
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_zelR.cpp:258
BOOL ctrlBtk()
Definition d_a_npc_zelR.cpp:337
dCcD_Cyl mCyl
Definition d_a_npc_zelR.h:72
s32 getHeadJointNo()
Definition d_a_npc_zelR.cpp:660
int drawDbgInfo()
Definition d_a_npc_zelR.cpp:526
~daNpc_ZelR_c()
Definition d_a_npc_zelR.cpp:71
static EventFn mCutList[1]
Definition d_a_npc_zelR.h:67
void afterJntAnm(int)
Definition d_a_npc_zelR.cpp:326
u8 mType
Definition d_a_npc_zelR.h:73
ActionFn field_0xf84
Definition d_a_npc_zelR.h:75
static char * mCutNameList
Definition d_a_npc_zelR.h:67
void setAfterTalkMotion()
Definition d_a_npc_zelR.cpp:390
int wait(void *)
Definition d_a_npc_zelR.cpp:559
void setCollision()
Definition d_a_npc_zelR.cpp:495
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_zelR.cpp:251
s32 getEyeballLMaterialNo()
Definition d_a_npc_zelR.cpp:655
int chkAction(int(daNpc_ZelR_c::*)(void *))
Definition d_a_npc_zelR.cpp:538
daNpcT_Path_c mPath
Definition d_a_npc_zelR.h:77
void reset()
Definition d_a_npc_zelR.cpp:308
BOOL talk(void *)
Definition d_a_npc_zelR.cpp:590
daNpc_ZelR_c(daNpcT_faceMotionAnmData_c const *param_1, daNpcT_motionAnmData_c const *param_2, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_5, int param_6, daNpcT_evtData_c const *param_7, char **param_8)
Definition d_a_npc_zelR.h:54
BOOL checkChangeJoint(int param_1)
Definition d_a_npc_zelR.h:64
int selectAction()
Definition d_a_npc_zelR.cpp:531
u8 field_0xe40[0xe44 - 0xe40]
Definition d_a_npc_zelR.h:71
STATIC_ASSERT(sizeof(daNpc_ZelR_c)==0xfc8)
Definition d_a_hozelda.cpp:239
Definition d_a_npc_fguard.cpp:86
Definition d_a_npc.h:325
Definition d_a_npc.h:330
Definition d_a_npc.h:345
Definition d_a_npc_zelR.h:87
s16 field_0x4c
Definition d_a_npc_zelR.h:108
f32 field_0x88
Definition d_a_npc_zelR.h:125
f32 field_0x7c
Definition d_a_npc_zelR.h:122
f32 field_0x8
Definition d_a_npc_zelR.h:90
f32 mMorfFrames
Definition d_a_npc_zelR.h:105
f32 field_0x2c
Definition d_a_npc_zelR.h:99
f32 field_0x70
Definition d_a_npc_zelR.h:119
f32 field_0x78
Definition d_a_npc_zelR.h:121
f32 mWallR
Definition d_a_npc_zelR.h:95
s16 field_0x4e
Definition d_a_npc_zelR.h:109
f32 field_0x30
Definition d_a_npc_zelR.h:100
f32 field_0x54
Definition d_a_npc_zelR.h:111
f32 field_0x84
Definition d_a_npc_zelR.h:124
f32 field_0x28
Definition d_a_npc_zelR.h:98
f32 field_0x6c
Definition d_a_npc_zelR.h:118
s16 field_0x60
Definition d_a_npc_zelR.h:114
f32 field_0x80
Definition d_a_npc_zelR.h:123
f32 field_0x74
Definition d_a_npc_zelR.h:120
s16 field_0x62
Definition d_a_npc_zelR.h:115
f32 field_0x34
Definition d_a_npc_zelR.h:101
f32 field_0x24
Definition d_a_npc_zelR.h:97
f32 field_0x64
Definition d_a_npc_zelR.h:116
f32 field_0x0
Definition d_a_npc_zelR.h:88
f32 field_0x58
Definition d_a_npc_zelR.h:112
f32 field_0x3c
Definition d_a_npc_zelR.h:103
f32 field_0x50
Definition d_a_npc_zelR.h:110
f32 field_0xc
Definition d_a_npc_zelR.h:91
f32 field_0x20
Definition d_a_npc_zelR.h:96
f32 mWeight
Definition d_a_npc_zelR.h:92
f32 field_0x40
Definition d_a_npc_zelR.h:104
f32 field_0x68
Definition d_a_npc_zelR.h:117
s16 field_0x4a
Definition d_a_npc_zelR.h:107
s16 field_0x48
Definition d_a_npc_zelR.h:106
f32 mCylH
Definition d_a_npc_zelR.h:93
f32 mWallH
Definition d_a_npc_zelR.h:94
f32 field_0x5c
Definition d_a_npc_zelR.h:113
f32 field_0x38
Definition d_a_npc_zelR.h:102
f32 mGravity
Definition d_a_npc_zelR.h:89
Definition d_a_hozelda.cpp:74
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5