Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_midna.h
Go to the documentation of this file.
1#ifndef D_A_MIDNA_H
2#define D_A_MIDNA_H
3
7#include "f_op/f_op_actor.h"
8#include "d/d_bg_s_lin_chk.h"
9#include "d/d_com_inf_game.h"
10#include "d/d_msg_flow.h"
11#include "d/actor/d_a_player.h"
12
13class daKago_c;
14
16public:
17 /* 0x00 */ u8 forced_display;
18 /* 0x01 */ u8 hio_priority;
19 /* 0x02 */ s16 hair_color_1r;
20 /* 0x04 */ s16 hair_color_1g;
21 /* 0x06 */ s16 hair_color_1b;
22 /* 0x08 */ s16 hair_k_color_1r;
23 /* 0x0A */ s16 hair_k_color_1g;
24 /* 0x0C */ s16 hair_k_color_1b;
25 /* 0x0E */ s16 hair_k_color_2r;
26 /* 0x10 */ s16 hair_k_color_2g;
27 /* 0x12 */ s16 hair_k_color_2b;
28 /* 0x14 */ f32 scale;
29 /* 0x18 */ f32 y_pos;
30 /* 0x1C */ f32 z_pos;
31};
32
34public:
35 static daMidna_hio_c1 const m;
36};
37
39
40#if DEBUG
42public:
45 virtual ~daMidna_hio_c() {}
46
47 /* 0x4 */ s8 id;
48 /* 0x8 */ daMidna_hio_c1 m;
49};
50#define NPC_MIDNA_HIO_CLASS daMidna_hio_c
51#else
52#define NPC_MIDNA_HIO_CLASS daMidna_hio_c0
53#endif
54
56public:
59
60 void setScale(cXyz* i_scale) { mpScale = i_scale; }
61
62 /* 0x4 */ cXyz* mpScale;
63};
64
66public:
67 void init();
68 void calc(J3DMaterial*) const;
70
72
75 void setNowOffsetX(f32 offsetX) { mNowOffsetX = offsetX; }
76 void setNowOffsetY(f32 offsetY) { mNowOffsetY = offsetY; }
77
78 static bool getEyeMoveFlg() { return sEyeMoveFlg; }
79 static void offEyeMoveFlg() { sEyeMoveFlg = false; }
80 static void onEyeMoveFlg() { sEyeMoveFlg = true; }
81 static void setMorfFrame(u8 frame) { sMorfFrame = frame; }
83 static u8 getMorfFrame() { return sMorfFrame; }
84
85 /* 0x0F4 */ f32 mOldTransX;
86 /* 0x0F8 */ f32 mOldTransY;
87 /* 0x0FC */ f32 mNowOffsetX;
88 /* 0x100 */ f32 mNowOffsetY;
89
90 static bool sEyeMoveFlg;
91 static u8 sMorfFrame;
92};
93
95
97 /* 0x0 */ u16 mResID;
98 /* 0x2 */ u16 mTexID;
99 /* 0x4 */ f32 mSoundFrame;
100 /* 0x8 */ u32 mSoundID;
101};
102
104 /* 0x0 */ u16 mBtpID;
105 /* 0x2 */ u16 mBtkID;
106};
107
108class daMidna_c;
109typedef int (daMidna_c::*daMidna_func)();
110
120class daMidna_c : public fopAc_ac_c {
121public:
132
168
184
186 /* 0x00 */ ANM_WAITA,
187 /* 0x01 */ ANM_CLING,
188 /* 0x02 */ ANM_CLINGB,
189 /* 0x03 */ ANM_WAITB,
190 /* 0x04 */ ANM_PANIC,
191 /* 0x05 */ ANM_TALKA,
192 /* 0x06 */ ANM_LEADST,
193 /* 0x07 */ ANM_LEADED,
194 /* 0x08 */ ANM_LEADWAIT,
195 /* 0x09 */ ANM_LEADTOWAITA,
196 /* 0x0A */ ANM_LEADSWAIT,
197 /* 0x0B */ ANM_CLINGST,
198 /* 0x0C */ ANM_SWAITB,
199 /* 0x0D */ ANM_SWAITC,
200 /* 0x0E */ ANM_WLDIEA,
201 /* 0x0F */ ANM_WLSWIMDIE,
202 /* 0x10 */ ANM_S_APPEAR,
203 /* 0x11 */ ANM_S_APPEARBL,
204 /* 0x12 */ ANM_S_RETURN,
205 /* 0x13 */ ANM_S_HOLE,
206 /* 0x14 */ ANM_WARPIN,
207 /* 0x15 */ ANM_WAITTP,
208 /* 0x16 */ ANM_ENTRANCE,
209 /* 0x17 */ ANM_SWAITD,
210 /* 0x18 */ ANM_HIT,
211 /* 0x19 */ ANM_LOOKABOUT,
212 /* 0x1A */ ANM_SWAITA,
213 /* 0x1B */ ANM_S_MOVE,
214 /* 0x1C */ ANM_RETURN,
215 /* 0x1D */ ANM_WAITD,
216 /* 0x1E */ ANM_CLINGD,
217 /* 0x1F */ ANM_ROPEWAIT,
218 /* 0x20 */ ANM_ROPEFALTER,
219 /* 0x21 */ ANM_DIGIN,
220 /* 0x22 */ ANM_DOOROPC,
221 /* 0x23 */ ANM_DOOROPD,
222 /* 0x24 */ ANM_GRAB,
223 /* 0x25 */ ANM_GRABED,
224 /* 0x26 */ ANM_MGNCATCHST,
225 /* 0x27 */ ANM_MGNCATCHED,
226 /* 0x28 */ ANM_MGNTHROWLST,
227 /* 0x29 */ ANM_MGNTHROWLED,
228 /* 0x2A */ ANM_MGNTHROWRST,
229 /* 0x2B */ ANM_MGNTHROWRED,
230 /* 0x2C */ ANM_FTALKA,
231 /* 0x2D */ ANM_FTALKB,
232 /* 0x2E */ ANM_FTALKC,
233 /* 0x2F */ ANM_FTALKC2,
234 /* 0x30 */ ANM_HAIR,
235 /* 0x31 */ ANM_S_TAKES,
236 /* 0x32 */ ANM_S_WAITS,
237 /* 0x33 */ ANM_S_PACKAWAY,
238 /* 0x34 */ ANM_GRABST,
239 /* 0x35 */ ANM_MAX,
240 /* 0x00 */ ANM_NONE = 0,
241 };
242
244 void onRatBody(int) { onForcePanic(); }
248
249 int modelCallBack(int);
250 int changeUpperBck();
251 int changeFaceBck();
252 int baseModelCallBack(int);
254 int initDemoModel(J3DModel**, char const*, u32);
255 int createHeap();
257 void allAnimePlay();
258 void setMatrix();
259 void setBodyPartMatrix();
260 void setRoomInfo();
261 void setBodyPartPos();
263 void checkMidnaPosState();
267 void endHighModel();
269 void setFaceBtp(u16, int);
270 void setFaceBtk(u16, int);
271 void setLeftHandShape(u16);
273 BOOL checkHairOnlyAnime(int) const;
274 void setBckAnime(J3DAnmTransform*, int, f32);
275 void setAnm();
276 s16 getNeckAimAngle(cXyz const*, s16*, s16*, s16*, s16*);
277 void clearEyeMove();
278 void setEyeMove(cXyz const*, s16, s16);
279 void setNeckAngle();
280 void initHairAngle();
281 void setHairAngle();
282 void setDemoData();
285 void initMidnaModel();
286 void setMidnaNoDrawFlg();
289 void setSound();
290 int execute();
291 int draw();
292 ~daMidna_c();
293
294 daMidna_c() : mBtpHeap(0x400), mBtkHeap(0x400) {}
295
297 void onStateFlg0(daMidna_FLG0 i_flag) { mStateFlg0 |= i_flag; }
298 void offStateFlg0(daMidna_FLG0 i_flag) { mStateFlg0 &= ~i_flag; }
299 void onStateFlg1(daMidna_FLG1 i_flag) { mStateFlg1 |= i_flag; }
300 void offStateFlg1(daMidna_FLG1 i_flag) { mStateFlg1 &= ~i_flag; }
304 void setFaceNum(int num) { mFaceNum = num; }
305 void setMotionNum(int num) { mMotionNum = num; }
306 bool checkDemoTypeNone() const { return mDemoType == 0; }
316 int checkMetamorphoseEnable() { return (this->*mpFunc)(); }
318
319 void setForceNeckAimPos(const cXyz& i_pos) {
321 mForceNeckAimPos = i_pos;
322 }
323
324 void onTagWaitPosWarp(const cXyz* param_0) {
325 mTagWaitPos = *param_0;
328 }
329
330 void onTagWaitPosPortalObj(const cXyz& i_pos) {
331 mTagWaitPos = i_pos;
333 }
334
335 void onTagWaitPos(const cXyz* param_0) {
336 mTagWaitPos = *param_0;
338 }
339
343
346
348
349 bool checkSetAnime(int param_0, daMidna_ANM i_anm) const {
350 return mBckHeap[param_0].getIdx() == m_anmDataTable[i_anm].mResID;
351 }
352
353 bool checkReturnAnime() const {
354 return mBckHeap[0].getIdx() == 0x1CA;
355 }
356
358 return field_0x84e == 3 || field_0x84e == 4 || field_0x84e == 2;
359 }
360
364
365 bool checkShadowReturnEnd() const {
366 return mBckHeap[0].getIdx() == 0x21C && mpMorf->isStop();
367 }
368
370 return (field_0x84e == 2 || field_0x84e == 1) ;
371 }
372
374
378
382
386
387 BOOL checkDemoPortalWarpWait() const { return mDemoMode == 11; }
388
390 return dKy_darkworld_check() == true || dComIfGs_isTransformLV(3);
391 }
392
393 static bool checkMidnaTired() {
394 /* dSv_event_flag_c::F_0250 - Cutscene - [cutscene: 21] reunion with Zelda / Midna revived (Hyrule Castle barrier appears) */
395 return dComIfGs_isTransformLV(3) && !dComIfGs_isEventBit(0x1E08);
396 }
397
398 void resetRatBody() {}
399
400 bool checkFlyWaitAnime() const {
401 // fakematch (doesn't match in debug)
402 return (u16)mBckHeap[0].getIdx() == 0x1CB || ((u16)mBckHeap[0].getIdx() == 0x1C7
403 || (u16)mBckHeap[0].getIdx() == 0x1C8 || (u16)mBckHeap[0].getIdx() == 0x1C9);
404 }
405
407
408 void setCargoActor(fopAc_ac_c* i_actor) {
409 mpKago = (daKago_c*)i_actor;
410 }
411
413 mpKago = NULL;
414 }
415
420
421 static u32 getOtherHeapSize() { return 0x1D0; }
422
423 static daMidna_texData_s const m_texDataTable[21];
424 static daMidna_anmData_s const m_anmDataTable[53];
425
426private:
428 /* 0x570 */ J3DModel* mpModel;
440 /* 0x5E4 */ daPy_anmHeap_c mBckHeap[3];
453 /* 0x670 */ J3DModel* mpMaskBmd;
455 /* 0x678 */ J3DModel* mpHandsBmd;
463 /* 0x698 */ J3DModel* mpGokouBmd;
485 /* 0x6F8 */ NPC_MIDNA_HIO_CLASS* mpHIO;
486 /* 0x6FC */ Z2Creature mSound;
487 /* 0x78C */ dMsgFlow_c mMsgFlow;
489 /* 0x848 */ u8 mMotionNum;
490 /* 0x849 */ u8 mFaceNum;
491 /* 0x84A */ u8 mFrameCounter;
492 /* 0x84B */ u8 mFaceBckTimer;
493 /* 0x84C */ u8 mEyeMoveTimer;
494 /* 0x84D */ s8 mReverb;
495 /* 0x84E */ u8 field_0x84e;
496 /* 0x84F */ u8 mDemoType;
497 /* 0x850 */ u8 field_0x850;
498 /* 0x851 */ u8 field_0x851;
499 /* 0x852 */ u8 field_0x852[0x85a - 0x852];
501 /* 0x85C */ s16 mHairAngleZ[5];
502 /* 0x866 */ s16 mHairAngleY[5];
503 /* 0x870 */ u8 field_0x870[0x872 - 0x870];
504 /* 0x872 */ s16 field_0x872;
505 /* 0x874 */ s16 mBackboneAngleZ;
506 /* 0x876 */ s16 mPlayerAngleY;
509 /* 0x87C */ s16 mDemoAngle;
510 /* 0x87E */ s16 mJntNo;
511 /* 0x880 */ csXyz mNeckAngle;
512 /* 0x886 */ u8 field_0x886[0x88c - 0x886];
513 /* 0x88C */ int mStaffID;
514 /* 0x890 */ u32 mStateFlg0;
515 /* 0x894 */ u32 mStateFlg1;
517 /* 0x89C */ u32 mShadowKey;
518 /* 0x8A0 */ u32 mParticleKey1;
519 /* 0x8A4 */ u32 mParticleKey2;
520 /* 0x8A8 */ u32 mThroughEffectKey[6];
521 /* 0x8C0 */ u32 mDemoMode;
522 /* 0x8C4 */ u32 mSoundID;
523 /* 0x8C8 */ f32 mVoiceFrame;
524 /* 0x8CC */ f32 mEyeMoveX;
525 /* 0x8D0 */ f32 mEyeMoveY;
526 /* 0x8D4 */ f32 field_0x8d4;
527 /* 0x8D8 */ f32 mDemoSpeed;
528 /* 0x8DC */ f32 field_0x8dc;
529 /* 0x8E0 */ cXyz mHairPos[5];
530 /* 0x91C */ cXyz mHairDir[5];
531 /* 0x958 */ cXyz mHeadCenterPos;
532 /* 0x964 */ cXyz mHairScale[5];
533 /* 0x9A0 */ cXyz field_0x9a0;
534 /* 0x9AC */ cXyz mTagWaitPos;
535 /* 0x9B8 */ cXyz mDemoPos;
537 /* 0x9D0 */ daKago_c* mpKago;
538 /* 0x9D4 */ daMidna_func mpFunc;
539};
540
541STATIC_ASSERT(sizeof(daMidna_c) == 0x9E0);
542
543#endif /* D_A_MIDNA_H */
static BOOL flag
Definition DEMOAVX.c:20
u32 mode
Definition GXTev.c:56
T cLib_calcTimer(T *value)
Definition c_lib.h:93
cPhs__Step
Definition c_phase.h:8
Definition J3DAnimation.h:852
Definition J3DAnimation.h:672
Definition J3DAnimation.h:642
Definition J3DAnimation.h:578
Definition J3DAnimation.h:504
Definition J3DCluster.h:74
Definition J3DMaterialAnm.h:190
Definition J3DMaterial.h:16
Definition J3DModelData.h:17
Definition J3DModel.h:43
MtxP getAnmMtx(int jointNo)
Definition J3DModel.h:105
Definition J3DShape.h:118
Definition JORMContext.h:120
Definition JORReflexible.h:43
Definition Z2Creature.h:7
Definition c_sxyz.h:10
Definition d_bg_s_lin_chk.h:20
Definition d_msg_flow.h:49
Player-controlled Kargarok.
Definition d_a_kago.h:19
Definition d_a_midna.h:55
int execute(u16, J3DTransformInfo *)
Definition d_a_midna.cpp:164
void setScale(cXyz *i_scale)
Definition d_a_midna.h:60
cXyz * mpScale
Definition d_a_midna.h:62
virtual ~daMidna_McaMorfCB1_c()
Definition d_a_midna.h:58
Midna.
Definition d_a_midna.h:120
void setShadowReturn()
Definition d_a_midna.h:373
void offTagWaitPos()
Definition d_a_midna.h:340
s16 mHairAngleZ[5]
Definition d_a_midna.h:501
u8 mFrameCounter
Definition d_a_midna.h:491
cXyz mHairScale[5]
Definition d_a_midna.h:532
J3DModel * mpDemoHLTmpBmd
Definition d_a_midna.h:475
static bool checkMidnaTired()
Definition d_a_midna.h:393
BOOL checkNpcFar() const
Definition d_a_midna.h:312
void onForceMorfCancel()
Definition d_a_midna.h:406
void setDemoData()
Definition d_a_midna.cpp:2776
u16 mRightHandShapeIdx
Definition d_a_midna.h:508
J3DAnmTextureSRTKey * setSimpleBtk(J3DModelData *, u16)
Definition d_a_midna.cpp:2912
cXyz mTagWaitPos
Definition d_a_midna.h:534
u8 mDemoType
Definition d_a_midna.h:496
s16 field_0x872
Definition d_a_midna.h:504
s16 mBackboneAngleZ
Definition d_a_midna.h:505
int createHeap()
Definition d_a_midna.cpp:363
J3DAnmTextureSRTKey * mpMoyaBtk
Definition d_a_midna.h:443
J3DModel * mpShadowHairhandBmd
Definition d_a_midna.h:458
void setBckAnime(J3DAnmTransform *, int, f32)
Definition d_a_midna.cpp:1826
u8 mFaceBckTimer
Definition d_a_midna.h:492
u32 mEndResetStateFlg0
Definition d_a_midna.h:516
bool checkShadowModelDraw() const
Definition d_a_midna.h:361
f32 field_0x8dc
Definition d_a_midna.h:528
void setSound()
Definition d_a_midna.cpp:3067
J3DAnmTevRegKey * mpGokouAppearBrk
Definition d_a_midna.h:450
J3DAnmTevRegKey * field_0x668
Definition d_a_midna.h:451
mDoExt_invisibleModel mMaskInvModel
Definition d_a_midna.h:437
u32 checkStateFlg0(daMidna_FLG0 flag) const
Definition d_a_midna.h:302
cXyz mDemoPos
Definition d_a_midna.h:535
void onTagWaitPosPortalObj(const cXyz *i_pos)
Definition d_a_midna.h:416
void setMotionNum(int num)
Definition d_a_midna.h:305
s8 mReverb
Definition d_a_midna.h:494
J3DAnmTevRegKey * mpAppearBrk
Definition d_a_midna.h:447
mDoExt_bckAnm mUpperBck
Definition d_a_midna.h:432
J3DModel * mpDemoBDHairhandBmd
Definition d_a_midna.h:462
int draw()
Definition d_a_midna.cpp:3351
Z2Creature mSound
Definition d_a_midna.h:486
bool checkFlyWaitAnime() const
Definition d_a_midna.h:400
void setLeftHandShape(u16)
Definition d_a_midna.cpp:1772
BOOL checkNoInput() const
Definition d_a_midna.h:314
u32 mThroughEffectKey[6]
Definition d_a_midna.h:520
mDoExt_invisibleModel mHairhandInvModel
Definition d_a_midna.h:439
void onRatBody(int)
Definition d_a_midna.h:244
void setEyeMove(cXyz const *, s16, s16)
Definition d_a_midna.cpp:2446
void onStateFlg0(daMidna_FLG0 i_flag)
Definition d_a_midna.h:297
static daMidna_texData_s const m_texDataTable[21]
Definition d_a_midna.h:177
void onSideWarp()
Definition d_a_midna.h:345
J3DAnmTevRegKey * setSimpleBrk(J3DModelData *, u16)
Definition d_a_midna.cpp:2900
J3DModel * mpHairhandBmd
Definition d_a_midna.h:457
J3DShape * mpLeftHandShape
Definition d_a_midna.h:464
J3DAnmTextureSRTKey * mpMaskMoyaBtk
Definition d_a_midna.h:444
mDoExt_bckAnm * mpDemoHDTmpBck
Definition d_a_midna.h:480
J3DModel * mpHandsBmd
Definition d_a_midna.h:455
int baseModelCallBack(int)
Definition d_a_midna.cpp:310
cXyz mForceNeckAimPos
Definition d_a_midna.h:536
mDoExt_bckAnm * mpDemoHLTmpBck
Definition d_a_midna.h:476
void clearEyeMove()
Definition d_a_midna.cpp:2434
s16 mJntNo
Definition d_a_midna.h:510
daMidna_c()
Definition d_a_midna.h:294
u32 checkShadowModelDrawDemoForce() const
Definition d_a_midna.h:317
J3DModel * mpDemoHDTmpBmd
Definition d_a_midna.h:479
bool checkShadowModeTalkWait() const
Definition d_a_midna.h:369
s16 mDemoAngle
Definition d_a_midna.h:509
J3DAnmTextureSRTKey * mpHairhandMoyaBtk
Definition d_a_midna.h:446
MtxP getMtxHairTop()
Definition d_a_midna.h:347
u32 checkForceTiredColor() const
Definition d_a_midna.h:246
cXyz mHairPos[5]
Definition d_a_midna.h:529
mDoExt_invisibleModel mInvModel
Definition d_a_midna.h:436
u32 checkNoDraw() const
Definition d_a_midna.h:313
u32 mDemoMode
Definition d_a_midna.h:521
J3DGXColorS10 field_0x6e0
Definition d_a_midna.h:481
daMidna_ANM
Definition d_a_midna.h:185
@ ANM_DIGIN
Definition d_a_midna.h:219
@ ANM_FTALKC2
Definition d_a_midna.h:233
@ ANM_SWAITC
Definition d_a_midna.h:199
@ ANM_LEADTOWAITA
Definition d_a_midna.h:195
@ ANM_MGNTHROWRED
Definition d_a_midna.h:229
@ ANM_SWAITD
Definition d_a_midna.h:209
@ ANM_S_MOVE
Definition d_a_midna.h:213
@ ANM_LEADST
Definition d_a_midna.h:192
@ ANM_PANIC
Definition d_a_midna.h:190
@ ANM_GRAB
Definition d_a_midna.h:222
@ ANM_HIT
Definition d_a_midna.h:210
@ ANM_FTALKC
Definition d_a_midna.h:232
@ ANM_HAIR
Definition d_a_midna.h:234
@ ANM_RETURN
Definition d_a_midna.h:214
@ ANM_WAITB
Definition d_a_midna.h:189
@ ANM_MGNTHROWRST
Definition d_a_midna.h:228
@ ANM_MGNTHROWLST
Definition d_a_midna.h:226
@ ANM_WAITA
Definition d_a_midna.h:186
@ ANM_ROPEFALTER
Definition d_a_midna.h:218
@ ANM_SWAITA
Definition d_a_midna.h:212
@ ANM_S_RETURN
Definition d_a_midna.h:204
@ ANM_WLSWIMDIE
Definition d_a_midna.h:201
@ ANM_LOOKABOUT
Definition d_a_midna.h:211
@ ANM_FTALKA
Definition d_a_midna.h:230
@ ANM_CLINGST
Definition d_a_midna.h:197
@ ANM_MGNTHROWLED
Definition d_a_midna.h:227
@ ANM_S_APPEARBL
Definition d_a_midna.h:203
@ ANM_S_WAITS
Definition d_a_midna.h:236
@ ANM_NONE
Definition d_a_midna.h:240
@ ANM_ENTRANCE
Definition d_a_midna.h:208
@ ANM_LEADSWAIT
Definition d_a_midna.h:196
@ ANM_GRABED
Definition d_a_midna.h:223
@ ANM_CLING
Definition d_a_midna.h:187
@ ANM_WAITD
Definition d_a_midna.h:215
@ ANM_S_APPEAR
Definition d_a_midna.h:202
@ ANM_LEADED
Definition d_a_midna.h:193
@ ANM_TALKA
Definition d_a_midna.h:191
@ ANM_DOOROPC
Definition d_a_midna.h:220
@ ANM_CLINGD
Definition d_a_midna.h:216
@ ANM_WARPIN
Definition d_a_midna.h:206
@ ANM_FTALKB
Definition d_a_midna.h:231
@ ANM_DOOROPD
Definition d_a_midna.h:221
@ ANM_ROPEWAIT
Definition d_a_midna.h:217
@ ANM_LEADWAIT
Definition d_a_midna.h:194
@ ANM_S_PACKAWAY
Definition d_a_midna.h:237
@ ANM_WLDIEA
Definition d_a_midna.h:200
@ ANM_S_HOLE
Definition d_a_midna.h:205
@ ANM_GRABST
Definition d_a_midna.h:238
@ ANM_MGNCATCHED
Definition d_a_midna.h:225
@ ANM_WAITTP
Definition d_a_midna.h:207
@ ANM_CLINGB
Definition d_a_midna.h:188
@ ANM_MGNCATCHST
Definition d_a_midna.h:224
@ ANM_SWAITB
Definition d_a_midna.h:198
@ ANM_MAX
Definition d_a_midna.h:239
@ ANM_S_TAKES
Definition d_a_midna.h:235
f32 mDemoSpeed
Definition d_a_midna.h:527
J3DModel * mpShadowModel
Definition d_a_midna.h:429
s16 mPrevShapeAngleY
Definition d_a_midna.h:500
static daMidna_anmData_s const m_anmDataTable[53]
Definition d_a_midna.h:201
J3DModel * mpDemoFCTongueBmd
Definition d_a_midna.h:469
u16 mLeftHandShapeIdx
Definition d_a_midna.h:507
u32 checkEndResetStateFlg0(daMidna_ERFLG0 flag) const
Definition d_a_midna.h:301
BOOL checkNoMaskDraw() const
Definition d_a_midna.h:383
void setFaceBtp(u16, int)
Definition d_a_midna.cpp:1736
mDoExt_invisibleModel mHandsInvModel
Definition d_a_midna.h:438
J3DAnmTexPattern * mpFaceBtp
Definition d_a_midna.h:434
u32 mParticleKey2
Definition d_a_midna.h:519
int initInvModel(u16, J3DModel **, mDoExt_invisibleModel *, u32)
Definition d_a_midna.cpp:335
void offStateFlg0(daMidna_FLG0 i_flag)
Definition d_a_midna.h:298
u8 mMotionNum
Definition d_a_midna.h:489
daMidna_func mpFunc
Definition d_a_midna.h:538
J3DModel * mpDemoHRTmpBmd
Definition d_a_midna.h:477
J3DModel * mpDemoBDMaskBmd
Definition d_a_midna.h:460
void setBodyPartPos()
Definition d_a_midna.cpp:1126
int mStaffID
Definition d_a_midna.h:513
daMidna_FLG1
Definition d_a_midna.h:169
@ FLG1_NO_MASK_DRAW
Definition d_a_midna.h:175
@ FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE
Definition d_a_midna.h:181
@ FLG1_SHADOW_NO_DRAW
Definition d_a_midna.h:170
@ FLG1_UNK_1
Definition d_a_midna.h:182
@ FLG1_UNK_10
Definition d_a_midna.h:178
@ FLG1_FORCE_NORMAL_COL
Definition d_a_midna.h:179
@ FLG1_UNK_40
Definition d_a_midna.h:176
@ FLG1_FORCE_TIRED_COL
Definition d_a_midna.h:180
@ FLG1_UNK_200
Definition d_a_midna.h:173
@ FLG1_UNK_400
Definition d_a_midna.h:172
@ FLG1_SIDE_WARP
Definition d_a_midna.h:174
@ FLG1_UNK_20
Definition d_a_midna.h:177
@ FLG1_UNK_800
Definition d_a_midna.h:171
J3DModel * mpShadowMaskBmd
Definition d_a_midna.h:454
s16 mHairAngleY[5]
Definition d_a_midna.h:502
int changeFaceBck()
Definition d_a_midna.cpp:300
u32 mShadowKey
Definition d_a_midna.h:517
void setRightHandShape(u16)
Definition d_a_midna.cpp:1797
daPy_anmHeap_c mBckHeap[3]
Definition d_a_midna.h:440
int modelCallBack(int)
Definition d_a_midna.cpp:257
J3DGXColor field_0x6ec
Definition d_a_midna.h:483
void setRoomInfo()
Definition d_a_midna.cpp:1113
BOOL checkAppear()
Definition d_a_midna.cpp:1155
BOOL checkNpcNear() const
Definition d_a_midna.h:311
void onEndResetStateFlg0(daMidna_ERFLG0 pFlg)
Definition d_a_midna.h:296
int checkMetamorphoseEnableBase()
Definition d_a_midna.cpp:3049
u8 field_0x852[0x85a - 0x852]
Definition d_a_midna.h:499
daPy_anmHeap_c mBtpHeap
Definition d_a_midna.h:441
void checkMidnaPosState()
Definition d_a_midna.cpp:1169
static u32 getOtherHeapSize()
Definition d_a_midna.h:421
bool checkSetAnime(int param_0, daMidna_ANM i_anm) const
Definition d_a_midna.h:349
daMidna_McaMorfCB1_c mMorfCB
Definition d_a_midna.h:431
daKago_c * mpKago
Definition d_a_midna.h:537
BOOL checkDemoPortalWarpWait() const
Definition d_a_midna.h:387
u32 mSoundID
Definition d_a_midna.h:522
void endHighModel()
Definition d_a_midna.cpp:1471
J3DAnmTextureSRTKey * mpHandsMoyaBtk
Definition d_a_midna.h:445
u8 mFaceNum
Definition d_a_midna.h:490
void changeDemoMode(u32 mode)
Definition d_a_midna.h:308
void onTagNoHairLead()
Definition d_a_midna.h:344
cXyz mHeadCenterPos
Definition d_a_midna.h:531
int initDemoModel(J3DModel **, char const *, u32)
Definition d_a_midna.cpp:350
f32 mVoiceFrame
Definition d_a_midna.h:523
void resetRatBody()
Definition d_a_midna.h:398
void onNoServiceWait()
Definition d_a_midna.h:247
BOOL setDemoAnm()
Definition d_a_midna.cpp:1489
BOOL setFaceAnime(u16, u16)
Definition d_a_midna.cpp:1452
request_of_phase_process_class mPhase
Definition d_a_midna.h:427
J3DShape * mpShadowRightHandShape
Definition d_a_midna.h:467
mDoExt_bckAnm * mpDemoHRTmpBck
Definition d_a_midna.h:478
void setFaceBtk(u16, int)
Definition d_a_midna.cpp:1754
void setMidnaNoDrawFlg()
Definition d_a_midna.cpp:3024
void allAnimePlay()
Definition d_a_midna.cpp:674
u32 checkStateFlg1(daMidna_FLG1 flag) const
Definition d_a_midna.h:303
J3DModel * mpDemoFCBlendBmd
Definition d_a_midna.h:468
mDoExt_bckAnm * mpDemoFCTmpBck
Definition d_a_midna.h:471
void setNeckAngle()
Definition d_a_midna.cpp:2541
J3DModel * mpDemoBDHandsBmd
Definition d_a_midna.h:461
BOOL checkNoDrawState()
Definition d_a_midna.cpp:3062
J3DAnmTextureSRTKey * mpFaceBtk
Definition d_a_midna.h:435
J3DModel * mpShadowHandsBmd
Definition d_a_midna.h:456
J3DAnmTevRegKey * mpHairhandAppearBrk
Definition d_a_midna.h:449
BOOL checkPortalObjCall()
Definition d_a_midna.h:309
NPC_MIDNA_HIO_CLASS * mpHIO
Definition d_a_midna.h:485
csXyz mNeckAngle
Definition d_a_midna.h:511
J3DShape * mpRightHandShape
Definition d_a_midna.h:465
void setForceNeckAimPos(const cXyz &i_pos)
Definition d_a_midna.h:319
void onForcePanic()
Definition d_a_midna.h:243
bool checkShadowReturnEnd() const
Definition d_a_midna.h:365
void setAnm()
Definition d_a_midna.cpp:1853
u8 field_0x84e
Definition d_a_midna.h:495
void onTagWaitPosWarp(const cXyz *param_0)
Definition d_a_midna.h:324
f32 field_0x8d4
Definition d_a_midna.h:526
u8 field_0x851
Definition d_a_midna.h:498
u8 field_0x870[0x872 - 0x870]
Definition d_a_midna.h:503
int checkMetamorphoseEnable()
Definition d_a_midna.h:316
dMsgFlow_c mMsgFlow
Definition d_a_midna.h:487
BOOL checkWolfNoPos() const
Definition d_a_midna.h:315
J3DAnmTextureSRTKey * mpDemoFCTongueBtk
Definition d_a_midna.h:470
mDoExt_blkAnm * mpDemoFCTmpBlk
Definition d_a_midna.h:474
u8 field_0x850
Definition d_a_midna.h:497
BOOL checkShadowNoDraw() const
Definition d_a_midna.h:379
cXyz field_0x9a0
Definition d_a_midna.h:533
bool checkReturnAnime() const
Definition d_a_midna.h:353
u8 field_0x886[0x88c - 0x886]
Definition d_a_midna.h:512
u32 mStateFlg0
Definition d_a_midna.h:514
~daMidna_c()
Definition d_a_midna.cpp:3570
void setCargoActor(fopAc_ac_c *i_actor)
Definition d_a_midna.h:408
void changeOriginalDemo()
Definition d_a_midna.h:307
BOOL checkNoHairScale() const
Definition d_a_midna.h:310
bool checkDemoTypeNone() const
Definition d_a_midna.h:306
void onTagWaitPosPortalObj(const cXyz &i_pos)
Definition d_a_midna.h:330
int changeUpperBck()
Definition d_a_midna.cpp:293
void initMidnaModel()
Definition d_a_midna.cpp:2924
J3DModel * mpMaskBmd
Definition d_a_midna.h:453
void setHairAngle()
Definition d_a_midna.cpp:2610
J3DAnmCluster * mpDemoFCTmpCluster
Definition d_a_midna.h:473
u32 mStateFlg1
Definition d_a_midna.h:515
J3DAnmTevRegKey * mpMaskAppearBrk
Definition d_a_midna.h:448
dBgS_LinkLinChk mLinChk
Definition d_a_midna.h:488
bool checkPortalObjRide() const
Definition d_a_midna.h:375
u32 mParticleKey1
Definition d_a_midna.h:518
f32 mEyeMoveX
Definition d_a_midna.h:524
J3DAnmTevRegKey * mpDemoFCBlendBrk
Definition d_a_midna.h:452
void onStateFlg1(daMidna_FLG1 i_flag)
Definition d_a_midna.h:299
s16 mPlayerAngleY
Definition d_a_midna.h:506
J3DShape * mpShadowLeftHandShape
Definition d_a_midna.h:466
BOOL setUpperAnime(u16, u16)
Definition d_a_midna.cpp:1423
J3DDeformData * mpDemoFCTmpBls
Definition d_a_midna.h:472
int execute()
Definition d_a_midna.cpp:3142
static BOOL checkMidnaRealBody()
Definition d_a_midna.h:389
cPhs__Step create()
Definition d_a_midna.cpp:546
u32 checkForceNormalColor() const
Definition d_a_midna.h:245
bool checkShadowModelDrawSmode() const
Definition d_a_midna.h:357
void offCargoActor()
Definition d_a_midna.h:412
void setFaceNum(int num)
Definition d_a_midna.h:304
daPy_anmHeap_c mBtkHeap
Definition d_a_midna.h:442
mDoExt_bckAnm mFaceBck
Definition d_a_midna.h:433
cXyz mHairDir[5]
Definition d_a_midna.h:530
void offStateFlg1(daMidna_FLG1 i_flag)
Definition d_a_midna.h:300
daMidna_matAnm_c * mpEyeMatAnm[2]
Definition d_a_midna.h:484
void onTagWaitPos(const cXyz *param_0)
Definition d_a_midna.h:335
mDoExt_McaMorfSO * mpMorf
Definition d_a_midna.h:430
BOOL checkHairOnlyAnime(int) const
Definition d_a_midna.cpp:1822
J3DGXColor field_0x6e8
Definition d_a_midna.h:482
void initHairAngle()
Definition d_a_midna.cpp:2591
void setBodyPartMatrix()
Definition d_a_midna.cpp:920
J3DModel * mpModel
Definition d_a_midna.h:428
daMidna_ERFLG0
Definition d_a_midna.h:122
@ ERFLG0_UNK_2
Definition d_a_midna.h:129
@ ERFLG0_UNK_40
Definition d_a_midna.h:125
@ ERFLG0_NO_SERVICE_WAIT
Definition d_a_midna.h:124
@ ERFLG0_UNK_20
Definition d_a_midna.h:126
@ ERFLG0_UNK_100
Definition d_a_midna.h:123
@ ERFLG0_FORCE_PANIC
Definition d_a_midna.h:128
@ ERFLG0_FORCE_MORF_CANCEL
Definition d_a_midna.h:127
@ ERFLG0_UNK_1
Definition d_a_midna.h:130
BOOL setUpperAnimeAndSe(daMidna_ANM)
Definition d_a_midna.cpp:1441
u8 mEyeMoveTimer
Definition d_a_midna.h:493
J3DModel * mpGokouBmd
Definition d_a_midna.h:463
void setMatrix()
Definition d_a_midna.cpp:797
J3DModel * mpDemoBDTmpBmd
Definition d_a_midna.h:459
f32 mEyeMoveY
Definition d_a_midna.h:525
s16 getNeckAimAngle(cXyz const *, s16 *, s16 *, s16 *, s16 *)
Definition d_a_midna.cpp:2402
daMidna_FLG0
Definition d_a_midna.h:133
@ FLG0_PORTAL_OBJ_CALL
Definition d_a_midna.h:138
@ FLG0_UNK_4
Definition d_a_midna.h:163
@ FLG0_NO_INPUT
Definition d_a_midna.h:151
@ FLG0_UNK_2
Definition d_a_midna.h:164
@ FLG0_UNK_400000
Definition d_a_midna.h:143
@ FLG0_UNK_80
Definition d_a_midna.h:158
@ FLG0_NPC_FAR
Definition d_a_midna.h:147
@ FLG0_UNK_2000000
Definition d_a_midna.h:140
@ FLG0_UNK_100
Definition d_a_midna.h:157
@ FLG0_UNK_20
Definition d_a_midna.h:160
@ FLG0_UNK_200000
Definition d_a_midna.h:144
@ FLG0_UNK_8000
Definition d_a_midna.h:150
@ FLG0_UNK_80000
Definition d_a_midna.h:146
@ FLG0_WOLF_NO_POS
Definition d_a_midna.h:154
@ FLG0_NPC_NEAR
Definition d_a_midna.h:145
@ FLG0_NO_HAIR_SCALE
Definition d_a_midna.h:136
@ FLG0_UNK_4000000
Definition d_a_midna.h:139
@ FLG0_UNK_10000000
Definition d_a_midna.h:137
@ FLG0_UNK_1000
Definition d_a_midna.h:153
@ FLG0_UNK_1000000
Definition d_a_midna.h:141
@ FLG0_UNK_200
Definition d_a_midna.h:156
@ FLG0_UNK_800000
Definition d_a_midna.h:142
@ FLG0_TAG_WAIT
Definition d_a_midna.h:155
@ FLG0_UNK_10
Definition d_a_midna.h:161
@ FLG0_NO_DRAW
Definition d_a_midna.h:152
@ FLG0_FORCE_NECK_AIM
Definition d_a_midna.h:148
@ FLG0_UNK_8
Definition d_a_midna.h:162
@ FLG0_NO_HAIR_LEAD
Definition d_a_midna.h:134
@ FLG0_UNK_1
Definition d_a_midna.h:165
@ FLG0_TAG_PORTAL
Definition d_a_midna.h:166
@ FLG0_UNK_40000000
Definition d_a_midna.h:135
@ FLG0_UNK_10000
Definition d_a_midna.h:149
@ FLG0_UNK_40
Definition d_a_midna.h:159
Definition d_a_midna.h:33
static daMidna_hio_c1 const m
Definition d_a_midna.h:111
Definition d_a_midna.h:15
s16 hair_k_color_2g
Definition d_a_midna.h:26
s16 hair_k_color_1g
Definition d_a_midna.h:23
s16 hair_k_color_1b
Definition d_a_midna.h:24
s16 hair_color_1b
Definition d_a_midna.h:21
f32 scale
Definition d_a_midna.h:28
s16 hair_color_1r
Definition d_a_midna.h:19
f32 y_pos
Definition d_a_midna.h:29
f32 z_pos
Definition d_a_midna.h:30
u8 hio_priority
Definition d_a_midna.h:18
u8 forced_display
Definition d_a_midna.h:17
s16 hair_color_1g
Definition d_a_midna.h:20
s16 hair_k_color_2b
Definition d_a_midna.h:27
s16 hair_k_color_1r
Definition d_a_midna.h:22
s16 hair_k_color_2r
Definition d_a_midna.h:25
Definition d_a_midna.h:41
s8 id
Definition d_a_midna.h:47
void genMessage(JORMContext *)
Definition d_a_midna.cpp:93
daMidna_hio_c1 m
Definition d_a_midna.h:48
daMidna_hio_c()
Definition d_a_midna.cpp:541
virtual ~daMidna_hio_c()
Definition d_a_midna.h:45
Definition d_a_midna.h:65
f32 mNowOffsetY
Definition d_a_midna.h:88
static u8 sMorfFrame
Definition d_a_midna.h:91
void setNowOffsetY(f32 offsetY)
Definition d_a_midna.h:76
static void setMorfFrame(u8 frame)
Definition d_a_midna.h:81
f32 mNowOffsetX
Definition d_a_midna.h:87
static u8 getMorfFrame()
Definition d_a_midna.h:83
static bool getEyeMoveFlg()
Definition d_a_midna.h:78
f32 mOldTransX
Definition d_a_midna.h:85
void init()
Definition d_a_midna.cpp:133
static void onEyeMoveFlg()
Definition d_a_midna.h:80
static void decMorfFrame()
Definition d_a_midna.h:82
void setNowOffsetX(f32 offsetX)
Definition d_a_midna.h:75
~daMidna_matAnm_c()
Definition d_a_midna.h:69
daMidna_matAnm_c()
Definition d_a_midna.h:71
static void offEyeMoveFlg()
Definition d_a_midna.h:79
static bool sEyeMoveFlg
Definition d_a_midna.h:90
void calc(J3DMaterial *) const
Definition d_a_midna.cpp:142
f32 * getNowOffsetYP()
Definition d_a_midna.h:74
f32 mOldTransY
Definition d_a_midna.h:86
f32 * getNowOffsetXP()
Definition d_a_midna.h:73
Definition d_a_player.h:54
u16 getIdx() const
Definition d_a_player.h:75
Definition f_op_actor.h:230
Definition m_Do_ext.h:281
Definition m_Do_ext.h:331
Definition m_Do_ext.h:151
Definition m_Do_ext.h:208
Definition m_Do_ext.h:265
BOOL isStop()
Definition m_Do_ext.h:304
int(daMidna_c::* daMidna_func)()
Definition d_a_midna.h:109
STATIC_ASSERT(sizeof(daMidna_hio_c0::m)==0x20)
u8 dKy_darkworld_check()
Definition d_kankyo.cpp:11379
f32(* MtxP)[4]
Definition mtx.h:38
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
unsigned char u8
Definition types.h:8
Definition J3DMatBlock.h:14
Definition J3DMatBlock.h:45
Definition J3DTransform.h:13
Definition c_xyz.h:7
Definition d_a_midna.h:96
u16 mResID
Definition d_a_midna.h:97
u16 mTexID
Definition d_a_midna.h:98
f32 mSoundFrame
Definition d_a_midna.h:99
u32 mSoundID
Definition d_a_midna.h:100
Definition d_a_midna.h:103
u16 mBtpID
Definition d_a_midna.h:104
u16 mBtkID
Definition d_a_midna.h:105
Definition c_phase.h:17