Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc2.h
Go to the documentation of this file.
1#ifndef D_A_NPC2
2#define D_A_NPC2
3
5#include "d/d_bg_s_acch.h"
7#include "d/d_cc_d.h"
8#include "d/d_msg_flow.h"
9#include "d/d_path.h"
12public:
14 void entry(fopAc_ac_c*);
17
18private:
19 /* 0x04 */ fpc_ProcID mActorId;
20};
21
23public:
25 virtual void calc(J3DMaterial*) const;
26
27 /* 0x0F4 */ mutable f32 field_0xF4;
28 /* 0x0F8 */ mutable f32 field_0xF8;
29 /* 0x0FC */ f32 mNowOffsetX;
30 /* 0x100 */ f32 mNowOffsetY;
31 /* 0x104 */ u8 mEyeMoveFlg;
32 /* 0x105 */ u8 mMorfFrm;
33};
34
36public:
38 BOOL isPath();
39 int setPathInfo(u8, s8, s8);
40 void reverseDir();
43 u16 getIdx();
44 void setIdx(u16);
46 void dbgDraw(f32);
47 virtual ~daBaseNpc_path_c() {}
48
49 static const int MAXNUMCONTROLPNT_e = 64;
50
51public:
52 /* 0x004 */ dPath* mPathInfo;
53 /* 0x008 */ f32 field_0x8;
54 /* 0x00C */ dPnt mCurvePnts[160];
55 /* 0xA0C */ u8 field_0xa0c[0xA0E - 0xA0C];
56 /* 0xA0E */ u16 mCurvePntNum;
57 /* 0xA10 */ u16 mIdx;
58 /* 0xA12 */ s8 mDirection;
59 /* 0xA13 */ u8 field_0xa13;
60 /* 0xA14 */ s16 field_0xa14;
61 /* 0xA16 */ u8 field_0xa16[2];
62 /* 0xA18 */ int field_0xa18;
63 /* 0xA1C */ u8 field_0xa1c[8];
64};
65
67public:
68 void limitter(s16, s16*, s16, s16);
69 void calc(fopAc_ac_c*, f32 (*)[4], s16);
70 void setMaxJntLmt(csXyz, int);
71 void setMinJntLmt(csXyz, int);
72 void setJntPos(cXyz, int);
73 int setAttnPos(cXyz*);
74 csXyz getRot(int);
76
77 /* 0x04 */ csXyz mMaxJntLmt[4];
78 /* 0x1C */ csXyz mMinJntLmt[4];
79 /* 0x34 */ cXyz mJntPos[4];
80 /* 0x64 */ csXyz field_0x64[4];
81 /* 0x7C */ csXyz mRot[4];
82 /* 0x94 */ u8 field_0x94[4];
83 /* 0x98 */ cXyz* mpAttnPos;
84};
85
86class daBaseNpc_c : public fopAc_ac_c {
87public:
90 int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
91 int setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
94 void orderEvent(int, char*);
95 void setEnvTevColor();
96 void setRoomNo();
97 int checkEndAnm(f32);
99
100 virtual ~daBaseNpc_c();
101 virtual int execute();
102 virtual int draw(f32);
103 virtual const char* getResName();
104 virtual void attnSttsOn(int, int);
105 virtual void setParam();
106 virtual void mainProc();
107 virtual BOOL btkCtrl();
108 virtual void allAnmPlay();
109 virtual void adjustShapeAngle();
110 virtual void setMtx(int);
111 virtual void setCollisions();
112 virtual void setAttnPos();
113 virtual void drawOtherMdls();
114 virtual bool dbgDraw();
115
116 static dCcD_SrcGObjInf const mCcDObj;
117 static dCcD_SrcCyl mCcDCyl;
118 static dCcD_SrcSph mCcDSph;
119
120public:
121 /* 0x56C */ dBgS_ObjAcch mAcch;
122 /* 0x744 */ char field_0x744;
123 /* 0x745 */ u8 field_0x745[0x74c - 0x745];
126 /* 0x758 */ Z2Creature mSound;
127 /* 0x7E8 */ u32 mShadowId;
128 /* 0x7EC */ mDoExt_bckAnm mBck;
129 /* 0x808 */ mDoExt_btpAnm mBtp;
130 /* 0x820 */ mDoExt_btkAnm mBtk;
131 /* 0x838 */ s16 field_0x838;
132 /* 0x83C */ u16* field_0x83c;
133 /* 0x840 */ u16 field_0x840;
134 /* 0x842 */ u16 field_0x842;
135 /* 0x844 */ u8 field_0x844;
136 /* 0x845 */ u8 field_0x845[0x848 - 0x845];
137 /* 0x848 */ s32 field_0x848;
138 /* 0x84C */ dMsgFlow_c mMsgFlow;
139 /* 0x898 */ u8 field_0x898[0x89A - 0x898];
140 /* 0x89A */ s16 mEvtIdx;
141 /* 0x89C */ dCcD_Stts mCcStts;
143 /* 0x918 */ s16 field_0x918;
144 /* 0x91A */ csXyz field_0x91a;
146 /* 0x9BC */ csXyz field_0x9bc;
147 /* 0x9C2 */ csXyz field_0x9c2;
148 /* 0x9C8 */ csXyz field_0x9c8;
149 /* 0x9CE */ csXyz field_0x9ce;
151 /* 0xA10 */ f32 mGroundY;
152};
153
154STATIC_ASSERT(sizeof(daBaseNpc_c) == 0xA14);
155
157public:
159 int MoveBGCreateHeap();
160 int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32);
161 int MoveBGDelete();
162 int MoveBGExecute();
164 int ret = Draw();
165 return ret;
166 }
167
169 virtual int CreateHeap() { return 1; }
170 virtual int Create() { return 1; }
171 virtual int Execute(Mtx**) { return 1; }
172 virtual int Draw() { return 1; }
173 virtual int Delete() { return 1; }
174 virtual int IsDelete() { return 1; }
175 virtual int ToFore() { return 1; }
176 virtual int ToBack() { return 1; }
177
178 static const char* m_name;
179 static int m_dzb_id;
181
182public:
183 /* 0xA14 */ dBgW* mpBgw;
184 /* 0xA18 */ Mtx mBgMtx;
185};
186
187#endif /* D_A_NPC2 */
Definition J3DAnimation.h:642
Definition J3DAnimation.h:525
Definition J3DAnimation.h:504
Definition J3DAnimation.h:919
Definition J3DMaterialAnm.h:190
Definition J3DMaterial.h:16
Definition J3DModelData.h:17
Definition Z2Creature.h:7
Definition c_bg_s_gnd_chk.h:8
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_bg_w.h:257
Definition d_cc_d.h:269
Definition d_msg_flow.h:49
Definition d_a_npc2.h:11
daBaseNpc_acMngr_c()
Definition d_a_npc2.cpp:116
virtual ~daBaseNpc_acMngr_c()
Definition d_a_npc2.h:16
void entry(fopAc_ac_c *)
Definition d_a_npc2.cpp:120
fpc_ProcID mActorId
Definition d_a_npc2.h:19
fopAc_ac_c * getActor()
Definition d_a_npc2.cpp:124
Definition d_a_npc2.h:86
void orderEvent(int, char *)
Definition d_a_npc2.cpp:547
virtual int execute()
Definition d_a_npc2.cpp:425
u16 field_0x842
Definition d_a_npc2.h:134
virtual void setParam()
Definition d_a_npc2.cpp:545
virtual void attnSttsOn(int, int)
Definition d_a_npc2.cpp:527
virtual BOOL btkCtrl()
Definition d_a_npc2.cpp:572
csXyz field_0x91a
Definition d_a_npc2.h:144
virtual void mainProc()
Definition d_a_npc2.cpp:559
dCcD_Stts mCcStts
Definition d_a_npc2.h:141
csXyz field_0x9c2
Definition d_a_npc2.h:147
request_of_phase_process_class mPhase
Definition d_a_npc2.h:124
virtual ~daBaseNpc_c()
Definition d_a_npc2.cpp:423
f32 mGroundY
Definition d_a_npc2.h:151
csXyz field_0x9c8
Definition d_a_npc2.h:148
int setBckAnm(J3DAnmTransform *, f32, int, int, int, bool)
Definition d_a_npc2.cpp:510
virtual void setAttnPos()
Definition d_a_npc2.cpp:691
dMsgFlow_c mMsgFlow
Definition d_a_npc2.h:138
mDoExt_McaMorfSO * mpModelMorf
Definition d_a_npc2.h:125
char field_0x744
Definition d_a_npc2.h:122
virtual const char * getResName()
Definition d_a_npc2.cpp:493
u32 mShadowId
Definition d_a_npc2.h:127
virtual bool dbgDraw()
Definition d_a_npc2.cpp:695
s16 field_0x838
Definition d_a_npc2.h:131
void setEnvTevColor()
Definition d_a_npc2.cpp:561
int setBtpAnm(J3DAnmTexPattern *, J3DModelData *, f32, int)
Definition d_a_npc2.cpp:522
cBgS_GndChk field_0x9d4
Definition d_a_npc2.h:150
virtual void allAnmPlay()
Definition d_a_npc2.cpp:606
u8 field_0x844
Definition d_a_npc2.h:135
int checkEndAnm(f32)
Definition d_a_npc2.cpp:576
u16 * field_0x83c
Definition d_a_npc2.h:132
mDoExt_btkAnm mBtk
Definition d_a_npc2.h:130
dBgS_AcchCir mAcchCir
Definition d_a_npc2.h:142
J3DAnmTransform * getTrnsfrmKeyAnmP(char *, int)
Definition d_a_npc2.cpp:497
virtual void setMtx(int)
Definition d_a_npc2.cpp:654
void setRoomNo()
Definition d_a_npc2.cpp:566
static dCcD_SrcGObjInf const mCcDObj
Definition d_a_npc2.h:2146
virtual void drawOtherMdls()
Definition d_a_npc2.cpp:693
s32 field_0x848
Definition d_a_npc2.h:137
u8 field_0x898[0x89A - 0x898]
Definition d_a_npc2.h:139
dBgS_ObjAcch mAcch
Definition d_a_npc2.h:121
s16 mEvtIdx
Definition d_a_npc2.h:140
mDoExt_btpAnm mBtp
Definition d_a_npc2.h:129
u8 field_0x745[0x74c - 0x745]
Definition d_a_npc2.h:123
virtual int draw(f32)
Definition d_a_npc2.cpp:448
static dCcD_SrcCyl mCcDCyl
Definition d_a_npc2.h:10
csXyz field_0x9ce
Definition d_a_npc2.h:149
daBaseNpc_c()
Definition d_a_npc2.cpp:421
u8 field_0x845[0x848 - 0x845]
Definition d_a_npc2.h:136
int setMcaMorfAnm(J3DAnmTransformKey *, f32, f32, int, int, int)
Definition d_a_npc2.cpp:502
static dCcD_SrcSph mCcDSph
Definition d_a_npc2.h:19
csXyz field_0x9bc
Definition d_a_npc2.h:146
virtual void setCollisions()
Definition d_a_npc2.cpp:689
u16 field_0x840
Definition d_a_npc2.h:133
J3DAnmTransform * getTexPtrnAnmP(char *, int)
Definition d_a_npc2.cpp:517
s16 field_0x918
Definition d_a_npc2.h:143
daBaseNpc_lookat_c mLookat
Definition d_a_npc2.h:145
virtual void adjustShapeAngle()
Definition d_a_npc2.cpp:652
mDoExt_bckAnm mBck
Definition d_a_npc2.h:128
Z2Creature mSound
Definition d_a_npc2.h:126
Definition d_a_npc2.h:66
cXyz * mpAttnPos
Definition d_a_npc2.h:83
csXyz mMinJntLmt[4]
Definition d_a_npc2.h:78
u8 field_0x94[4]
Definition d_a_npc2.h:82
csXyz field_0x64[4]
Definition d_a_npc2.h:80
csXyz mMaxJntLmt[4]
Definition d_a_npc2.h:77
int setAttnPos(cXyz *)
Definition d_a_npc2.cpp:412
csXyz getRot(int)
Definition d_a_npc2.cpp:417
void setMinJntLmt(csXyz, int)
Definition d_a_npc2.cpp:404
void calc(fopAc_ac_c *, f32(*)[4], s16)
Definition d_a_npc2.cpp:279
csXyz mRot[4]
Definition d_a_npc2.h:81
void setMaxJntLmt(csXyz, int)
Definition d_a_npc2.cpp:400
virtual ~daBaseNpc_lookat_c()
Definition d_a_npc2.h:75
void limitter(s16, s16 *, s16, s16)
Definition d_a_npc2.cpp:247
cXyz mJntPos[4]
Definition d_a_npc2.h:79
void setJntPos(cXyz, int)
Definition d_a_npc2.cpp:408
Definition d_a_npc2.h:22
virtual ~daBaseNpc_matAnm_c()
Definition d_a_npc2.h:24
u8 mEyeMoveFlg
Definition d_a_npc2.h:31
f32 field_0xF4
Definition d_a_npc2.h:27
f32 mNowOffsetY
Definition d_a_npc2.h:30
f32 mNowOffsetX
Definition d_a_npc2.h:29
virtual void calc(J3DMaterial *) const
Definition d_a_npc2.cpp:134
u8 mMorfFrm
Definition d_a_npc2.h:32
f32 field_0xF8
Definition d_a_npc2.h:28
Definition d_a_npc2.h:156
int MoveBGExecute()
Definition d_a_npc2.cpp:796
dBgW * mpBgw
Definition d_a_npc2.h:183
virtual int CreateHeap()
Definition d_a_npc2.h:169
static int m_dzb_id
Definition d_a_npc2.h:179
virtual int Create()
Definition d_a_npc2.h:170
Mtx mBgMtx
Definition d_a_npc2.h:184
virtual int Execute(Mtx **)
Definition d_a_npc2.h:171
virtual int ToBack()
Definition d_a_npc2.h:176
virtual ~daBaseNpc_moveBgActor_c()
Definition d_a_npc2.h:168
virtual int ToFore()
Definition d_a_npc2.h:175
daBaseNpc_moveBgActor_c()
Definition d_a_npc2.cpp:699
virtual int Draw()
Definition d_a_npc2.h:172
virtual int IsDelete()
Definition d_a_npc2.h:174
int MoveBGCreateHeap()
Definition d_a_npc2.cpp:714
int MoveBGCreate(char const *, int, MoveBGActor_SetFunc, u32)
Definition d_a_npc2.cpp:741
int MoveBGDraw()
Definition d_a_npc2.h:163
static const char * m_name
Definition d_a_npc2.h:178
static MoveBGActor_SetFunc m_set_func
Definition d_a_npc2.h:180
int MoveBGDelete()
Definition d_a_npc2.cpp:784
virtual int Delete()
Definition d_a_npc2.h:173
Definition d_a_npc2.h:35
u8 field_0xa1c[8]
Definition d_a_npc2.h:63
u8 field_0xa16[2]
Definition d_a_npc2.h:61
u8 field_0xa13
Definition d_a_npc2.h:59
BOOL setNextPnt()
Definition d_a_npc2.cpp:197
void reverseDir()
Definition d_a_npc2.cpp:181
f32 field_0x8
Definition d_a_npc2.h:53
int setPathInfo(u8, s8, s8)
Definition d_a_npc2.cpp:163
dPnt mCurvePnts[160]
Definition d_a_npc2.h:54
virtual ~daBaseNpc_path_c()
Definition d_a_npc2.h:47
void dbgDraw(f32)
Definition d_a_npc2.cpp:214
u16 mCurvePntNum
Definition d_a_npc2.h:56
daBaseNpc_path_c()
Definition d_a_npc2.cpp:157
Vec getPntPos(u16)
Definition d_a_npc2.cpp:209
s16 field_0xa14
Definition d_a_npc2.h:60
dPath * mPathInfo
Definition d_a_npc2.h:52
u16 getIdx()
Definition d_a_npc2.cpp:201
u16 mIdx
Definition d_a_npc2.h:57
static const int MAXNUMCONTROLPNT_e
Definition d_a_npc2.h:49
s32 chkPnt(cXyz)
Definition d_a_npc2.cpp:192
u8 field_0xa0c[0xA0E - 0xA0C]
Definition d_a_npc2.h:55
int field_0xa18
Definition d_a_npc2.h:62
void setIdx(u16)
Definition d_a_npc2.cpp:205
BOOL isPath()
Definition d_a_npc2.cpp:159
s8 mDirection
Definition d_a_npc2.h:58
Definition f_op_actor.h:230
Definition m_Do_ext.h:331
Definition m_Do_ext.h:151
Definition m_Do_ext.h:65
Definition m_Do_ext.h:182
STATIC_ASSERT(sizeof(daBaseNpc_c)==0xA14)
void(* MoveBGActor_SetFunc)(dBgW *, void *, cBgS_PolyInfo const &, bool, cXyz *, csXyz *, csXyz *)
Definition d_bg_s_movebg_actor.h:8
f32 Mtx[3][4]
Definition mtx.h:25
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition mtx.h:13
Definition c_xyz.h:7
Definition d_cc_d.h:104
Definition d_cc_d.h:87
Definition d_cc_d.h:94
Definition d_path.h:18
Definition d_path.h:10
Definition c_phase.h:17