Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
Z2Creature.h
Go to the documentation of this file.
1#ifndef Z2CREATURE_H
2#define Z2CREATURE_H
3
7
8class Z2Creature {
9public:
12
13 void init(Vec*, Vec*, u8, u8);
14 void init(Vec*, Vec*, Vec*, u8, u8, u8);
15 void initAnime(void*, bool, f32, f32);
16 void updateAnime(f32, f32);
17 void stopAnime();
18
19 virtual void deleteObject();
20 virtual void setSoundStarter(Z2SoundStarter*);
21 virtual void framework(u32, s8);
29
30 Vec* getCurrentPos() const { return mpPos; }
31
32 /* 0x04 */ Vec* mpPos;
36}; // Size: 0x90
37
40
41 inline virtual ~Z2LinkSoundStarter();
43 f32, f32, f32, f32, u32);
44};
45
47public:
50
52 void setLinkGroupInfo(u8);
53 void setLinkHp(s32, s32);
57 virtual void deleteObject();
58 void init(Vec*, Vec*, Vec*);
59 void initKantera(Vec*);
60 void deleteKantera(void);
61 void setKanteraState(u8);
62 virtual void framework(u32, s8);
63 void setSinkDepth(s8);
64 void setRiding(bool);
65 void setMagnetized(bool);
66 void setWolfEyeOpen(bool);
73 int startHitItemSE(u32, u32, Z2SoundObjBase*, float);
74 void setResumeAttack(bool);
75
76 void setInWater(bool status) { mInWater = status; }
77 bool isInWater() { return mInWater; }
78 u8 getLinkState() const { return mLinkState; }
79 u8 getMoveSpeed() const { return mMoveSpeed; }
80 bool isRiding() const { return mRiding; }
83 u8 getLinkHp() const { return mLinkHp; }
85 u8 isWolfSmellOpen() const { return mWolfEyeOpen; }
88
90
91private:
92 /* 0x90 Z2LinkSoundStarter */
94 /* 0xB4 */ cXyz field_0xb4;
95 /* 0xC0 */ u8 mLinkState;
96 /* 0xC1 */ u8 field_0xc1;
97 /* 0xC2 */ u8 mMarkState;
98 /* 0xC3 */ u8 mLinkHp;
99 /* 0xC4 */ u8 mLinkBootsType;
100 /* 0xC5 */ u8 mKanteraState;
101 /* 0xC6 */ u8 mLinkSwordType;
102 /* 0xC7 */ u8 mLinkShieldType;
103 /* 0xC8 */ u8 mMoveSpeed;
104 /* 0xC9 */ u8 mMovingTime;
105 /* 0xCA */ s8 mSinkDepth;
106 /* 0xCB */ bool mWolfEyeOpen : 1;
107 /* 0xCB */ bool mInWater : 1;
108 /* 0xCB */ bool mResumeAttack : 1;
109 /* 0xCB */ bool mFlag3 : 1;
110 /* 0xCB */ bool mFlag4 : 1;
111 /* 0xCB */ bool mFlag5 : 1;
112 /* 0xCB */ bool mRiding : 1;
113 /* 0xCB */ bool mMagnetized : 1;
114 /* 0xCC */ bool mFlag8 : 1;
115 /* 0xCC */ bool mUsingIronBall : 1;
116 /* 0xCC */ bool mFlag10 : 1;
117 /* 0xCC */ bool mFlag11 : 1;
118 /* 0xCC */ bool mFlag12 : 1;
119 /* 0xCC */ bool mFlag13 : 1;
120 /* 0xCC */ bool mFlag14 : 1;
121 /* 0xCC */ bool mFlag15 : 1;
122}; // Size: 0xD0
123
127
128class Z2CreatureRide;
130 /* 802C5234 */ Z2RideSoundStarter(Z2CreatureRide*);
131
132 /* 802C5078 */ inline virtual ~Z2RideSoundStarter();
133 /* 802C5284 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
135 f32, u32);
136
138};
139
141public:
144 void init(Vec*, Vec*, u8, u8);
145 void setLinkRiding(bool);
146
147 virtual void deleteObject();
148
149private:
150 /* 0x90 */ // Z2RideSoundStarter mSoundStarter;
151 /* 0x98 */ bool mLinkRiding;
152}; // Size: 0x9C
153
154class Z2CreatureEnemy : public Z2Creature, public JSULink<Z2CreatureEnemy> {
155public:
156 /* 802C0F64 */ Z2CreatureEnemy();
157 /* 802C0FC4 */ virtual void deleteObject();
158 /* 802C1094 */ void init(Vec*, Vec*, u8, u8);
159 /* 802C10B4 */ void init(Vec*, Vec*, Vec*, u8, u8, u8);
160 /* 802C10D4 */ virtual void framework(u32, s8);
161 /* 802C110C */ virtual Z2SoundHandlePool* startCreatureSound(JAISoundID, u32, s8);
162 /* 802C136C */ virtual Z2SoundHandlePool* startCreatureSoundLevel(JAISoundID, u32, s8);
163 /* 802C168C */ virtual Z2SoundHandlePool* startCreatureVoice(JAISoundID, s8);
164 /* 802C1948 */ virtual Z2SoundHandlePool* startCreatureVoiceLevel(JAISoundID, s8);
165 /* 802C199C */ virtual Z2SoundHandlePool* startCreatureExtraSound(JAISoundID, u32, s8);
167 /* 802C1A14 */ virtual Z2SoundHandlePool* startCollisionSE(u32, u32);
168 /* 802C1B7C */ void setLinkSearch(bool);
169 /* 802C1B90 */ void setEnemyName(char const*);
170
171 /* 0xA0 */ u8 mEnemyID;
172 /* 0xA1 */ s8 field_0xa1;
173 /* 0xA2 */ bool mLinkSearch;
174 /* 0xA3 */ u8 field_0xa3;
175}; // Size: 0xA4
176
177class Z2CreatureCitizen : public Z2Creature, public JSULink<Z2CreatureCitizen> {
178public:
179 /* 802C0C10 */ Z2CreatureCitizen();
180 /* 802C0C6C */ ~Z2CreatureCitizen();
181 /* 802C0CE4 */ void init(Vec*, Vec*, u8, u8);
182 /* 802C0D04 */ virtual void deleteObject();
183 /* 802C0D48 */ void setMdlType(s8, bool, bool);
184 /* 802C0E18 */ void playVoice(int);
185 /* 802C0ED8 */ virtual Z2SoundHandlePool* startCreatureVoice(JAISoundID, s8);
186
187private:
188 /* 0xA0 */ s8 mCitizenID;
189 /* 0xA1 */ s8 field_0xa1;
190 /* 0xA2 */ bool mLinkSearch;
191 /* 0xA3 */ u8 field_0xa3;
192}; // Size: 0xA4
193
195public:
196 /* 802C1BE8 */ Z2CreatureSumomo();
197 /* 802C1C24 */ void playSumomoBgm(u32);
198 /* 802C1CA0 */ void deleteObject();
199}; // Size: 0x90
200
202public:
203 /* 802C1D10 */ Z2SoundObjBeeGroup();
204 /* 802C1D4C */ void init(Vec*, u8);
205 /* 802C1D6C */ void playBeeGroupSound(JAISoundID, u8);
206}; // Size: 0x20
207
209public:
210 /* 802C1F54 */ Z2CreatureFM();
211 /* 802C1FB0 */ void deleteObject();
212 /* 802C1FFC */ void init(Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, u8, u8, u8, u8, u8, u8);
213 /* 802C20E8 */ void framework(u32, s8);
216
221}; // Size: 0x124
222
223class Z2CreatureGob : public Z2Creature {
224public:
225 /* 802C24B0 */ void init(Vec*, Vec*, Vec*, u8, u8, u8);
227};
228
230public:
231 /* 802C2578 */ Z2CreatureOI();
232 /* 802C25EC */ void deleteObject();
233 /* 802C2670 */ void init(Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*,
234 Vec*);
235 /* 802C2864 */ void framework(u32, s8);
239
244}; // Size: 0x204
245
246#endif /* Z2CREATURE_H */
Z2CreatureLink * Z2GetLink()
Definition Z2Creature.h:124
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition JAISoundHandles.h:14
Definition Z2Creature.h:154
u8 field_0xa3
Definition Z2Creature.h:174
virtual void deleteObject()
Definition Z2Creature.cpp:384
s8 field_0xa1
Definition Z2Creature.h:172
virtual Z2SoundHandlePool * startCreatureExtraSound(JAISoundID, u32, s8)
Definition Z2Creature.cpp:633
void setEnemyName(char const *)
Definition Z2Creature.cpp:704
Z2CreatureEnemy()
Definition Z2Creature.cpp:372
virtual Z2SoundHandlePool * startCreatureSound(JAISoundID, u32, s8)
Definition Z2Creature.cpp:419
void setLinkSearch(bool)
Definition Z2Creature.cpp:696
virtual Z2SoundHandlePool * startCreatureVoice(JAISoundID, s8)
Definition Z2Creature.cpp:526
virtual Z2SoundHandlePool * startCreatureVoiceLevel(JAISoundID, s8)
Definition Z2Creature.cpp:623
bool mLinkSearch
Definition Z2Creature.h:173
virtual Z2SoundHandlePool * startCollisionSE(u32, u32)
Definition Z2Creature.cpp:646
u8 mEnemyID
Definition Z2Creature.h:171
virtual Z2SoundHandlePool * startCreatureExtraSoundLevel(JAISoundID, u32, s8)
Definition Z2Creature.cpp:640
virtual void framework(u32, s8)
Definition Z2Creature.cpp:410
virtual Z2SoundHandlePool * startCreatureSoundLevel(JAISoundID, u32, s8)
Definition Z2Creature.cpp:473
Definition Z2Creature.h:208
void deleteObject()
Definition Z2Creature.cpp:795
Z2SoundObjSimple field_0x104
Definition Z2Creature.h:220
Z2SoundHandlePool * startChainSoundLevel(JAISoundID, u8, f32, u32, s8)
Definition Z2Creature.cpp:852
Z2SoundHandlePool * startChainSound(JAISoundID, u8, f32, u32, s8)
Definition Z2Creature.cpp:834
Z2SoundObjSimple field_0xa4
Definition Z2Creature.h:217
Z2SoundObjSimple field_0xe4
Definition Z2Creature.h:219
void framework(u32, s8)
Definition Z2Creature.cpp:824
Z2SoundObjSimple field_0xc4
Definition Z2Creature.h:218
Z2CreatureFM()
Definition Z2Creature.cpp:790
Definition Z2Creature.h:223
Z2SoundHandlePool * startCreatureVoiceLevel(JAISoundID, s8)
Definition Z2Creature.cpp:907
Definition Z2Creature.h:229
void framework(u32, s8)
Definition Z2Creature.cpp:979
Z2SoundHandlePool * startTentacleSound(JAISoundID, u8, u32, s8)
Definition Z2Creature.cpp:1044
Z2SoundHandlePool * startCreatureSoundLevel(JAISoundID, u32, s8)
Definition Z2Creature.cpp:996
Z2SoundObjSimple mTentacleSounds[8]
Definition Z2Creature.h:243
Z2SoundObjSimple field_0xc4
Definition Z2Creature.h:241
void deleteObject()
Definition Z2Creature.cpp:922
Z2SoundObjSimple field_0xa4
Definition Z2Creature.h:240
Z2CreatureOI()
Definition Z2Creature.cpp:917
Z2SoundHandlePool * startTentacleSoundLevel(JAISoundID, u8, f32, u32, s8)
Definition Z2Creature.cpp:1051
Z2SoundObjSimple field_0xe4
Definition Z2Creature.h:242
Definition Z2Creature.h:140
virtual void deleteObject()
Definition Z2LinkMgr.cpp:455
bool mLinkRiding
Definition Z2Creature.h:151
~Z2CreatureRide()
Definition Z2LinkMgr.cpp:450
void setLinkRiding(bool)
Definition Z2LinkMgr.cpp:466
Z2CreatureRide()
Definition Z2LinkMgr.cpp:438
Definition Z2Creature.h:194
Z2CreatureSumomo()
Definition Z2Creature.cpp:713
void deleteObject()
Definition Z2Creature.cpp:730
void playSumomoBgm(u32)
Definition Z2Creature.cpp:718
Definition Z2SoundHandles.h:10
Definition Z2SoundObject.h:44
Definition Z2SoundObject.h:9
Definition Z2Creature.h:201
void playBeeGroupSound(JAISoundID, u8)
Definition Z2Creature.cpp:750
Z2SoundObjBeeGroup()
Definition Z2Creature.cpp:738
Definition Z2SoundObject.h:34
static initFunc init[]
Definition d_menu_collect.cpp:42
static s32 status
Definition fstload.c:6
Definition d_a_obj_sekizoa.cpp:447
Definition JGeometry.h:55
Definition d_a_hozelda.cpp:18
Definition d_a_npc_fguard.cpp:159
s8 mCitizenID
Definition Z2Creature.h:188
void playVoice(int)
Definition Z2Creature.cpp:337
void setMdlType(s8, bool, bool)
Definition Z2Creature.cpp:317
virtual void deleteObject()
Definition Z2Creature.cpp:309
s8 field_0xa1
Definition Z2Creature.h:189
bool mLinkSearch
Definition Z2Creature.h:190
u8 field_0xa3
Definition Z2Creature.h:191
virtual Z2SoundHandlePool * startCreatureVoice(JAISoundID, s8)
Definition Z2Creature.cpp:357
Definition d_a_hozelda.cpp:163
Vec * getCurrentPos() const
Definition Z2Creature.h:30
void initAnime(void *, bool, f32, f32)
Definition Z2Creature.cpp:154
virtual void deleteObject()
Definition Z2Creature.cpp:118
void updateAnime(f32, f32)
Definition Z2Creature.cpp:166
virtual void setSoundStarter(Z2SoundStarter *)
Definition Z2Creature.cpp:147
void init(Vec *, Vec *, u8, u8)
Z2SoundObjSimple mSoundObjSimple2
Definition Z2Creature.h:35
virtual void framework(u32, s8)
Definition Z2Creature.cpp:159
Vec * mpPos
Definition Z2Creature.h:32
void stopAnime()
Definition Z2Creature.cpp:171
virtual Z2SoundHandlePool * startCreatureVoice(JAISoundID, s8)
Definition Z2Creature.cpp:229
virtual Z2SoundHandlePool * startCreatureVoiceLevel(JAISoundID, s8)
Definition Z2Creature.cpp:262
Z2SoundObjAnime mSoundObjAnime
Definition Z2Creature.h:33
Z2SoundObjSimple mSoundObjSimple1
Definition Z2Creature.h:34
virtual Z2SoundHandlePool * startCreatureExtraSoundLevel(JAISoundID, u32, s8)
Definition Z2Creature.cpp:279
virtual Z2SoundHandlePool * startCreatureExtraSound(JAISoundID, u32, s8)
Definition Z2Creature.cpp:273
virtual Z2SoundHandlePool * startCreatureSound(JAISoundID, u32, s8)
Definition Z2Creature.cpp:177
virtual Z2SoundHandlePool * startCollisionSE(u32, u32)
Definition Z2Creature.cpp:284
virtual Z2SoundHandlePool * startCreatureSoundLevel(JAISoundID, u32, s8)
Definition Z2Creature.cpp:200
Definition Z2Creature.h:38
virtual bool startSound(JAISoundID, JAISoundHandle *, JGeometry::TVec3< f32 > const *, u32, f32, f32, f32, f32, f32, u32)
Definition Z2LinkMgr.cpp:430
Z2LinkSoundStarter()
Definition Z2LinkMgr.cpp:422
virtual ~Z2LinkSoundStarter()
Definition Z2LinkMgr.cpp:98
Definition Z2Creature.h:129
virtual bool startSound(JAISoundID, JAISoundHandle *, JGeometry::TVec3< f32 > const *, u32, f32, f32, f32, f32, f32, u32)
Definition Z2LinkMgr.cpp:478
virtual ~Z2RideSoundStarter()
Definition Z2LinkMgr.cpp:445
Z2CreatureRide * mRide
Definition Z2Creature.h:137
Definition Z2SoundStarter.h:6
Definition d_a_hozelda.cpp:20
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8