Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_e_pm.h
Go to the documentation of this file.
1#ifndef D_A_E_PM_H
2#define D_A_E_PM_H
3
6#include "f_op/f_op_actor.h"
7#include "d/d_bg_s_acch.h"
8#include "d/d_cc_d.h"
9#include "d/d_cc_uty.h"
10#include "d/d_msg_flow.h"
11
12class dPath;
13
22class daE_PM_c : public fopEn_enemy_c {
23public:
24 /* 80741FB4 */ void DemoSkip(int);
25 /* 80742004 */ static int DemoSkipCallBack(void*, int);
26 /* 80742038 */ int CreateHeap();
27 /* 80742448 */ void initCcCylinder();
28 /* 807424C0 */ void setCcCylinder();
29 /* 80742508 */ int ctrlJoint(J3DJoint*, J3DModel*);
30 /* 80742600 */ void Particle_Set(u16, cXyz);
31 /* 80742674 */ void SetAnm(int, int, f32, f32);
32 /* 80742810 */ void Yazirushi();
33 /* 807428A8 */ void SearchRndP();
34 /* 80742958 */ void SearchFarP();
35 /* 80742C94 */ void SearchNearP();
36 /* 80742E1C */ BOOL SearchNextPos();
37 /* 80742FB4 */ void SetGakkiEffect();
38 /* 807430C4 */ bool CameraSet();
39 /* 80743210 */ void SetStopingCam();
40 /* 80743294 */ void SetStopCam(cXyz, f32, f32, s16);
41 /* 807433E8 */ void SetMoveCam2(f32, f32);
42 /* 80743524 */ void SetMoveCam(f32, f32);
43 /* 80743600 */ void SetReleaseCam();
44 /* 807436A4 */ void Ap_StartAction();
45 /* 80743D8C */ void Ap_CreateAction();
46 /* 807444F0 */ void Ap_EscapeAction();
47 /* 80744790 */ void AppearAction();
48 /* 80744878 */ void DemoBeforeEscape();
49 /* 80744DA0 */ void DemoAfterEscape();
50 /* 807453F4 */ void DemoMoveAction();
51 /* 80745438 */ void WaitAction();
52 /* 807455F4 */ void GroundCheck();
53 /* 80745970 */ void EscapeAction();
54 /* 80745C44 */ void DeathAction();
55 /* 80745DBC */ void Action();
56 /* 80745ED0 */ void DemoBossStart2();
57 /* 80746624 */ void DemoBossStart();
58 /* 80747194 */ void BossEscapeAction();
59 /* 807476A0 */ void BossDamageAction();
60 /* 80747F38 */ void BossWaitAction();
61 /* 807480A4 */ void BossDeathAction();
62 /* 80748964 */ void BossAction();
63 /* 80748B18 */ int Execute();
64 /* 80748D74 */ void StartAction();
65 /* 8074954C */ void GakkiLoopAction(cXyz, f32);
66 /* 807499C0 */ void DemoCreateAction();
67 /* 80749C0C */ void CreateAction();
68 /* 80749D9C */ void CreateChk();
69 /* 80749ED0 */ void LampAction();
70 /* 8074A14C */ void DamageAction();
71 /* 8074A210 */ void At_Check();
72 /* 8074A3DC */ void ObjHit();
73 /* 8074A644 */ void EyeMove();
74 /* 8074A6CC */ int Draw();
75 /* 8074AAC0 */ int Delete();
76 /* 8074AB28 */ void setBaseMtx();
77 /* 8074ABA8 */ void setGakkiBaseMtx();
78 /* 8074AC10 */ void setLampBaseMtx();
79 /* 8074AEF8 */ void SkipChk();
80 /* 8074B4DC */ cPhs__Step Create();
81
82 void AppearSet() { mAppear = true; }
84 u8 SwitchChk() { return mStage; }
85 u8 DoorChk() { return mDoorAction; }
86
87private:
88 /* 0x5AC */ fpc_ProcID mPuppetID[4];
89 /* 0x5BC */ u8 field_0x5bc[0x5DC - 0x5BC];
90 /* 0x5DC */ u8 mDoorAction;
91 /* 0x5E0 */ dPath* mpPath;
92 /* 0x5E4 */ cXyz mPoint;
93 /* 0x5F0 */ u8 mPathIndex;
94 /* 0x5F4 */ int mPointIndex;
95 /* 0x5F8 */ u8 mBossHealth;
96 /* 0x5FC */ f32 field_0x5fc;
97 /* 0x600 */ u8 mPuppetNum;
98 /* 0x602 */ s16 mTargetAngleY;
99 /* 0x604 */ s16 mHeadAngleX;
100 /* 0x606 */ s16 mHeadAngleZ;
102 /* 0x60C */ f32 mTargetSpeed;
103 /* 0x610 */ u8 mAction;
104 /* 0x611 */ u8 mMode;
105 /* 0x612 */ u8 mDemoMode;
106 /* 0x613 */ u8 field_0x613;
107 /* 0x614 */ u8 mPuppetDelete;
108 /* 0x616 */ s16 mIFrameTimer;
109 /* 0x618 */ u8 field_0x618;
110 /* 0x619 */ bool mAppear;
111 /* 0x61A */ u8 mStage;
112 /* 0x61B */ u8 mSwBit;
113 /* 0x61C */ int mAnm;
114 /* 0x620 */ s16 mTimer[4];
115 /* 0x628 */ u32 mParticleKey;
116 /* 0x62C */ u32 mGakkiParticleKey[3];
118 /* 0x63C */ dMsgFlow_c mMsgFlow;
119 /* 0x688 */ u8 mEyeAnmTimer;
120 /* 0x689 */ u8 mEyeAnmFrame;
121 /* 0x68C */ cXyz mCamCenter;
122 /* 0x698 */ cXyz mCamEye;
124 /* 0x6B0 */ cXyz mCamEyeTarget;
126 /* 0x6C8 */ cXyz mCamEyeTarget2;
127 /* 0x6D4 */ f32 mCamFovY;
128 /* 0x6D8 */ bool mSecondEncounter;
130 /* 0x6E8 */ cXyz mLampPosition;
131 /* 0x6F4 */ csXyz mLampAngle;
132 /* 0x6FA */ s16 field_0x6fa;
133 /* 0x6FC */ s16 field_0x6fc;
134 /* 0x6FE */ bool mBossLightOn;
135 /* 0x6FF */ bool field_0x6ff;
139 /* 0x70C */ J3DModel* mpLampModel;
142 /* 0x71C */ u32 mShadowKey;
145 /* 0x804 */ dBgS_ObjAcch mAcch;
146 /* 0x9DC */ dCcD_Stts mCcStts;
147 /* 0xA18 */ dCcD_Cyl mCcCyl;
148 /* 0xB54 */ dCcU_AtInfo mAtInfo;
149 /* 0xB78 */ bool mHIOInit;
150};
151
152STATIC_ASSERT(sizeof(daE_PM_c) == 0xB7C);
153
155public:
156 /* 80741EEC */ daE_PM_HIO_c();
157 /* 8074BA68 */ virtual ~daE_PM_HIO_c() {}
158
159 /* 0x04 */ s8 field_0x4;
162 /* 0x10 */ f32 mEscapeRange;
163 /* 0x14 */ s16 mGlowColor1R;
164 /* 0x16 */ s16 mGlowColor1G;
165 /* 0x18 */ s16 mGlowColor1B;
166 /* 0x1A */ s16 mGlowColor2R;
167 /* 0x1C */ s16 mGlowColor2G;
168 /* 0x1E */ s16 mGlowColor2B;
169 /* 0x20 */ s16 mGlowColor1A;
171 /* 0x24 */ s16 field_0x24;
173 /* 0x28 */ f32 mCreateTimer;
174 /* 0x2C */ f32 field_0x2c;
175 /* 0x30 */ f32 field_0x30;
176 /* 0x34 */ f32 field_0x34;
177 /* 0x38 */ f32 mBossLightR;
178 /* 0x3C */ f32 mBossLightG;
179 /* 0x40 */ f32 mBossLightB;
180 /* 0x44 */ f32 field_0x44;
181 /* 0x48 */ f32 field_0x48;
182};
183
185
186#endif /* D_A_E_PM_H */
cPhs__Step
Definition c_phase.h:8
Definition Z2Creature.h:154
Definition d_a_e_pm.h:154
f32 field_0x44
Definition d_a_e_pm.h:180
s16 mGlowColor1A
Definition d_a_e_pm.h:169
f32 field_0x34
Definition d_a_e_pm.h:176
f32 mBossLightB
Definition d_a_e_pm.h:179
f32 field_0x30
Definition d_a_e_pm.h:175
f32 field_0x2c
Definition d_a_e_pm.h:174
f32 mCreateTimer
Definition d_a_e_pm.h:173
s16 mAdditionalPuppetNum
Definition d_a_e_pm.h:172
s8 field_0x4
Definition d_a_e_pm.h:159
s16 mGlowColor2G
Definition d_a_e_pm.h:167
f32 mEscapeRange
Definition d_a_e_pm.h:162
virtual ~daE_PM_HIO_c()
Definition d_a_e_pm.h:157
s16 mBossEscapeTimer
Definition d_a_e_pm.h:170
s16 field_0x24
Definition d_a_e_pm.h:171
daE_PM_HIO_c()
Definition d_a_e_pm.cpp:108
f32 mBossLightG
Definition d_a_e_pm.h:178
f32 field_0x48
Definition d_a_e_pm.h:181
s16 mGlowColor1G
Definition d_a_e_pm.h:164
f32 mGlowEffectScale
Definition d_a_e_pm.h:161
s16 mGlowColor1B
Definition d_a_e_pm.h:165
s16 mGlowColor1R
Definition d_a_e_pm.h:163
f32 mBossLightR
Definition d_a_e_pm.h:177
s16 mGlowColor2B
Definition d_a_e_pm.h:168
f32 mLampParticleScale
Definition d_a_e_pm.h:160
s16 mGlowColor2R
Definition d_a_e_pm.h:166
Skullkid.
Definition d_a_e_pm.h:22
cXyz mCamCenterTarget
Definition d_a_e_pm.h:123
u8 mDoorAction
Definition d_a_e_pm.h:90
cXyz mCamEyeTarget
Definition d_a_e_pm.h:124
void AppearSet()
Definition d_a_e_pm.h:82
void EscapeAction()
Definition d_a_e_pm.cpp:1095
cXyz mCamCenterTarget2
Definition d_a_e_pm.h:125
void EyeMove()
Definition d_a_e_pm.cpp:2505
bool CameraSet()
Definition d_a_e_pm.cpp:381
u8 SwitchChk()
Definition d_a_e_pm.h:84
void SetMoveCam2(f32, f32)
Definition d_a_e_pm.cpp:425
BOOL SearchNextPos()
Definition d_a_e_pm.cpp:353
dPath * mpPath
Definition d_a_e_pm.h:91
cXyz mLampPosition
Definition d_a_e_pm.h:130
int mPointIndex
Definition d_a_e_pm.h:94
u8 mPuppetDelete
Definition d_a_e_pm.h:107
s16 mHeadAngleZ
Definition d_a_e_pm.h:100
u8 mStage
Definition d_a_e_pm.h:111
void DemoBeforeEscape()
Definition d_a_e_pm.cpp:783
void DemoAfterEscape()
Definition d_a_e_pm.cpp:873
mDoExt_McaMorfSO * mpMorf
Definition d_a_e_pm.h:137
f32 field_0x5fc
Definition d_a_e_pm.h:96
void DemoSkip(int)
Definition d_a_e_pm.cpp:135
void Particle_Set(u16, cXyz)
Definition d_a_e_pm.cpp:266
void BossDeathAction()
Definition d_a_e_pm.cpp:1838
u8 ActionChk()
Definition d_a_e_pm.h:83
cXyz mOldLampPosition
Definition d_a_e_pm.h:129
void BossWaitAction()
Definition d_a_e_pm.cpp:1801
int Draw()
Definition d_a_e_pm.cpp:2519
u8 mMode
Definition d_a_e_pm.h:104
void Action()
Definition d_a_e_pm.cpp:1207
void Ap_StartAction()
Definition d_a_e_pm.cpp:452
s16 mTimer[4]
Definition d_a_e_pm.h:114
Z2CreatureEnemy mCreatureSound
Definition d_a_e_pm.h:143
void DamageAction()
Definition d_a_e_pm.cpp:2367
void StartAction()
Definition d_a_e_pm.cpp:2041
dCcD_Stts mCcStts
Definition d_a_e_pm.h:146
u8 field_0x5bc[0x5DC - 0x5BC]
Definition d_a_e_pm.h:89
void SetStopingCam()
Definition d_a_e_pm.cpp:404
u32 mShadowKey
Definition d_a_e_pm.h:142
u8 mAction
Definition d_a_e_pm.h:103
s16 mTargetHeadAngleX
Definition d_a_e_pm.h:101
void LampAction()
Definition d_a_e_pm.cpp:2356
int Execute()
Definition d_a_e_pm.cpp:2005
dMsgFlow_c mMsgFlow
Definition d_a_e_pm.h:118
void SearchFarP()
Definition d_a_e_pm.cpp:324
u8 mPuppetNum
Definition d_a_e_pm.h:97
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_e_pm.cpp:241
void GakkiLoopAction(cXyz, f32)
Definition d_a_e_pm.cpp:2182
bool mSecondEncounter
Definition d_a_e_pm.h:128
f32 mTargetSpeed
Definition d_a_e_pm.h:102
int CreateHeap()
Definition d_a_e_pm.cpp:151
u8 field_0x613
Definition d_a_e_pm.h:106
J3DModel * mpLampModel
Definition d_a_e_pm.h:139
s16 mIFrameTimer
Definition d_a_e_pm.h:108
u8 DoorChk()
Definition d_a_e_pm.h:85
void Ap_CreateAction()
Definition d_a_e_pm.cpp:585
void setLampBaseMtx()
Definition d_a_e_pm.cpp:2603
void GroundCheck()
Definition d_a_e_pm.cpp:1048
void DeathAction()
Definition d_a_e_pm.cpp:1174
void SkipChk()
Definition d_a_e_pm.cpp:2654
u8 mDemoMode
Definition d_a_e_pm.h:105
int Delete()
Definition d_a_e_pm.cpp:2572
dCcD_Cyl mCcCyl
Definition d_a_e_pm.h:147
u8 mEyeAnmTimer
Definition d_a_e_pm.h:119
u8 mBossHealth
Definition d_a_e_pm.h:95
csXyz mLampAngle
Definition d_a_e_pm.h:131
s16 field_0x6fa
Definition d_a_e_pm.h:132
static int DemoSkipCallBack(void *, int)
Definition d_a_e_pm.cpp:142
mDoExt_McaMorf * mpGlowEffectMorf
Definition d_a_e_pm.h:140
cXyz mCamEye
Definition d_a_e_pm.h:122
void DemoMoveAction()
Definition d_a_e_pm.cpp:991
bool field_0x6ff
Definition d_a_e_pm.h:135
mDoExt_McaMorf * mpTrumpetMorf
Definition d_a_e_pm.h:138
dCcU_AtInfo mAtInfo
Definition d_a_e_pm.h:148
u8 field_0x618
Definition d_a_e_pm.h:109
u32 mParticleKey
Definition d_a_e_pm.h:115
void Ap_EscapeAction()
Definition d_a_e_pm.cpp:697
s16 field_0x6fc
Definition d_a_e_pm.h:133
void SetAnm(int, int, f32, f32)
Definition d_a_e_pm.cpp:271
u8 mPathIndex
Definition d_a_e_pm.h:93
void Yazirushi()
Definition d_a_e_pm.cpp:290
f32 mCamFovY
Definition d_a_e_pm.h:127
void DemoBossStart()
Definition d_a_e_pm.cpp:1389
void initCcCylinder()
Definition d_a_e_pm.cpp:211
mDoExt_btpAnm * mpEyeAnm
Definition d_a_e_pm.h:136
void At_Check()
Definition d_a_e_pm.cpp:2388
void SearchNearP()
Definition d_a_e_pm.cpp:344
s16 mHeadAngleX
Definition d_a_e_pm.h:99
void setCcCylinder()
Definition d_a_e_pm.cpp:235
void SearchRndP()
Definition d_a_e_pm.cpp:300
dBgS_ObjAcch mAcch
Definition d_a_e_pm.h:145
void BossAction()
Definition d_a_e_pm.cpp:1945
s16 mTargetAngleY
Definition d_a_e_pm.h:98
dBgS_AcchCir mAcchCir
Definition d_a_e_pm.h:144
void setGakkiBaseMtx()
Definition d_a_e_pm.cpp:2596
u8 mEyeAnmFrame
Definition d_a_e_pm.h:120
cXyz mCamCenter
Definition d_a_e_pm.h:121
void DemoCreateAction()
Definition d_a_e_pm.cpp:2243
void SetMoveCam(f32, f32)
Definition d_a_e_pm.cpp:435
bool mBossLightOn
Definition d_a_e_pm.h:134
void SetReleaseCam()
Definition d_a_e_pm.cpp:443
bool mHIOInit
Definition d_a_e_pm.h:149
void WaitAction()
Definition d_a_e_pm.cpp:1003
u8 mSwBit
Definition d_a_e_pm.h:112
void BossDamageAction()
Definition d_a_e_pm.cpp:1653
void AppearAction()
Definition d_a_e_pm.cpp:758
request_of_phase_process_class mPhase
Definition d_a_e_pm.h:141
cXyz mCamEyeTarget2
Definition d_a_e_pm.h:126
void CreateAction()
Definition d_a_e_pm.cpp:2294
u32 mGakkiParticleKey[3]
Definition d_a_e_pm.h:116
void CreateChk()
Definition d_a_e_pm.cpp:2330
bool mAppear
Definition d_a_e_pm.h:110
fpc_ProcID mPuppetID[4]
Definition d_a_e_pm.h:88
void SetStopCam(cXyz, f32, f32, s16)
Definition d_a_e_pm.cpp:410
void SetGakkiEffect()
Definition d_a_e_pm.cpp:367
cPhs__Step Create()
Definition d_a_e_pm.cpp:2753
cXyz mPoint
Definition d_a_e_pm.h:92
void ObjHit()
Definition d_a_e_pm.cpp:2442
void DemoBossStart2()
Definition d_a_e_pm.cpp:1251
int mAnm
Definition d_a_e_pm.h:113
void BossEscapeAction()
Definition d_a_e_pm.cpp:1581
u32 mLampParticleKey
Definition d_a_e_pm.h:117
void setBaseMtx()
Definition d_a_e_pm.cpp:2587
Definition f_op_actor.h:249
Definition m_Do_ext.h:344
STATIC_ASSERT(sizeof(daE_PM_c)==0xB7C)
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition d_a_hozelda.cpp:239
Definition d_a_ep.cpp:155
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:66
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:70
Definition d_a_ep.cpp:99
Definition d_a_obj_sekizoa.cpp:318
Definition d_a_npc_cd2.cpp:35
Definition d_a_npc_fguard.cpp:23
Definition d_a_hozelda.cpp:40
Definition d_a_hozelda.cpp:14
int BOOL
Definition types.h:27
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
unsigned char u8
Definition types.h:8