Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
m_Do_ext.h
Go to the documentation of this file.
1#ifndef M_DO_M_DO_EXT_H
2#define M_DO_M_DO_EXT_H
3
4#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
5#include "JSystem/J3DGraphAnimator/J3DJoint.h"
6#include "JSystem/J3DGraphAnimator/J3DModel.h"
9#include "m_Do/m_Do_audio.h"
10#include "m_Do/m_Do_mtx.h"
11
12class JKRArchive;
13class JKRAssertHeap;
14class JKRExpHeap;
15class JKRHeap;
16class JKRSolidHeap;
17struct ResTIMG;
18class Z2Creature;
19
20namespace mDoExt {
22 extern u8 HeapAdjustVerbose;
23 extern u8 HeapAdjustQuiet;
24};
25
27public:
29 int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF,
30 s16 i_endF);
31 int play();
32
33 J3DFrameCtrl* getFrameCtrl() { return &mFrameCtrl; }
34 f32 getPlaySpeed() { return mFrameCtrl.getRate(); }
35 void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
36 f32 getFrame() { return mFrameCtrl.getFrame(); }
37 f32 getEndFrame() { return mFrameCtrl.getEnd(); }
38 f32 getStartFrame() { return mFrameCtrl.getStart(); }
39 void setEndFrame(f32 frame) { mFrameCtrl.setEnd(frame); }
40 void setFrame(f32 frame) { mFrameCtrl.setFrame(frame); }
41 void setPlayMode(int i_mode) { mFrameCtrl.setAttribute(i_mode); }
42 void setLoopFrame(f32 i_frame) { mFrameCtrl.setLoop(i_frame); }
43 bool isStop() { return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f; }
44 bool isLoop() { return mFrameCtrl.checkState(2); }
45 void reset() { mFrameCtrl.reset(); }
46 BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); }
47
48private:
49 /* 0x0 */ J3DFrameCtrl mFrameCtrl;
50}; // Size: 0x14
51
52class mDoExt_transAnmBas : public J3DAnmTransformKey {
53public:
54 mDoExt_transAnmBas(void* bas) { mBas = bas; }
56
57 void* getBas() { return mBas; }
58
59private:
60 /* 0x28 */ void* mBas;
61};
62
64public:
66 int init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay,
67 int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
68 void entry(J3DMaterialTable* i_matTable, f32 i_frame);
69
70 void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
71 void entry(J3DModelData* i_modelData, f32 i_frame) {
72 entry(&i_modelData->getMaterialTable(), i_frame);
73 }
74 int init(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, int i_attribute,
75 f32 i_rate, s16 i_start, s16 param_6) {
76 return init(&i_modelData->getMaterialTable(), i_btk, i_anmPlay, i_attribute, i_rate,
77 i_start, param_6);
78 }
79
80 int remove(J3DModelData* i_modelData) { return i_modelData->removeTexMtxAnimator(mpAnm); }
82 void entryFrame(f32 frame) { mpAnm->setFrame(frame); }
83
84 J3DAnmTextureSRTKey* getBtkAnm() const { return mpAnm; }
85
86private:
87 /* 0x14 */ J3DAnmTextureSRTKey* mpAnm;
88}; // Size: 0x18
89
91
93public:
95 int init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay,
96 int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
97 void entry(J3DMaterialTable* i_matTable, f32 i_frame);
98
99 void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
100 void entry(J3DModelData* i_modelData, f32 i_frame) {
101 entry(&i_modelData->getMaterialTable(), i_frame);
102 }
103
104 int init(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int i_anmPlay, int i_attribute,
105 f32 i_rate, s16 i_start, s16 param_6) {
106 return init(&i_modelData->getMaterialTable(), i_brk, i_anmPlay, i_attribute, i_rate,
107 i_start, param_6);
108 }
109
110 int remove(J3DModelData* i_modelData) { return i_modelData->removeTevRegAnimator(mpAnm); }
112 void entryFrame(f32 frame) { mpAnm->setFrame(frame); }
113
114 J3DAnmTevRegKey* getBrkAnm() const { return mpAnm; }
115
116private:
117 /* 0x14 */ J3DAnmTevRegKey* mpAnm;
118}; // Size: 0x18
119
121
123public:
125 int init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_anmPlay,
126 int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
127 void entry(J3DMaterialTable* i_matTable, f32 i_frame);
128
129 void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
130 void entry(J3DModelData* i_modelData, f32 i_frame) {
131 entry(&i_modelData->getMaterialTable(), i_frame);
132 }
133
134 int init(J3DModelData* i_modelData, J3DAnmColor* i_bpk, int i_anmPlay, int i_attribute,
135 f32 i_rate, s16 i_start, s16 param_6) {
136 return init(&i_modelData->getMaterialTable(), i_bpk, i_anmPlay, i_attribute, i_rate,
137 i_start, param_6);
138 }
139
140 int remove(J3DModelData* i_modelData) { return i_modelData->removeMatColorAnimator(mpAnm); }
141 J3DAnmColor* getBpkAnm() { return mpAnm; }
142
143private:
144 /* 0x14 */ J3DAnmColor* mpAnm;
145}; // Size: 0x18
146
148
150public:
151 mDoExt_bckAnm() { mAnm = NULL; }
152 int init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate,
153 s16 i_startF, s16 i_endF, bool i_modify);
154 void changeBckOnly(J3DAnmTransform* i_bck);
155 void entry(J3DModelData* i_modelData, f32 i_frame);
156 void entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame);
157 inline void entryJoint(J3DModelData* i_modelData, u16 i_jntNo) {
158 entryJoint(i_modelData, i_jntNo, getFrame());
159 }
160
161 void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
162
163 void remove(J3DModelData* i_modelData) {
164 i_modelData->getJointNodePointer(0)->setMtxCalc(NULL);
165 }
166
167 J3DAnmTransform* getBckAnm() { return mAnmTransform; }
168
169 void removeJoint(J3DModelData* i_modelData, u16 i_idx) {
170 i_modelData->getJointNodePointer(i_idx)->setMtxCalc(0);
171 }
172
173private:
174 /* 0x14 */ J3DAnmTransform* mAnmTransform;
175 /* 0x18 */ J3DMtxCalcAnimation<J3DMtxCalcAnimationAdaptorDefault<J3DMtxCalcCalcTransformMaya>, J3DMtxCalcJ3DSysInitMaya>* mAnm;
176}; // Size: 0x1C
177
179
181public:
182 mDoExt_btpAnm() { mpAnm = NULL; }
183 int init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btk, int i_anmPlay,
184 int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
185 void entry(J3DMaterialTable* i_matTable, s16 i_frame);
186
187 void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
188 void entry(J3DModelData* i_modelData, s16 i_frame) {
189 entry(&i_modelData->getMaterialTable(), i_frame);
190 }
191
192 int init(J3DModelData* i_modelData, J3DAnmTexPattern* i_btk, int i_anmPlay, int i_attribute,
193 f32 i_rate, s16 i_start, s16 param_6) {
194 return init(&i_modelData->getMaterialTable(), i_btk, i_anmPlay, i_attribute, i_rate,
195 i_start, param_6);
196 }
197
198 int remove(J3DModelData* i_modelData) { return i_modelData->removeTexNoAnimator(mpAnm); }
199
200 J3DAnmTexPattern* getBtpAnm() const { return mpAnm; }
201
202private:
203 /* 0x14 */ J3DAnmTexPattern* mpAnm;
204};
205
207public:
209 mpAnm = NULL;
210 }
211
212 int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay,
213 int i_attribute, f32 i_rate, s16 i_start, s16 param_6);
214
215 J3DAnmCluster* getBlkAnm() { return mpAnm; }
216
218 void entryFrame(f32 frame) { mpAnm->setFrame(frame); }
219
220private:
221 /* 0x14 */ J3DAnmCluster* mpAnm;
222};
223
224struct J3DTransformInfo;
225
227public:
230 mRatio = 0.0f;
231 mAnmTransform = NULL;
232 }
233
234 void setRatio(f32 ratio) { mRatio = ratio; }
235 f32 getRatio() { return mRatio; }
236 J3DAnmTransform* getAnmTransform() { return mAnmTransform; }
237 void setAnmTransform(J3DAnmTransform* anm) { mAnmTransform = anm; }
238
239private:
240 /* 0x0 */ f32 mRatio;
241 /* 0x4 */ J3DAnmTransform* mAnmTransform;
242}; // Size: 0x8
243
245public:
246 virtual int execute(u16, J3DTransformInfo*) = 0;
247};
248
250public:
251 virtual void execute(u16) = 0;
252};
253
255public:
256 void initOldFrameMorf(f32, u16, u16);
258
259 mDoExt_MtxCalcOldFrame(J3DTransformInfo* i_transinf, Quaternion* i_quat) {
260 mOldFrameTransInfo = i_transinf;
261 mOldFrameQuaternion = i_quat;
262 mOldFrameRate = 0.0f;
263 mOldFrameFlg = false;
267 field_0x8 = 0.0f;
268 field_0x10 = 0.0f;
269 field_0x14 = 0.0f;
270 }
271
273 void onOldFrameFlg() { mOldFrameFlg = true; }
274 void offOldFrameFlg() { mOldFrameFlg = false; }
276 J3DTransformInfo* getOldFrameTransInfo(int i) { return &mOldFrameTransInfo[i]; }
279 Quaternion* getOldFrameQuaternion(int i_no) { return &mOldFrameQuaternion[i_no]; }
281
282private:
283 /* 0x00 */ u8 mOldFrameFlg;
284 /* 0x04 */ f32 mOldFrameMorfCounter;
285 /* 0x08 */ f32 field_0x8;
286 /* 0x0C */ f32 mOldFrameRate;
287 /* 0x10 */ f32 field_0x10;
288 /* 0x14 */ f32 field_0x14;
289 /* 0x18 */ u16 mOldFrameStartJoint;
290 /* 0x1A */ u16 mOldFrameEndJoint;
291 /* 0x1C */ J3DTransformInfo* mOldFrameTransInfo;
292 /* 0x20 */ Quaternion* mOldFrameQuaternion;
293}; // Size: 0x24
294
296 : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
298 mNum = num;
299 mAnmRatio = anmRatio;
300
301 f32 var_f31 = 0.0f;
302 for (int i = 0; i < mNum; i++) {
303 if (!mAnmRatio[i].getAnmTransform()) {
304 mAnmRatio[i].setRatio(0.0f);
305 }
306 }
307 }
308
309 J3DAnmTransform* getAnm(int i) { return mAnmRatio[i].getAnmTransform(); }
310 f32 getRatio(int i) { return mAnmRatio[i].getRatio(); }
311
313 virtual void calc();
314
315 /* 0x4 */ int mNum;
317}; // Size: 0x0C
318
320
323 mDoExt_AnmRatioPack* anmRatio)
324 : mDoExt_MtxCalcAnmBlendTbl(num, anmRatio) {
325 mOldFrame = oldFrame;
326 }
328 virtual void calc();
329
331}; // Size: 0x10
332
334
336public:
338};
339
341 : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
342public:
344 void setMorf(f32 i_morf);
345 void frameUpdate();
346
347 virtual ~mDoExt_morf_c();
348
349 J3DAnmTransform* getAnm() { return mpAnm; }
350 void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
351 int getPlayMode() { return mFrameCtrl.getAttribute(); }
352 void setPlayMode(int mode) { mFrameCtrl.setAttribute(mode); }
353 BOOL isStop() { return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f; }
354 bool isLoop() { return mFrameCtrl.checkState(2); }
355 f32 getStartFrame() { return mFrameCtrl.getStart(); }
356 void setStartFrame(f32 frame) { mFrameCtrl.setStart(frame); }
357 f32 getEndFrame() { return mFrameCtrl.getEnd(); }
358 void setEndFrame(f32 frame) { mFrameCtrl.setEnd(frame); }
359 f32 getLoopFrame() { return mFrameCtrl.getLoop(); }
360 void setLoopFrame(f32 frame) { mFrameCtrl.setLoop(frame); }
361 f32 getPlaySpeed() { return mFrameCtrl.getRate(); }
362 void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
363 f32 getFrame() { return mFrameCtrl.getFrame(); }
364 void setFrame(f32 frame) { mFrameCtrl.setFrame((s16)frame); }
365 void setFrameF(f32 frame) { mFrameCtrl.setFrame(frame); }
366 BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); }
367 f32 getMorfRatio() { return mCurMorf; }
368
369 /* 0x04 */ J3DModel* mpModel;
370 /* 0x08 */ J3DAnmTransform* mpAnm;
371 /* 0x0C */ J3DFrameCtrl mFrameCtrl;
372 /* 0x20 */ J3DTransformInfo* mpTransformInfo;
373 /* 0x24 */ Quaternion* mpQuat;
374 /* 0x28 */ f32 mCurMorf;
375 /* 0x2C */ f32 mPrevMorf;
376 /* 0x30 */ f32 mMorfStep;
377 /* 0x34 */ f32 field_0x34;
378};
379
381public:
383 mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
384 int, void*, u32, u32);
386 J3DAnmTransform*, int, f32, int, int, int, void*, u32, u32);
387 void setAnm(J3DAnmTransform* i_bck, int i_mode, f32 i_morf, f32 i_speed, f32 i_startF, f32 i_endF, void* i_bas);
388 u32 play(Vec*, u32, s8);
389 void entryDL();
390 void modelCalc();
391 void getTransform(u16, J3DTransformInfo*);
392
393 virtual ~mDoExt_McaMorf();
394 virtual void calc();
395
396 J3DModel* getModel() { return mpModel; }
397
398private:
403 /* 0x50 */ bool field_0x50;
404 /* 0x51 */ bool field_0x51;
405 /* 0x52 */ bool field_0x52;
406};
407
409public:
411 mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
412 int, Z2Creature*, u32, u32);
414 J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32);
415 void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate,
416 f32 i_start, f32 i_end);
417 int play(u32, s8);
418 void updateDL();
419 void entryDL();
420 void modelCalc();
421 void getTransform(u16, J3DTransformInfo*);
422 void stopZelAnime();
423
424 virtual ~mDoExt_McaMorfSO();
425 virtual void calc();
426
427 J3DModel* getModel() { return mpModel; }
428 void offMorfNone() { mMorfNone = false; }
429 void onMorfNone() { mMorfNone = true; }
430 inline void setTranslateScale(cXyz& i_scale) { mTranslateScale = i_scale; }
431 J3DTransformInfo* getOldTransInfo() { return mpTransformInfo; }
432 Quaternion* getOldQuaternion() { return mpQuat; }
433 void offTranslate() { mTranslate = true; }
434 void setTranslateScale(const cXyz& scale) { mTranslateScale = scale; }
435
436private:
440 /* 0x4C */ Z2Creature* mpSound;
441 /* 0x50 */ void* mpBas;
442 /* 0x54 */ bool mTranslate;
443 /* 0x55 */ bool mMorfNone;
444};
445
447public:
449 mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*,
450 int, f32, int, int, Z2Creature*, u32, u32);
451 int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
452 mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int,
453 f32, int, int, Z2Creature*, u32, u32);
454 void ERROR_EXIT();
455 void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32);
456 void setAnmRate(f32);
457 int play(u32, s8);
458 void entryDL();
459 void modelCalc();
460 void stopZelAnime();
461
462 virtual ~mDoExt_McaMorf2();
463 virtual void calc();
464
465 inline f32 getAnmRate() { return mAnmRate; }
466 inline void changeAnm(J3DAnmTransform* anm, J3DAnmTransform* anm2) {
467 mpAnm = anm;
468 field_0x40 = anm2;
469 }
470 inline J3DModel* getModel() { return mpModel; }
471private:
474 /* 0x40 */ J3DAnmTransform* field_0x40;
475 /* 0x44 */ f32 mAnmRate;
476 /* 0x48 */ Z2Creature* mpSound;
477 /* 0x4C */ void* mpBas;
478};
479
481 s8 x;
482 s8 y;
483 s8 z;
484};
485
490
492public:
493 int init(u16, int, BOOL);
495
496 /* 0x00 */ cXyz* field_0x0;
497 /* 0x04 */ f32* field_0x4;
498 /* 0x08 */ cXyz* field_0x8;
499 /* 0x0C */ cXyz* field_0xc;
504};
505
506class mDoExt_offCupOnAupPacket : public J3DPacket {
507 virtual void draw();
509};
510
511class mDoExt_onCupOffAupPacket : public J3DPacket {
512 virtual void draw();
514};
515
516class mDoExt_invJntPacket : public J3DPacket {
517public:
519
520 virtual void draw();
522
523 void setJoint(J3DModel* i_model, u16 param_1, u8 param_2) {
524 field_0x10 = i_model;
525 field_0x14 = param_1;
527 }
528
529private:
530 /* 0x10 */ J3DModel* field_0x10;
531 /* 0x14 */ u16 field_0x14;
532 /* 0x16 */ u8 field_0x16;
533}; // Size: 0x18
534
536public:
538 int create(J3DModel* i_model, u8 param_1);
539 void entryJoint(cXyz*);
540 void entryDL(cXyz*);
541
542 /* 0x0 */ J3DModel* mModel;
544};
545
547public:
548 virtual int getMaterialID() = 0;
549 virtual void setMaterial() = 0;
550 virtual void draw() = 0;
551
553};
554
556public:
557 int init(u16, u16, int);
558 void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
559 void update(int, _GXColor&, dKy_tevstr_c*);
560 // some calls to these functions define i_color inline which is illegal in C++ for a non-const
561 // reference parameter - we add these overloads to enable standard compiler compatibility
562#if !__MWERKS__
563 void update(int param_0, f32 param_1, const _GXColor& i_color, u16 param_3, dKy_tevstr_c* i_tevStr) {
564 update(param_0, param_1, const_cast<_GXColor&>(i_color), param_3, i_tevStr);
565 }
566 void update(int param_0, const _GXColor& i_color, dKy_tevstr_c* i_tevStr) {
567 update(param_0, const_cast<_GXColor&>(i_color), i_tevStr);
568 }
569#endif
570
571 virtual int getMaterialID() { return 0; }
572 virtual void setMaterial();
573 virtual void draw();
574
575 cXyz* getPos(int param_0) { return field_0x18[param_0].field_0x0; }
576 f32* getSize(int param_0) { return field_0x18[param_0].field_0x4; }
577
578private:
579 /* 0x08 */ GXColor field_0x8;
581 /* 0x10 */ u16 field_0x10;
582 /* 0x12 */ u16 field_0x12;
583 /* 0x14 */ u16 field_0x14;
584 /* 0x16 */ u8 field_0x16;
586};
587
588class dKy_tevstr_c;
590public:
591 int init(u16, u16, ResTIMG*, int);
593 void update(int, f32, GXColor&, u16, dKy_tevstr_c*);
594 int getMaterialID() { return 1; }
595 void setMaterial();
596 void draw();
597
598 cXyz* getPos(int i_idx) { return mpLines[i_idx].field_0x0; }
599 f32* getSize(int i_idx) { return mpLines[i_idx].field_0x4; }
600
601private:
603 /* 0x28 */ GXColor mColor;
605 /* 0x30 */ u16 mNumLines;
606 /* 0x32 */ u16 field_0x32;
607 /* 0x34 */ u16 field_0x34;
608 /* 0x36 */ u8 mIsDrawn;
610};
611
613public:
614 int getMaterialID() { return 2; }
615 void setMaterial();
616};
617
618class mDoExt_3DlineMatSortPacket : public J3DPacket {
619public:
621
622 void reset() { mp3DlineMat = NULL; }
623 void setMatDark(mDoExt_3DlineMat_c* i_mat) { setMat(i_mat); }
624
626 virtual void draw();
628
629private:
631};
632
633class mDoExt_cube8pPacket : public J3DPacket {
634public:
635 mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color);
636
637 virtual void draw();
639
640 /* 0x10 */ cXyz mPoints[8];
641 /* 0x70 */ GXColor mColor;
642};
643
644class mDoExt_cubePacket : public J3DPacket {
645public:
646 mDoExt_cubePacket(cXyz& i_position, cXyz& i_size, csXyz& i_angle, const GXColor& i_color);
647
648 virtual void draw();
650
651 /* 0x10 */ cXyz mPosition;
652 /* 0x1C */ cXyz mSize;
653 /* 0x28 */ csXyz mAngle;
654 /* 0x2E */ GXColor mColor;
655};
656
657class mDoExt_trianglePacket : public J3DPacket {
658public:
659 mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
660
661 virtual void draw();
663
664 /* 0x10 */ cXyz mPoints[3];
665 /* 0x34 */ GXColor mColor;
666 /* 0x38 */ u8 mClipZ;
667};
668
669class mDoExt_quadPacket : public J3DPacket {
670public:
671 mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
672
673 virtual void draw();
675
676 /* 0x10 */ cXyz mPoints[4];
677 /* 0x40 */ GXColor mColor;
678 /* 0x44 */ u8 mClipZ;
679};
680
681class mDoExt_linePacket : public J3DPacket {
682public:
683 mDoExt_linePacket(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width);
684
685 virtual void draw();
687
688 /* 0x10 */ cXyz mStart;
689 /* 0x1C */ cXyz mEnd;
690 /* 0x28 */ GXColor mColor;
691 /* 0x2C */ u8 mClipZ;
692 /* 0x2D */ u8 mWidth;
693};
694
695class mDoExt_ArrowPacket : public J3DPacket {
696public:
697 mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
698
699 virtual void draw();
701
702 /* 0x10 */ cXyz mStart;
703 /* 0x1C */ cXyz mEnd;
704 /* 0x28 */ GXColor mColor;
705 /* 0x2C */ u8 mClipZ;
706 /* 0x2D */ u8 mLineWidth;
707};
708
709class mDoExt_pointPacket : public J3DPacket {
710public:
711 mDoExt_pointPacket(cXyz& i_position, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
712
713 virtual void draw();
715
716 /* 0x10 */ cXyz mPosition;
717 /* 0x1C */ GXColor mColor;
718 /* 0x20 */ u8 mClipZ;
719 /* 0x21 */ u8 mLineWidth;
720};
721
722class mDoExt_circlePacket : public J3DPacket {
723public:
724 mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
725
726 virtual void draw();
728
729 /* 0x10 */ cXyz mPosition;
730 /* 0x1C */ f32 mRadius;
731 /* 0x20 */ GXColor mColor;
732 /* 0x24 */ u8 mClipZ;
733 /* 0x25 */ u8 mLineWidth;
734};
735
736class mDoExt_spherePacket : public J3DPacket {
737public:
738 mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ);
739
740 virtual void draw();
742
743 /* 0x10 */ cXyz mPosition;
744 /* 0x1C */ f32 mSize;
745 /* 0x20 */ GXColor mColor;
746 /* 0x24 */ u8 mClipZ;
747};
748
749class mDoExt_cylinderPacket : public J3DPacket {
750public:
751 mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ);
752
753 virtual void draw();
755
756 /* 0x10 */ cXyz mPosition;
757 /* 0x1C */ f32 mRadius;
758 /* 0x20 */ f32 mHeight;
759 /* 0x24 */ GXColor mColor;
760 /* 0x28 */ u8 mClipZ;
761};
762
763class mDoExt_cylinderMPacket : public J3DPacket {
764public:
765 mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ);
766
767 virtual void draw();
769
770 /* 0x10 */ Mtx mMatrix;
771 /* 0x40 */ GXColor mColor;
772 /* 0x44 */ u8 mClipZ;
773};
774
775inline void mDoExt_bckAnmRemove(J3DModelData* i_modelData) {
776 i_modelData->getJointNodePointer(0)->setMtxCalc(NULL);
777}
778
779JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_parent, u32 i_alignment);
780JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment);
781void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
782u32 mDoExt_adjustSolidHeap(JKRSolidHeap* i_heap);
784JKRExpHeap* mDoExt_getGameHeap();
793void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
794JKRHeap* mDoExt_setCurrentHeap(JKRHeap* i_heap);
795JKRExpHeap* mDoExt_getArchiveHeap();
796JKRExpHeap* mDoExt_getArchiveHeapPtr();
797void mDoExt_destroyExpHeap(JKRExpHeap* i_heap);
798JKRAssertHeap* mDoExt_getAssertHeap();
799JKRExpHeap* mDoExt_getCommandHeap();
800JKRExpHeap* mDoExt_getZeldaHeap();
801JKRExpHeap* mDoExt_getJ2dHeap();
802JKRExpHeap* mDoExt_getHostIOHeap();
803JKRExpHeap* mDoExt_getDbPrintHeap();
804JKRExpHeap* mDoExt_createDbPrintHeap(u32 heapSize, JKRHeap* parentHeap);
805JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* parentHeap);
806JKRExpHeap* mDoExt_createCommandHeap(u32 heapSize, JKRHeap* parentHeap);
807JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* parentHeap);
808JKRExpHeap* mDoExt_createJ2dHeap(u32 heapSize, JKRHeap* parentHeap);
809JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* parentHeap);
810JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* parentHeap);
811JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** o_heap, u32 i_size, JKRHeap* i_parent,
812 u32 i_alignment);
813JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 i_size, JKRHeap* i_parent, u32 i_alignment);
814JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 i_size, u32 i_alignment);
815JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** o_heap, u32 i_size,
816 u32 i_alignment);
817JKRSolidHeap* mDoExt_createSolidHeapFromSystem(u32 i_size, u32 i_alignment);
818u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* i_heap);
819JKRHeap* mDoExt_getCurrentHeap();
821
822// TODO: make a better name. this flag setup is used for a majority of models which makes it seem like it was a macro
823// maybe a macro for the mDoExt_J3DModel__create call itself?
824#define BMD_DEFAULT_DIFF_FLAGS J3D_DIFF_FLAG(FALSE, FALSE, TRUE, 8, 0, FALSE, 0, 0, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE)
825
826void mDoExt_modelUpdate(J3DModel* i_model);
827void mDoExt_modelUpdateDL(J3DModel* i_model);
828J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag,
829 u32 i_differedDlistFlag);
830
831extern u32 aram_cache_size;
833void mDoExt_setAraCacheSize(u32 size);
834
835int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id);
836void mDoExt_modelEntryDL(J3DModel* i_model);
837void mDoExt_brkAnmRemove(J3DModelData* i_modelData);
838void mDoExt_setupStageTexture(J3DModelData* i_modelData);
840void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareModelData);
841void mDoExt_btkAnmRemove(J3DModelData* i_modelData);
842void mDoExt_modelTexturePatch(J3DModelData* i_modelData);
843
845void mDoExt_addSafeZeldaHeapSize(intptr_t);
847#if DEBUG
848JKRHeap* mDoExt_createHostIOHeap(u32, JKRHeap*);
849#endif
850
851class JUTFont;
852JUTFont* mDoExt_getMesgFont();
853JUTFont* mDoExt_getSubFont();
854JUTFont* mDoExt_getRubyFont();
856
857class DummyCheckHeap : public JKRDisposer {
858public:
861 int isVirgin();
862 JKRHeap* getHeap();
863 void setHeap(JKRHeap*);
864
865 /* 0x18 */ void* mAlloc;
866 /* 0x18 */ int mSize;
867 /* 0x20 */ JKRHeap* mHeap;
868};
869
871
873
875
877
879
880extern JKRExpHeap* zeldaHeap;
881extern JKRExpHeap* gameHeap;
882extern JKRExpHeap* archiveHeap;
883extern JKRExpHeap* commandHeap;
884extern DummyCheckHeap* dch;
885
886#endif /* M_DO_M_DO_EXT_H */
struct _GXColor GXColor
Definition c_cc_d.h:12
Definition m_Do_ext.h:857
int mSize
Definition m_Do_ext.h:866
~DummyCheckHeap()
Definition m_Do_ext.cpp:3752
int isVirgin()
Definition m_Do_ext.cpp:3758
JKRHeap * getHeap()
Definition m_Do_ext.cpp:3772
JKRHeap * mHeap
Definition m_Do_ext.h:867
void * mAlloc
Definition m_Do_ext.h:865
DummyCheckHeap()
Definition m_Do_ext.cpp:3746
void setHeap(JKRHeap *)
Definition m_Do_ext.cpp:3788
Definition Z2Creature.h:7
Definition Z2SoundObject.h:48
Definition c_sxyz.h:10
Definition d_kankyo_tev_str.h:8
Definition m_Do_ext.h:555
u16 field_0x12
Definition m_Do_ext.h:582
u16 field_0x10
Definition m_Do_ext.h:581
dKy_tevstr_c * field_0xc
Definition m_Do_ext.h:580
virtual void setMaterial()
Definition m_Do_ext.cpp:2345
void update(int, f32, _GXColor &, u16, dKy_tevstr_c *)
cXyz * getPos(int param_0)
Definition m_Do_ext.h:575
void update(int param_0, f32 param_1, const _GXColor &i_color, u16 param_3, dKy_tevstr_c *i_tevStr)
Definition m_Do_ext.h:563
void update(int param_0, const _GXColor &i_color, dKy_tevstr_c *i_tevStr)
Definition m_Do_ext.h:566
GXColor field_0x8
Definition m_Do_ext.h:579
u16 field_0x14
Definition m_Do_ext.h:583
u8 field_0x16
Definition m_Do_ext.h:584
void update(int, _GXColor &, dKy_tevstr_c *)
virtual int getMaterialID()
Definition m_Do_ext.h:571
virtual void draw()
Definition m_Do_ext.cpp:2360
mDoExt_3Dline_c * field_0x18
Definition m_Do_ext.h:585
f32 * getSize(int param_0)
Definition m_Do_ext.h:576
Definition m_Do_ext.h:589
GXTexObj mTextureObject
Definition m_Do_ext.h:602
void draw()
Definition m_Do_ext.cpp:2677
GXColor mColor
Definition m_Do_ext.h:603
u8 mIsDrawn
Definition m_Do_ext.h:608
void update(int, GXColor &, dKy_tevstr_c *)
int getMaterialID()
Definition m_Do_ext.h:594
u16 field_0x34
Definition m_Do_ext.h:607
void update(int, f32, GXColor &, u16, dKy_tevstr_c *)
u16 mNumLines
Definition m_Do_ext.h:605
f32 * getSize(int i_idx)
Definition m_Do_ext.h:599
u16 field_0x32
Definition m_Do_ext.h:606
cXyz * getPos(int i_idx)
Definition m_Do_ext.h:598
mDoExt_3Dline_c * mpLines
Definition m_Do_ext.h:609
dKy_tevstr_c * mpTevStr
Definition m_Do_ext.h:604
void setMaterial()
Definition m_Do_ext.cpp:2660
Definition m_Do_ext.h:612
int getMaterialID()
Definition m_Do_ext.h:614
void setMaterial()
Definition m_Do_ext.cpp:2862
Definition m_Do_ext.h:618
mDoExt_3DlineMatSortPacket()
Definition m_Do_ext.h:620
virtual ~mDoExt_3DlineMatSortPacket()
Definition m_Do_ext.h:627
void setMatDark(mDoExt_3DlineMat_c *i_mat)
Definition m_Do_ext.h:623
void reset()
Definition m_Do_ext.h:622
mDoExt_3DlineMat_c * mp3DlineMat
Definition m_Do_ext.h:630
virtual void draw()
Definition m_Do_ext.cpp:3000
void setMat(mDoExt_3DlineMat_c *)
Definition m_Do_ext.cpp:2992
Definition m_Do_ext.h:546
virtual int getMaterialID()=0
mDoExt_3DlineMat_c * field_0x4
Definition m_Do_ext.h:552
virtual void draw()=0
virtual void setMaterial()=0
Definition m_Do_ext.h:491
mDoExt_3Dline_field_0x18_c * field_0x1c
Definition m_Do_ext.h:503
cXyz * field_0xc
Definition m_Do_ext.h:499
mDoExt_3Dline_field_0x10_c * field_0x14
Definition m_Do_ext.h:501
cXyz * field_0x0
Definition m_Do_ext.h:496
mDoExt_3Dline_c()
Definition m_Do_ext.h:494
mDoExt_3Dline_field_0x18_c * field_0x18
Definition m_Do_ext.h:502
cXyz * field_0x8
Definition m_Do_ext.h:498
f32 * field_0x4
Definition m_Do_ext.h:497
mDoExt_3Dline_field_0x10_c * field_0x10
Definition m_Do_ext.h:500
Definition m_Do_ext.h:226
f32 getRatio()
Definition m_Do_ext.h:235
void setAnmTransform(J3DAnmTransform *anm)
Definition m_Do_ext.h:237
~mDoExt_AnmRatioPack()
Definition m_Do_ext.h:228
J3DAnmTransform * mAnmTransform
Definition m_Do_ext.h:241
f32 mRatio
Definition m_Do_ext.h:240
mDoExt_AnmRatioPack()
Definition m_Do_ext.h:229
void setRatio(f32 ratio)
Definition m_Do_ext.h:234
J3DAnmTransform * getAnmTransform()
Definition m_Do_ext.h:236
Definition m_Do_ext.h:695
u8 mClipZ
Definition m_Do_ext.h:705
u8 mLineWidth
Definition m_Do_ext.h:706
virtual ~mDoExt_ArrowPacket()
Definition m_Do_ext.h:700
virtual void draw()
Definition m_Do_ext.cpp:3256
GXColor mColor
Definition m_Do_ext.h:704
cXyz mEnd
Definition m_Do_ext.h:703
cXyz mStart
Definition m_Do_ext.h:702
mDoExt_ArrowPacket(cXyz &i_position, cXyz &param_1, const GXColor &i_color, u8 i_clipZ, u8 i_lineWidth)
Definition m_Do_ext.cpp:3248
Definition m_Do_ext.h:446
virtual void calc()
Definition m_Do_ext.cpp:1904
void changeAnm(J3DAnmTransform *anm, J3DAnmTransform *anm2)
Definition m_Do_ext.h:466
int play(u32, s8)
Definition m_Do_ext.cpp:2138
f32 getAnmRate()
Definition m_Do_ext.h:465
void setAnmRate(f32)
Definition m_Do_ext.cpp:2116
void ERROR_EXIT()
Definition m_Do_ext.cpp:1890
void modelCalc()
Definition m_Do_ext.cpp:2158
void entryDL()
Definition m_Do_ext.cpp:2152
void stopZelAnime()
Definition m_Do_ext.cpp:2173
virtual ~mDoExt_McaMorf2()
Definition m_Do_ext.cpp:1818
mDoExt_McaMorfCallBack1_c * mpCallback1
Definition m_Do_ext.h:472
J3DAnmTransform * field_0x40
Definition m_Do_ext.h:474
int create(J3DModelData *, mDoExt_McaMorfCallBack1_c *, mDoExt_McaMorfCallBack2_c *, J3DAnmTransform *, J3DAnmTransform *, int, f32, int, int, Z2Creature *, u32, u32)
Definition m_Do_ext.cpp:1822
f32 mAnmRate
Definition m_Do_ext.h:475
J3DModel * getModel()
Definition m_Do_ext.h:470
mDoExt_McaMorfCallBack2_c * mpCallback2
Definition m_Do_ext.h:473
void setAnm(J3DAnmTransform *, J3DAnmTransform *, f32, int, f32, f32, f32, f32)
Definition m_Do_ext.cpp:2069
void * mpBas
Definition m_Do_ext.h:477
Z2Creature * mpSound
Definition m_Do_ext.h:476
mDoExt_McaMorf2(J3DModelData *, mDoExt_McaMorfCallBack1_c *, mDoExt_McaMorfCallBack2_c *, J3DAnmTransform *, J3DAnmTransform *, int, f32, int, int, Z2Creature *, u32, u32)
Definition m_Do_ext.cpp:1810
Definition m_Do_ext.h:244
virtual int execute(u16, J3DTransformInfo *)=0
Definition m_Do_ext.h:249
virtual void execute(u16)=0
Definition m_Do_ext.h:408
mDoExt_McaMorfCallBack1_c * mpCallback1
Definition m_Do_ext.h:437
void setTranslateScale(const cXyz &scale)
Definition m_Do_ext.h:434
void setTranslateScale(cXyz &i_scale)
Definition m_Do_ext.h:430
void stopZelAnime()
Definition m_Do_ext.cpp:1804
void setAnm(J3DAnmTransform *i_anm, int i_attr, f32 i_morf, f32 i_rate, f32 i_start, f32 i_end)
Definition m_Do_ext.cpp:1701
J3DModel * getModel()
Definition m_Do_ext.h:427
void offTranslate()
Definition m_Do_ext.h:433
int create(J3DModelData *, mDoExt_McaMorfCallBack1_c *, mDoExt_McaMorfCallBack2_c *, J3DAnmTransform *, int, f32, int, int, Z2Creature *, u32, u32)
Definition m_Do_ext.cpp:1532
bool mMorfNone
Definition m_Do_ext.h:443
Quaternion * getOldQuaternion()
Definition m_Do_ext.h:432
bool mTranslate
Definition m_Do_ext.h:442
Z2Creature * mpSound
Definition m_Do_ext.h:440
void updateDL()
Definition m_Do_ext.cpp:1759
int play(u32, s8)
Definition m_Do_ext.cpp:1745
J3DTransformInfo * getOldTransInfo()
Definition m_Do_ext.h:431
void offMorfNone()
Definition m_Do_ext.h:428
mDoExt_McaMorfSO(J3DModelData *, mDoExt_McaMorfCallBack1_c *, mDoExt_McaMorfCallBack2_c *, J3DAnmTransform *, int, f32, int, int, Z2Creature *, u32, u32)
Definition m_Do_ext.cpp:1518
mDoExt_McaMorfCallBack2_c * mpCallback2
Definition m_Do_ext.h:438
void getTransform(u16, J3DTransformInfo *)
Definition m_Do_ext.cpp:1788
void * mpBas
Definition m_Do_ext.h:441
void entryDL()
Definition m_Do_ext.cpp:1771
cXyz mTranslateScale
Definition m_Do_ext.h:439
void modelCalc()
Definition m_Do_ext.cpp:1777
virtual void calc()
Definition m_Do_ext.cpp:1615
void onMorfNone()
Definition m_Do_ext.h:429
virtual ~mDoExt_McaMorfSO()
Definition m_Do_ext.cpp:1528
Definition m_Do_ext.h:380
J3DModel * getModel()
Definition m_Do_ext.h:396
void modelCalc()
Definition m_Do_ext.cpp:1491
mDoExt_McaMorfCallBack2_c * mpCallback2
Definition m_Do_ext.h:400
virtual ~mDoExt_McaMorf()
Definition m_Do_ext.cpp:1277
cXyz mTranslateScale
Definition m_Do_ext.h:401
virtual void calc()
Definition m_Do_ext.cpp:1361
void entryDL()
Definition m_Do_ext.cpp:1485
mDoExt_McaMorf(J3DModelData *, mDoExt_McaMorfCallBack1_c *, mDoExt_McaMorfCallBack2_c *, J3DAnmTransform *, int, f32, int, int, int, void *, u32, u32)
Definition m_Do_ext.cpp:1267
mDoExt_McaMorfCallBack1_c * mpCallback1
Definition m_Do_ext.h:399
bool field_0x52
Definition m_Do_ext.h:405
int create(J3DModelData *, mDoExt_McaMorfCallBack1_c *, mDoExt_McaMorfCallBack2_c *, J3DAnmTransform *, int, f32, int, int, int, void *, u32, u32)
Definition m_Do_ext.cpp:1283
void setAnm(J3DAnmTransform *i_bck, int i_mode, f32 i_morf, f32 i_speed, f32 i_startF, f32 i_endF, void *i_bas)
Definition m_Do_ext.cpp:1437
mDoExt_zelAnime * mpSound
Definition m_Do_ext.h:402
void getTransform(u16, J3DTransformInfo *)
Definition m_Do_ext.cpp:1502
u32 play(Vec *, u32, s8)
Definition m_Do_ext.cpp:1475
bool field_0x51
Definition m_Do_ext.h:404
bool field_0x50
Definition m_Do_ext.h:403
Definition m_Do_ext.h:254
Quaternion * mOldFrameQuaternion
Definition m_Do_ext.h:292
f32 field_0x14
Definition m_Do_ext.h:288
f32 getOldFrameRate()
Definition m_Do_ext.h:275
f32 getOldFrameMorfCounter()
Definition m_Do_ext.h:280
Quaternion * getOldFrameQuaternion(int i_no)
Definition m_Do_ext.h:279
u8 mOldFrameFlg
Definition m_Do_ext.h:283
u16 mOldFrameEndJoint
Definition m_Do_ext.h:290
void onOldFrameFlg()
Definition m_Do_ext.h:273
f32 mOldFrameRate
Definition m_Do_ext.h:286
J3DTransformInfo * getOldFrameTransInfo(int i)
Definition m_Do_ext.h:276
J3DTransformInfo * mOldFrameTransInfo
Definition m_Do_ext.h:291
void decOldFrameMorfCounter()
Definition m_Do_ext.cpp:1208
u8 getOldFrameFlg()
Definition m_Do_ext.h:272
u16 getOldFrameStartJoint()
Definition m_Do_ext.h:277
u16 mOldFrameStartJoint
Definition m_Do_ext.h:289
f32 mOldFrameMorfCounter
Definition m_Do_ext.h:284
void offOldFrameFlg()
Definition m_Do_ext.h:274
u16 getOldFrameEndJoint()
Definition m_Do_ext.h:278
mDoExt_MtxCalcOldFrame(J3DTransformInfo *i_transinf, Quaternion *i_quat)
Definition m_Do_ext.h:259
void initOldFrameMorf(f32, u16, u16)
Definition m_Do_ext.cpp:1188
f32 field_0x8
Definition m_Do_ext.h:285
f32 field_0x10
Definition m_Do_ext.h:287
Definition m_Do_ext.h:26
J3DFrameCtrl mFrameCtrl
Definition m_Do_ext.h:49
void setPlayMode(int i_mode)
Definition m_Do_ext.h:41
int play()
Definition m_Do_ext.cpp:123
J3DFrameCtrl * getFrameCtrl()
Definition m_Do_ext.h:33
void setFrame(f32 frame)
Definition m_Do_ext.h:40
bool isStop()
Definition m_Do_ext.h:43
int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF)
Definition m_Do_ext.cpp:99
void setEndFrame(f32 frame)
Definition m_Do_ext.h:39
bool isLoop()
Definition m_Do_ext.h:44
f32 getPlaySpeed()
Definition m_Do_ext.h:34
mDoExt_baseAnm()
Definition m_Do_ext.h:28
void setLoopFrame(f32 i_frame)
Definition m_Do_ext.h:42
BOOL checkFrame(f32 frame)
Definition m_Do_ext.h:46
f32 getEndFrame()
Definition m_Do_ext.h:37
f32 getStartFrame()
Definition m_Do_ext.h:38
void reset()
Definition m_Do_ext.h:45
void setPlaySpeed(f32 speed)
Definition m_Do_ext.h:35
f32 getFrame()
Definition m_Do_ext.h:36
Definition m_Do_ext.h:149
J3DAnmTransform * mAnmTransform
Definition m_Do_ext.h:174
void remove(J3DModelData *i_modelData)
Definition m_Do_ext.h:163
void entryJoint(J3DModelData *i_modelData, u16 i_jntNo, f32 i_frame)
Definition m_Do_ext.cpp:242
void entry(J3DModelData *i_modelData, f32 i_frame)
Definition m_Do_ext.cpp:237
void changeBckOnly(J3DAnmTransform *i_bck)
Definition m_Do_ext.cpp:227
void entry(J3DModelData *i_modelData)
Definition m_Do_ext.h:161
void entryJoint(J3DModelData *i_modelData, u16 i_jntNo)
Definition m_Do_ext.h:157
J3DAnmTransform * getBckAnm()
Definition m_Do_ext.h:167
void removeJoint(J3DModelData *i_modelData, u16 i_idx)
Definition m_Do_ext.h:169
mDoExt_bckAnm()
Definition m_Do_ext.h:151
J3DMtxCalcAnimation< J3DMtxCalcAnimationAdaptorDefault< J3DMtxCalcCalcTransformMaya >, J3DMtxCalcJ3DSysInitMaya > * mAnm
Definition m_Do_ext.h:175
Definition m_Do_ext.h:206
J3DAnmCluster * mpAnm
Definition m_Do_ext.h:221
void entryFrame()
Definition m_Do_ext.h:217
void entryFrame(f32 frame)
Definition m_Do_ext.h:218
J3DAnmCluster * getBlkAnm()
Definition m_Do_ext.h:215
mDoExt_blkAnm()
Definition m_Do_ext.h:208
Definition m_Do_ext.h:122
int init(J3DModelData *i_modelData, J3DAnmColor *i_bpk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6)
Definition m_Do_ext.h:134
void entry(J3DModelData *i_modelData, f32 i_frame)
Definition m_Do_ext.h:130
int remove(J3DModelData *i_modelData)
Definition m_Do_ext.h:140
void entry(J3DMaterialTable *i_matTable, f32 i_frame)
Definition m_Do_ext.cpp:143
J3DAnmColor * mpAnm
Definition m_Do_ext.h:144
J3DAnmColor * getBpkAnm()
Definition m_Do_ext.h:141
void entry(J3DModelData *i_modelData)
Definition m_Do_ext.h:129
mDoExt_bpkAnm()
Definition m_Do_ext.h:124
Definition m_Do_ext.h:92
int init(J3DModelData *i_modelData, J3DAnmTevRegKey *i_brk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6)
Definition m_Do_ext.h:104
mDoExt_brkAnm()
Definition m_Do_ext.h:94
void entry(J3DModelData *i_modelData, f32 i_frame)
Definition m_Do_ext.h:100
void entryFrame(f32 frame)
Definition m_Do_ext.h:112
J3DAnmTevRegKey * mpAnm
Definition m_Do_ext.h:117
void entry(J3DMaterialTable *i_matTable, f32 i_frame)
Definition m_Do_ext.cpp:200
void entry(J3DModelData *i_modelData)
Definition m_Do_ext.h:99
void entryFrame()
Definition m_Do_ext.h:111
J3DAnmTevRegKey * getBrkAnm() const
Definition m_Do_ext.h:114
int remove(J3DModelData *i_modelData)
Definition m_Do_ext.h:110
Definition m_Do_ext.h:63
mDoExt_btkAnm()
Definition m_Do_ext.h:65
void entry(J3DModelData *i_modelData)
Definition m_Do_ext.h:70
int remove(J3DModelData *i_modelData)
Definition m_Do_ext.h:80
void entry(J3DMaterialTable *i_matTable, f32 i_frame)
Definition m_Do_ext.cpp:181
void entryFrame()
Definition m_Do_ext.h:81
void entryFrame(f32 frame)
Definition m_Do_ext.h:82
void entry(J3DModelData *i_modelData, f32 i_frame)
Definition m_Do_ext.h:71
J3DAnmTextureSRTKey * getBtkAnm() const
Definition m_Do_ext.h:84
int init(J3DModelData *i_modelData, J3DAnmTextureSRTKey *i_btk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6)
Definition m_Do_ext.h:74
J3DAnmTextureSRTKey * mpAnm
Definition m_Do_ext.h:87
Definition m_Do_ext.h:180
int init(J3DModelData *i_modelData, J3DAnmTexPattern *i_btk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6)
Definition m_Do_ext.h:192
void entry(J3DModelData *i_modelData, s16 i_frame)
Definition m_Do_ext.h:188
int remove(J3DModelData *i_modelData)
Definition m_Do_ext.h:198
mDoExt_btpAnm()
Definition m_Do_ext.h:182
void entry(J3DMaterialTable *i_matTable, s16 i_frame)
Definition m_Do_ext.cpp:162
J3DAnmTexPattern * getBtpAnm() const
Definition m_Do_ext.h:200
J3DAnmTexPattern * mpAnm
Definition m_Do_ext.h:203
void entry(J3DModelData *i_modelData)
Definition m_Do_ext.h:187
Definition m_Do_ext.h:722
virtual ~mDoExt_circlePacket()
Definition m_Do_ext.h:727
mDoExt_circlePacket(cXyz &i_position, f32 i_radius, const GXColor &i_color, u8 i_clipZ, u8 i_lineWidth)
Definition m_Do_ext.cpp:3361
virtual void draw()
Definition m_Do_ext.cpp:3369
cXyz mPosition
Definition m_Do_ext.h:729
u8 mLineWidth
Definition m_Do_ext.h:733
f32 mRadius
Definition m_Do_ext.h:730
GXColor mColor
Definition m_Do_ext.h:731
u8 mClipZ
Definition m_Do_ext.h:732
Definition m_Do_ext.h:633
virtual ~mDoExt_cube8pPacket()
Definition m_Do_ext.h:638
cXyz mPoints[8]
Definition m_Do_ext.h:640
mDoExt_cube8pPacket(cXyz *i_points, const GXColor &i_color)
Definition m_Do_ext.cpp:3011
virtual void draw()
Definition m_Do_ext.cpp:3064
GXColor mColor
Definition m_Do_ext.h:641
Definition m_Do_ext.h:644
csXyz mAngle
Definition m_Do_ext.h:653
cXyz mSize
Definition m_Do_ext.h:652
cXyz mPosition
Definition m_Do_ext.h:651
GXColor mColor
Definition m_Do_ext.h:654
virtual ~mDoExt_cubePacket()
Definition m_Do_ext.h:649
virtual void draw()
Definition m_Do_ext.cpp:3075
mDoExt_cubePacket(cXyz &i_position, cXyz &i_size, csXyz &i_angle, const GXColor &i_color)
Definition m_Do_ext.cpp:3068
Definition m_Do_ext.h:763
GXColor mColor
Definition m_Do_ext.h:771
u8 mClipZ
Definition m_Do_ext.h:772
virtual void draw()
Definition m_Do_ext.cpp:3516
virtual ~mDoExt_cylinderMPacket()
Definition m_Do_ext.h:768
mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor &i_color, u8 i_clipZ)
Definition m_Do_ext.cpp:3510
Mtx mMatrix
Definition m_Do_ext.h:770
Definition m_Do_ext.h:749
f32 mHeight
Definition m_Do_ext.h:758
cXyz mPosition
Definition m_Do_ext.h:756
virtual void draw()
Definition m_Do_ext.cpp:3472
u8 mClipZ
Definition m_Do_ext.h:760
virtual ~mDoExt_cylinderPacket()
Definition m_Do_ext.h:754
f32 mRadius
Definition m_Do_ext.h:757
mDoExt_cylinderPacket(cXyz &i_position, f32 i_radius, f32 i_height, const GXColor &i_color, u8 i_clipZ)
Definition m_Do_ext.cpp:3464
GXColor mColor
Definition m_Do_ext.h:759
Definition m_Do_ext.h:516
virtual ~mDoExt_invJntPacket()
Definition m_Do_ext.h:521
u8 field_0x16
Definition m_Do_ext.h:532
void setJoint(J3DModel *i_model, u16 param_1, u8 param_2)
Definition m_Do_ext.h:523
mDoExt_invJntPacket()
Definition m_Do_ext.h:518
u16 field_0x14
Definition m_Do_ext.h:531
J3DModel * field_0x10
Definition m_Do_ext.h:530
virtual void draw()
Definition m_Do_ext.cpp:2187
Definition m_Do_ext.h:535
mDoExt_invJntPacket * mpPackets
Definition m_Do_ext.h:543
J3DModel * mModel
Definition m_Do_ext.h:542
void entryJoint(cXyz *)
Definition m_Do_ext.cpp:523
void entryDL(cXyz *)
Definition m_Do_ext.cpp:543
mDoExt_invisibleModel()
Definition m_Do_ext.h:537
int create(J3DModel *i_model, u8 param_1)
Definition m_Do_ext.cpp:504
Definition m_Do_ext.h:681
cXyz mEnd
Definition m_Do_ext.h:689
u8 mWidth
Definition m_Do_ext.h:692
u8 mClipZ
Definition m_Do_ext.h:691
virtual void draw()
Definition m_Do_ext.cpp:3204
GXColor mColor
Definition m_Do_ext.h:690
mDoExt_linePacket(cXyz &i_start, cXyz &i_end, const GXColor &i_color, u8 i_clipZ, u8 i_width)
Definition m_Do_ext.cpp:3196
cXyz mStart
Definition m_Do_ext.h:688
virtual ~mDoExt_linePacket()
Definition m_Do_ext.h:686
Definition m_Do_ext.h:341
BOOL checkFrame(f32 frame)
Definition m_Do_ext.h:366
Quaternion * mpQuat
Definition m_Do_ext.h:373
f32 getPlaySpeed()
Definition m_Do_ext.h:361
void changeAnm(J3DAnmTransform *anm)
Definition m_Do_ext.h:350
f32 getFrame()
Definition m_Do_ext.h:363
void setPlaySpeed(f32 speed)
Definition m_Do_ext.h:362
void setLoopFrame(f32 frame)
Definition m_Do_ext.h:360
f32 field_0x34
Definition m_Do_ext.h:377
void setFrame(f32 frame)
Definition m_Do_ext.h:364
void setPlayMode(int mode)
Definition m_Do_ext.h:352
virtual ~mDoExt_morf_c()
Definition m_Do_ext.cpp:1236
f32 getLoopFrame()
Definition m_Do_ext.h:359
BOOL isStop()
Definition m_Do_ext.h:353
J3DAnmTransform * getAnm()
Definition m_Do_ext.h:349
J3DModel * mpModel
Definition m_Do_ext.h:369
int getPlayMode()
Definition m_Do_ext.h:351
J3DAnmTransform * mpAnm
Definition m_Do_ext.h:370
f32 mPrevMorf
Definition m_Do_ext.h:375
f32 getMorfRatio()
Definition m_Do_ext.h:367
f32 getStartFrame()
Definition m_Do_ext.h:355
void frameUpdate()
Definition m_Do_ext.cpp:1252
mDoExt_morf_c()
Definition m_Do_ext.cpp:1229
J3DTransformInfo * mpTransformInfo
Definition m_Do_ext.h:372
f32 mMorfStep
Definition m_Do_ext.h:376
void setFrameF(f32 frame)
Definition m_Do_ext.h:365
void setStartFrame(f32 frame)
Definition m_Do_ext.h:356
f32 getEndFrame()
Definition m_Do_ext.h:357
void setEndFrame(f32 frame)
Definition m_Do_ext.h:358
J3DFrameCtrl mFrameCtrl
Definition m_Do_ext.h:371
void setMorf(f32 i_morf)
Definition m_Do_ext.cpp:1240
bool isLoop()
Definition m_Do_ext.h:354
f32 mCurMorf
Definition m_Do_ext.h:374
Definition m_Do_ext.h:506
virtual void draw()
Definition m_Do_ext.cpp:2179
virtual ~mDoExt_offCupOnAupPacket()
Definition m_Do_ext.h:511
virtual ~mDoExt_onCupOffAupPacket()
virtual void draw()
Definition m_Do_ext.cpp:2183
Definition m_Do_ext.h:709
GXColor mColor
Definition m_Do_ext.h:717
virtual ~mDoExt_pointPacket()
Definition m_Do_ext.h:714
u8 mClipZ
Definition m_Do_ext.h:718
virtual void draw()
Definition m_Do_ext.cpp:3321
u8 mLineWidth
Definition m_Do_ext.h:719
cXyz mPosition
Definition m_Do_ext.h:716
mDoExt_pointPacket(cXyz &i_position, const GXColor &i_color, u8 i_clipZ, u8 i_lineWidth)
Definition m_Do_ext.cpp:3314
Definition m_Do_ext.h:669
GXColor mColor
Definition m_Do_ext.h:677
cXyz mPoints[4]
Definition m_Do_ext.h:676
mDoExt_quadPacket(cXyz *i_points, const GXColor &i_color, u8 i_clipZ)
Definition m_Do_ext.cpp:3089
u8 mClipZ
Definition m_Do_ext.h:678
virtual ~mDoExt_quadPacket()
Definition m_Do_ext.h:674
virtual void draw()
Definition m_Do_ext.cpp:3101
Definition m_Do_ext.h:736
cXyz mPosition
Definition m_Do_ext.h:743
GXColor mColor
Definition m_Do_ext.h:745
f32 mSize
Definition m_Do_ext.h:744
u8 mClipZ
Definition m_Do_ext.h:746
mDoExt_spherePacket(cXyz &i_position, f32 i_size, const GXColor &i_color, u8 i_clipZ)
Definition m_Do_ext.cpp:3421
virtual ~mDoExt_spherePacket()
Definition m_Do_ext.h:741
virtual void draw()
Definition m_Do_ext.cpp:3428
Definition m_Do_ext.h:52
void * getBas()
Definition m_Do_ext.h:57
void * mBas
Definition m_Do_ext.h:60
mDoExt_transAnmBas(void *bas)
Definition m_Do_ext.h:54
virtual ~mDoExt_transAnmBas()
Definition m_Do_ext.h:55
Definition m_Do_ext.h:657
virtual ~mDoExt_trianglePacket()
Definition m_Do_ext.h:662
u8 mClipZ
Definition m_Do_ext.h:666
virtual void draw()
Definition m_Do_ext.cpp:3151
mDoExt_trianglePacket(cXyz *i_points, const GXColor &i_color, u8 i_clipZ)
Definition m_Do_ext.cpp:3139
cXyz mPoints[3]
Definition m_Do_ext.h:664
GXColor mColor
Definition m_Do_ext.h:665
Definition m_Do_ext.h:335
void * field_0x48
Definition m_Do_ext.h:337
static u32 const heapSize[8]
Definition d_a_npc_ykw.cpp:290
static initFunc init[]
Definition d_menu_collect.cpp:40
int cXyz int * param_2
Definition d_path.cpp:106
JKRExpHeap * mDoExt_getZeldaHeap()
Definition m_Do_ext.cpp:721
u32 mDoExt_getAraCacheSize()
Definition m_Do_ext.cpp:3854
JKRExpHeap * mDoExt_getArchiveHeap()
Definition m_Do_ext.cpp:799
JKRExpHeap * archiveHeap
Definition m_Do_ext.cpp:771
JKRAssertHeap * mDoExt_createAssertHeap(JKRHeap *parentHeap)
Definition m_Do_ext.cpp:658
void mDoExt_setupStageTexture(J3DModelData *i_modelData)
Definition m_Do_ext.cpp:607
void mDoExt_restoreCurrentHeap()
Definition m_Do_ext.cpp:1069
JKRExpHeap * mDoExt_createZeldaHeap(u32 heapSize, JKRHeap *parentHeap)
Definition m_Do_ext.cpp:715
void mDoExt_removeSubFont()
Definition m_Do_ext.cpp:3689
void mDoExt_modelTexturePatch(J3DModelData *i_modelData)
Definition m_Do_ext.cpp:269
JKRSolidHeap * mDoExt_createSolidHeapToCurrent(JKRHeap **o_heap, u32 i_size, JKRHeap *i_parent, u32 i_alignment)
Definition m_Do_ext.cpp:937
void DummyCheckHeap_destroy()
Definition m_Do_ext.cpp:3827
JKRHeap * mDoExt_createHostIOHeap(u32, JKRHeap *)
Definition m_Do_ext.cpp:843
JKRExpHeap * mDoExt_getJ2dHeap()
Definition m_Do_ext.cpp:836
J3DModel * mDoExt_J3DModel__create(J3DModelData *i_modelData, u32 i_modelFlag, u32 i_differedDlistFlag)
Definition m_Do_ext.cpp:3705
OSThread * mDoExt_GetCurrentRunningThread()
Definition m_Do_ext.cpp:3862
JUTFont * mDoExt_getSubFont()
Definition m_Do_ext.cpp:3676
size_t mDoExt_getSafeGameHeapSize()
Definition m_Do_ext.cpp:708
JKRHeap * mDoExt_setCurrentHeap(JKRHeap *i_heap)
Definition m_Do_ext.cpp:1055
void mDoExt_bckAnmRemove(J3DModelData *i_modelData)
Definition m_Do_ext.h:775
JKRSolidHeap * mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment)
Definition m_Do_ext.cpp:929
intptr_t mDoExt_getSafeZeldaHeapSize()
Definition m_Do_ext.cpp:741
JKRExpHeap * gameHeap
Definition m_Do_ext.cpp:680
JKRHeap * mDoExt_getCurrentHeap()
Definition m_Do_ext.cpp:1065
DummyCheckHeap * dch
Definition m_Do_ext.cpp:3744
STATIC_ASSERT(sizeof(mDoExt_btkAnm)==0x18)
void mDoExt_setAraCacheSize(u32 size)
Definition m_Do_ext.cpp:3858
void mDoExt_setSafeJ2dHeapSize()
Definition m_Do_ext.cpp:818
JKRExpHeap * zeldaHeap
Definition m_Do_ext.cpp:712
void mDoExt_setSafeGameHeapSize()
Definition m_Do_ext.cpp:694
JKRExpHeap * mDoExt_createCommandHeap(u32 heapSize, JKRHeap *parentHeap)
Definition m_Do_ext.cpp:748
JKRExpHeap * commandHeap
Definition m_Do_ext.cpp:745
JKRSolidHeap * mDoExt_createSolidHeapFromGameToCurrent(u32 i_size, u32 i_alignment)
Definition m_Do_ext.cpp:971
JUTFont * mDoExt_getMesgFont()
Definition m_Do_ext.cpp:3614
JKRExpHeap * mDoExt_getHostIOHeap()
Definition m_Do_ext.cpp:849
void mDoExt_addSafeZeldaHeapSize(intptr_t)
Definition m_Do_ext.cpp:734
JKRExpHeap * mDoExt_getDbPrintHeap()
Definition m_Do_ext.cpp:676
JKRExpHeap * mDoExt_getGameHeap()
Definition m_Do_ext.cpp:690
void mDoExt_setSafeZeldaHeapSize()
Definition m_Do_ext.cpp:725
JKRExpHeap * mDoExt_getArchiveHeapPtr()
Definition m_Do_ext.cpp:804
void mDoExt_brkAnmRemove(J3DModelData *i_modelData)
Definition m_Do_ext.cpp:380
JKRSolidHeap * mDoExt_createSolidHeap(u32 i_size, JKRHeap *i_parent, u32 i_alignment)
Definition m_Do_ext.cpp:867
intptr_t mDoExt_getSafeArchiveHeapSize()
Definition m_Do_ext.cpp:795
JKRAssertHeap * mDoExt_getAssertHeap()
Definition m_Do_ext.cpp:664
JKRExpHeap * mDoExt_createGameHeap(u32 heapSize, JKRHeap *parentHeap)
Definition m_Do_ext.cpp:683
void mDoExt_destroyExpHeap(JKRExpHeap *i_heap)
Definition m_Do_ext.cpp:1045
intptr_t mDoExt_getSafeCommandHeapSize()
Definition m_Do_ext.cpp:767
void mDoExt_btkAnmRemove(J3DModelData *i_modelData)
Definition m_Do_ext.cpp:368
JKRExpHeap * mDoExt_createDbPrintHeap(u32 heapSize, JKRHeap *parentHeap)
Definition m_Do_ext.cpp:670
u32 aram_cache_size
Definition m_Do_ext.cpp:3852
u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap *i_heap)
Definition m_Do_ext.cpp:1031
int DummyCheckHeap_init()
Definition m_Do_ext.cpp:3800
void mDoExt_destroySolidHeap(JKRSolidHeap *i_heap)
Definition m_Do_ext.cpp:1037
void mDoExt_removeMesgFont()
Definition m_Do_ext.cpp:3623
void mDoExt_modelEntryDL(J3DModel *i_model)
Definition m_Do_ext.cpp:350
int mDoExt_resIDToIndex(JKRArchive *p_archive, u16 id)
Definition m_Do_ext.cpp:1080
JKRExpHeap * mDoExt_createArchiveHeap(u32 heapSize, JKRHeap *parentHeap)
Definition m_Do_ext.cpp:774
int DummyCheckHeap_create()
Definition m_Do_ext.cpp:3810
void mDoExt_modelUpdate(J3DModel *i_model)
Definition m_Do_ext.cpp:313
JKRExpHeap * mDoExt_getCommandHeap()
Definition m_Do_ext.cpp:754
void mDoExt_setSafeArchiveHeapSize()
Definition m_Do_ext.cpp:781
void mDoExt_setSafeCommandHeapSize()
Definition m_Do_ext.cpp:758
void mDoExt_setupShareTexture(J3DModelData *i_modelData, J3DModelData *i_shareModelData)
Definition m_Do_ext.cpp:553
JUTFont * mDoExt_getRubyFont()
Definition m_Do_ext.cpp:3655
int DummyCheckHeap_isVirgin()
Definition m_Do_ext.cpp:3836
JKRSolidHeap * mDoExt_createSolidHeapFromSystem(u32 i_size, u32 i_alignment)
Definition m_Do_ext.cpp:933
void mDoExt_modelUpdateDL(J3DModel *i_model)
Definition m_Do_ext.cpp:331
void DummyCheckHeap_check()
Definition m_Do_ext.cpp:3846
intptr_t mDoExt_getSafeJ2dHeapSize()
Definition m_Do_ext.cpp:832
JKRExpHeap * mDoExt_createJ2dHeap(u32 heapSize, JKRHeap *parentHeap)
Definition m_Do_ext.cpp:811
u32 mDoExt_adjustSolidHeap(JKRSolidHeap *i_heap)
Definition m_Do_ext.cpp:977
struct _GXTexObj GXTexObj
Definition m_Do_lib.h:6
struct Vec Vec
Definition m_Do_lib.h:8
Definition m_Do_ext.h:20
u8 HeapAdjustQuiet
Definition m_Do_ext.cpp:30
u8 CurrentHeapAdjustVerbose
Definition m_Do_ext.cpp:28
u8 HeapAdjustVerbose
Definition m_Do_ext.cpp:29
Definition c_xyz.h:7
Definition m_Do_ext.h:480
s8 z
Definition m_Do_ext.h:483
s8 y
Definition m_Do_ext.h:482
s8 x
Definition m_Do_ext.h:481
Definition m_Do_ext.h:486
f32 field_0x0
Definition m_Do_ext.h:487
f32 field_0x4
Definition m_Do_ext.h:488
Definition m_Do_ext.h:321
virtual void calc()
Definition m_Do_ext.cpp:1130
mDoExt_MtxCalcOldFrame * mOldFrame
Definition m_Do_ext.h:330
mDoExt_MtxCalcAnmBlendTblOld(mDoExt_MtxCalcOldFrame *oldFrame, int num, mDoExt_AnmRatioPack *anmRatio)
Definition m_Do_ext.h:322
virtual ~mDoExt_MtxCalcAnmBlendTblOld()
Definition m_Do_ext.h:327
Definition m_Do_ext.h:296
virtual void calc()
Definition m_Do_ext.cpp:1090
f32 getRatio(int i)
Definition m_Do_ext.h:310
virtual ~mDoExt_MtxCalcAnmBlendTbl()
Definition m_Do_ext.h:312
int mNum
Definition m_Do_ext.h:315
mDoExt_MtxCalcAnmBlendTbl(int num, mDoExt_AnmRatioPack *anmRatio)
Definition m_Do_ext.h:297
J3DAnmTransform * getAnm(int i)
Definition m_Do_ext.h:309
mDoExt_AnmRatioPack * mAnmRatio
Definition m_Do_ext.h:316