Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
J3DAnimation.h
Go to the documentation of this file.
1#ifndef J3DANIMATION_H
2#define J3DANIMATION_H
3
6#include "global.h"
7
9 /* 0x0 */ u32 mType;
10 /* 0x4 */ u32 mSize;
11
12 const JUTDataBlockHeader* getNext() const { // fake inline
13 return reinterpret_cast<const JUTDataBlockHeader*>(reinterpret_cast<const u8*>(this) +
14 mSize);
15 }
16};
17
18struct JUTDataFileHeader { // actual struct name unknown
19 /* 0x00 */ u32 mMagic;
20 /* 0x04 */ u32 mType;
21 /* 0x08 */ u32 mFileSize;
22 /* 0x0C */ u32 mBlockNum;
23 /* 0x10 */ u8 _10[0x1C - 0x10];
24 /* 0x1C */ u32 mSeAnmOffset; // Only exists for some BCKs
26};
27
28// unknown name. refers to ANK1 chunk of BCK files
30 /* 0x00 */ u32 magic;
31 /* 0x04 */ u32 size;
32 /* 0x08 */ u8 attribute;
33 /* 0x09 */ u8 rotation_frac;
34 /* 0x0A */ s16 duration;
35 /* 0x0C */ s16 keyframe_num;
36 /* 0x0E */ s16 scale_entries;
39 /* 0x14 */ u32 anm_data_offset;
43};
44
45typedef struct _GXColor GXColor;
46typedef struct _GXColorS10 GXColorS10;
47
53 /* 0x00 */ u16 mMaxFrame;
54 /* 0x02 */ u16 mOffset;
55 /* 0x04 */ u16 mType;
56}; // Size = 0x6
57
68
74 /* 0x00 */ u16 mNum;
75 /* 0x04 */ void* mpData;
76};
77
83 /* 0x00 */ u16 mRMaxFrame;
84 /* 0x02 */ u16 mROffset;
85 /* 0x04 */ u16 mGMaxFrame;
86 /* 0x06 */ u16 mGOffset;
87 /* 0x08 */ u16 mBMaxFrame;
88 /* 0x0A */ u16 mBOffset;
89 /* 0x0C */ u16 mAMaxFrame;
90 /* 0x0E */ u16 mAOffset;
91}; // Size = 0x10
92
100}; // Size = 0x4
101
111
117 /* 0x00 */ u16 mScaleMaxFrame;
118 /* 0x02 */ u16 mScaleOffset;
123}; // Size = 0xC
124
130 /* 0x00 */ u16 mMaxFrame;
131 /* 0x02 */ u16 mOffset;
132 /* 0x04 */ u8 mTexNo;
133 /* 0x06 */ u16 _6;
134}; // Size = 0x8
135
148
161
166struct J3DAnmDataBlockHeader { // actual name unknown
167 /* 0x0 */ u32 mType;
168 /* 0x4 */ u32 mNextOffset;
169}; // Size = 0x8
170
175struct J3DAnmDataHeader { // actual name unknown
176 /* 0x00 */ u32 mMagic;
177 /* 0x04 */ u32 mType;
178 /* 0x08 */ u8 _8[4];
179 /* 0x0C */ u32 mCount;
180 /* 0x10 */ u8 _10[0x20 - 0x10];
182};
183
190 /* 0x08 */ u8 field_0x8;
191 /* 0x09 */ u8 field_0x9; // padding?
192 /* 0x0A */ s16 mFrameMax;
193 /* 0x0C */ u16 mAnmTableNum[2];
194 /* 0x10 */ u8 field_0x10[0x18 - 0x10];
195 /* 0x18 */ void* mTableOffsets[2];
196 /* 0x20 */ void* mVtxColorIndexDataOffsets[2];
197 /* 0x28 */ void* mVtxColorIndexPointerOffsets[2];
198 /* 0x30 */ void* mRValuesOffset;
199 /* 0x34 */ void* mGValuesOffset;
200 /* 0x38 */ void* mBValuesOffset;
201 /* 0x3C */ void* mAValuesOffset;
202}; // Size = 0x40
203
205
212 /* 0x08 */ u8 field_0x8;
213 /* 0x09 */ u8 field_0x9; // padding?
214 /* 0x0A */ s16 mFrameMax;
215 /* 0x0C */ u16 field_0xc;
216 /* 0x0E */ u16 field_0xe;
217 /* 0x10 */ void* mTableOffset;
218 /* 0x14 */ void* mValuesOffset;
219}; // Size = 0x18
220
222
229 /* 0x08 */ u8 field_0x8;
230 /* 0x09 */ u8 field_0x9;
231 /* 0x0A */ s16 mFrameMax;
232 /* 0x0C */ u16 field_0xc;
233 /* 0x0E */ u8 field_0xe[0x14 - 0xe];
234 /* 0x14 */ void* mTableOffset;
235 /* 0x18 */ void* mScaleValOffset;
236 /* 0x1C */ void* mRotValOffset;
237 /* 0x20 */ void* mTransValOffset;
238}; // Size = 0x24
239
241
248 /* 0x08 */ u8 field_0x8;
249 /* 0x09 */ u8 field_0x9[3];
250 /* 0x0C */ s16 mFrameMax;
252 /* 0x10 */ u16 field_0x10;
253 /* 0x12 */ u16 field_0x12;
254 /* 0x14 */ u16 field_0x14;
255 /* 0x16 */ u16 field_0x16;
256 /* 0x18 */ void* mTableOffset;
257 /* 0x1C */ void* mUpdateMaterialIDOffset;
258 /* 0x20 */ void* mNameTabOffset;
259 /* 0x24 */ void* mRValOffset;
260 /* 0x28 */ void* mGValOffset;
261 /* 0x2C */ void* mBValOffset;
262 /* 0x30 */ void* mAValOffset;
263}; // Size = 0x34
264
266
273 /* 0x08 */ u8 field_0x8;
274 /* 0x09 */ u8 field_0x9;
275 /* 0x0A */ s16 field_0xa;
276 /* 0x0C */ u16 field_0xc;
277 /* 0x0E */ u16 field_0xe;
278 /* 0x10 */ u16 field_0x10;
279 /* 0x12 */ u16 field_0x12;
280 /* 0x14 */ void* mTableOffset;
281 /* 0x18 */ void* mUpdateMatIDOffset;
282 /* 0x1C */ void* mNameTab1Offset;
283 /* 0x20 */ void* mUpdateTexMtxIDOffset;
284 /* 0x24 */ void* unkOffset;
285 /* 0x28 */ void* mScaleValOffset;
286 /* 0x2C */ void* mRotValOffset;
287 /* 0x30 */ void* mTransValOffset;
288 /* 0x34 */ u16 field_0x34;
289 /* 0x36 */ u16 field_0x36;
290 /* 0x38 */ u16 field_0x38;
291 /* 0x3A */ u16 field_0x3a;
292 /* 0x3C */ void* mInfoTable2Offset;
293 /* 0x40 */ void* field_0x40;
294 /* 0x44 */ void* mNameTab2Offset;
295 /* 0x48 */ void* field_0x48;
296 /* 0x4C */ void* field_0x4c;
297 /* 0x50 */ void* field_0x50;
298 /* 0x54 */ void* field_0x54;
299 /* 0x58 */ void* field_0x58;
300 /* 0x5C */ s32 field_0x5c;
301}; // Size = 0x60
302
304
311 /* 0x08 */ u8 field_0x8;
312 /* 0x09 */ u8 field_0x9;
313 /* 0x0A */ s16 mFrameMax;
314 /* 0x0C */ u16 mAnmTableNum[2];
315 /* 0x10 */ u8 field_0x10[0x18 - 0x10];
316 /* 0x18 */ void* mTableOffsets[2];
317 /* 0x20 */ void* mVtxColoIndexDataOffset[2];
318 /* 0x28 */ void* mVtxColoIndexPointerOffset[2];
319 /* 0x30 */ void* mRValOffset;
320 /* 0x34 */ void* mGValOffset;
321 /* 0x38 */ void* mBValOffset;
322 /* 0x3C */ void* mAValOffset;
323}; // Size = 0x40
324
326
333 /* 0x08 */ u8 field_0x8;
334 /* 0x09 */ u8 field_0x9;
335 /* 0x0A */ s16 mFrameMax;
336 /* 0x0C */ u16 field_0xc;
337 /* 0x0E */ u16 field_0xe;
338 /* 0x10 */ void* mTableOffset;
339 /* 0x14 */ void* mValuesOffset;
340 /* 0x18 */ void* mUpdateMaterialIDOffset;
341 /* 0x1C */ void* mNameTabOffset;
342}; // Size = 0x20
343
345
352 /* 0x08 */ u8 field_0x8;
353 /* 0x09 */ u8 field_0x9; // maybe padding
354 /* 0x0A */ s16 mFrameMax;
357 /* 0x10 */ u16 field_0x10;
358 /* 0x12 */ u16 field_0x12;
359 /* 0x14 */ u16 field_0x14;
360 /* 0x16 */ u16 field_0x16;
361 /* 0x18 */ u16 field_0x18;
362 /* 0x1A */ u16 field_0x1a;
363 /* 0x1C */ u16 field_0x1c;
364 /* 0x1E */ u16 field_0x1e;
365 /* 0x20 */ void* mCRegTableOffset;
366 /* 0x24 */ void* mKRegTableOffset;
369 /* 0x30 */ void* mCRegNameTabOffset;
370 /* 0x34 */ void* mKRegNameTabOffset;
371 /* 0x38 */ void* mCRValuesOffset;
372 /* 0x3C */ void* mCGValuesOffset;
373 /* 0x40 */ void* mCBValuesOffset;
374 /* 0x44 */ void* mCAValuesOffset;
375 /* 0x48 */ void* mKRValuesOffset;
376 /* 0x4C */ void* mKGValuesOffset;
377 /* 0x50 */ void* mKBValuesOffset;
378 /* 0x54 */ void* mKAValuesOffset;
379}; // Size = 0x58
380
382
387struct J3DAnmColorFullData { /* PlaceHolder Structure */
389 /* 0x08 */ u8 field_0x8;
390 /* 0x09 */ u8 field_0x9[3];
391 /* 0x0C */ s16 mFrameMax;
393 /* 0x10 */ u8 field_0x10[0x18 - 0x10];
394 /* 0x18 */ void* mTableOffset;
395 /* 0x1C */ void* mUpdateMaterialIDOffset;
396 /* 0x20 */ void* mNameTabOffset;
397 /* 0x24 */ void* mRValuesOffset;
398 /* 0x28 */ void* mGValuesOffset;
399 /* 0x2C */ void* mBValuesOffset;
400 /* 0x30 */ void* mAValuesOffset;
401}; // Size = 0x34
402
404
412
419 /* 0x08 */ u8 field_0x8;
420 /* 0x09 */ u8 field_0x9;
421 /* 0x0A */ s16 mFrameMax;
422 /* 0x0C */ u16 field_0xc;
423 /* 0x10 */ int field_0x10;
424 /* 0x14 */ void* mTableOffset;
425 /* 0x18 */ void* field_0x18;
426 /* 0x1c */ void* field_0x1c;
427 /* 0x20 */ void* field_0x20;
428};
429
436 /* 0x08 */ u8 field_0x8;
437 /* 0x0A */ s16 mFrameMax;
438 /* 0x0C */ s32 field_0xc;
439 /* 0x10 */ void* mTableOffset;
440 /* 0x14 */ void* mWeightOffset;
441};
442
449 /* 0x08 */ u8 field_0x8;
450 /* 0x0A */ s16 mFrameMax;
451 /* 0x0C */ s32 field_0xc;
452 /* 0x10 */ void* mTableOffset;
453 /* 0x14 */ void* mWeightOffset;
454};
455
464
470public:
472 mAttribute = 0;
473 field_0x5 = 0;
474 mFrameMax = 0;
475 mFrame = 0.0f;
476 }
477
478 J3DAnmBase(s16 i_frameMax) {
479 mAttribute = 0;
480 field_0x5 = 0;
481 mFrameMax = i_frameMax;
482 mFrame = 0.0f;
483 }
484
485 virtual ~J3DAnmBase() {}
486 virtual s32 getKind() const = 0;
487
488 u8 getAttribute() const { return mAttribute; }
489 s16 getFrameMax() const { return mFrameMax; }
490 f32 getFrame() const { return mFrame; }
491 void setFrame(f32 frame) { mFrame = frame; }
492
493 /* 0x4 */ u8 mAttribute;
494 /* 0x5 */ u8 field_0x5;
495 /* 0x6 */ s16 mFrameMax;
496 /* 0x8 */ f32 mFrame;
497}; // Size: 0xC
498
503class J3DAnmTransform : public J3DAnmBase {
504public:
505 /* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*);
506
507 /* 8003B93C */ virtual ~J3DAnmTransform() {}
508 /* 8003C77C */ virtual s32 getKind() const { return 0; }
509 virtual void getTransform(u16, J3DTransformInfo*) const = 0;
510
511 /* 0x0C */ f32* mScaleData;
512 /* 0x10 */ s16* mRotData;
513 /* 0x14 */ f32* mTransData;
514 /* 0x18 */ s16 field_0x18;
515 /* 0x1A */ s16 field_0x1a;
516 /* 0x1C */ u16 field_0x1c;
517 /* 0x1E */ s16 field_0x1e;
518}; // Size: 0x20
519
524class J3DAnmTransformKey : public J3DAnmTransform {
525public:
526 J3DAnmTransformKey() : J3DAnmTransform(0, NULL, NULL, NULL) {
527 mDecShift = 0;
528 mAnmTable = 0;
529 }
530
531 /* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const;
532
533 /* 8003B8D0 */ virtual ~J3DAnmTransformKey() {}
534 /* 8003C800 */ virtual s32 getKind() const { return 8; }
535 /* 8003C808 */ virtual void getTransform(u16 param_0, J3DTransformInfo* param_1) const {
536 calcTransform(mFrame, param_0, param_1);
537 }
538
539 /* 0x20 */ int mDecShift;
541}; // Size: 0x28
542
548public:
549 J3DAnmTransformFull() : J3DAnmTransform(0, NULL, NULL, NULL) { mAnmTable = NULL; }
550
551 /* 8032C2AC */ virtual ~J3DAnmTransformFull() {}
552 /* 8032C318 */ virtual s32 getKind() const { return 9; }
553 /* 80328E90 */ virtual void getTransform(u16, J3DTransformInfo*) const;
554
556}; // Size: 0x24
557
563public:
564 /* 8032C228 */ virtual ~J3DAnmTransformFullWithLerp() {}
565 /* 8032C2A4 */ virtual s32 getKind() const { return 16; }
566 /* 803291F0 */ virtual void getTransform(u16, J3DTransformInfo*) const;
567}; // Size: 0x24
568
569struct J3DTextureSRTInfo;
570class J3DModelData;
571class J3DMaterialTable;
572
577class J3DAnmTextureSRTKey : public J3DAnmBase {
578public:
579 /* 80329E5C */ J3DAnmTextureSRTKey();
580 /* 80329F14 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const;
581 /* 8032B0C0 */ void searchUpdateMaterialID(J3DMaterialTable*);
582 /* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
583
584 /* 8032C198 */ virtual ~J3DAnmTextureSRTKey() {}
585 /* 8032C220 */ virtual s32 getKind() const { return 4; }
586
587 void getTransform(u16 param_0, J3DTextureSRTInfo* pSRTInfo) const {
588 calcTransform(getFrame(), param_0, pSRTInfo);
589 }
590
591 u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; }
592 u16 getUpdateMaterialNum() const { return mTrackNum / 3; }
593
594 int getUpdateTexMtxID(u16 idx) { return mUpdateTexMtxID[idx]; }
595 bool isValidUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx] != 0xffff; }
597 Vec* getSRTCenter(u16 idx) { return &mSRTCenter[idx]; }
598
599 /* 0x0C */ int mDecShift;
601 /* 0x14 */ u16 mTrackNum;
602 /* 0x16 */ u16 mScaleNum;
603 /* 0x18 */ u16 mRotNum;
604 /* 0x1A */ u16 mTransNum;
605 /* 0x1C */ f32* mScaleData;
606 /* 0x20 */ s16* mRotData;
607 /* 0x24 */ f32* mTransData;
608 /* 0x28 */ u8* mUpdateTexMtxID;
611 /* 0x40 */ Vec* mSRTCenter;
612 /* 0x44 */ u16 field_0x44;
613 /* 0x46 */ u16 field_0x46;
614 /* 0x48 */ u16 field_0x48;
615 /* 0x4A */ u16 field_0x4a;
616 /* 0x4C */ void* field_0x4c;
617 /* 0x50 */ void* field_0x50;
618 /* 0x54 */ void* field_0x54;
619 /* 0x58 */ void* field_0x58;
623 /* 0x74 */ Vec* mPostSRTCenter;
625}; // Size: 0x7C
626
631class J3DAnmTexPattern : public J3DAnmBase {
632public:
633 /* 8032AED8 */ J3DAnmTexPattern();
634 /* 8032AF50 */ void getTexNo(u16, u16*) const;
635 /* 8032B004 */ void searchUpdateMaterialID(J3DMaterialTable*);
636 /* 8032B09C */ void searchUpdateMaterialID(J3DModelData*);
637
638 /* 8032BD20 */ virtual ~J3DAnmTexPattern() {}
639 /* 8032BD94 */ virtual s32 getKind() const { return 2; }
640
641 u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; }
643 bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
645
646 /* 0x0C */ u16* mTextureIndex;
648 /* 0x14 */ u16 field_0x14;
652}; // Size: 0x2C
653
659public:
660 /* 8032AE18 */ J3DAnmTevRegKey();
661 /* 8032B1F8 */ void getTevColorReg(u16, _GXColorS10*) const;
662 /* 8032B4BC */ void getTevKonstReg(u16, _GXColor*) const;
663 /* 8032B780 */ void searchUpdateMaterialID(J3DMaterialTable*);
664 /* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
665
666 /* 8032BD9C */ virtual ~J3DAnmTevRegKey() {}
667 /* 8032BE24 */ virtual s32 getKind() const { return 5; }
668
671
674
677
678 bool isValidCRegUpdateMaterialID(u16 idx) { return mCRegUpdateMaterialID[idx] != 0xffff; }
679 bool isValidKRegUpdateMaterialID(u16 idx) { return mKRegUpdateMaterialID[idx] != 0xffff; }
680
697 /* 0x50 */ s16* mAnmCRegDataR;
698 /* 0x54 */ s16* mAnmCRegDataG;
699 /* 0x58 */ s16* mAnmCRegDataB;
700 /* 0x5C */ s16* mAnmCRegDataA;
701 /* 0x60 */ s16* mAnmKRegDataR;
702 /* 0x64 */ s16* mAnmKRegDataG;
703 /* 0x68 */ s16* mAnmKRegDataB;
704 /* 0x6C */ s16* mAnmKRegDataA;
705}; // Size: 0x70
706
711class J3DAnmColor : public J3DAnmBase {
712public:
713 /* 8032A828 */ J3DAnmColor();
714 /* 8032A8A4 */ void searchUpdateMaterialID(J3DMaterialTable*);
715
716 /* 8032BCAC */ virtual ~J3DAnmColor() {}
717 /* 8032BF44 */ virtual s32 getKind() const { return 1; }
718 /* 8032BF4C */ virtual void getColor(u16, GXColor*) const {}
719
721 bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
722 u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; }
723
724 /* 0x0C */ u16 field_0xc;
725 /* 0x0E */ u16 field_0xe;
726 /* 0x10 */ u16 field_0x10;
727 /* 0x12 */ u16 field_0x12;
731}; // Size: 0x2C
732
738public:
739 /* 8032AB00 */ J3DAnmColorKey();
740
741 /* 8032BE2C */ virtual ~J3DAnmColorKey() {}
742 /* 8032BEB0 */ virtual s32 getKind() const { return 11; }
743 /* 8032AB54 */ virtual void getColor(u16, GXColor*) const;
744
745 /* 0x2C */ s16* mColorR;
746 /* 0x30 */ s16* mColorG;
747 /* 0x34 */ s16* mColorB;
748 /* 0x38 */ s16* mColorA;
750};
751
757public:
758 /* 8032AB00 */ J3DAnmColorFull();
759
760 /* 8032BE2C */ virtual ~J3DAnmColorFull() {}
761 /* 8032BEB0 */ virtual s32 getKind() const { return 10; }
762 /* 8032AB54 */ virtual void getColor(u16, GXColor*) const;
763
764 /* 0x2C */ u8* mColorR;
765 /* 0x30 */ u8* mColorG;
766 /* 0x34 */ u8* mColorB;
767 /* 0x38 */ u8* mColorA;
769};
770
776public:
778
779 virtual ~J3DAnmVtxColor() {}
780 virtual s32 getKind() const { return 7; }
781 virtual void getColor(u8, u16, GXColor*) const {}
782
783 /* 0x0C */ u16 mAnmTableNum[2];
785}; // Size: 0x18
786
792public:
793 /* 8032A4E0 */ J3DAnmVtxColorKey();
794
795 /* 8032BF50 */ virtual ~J3DAnmVtxColorKey() {}
796 /* 8032BFBC */ virtual s32 getKind() const { return 15; }
797 /* 8032A53C */ virtual void getColor(u8, u16, GXColor*) const;
798
800 /* 0x20 */ s16* mColorR;
801 /* 0x24 */ s16* mColorG;
802 /* 0x28 */ s16* mColorB;
803 /* 0x2C */ s16* mColorA;
804};
805
811public:
812 /* 8032A30C */ J3DAnmVtxColorFull();
813
814 /* 8032BFC4 */ virtual ~J3DAnmVtxColorFull() {}
815 /* 8032C030 */ virtual s32 getKind() const { return 14; }
816 /* 8032A368 */ virtual void getColor(u8, u16, GXColor*) const;
817
819 /* 0x20 */ u8* mColorR;
820 /* 0x24 */ u8* mColorG;
821 /* 0x28 */ u8* mColorB;
822 /* 0x2C */ u8* mColorA;
823};
824
829class J3DAnmCluster : public J3DAnmBase {
830public:
831 J3DAnmCluster(s16 param_1, f32* param_2) : J3DAnmBase(param_1) { mWeight = param_2; }
832
833 /* 8032BCAC */ virtual ~J3DAnmCluster() {}
834 /* 8032BF44 */ virtual s32 getKind() const { return 3; }
835 /* 8032BF4C */ virtual f32 getWeight(u16) const { return 1.0f; }
836
837 /* 0x0C */ f32* mWeight;
838}; // Size: 0x10
839
845public:
847
848 /* 8032BCAC */ virtual ~J3DAnmClusterFull() {}
849 /* 8032BF44 */ virtual s32 getKind() const { return 12; }
850 /* 8032BF4C */ virtual f32 getWeight(u16) const;
851
853};
854
860public:
861 J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
862
863 /* 8032C044 */ virtual ~J3DAnmClusterKey() {}
864 /* 8032C0B0 */ virtual s32 getKind() const { return 13; }
865 /* 8032A218 */ virtual f32 getWeight(u16) const;
866
868};
869
875public:
878 field_0xe = 0;
879 mAnmTable = NULL;
880 mVisibility = NULL;
881 }
882
883 /* 8033979C */ virtual ~J3DAnmVisibilityFull() {}
884 /* 803397F8 */ virtual s32 getKind() const { return 6; }
885
887 /* 0x0E */ u16 field_0xe;
889 /* 0x14 */ u8* mVisibility;
890};
891
896class J3DFrameCtrl {
897public:
905
906 J3DFrameCtrl() { this->init(0); }
907 void init(s16);
909 void update();
910 virtual ~J3DFrameCtrl() {}
911
912 u8 getAttribute() const { return mAttribute; }
914 u8 getState() const { return mState; }
915 bool checkState(u8 state) const { return mState & state ? true : false; }
916 s16 getStart() const { return mStart; }
918 mStart = start;
919 mFrame = start;
920 }
921 s16 getEnd() const { return mEnd; }
922 void setEnd(s16 end) { mEnd = end; }
923 s32 getLoop() { return mLoop; }
924 void setLoop(s16 loop) { mLoop = loop; }
925 f32 getRate() const { return mRate; }
926 void setRate(f32 rate) { mRate = rate; }
927 f32 getFrame() const { return mFrame; }
928 void setFrame(f32 frame) { mFrame = frame; }
929 void reset() {
930 mFrame = mStart;
931 mRate = 1.0f;
932 mState = 0;
933 }
934
935 /* 0x04 */ u8 mAttribute;
936 /* 0x05 */ u8 mState;
937 /* 0x06 */ s16 mStart;
938 /* 0x08 */ s16 mEnd;
939 /* 0x0A */ s16 mLoop;
940 /* 0x0C */ f32 mRate;
941 /* 0x10 */ f32 mFrame;
942}; // Size: 0x14
943
946 /* 8000D8EC */ ~J3DMtxCalcAnmBase() {}
947 /* 80014FB8 */ J3DAnmTransform* getAnmTransform() { return mAnmTransform; }
948 /* 80014FC0 */ void setAnmTransform(J3DAnmTransform* param_0) { mAnmTransform = param_0; }
949
951};
952
957
958template <typename A0>
961 void calc(J3DMtxCalcAnmBase* param_0) {
962 J3DTransformInfo transform;
963 J3DTransformInfo* transform_p;
964 if (param_0->getAnmTransform() != NULL) {
965 u16 jnt_no = J3DMtxCalc::getJoint()->getJntNo();
966 param_0->getAnmTransform()->getTransform(jnt_no, &transform);
967 transform_p = &transform;
968 } else {
969 transform_p = &J3DMtxCalc::getJoint()->getTransformInfo();
970 }
971 A0::calcTransform(*transform_p);
972 }
973};
974
975template <typename A0, typename B0>
980 mAnmTransform = param_0;
981 field_0x8.change(param_0);
982 }
983 void init(const Vec& param_0, const Mtx& param_1) { B0::init(param_0, param_1); }
984 void calc() { field_0x8.calc(this); }
985
987};
988
989#endif /* J3DANIMATION_H */
STATIC_ASSERT(sizeof(J3DAnmVtxColorFullData)==0x40)
Definition J3DAnimation.h:469
f32 getFrame() const
Definition J3DAnimation.h:490
u8 field_0x5
Definition J3DAnimation.h:494
s16 getFrameMax() const
Definition J3DAnimation.h:489
f32 mFrame
Definition J3DAnimation.h:496
u8 mAttribute
Definition J3DAnimation.h:493
void setFrame(f32 frame)
Definition J3DAnimation.h:491
J3DAnmBase(s16 i_frameMax)
Definition J3DAnimation.h:478
J3DAnmBase()
Definition J3DAnimation.h:471
virtual ~J3DAnmBase()
Definition J3DAnimation.h:485
u8 getAttribute() const
Definition J3DAnimation.h:488
s16 mFrameMax
Definition J3DAnimation.h:495
virtual s32 getKind() const =0
Definition J3DAnimation.h:844
J3DAnmClusterFull()
Definition J3DAnimation.h:846
virtual s32 getKind() const
Definition J3DAnimation.h:849
J3DAnmClusterFullTable * mAnmTable
Definition J3DAnimation.h:852
virtual ~J3DAnmClusterFull()
Definition J3DAnimation.h:848
virtual f32 getWeight(u16) const
Definition J3DAnimation.cpp:768
Definition J3DAnimation.h:859
J3DAnmClusterKey()
Definition J3DAnimation.h:861
virtual s32 getKind() const
Definition J3DAnimation.h:864
virtual ~J3DAnmClusterKey()
Definition J3DAnimation.h:863
J3DAnmClusterKeyTable * mAnmTable
Definition J3DAnimation.h:867
virtual f32 getWeight(u16) const
Definition J3DAnimation.cpp:782
Definition J3DAnimation.h:829
virtual s32 getKind() const
Definition J3DAnimation.h:834
virtual f32 getWeight(u16) const
Definition J3DAnimation.h:835
J3DAnmCluster(s16 param_1, f32 *param_2)
Definition J3DAnimation.h:831
f32 * mWeight
Definition J3DAnimation.h:837
virtual ~J3DAnmCluster()
Definition J3DAnimation.h:833
Definition J3DAnimation.h:756
u8 * mColorA
Definition J3DAnimation.h:767
u8 * mColorG
Definition J3DAnimation.h:765
u8 * mColorR
Definition J3DAnimation.h:764
u8 * mColorB
Definition J3DAnimation.h:766
J3DAnmColorFullTable * mAnmTable
Definition J3DAnimation.h:768
virtual ~J3DAnmColorFull()
Definition J3DAnimation.h:760
J3DAnmColorFull()
Definition J3DAnimation.cpp:951
virtual s32 getKind() const
Definition J3DAnimation.h:761
virtual void getColor(u16, GXColor *) const
Definition J3DAnimation.cpp:960
Definition J3DAnimation.h:737
J3DAnmColorKey()
Definition J3DAnimation.cpp:993
s16 * mColorG
Definition J3DAnimation.h:746
J3DAnmColorKeyTable * mAnmTable
Definition J3DAnimation.h:749
virtual ~J3DAnmColorKey()
Definition J3DAnimation.h:741
virtual s32 getKind() const
Definition J3DAnimation.h:742
s16 * mColorR
Definition J3DAnimation.h:745
s16 * mColorB
Definition J3DAnimation.h:747
s16 * mColorA
Definition J3DAnimation.h:748
virtual void getColor(u16, GXColor *) const
Definition J3DAnimation.cpp:1002
Definition J3DAnimation.h:711
bool isValidUpdateMaterialID(u16 id) const
Definition J3DAnimation.h:721
virtual ~J3DAnmColor()
Definition J3DAnimation.h:716
u16 * mUpdateMaterialID
Definition J3DAnimation.h:729
u16 field_0x10
Definition J3DAnimation.h:726
virtual void getColor(u16, GXColor *) const
Definition J3DAnimation.h:718
virtual s32 getKind() const
Definition J3DAnimation.h:717
u16 field_0xe
Definition J3DAnimation.h:725
u16 field_0xc
Definition J3DAnimation.h:724
void searchUpdateMaterialID(J3DMaterialTable *)
Definition J3DAnimation.cpp:939
u16 mUpdateMaterialNum
Definition J3DAnimation.h:728
u16 getUpdateMaterialNum() const
Definition J3DAnimation.h:720
u16 getUpdateMaterialID(u16 idx) const
Definition J3DAnimation.h:722
u16 field_0x12
Definition J3DAnimation.h:727
J3DAnmColor()
Definition J3DAnimation.cpp:933
JUTNameTab mUpdateMaterialName
Definition J3DAnimation.h:730
Definition J3DAnimation.h:658
u16 mCRegDataCountG
Definition J3DAnimation.h:684
s16 * mAnmCRegDataA
Definition J3DAnimation.h:700
void searchUpdateMaterialID(J3DMaterialTable *)
Definition J3DAnimation.cpp:1326
u16 getCRegUpdateMaterialNum() const
Definition J3DAnimation.h:669
JUTNameTab mKRegUpdateMaterialName
Definition J3DAnimation.h:694
s16 * mAnmCRegDataR
Definition J3DAnimation.h:697
JUTNameTab mCRegUpdateMaterialName
Definition J3DAnimation.h:692
u16 mKRegDataCountA
Definition J3DAnimation.h:690
u16 * mCRegUpdateMaterialID
Definition J3DAnimation.h:691
s16 * mAnmKRegDataB
Definition J3DAnimation.h:703
J3DAnmKRegKeyTable * mAnmKRegKeyTable
Definition J3DAnimation.h:696
u16 mKRegDataCountB
Definition J3DAnimation.h:689
u16 mKRegDataCountR
Definition J3DAnimation.h:687
s16 * mAnmCRegDataG
Definition J3DAnimation.h:698
u16 mKRegUpdateMaterialNum
Definition J3DAnimation.h:682
s16 * mAnmCRegDataB
Definition J3DAnimation.h:699
virtual s32 getKind() const
Definition J3DAnimation.h:667
s16 * mAnmKRegDataG
Definition J3DAnimation.h:702
s16 * mAnmKRegDataA
Definition J3DAnimation.h:704
J3DAnmCRegKeyTable * mAnmCRegKeyTable
Definition J3DAnimation.h:695
u16 * mKRegUpdateMaterialID
Definition J3DAnimation.h:693
const J3DAnmKRegKeyTable * getAnmKRegKeyTable() const
Definition J3DAnimation.h:676
void getTevColorReg(u16, _GXColorS10 *) const
Definition J3DAnimation.cpp:1168
u16 mCRegUpdateMaterialNum
Definition J3DAnimation.h:681
u16 mCRegDataCountR
Definition J3DAnimation.h:683
s16 * mAnmKRegDataR
Definition J3DAnimation.h:701
virtual ~J3DAnmTevRegKey()
Definition J3DAnimation.h:666
u16 getKRegUpdateMaterialID(u16 idx) const
Definition J3DAnimation.h:673
u16 getKRegUpdateMaterialNum() const
Definition J3DAnimation.h:670
u16 mKRegDataCountG
Definition J3DAnimation.h:688
bool isValidCRegUpdateMaterialID(u16 idx)
Definition J3DAnimation.h:678
u16 getCRegUpdateMaterialID(u16 idx) const
Definition J3DAnimation.h:672
const J3DAnmCRegKeyTable * getAnmCRegKeyTable() const
Definition J3DAnimation.h:675
J3DAnmTevRegKey()
Definition J3DAnimation.cpp:1080
bool isValidKRegUpdateMaterialID(u16 idx)
Definition J3DAnimation.h:679
void getTevKonstReg(u16, _GXColor *) const
Definition J3DAnimation.cpp:1247
u16 mCRegDataCountB
Definition J3DAnimation.h:685
u16 mCRegDataCountA
Definition J3DAnimation.h:686
Definition J3DAnimation.h:562
virtual s32 getKind() const
Definition J3DAnimation.h:565
virtual void getTransform(u16, J3DTransformInfo *) const
Definition J3DAnimation.cpp:301
virtual ~J3DAnmTransformFullWithLerp()
Definition J3DAnimation.h:564
Definition J3DAnimation.h:547
J3DAnmTransformFullTable * mAnmTable
Definition J3DAnimation.h:555
J3DAnmTransformFull()
Definition J3DAnimation.h:549
virtual void getTransform(u16, J3DTransformInfo *) const
Definition J3DAnimation.cpp:228
virtual s32 getKind() const
Definition J3DAnimation.h:552
virtual ~J3DAnmTransformFull()
Definition J3DAnimation.h:551
Definition J3DAnimation.h:874
u8 * mVisibility
Definition J3DAnimation.h:889
virtual ~J3DAnmVisibilityFull()
Definition J3DAnimation.h:883
J3DAnmVisibilityFull()
Definition J3DAnimation.h:876
J3DAnmVisibilityFullTable * mAnmTable
Definition J3DAnimation.h:888
virtual s32 getKind() const
Definition J3DAnimation.h:884
u16 mUpdateMaterialNum
Definition J3DAnimation.h:886
u16 field_0xe
Definition J3DAnimation.h:887
Definition J3DAnimation.h:810
J3DAnmColorFullTable * mpTable[2]
Definition J3DAnimation.h:818
u8 * mColorR
Definition J3DAnimation.h:819
u8 * mColorA
Definition J3DAnimation.h:822
virtual void getColor(u8, u16, GXColor *) const
Definition J3DAnimation.cpp:814
virtual ~J3DAnmVtxColorFull()
Definition J3DAnimation.h:814
u8 * mColorG
Definition J3DAnimation.h:820
u8 * mColorB
Definition J3DAnimation.h:821
J3DAnmVtxColorFull()
Definition J3DAnimation.cpp:806
virtual s32 getKind() const
Definition J3DAnimation.h:815
Definition J3DAnimation.h:791
virtual ~J3DAnmVtxColorKey()
Definition J3DAnimation.h:795
virtual s32 getKind() const
Definition J3DAnimation.h:796
virtual void getColor(u8, u16, GXColor *) const
Definition J3DAnimation.cpp:855
s16 * mColorB
Definition J3DAnimation.h:802
s16 * mColorR
Definition J3DAnimation.h:800
J3DAnmVtxColorKey()
Definition J3DAnimation.cpp:847
J3DAnmColorKeyTable * mpTable[2]
Definition J3DAnimation.h:799
s16 * mColorG
Definition J3DAnimation.h:801
s16 * mColorA
Definition J3DAnimation.h:803
Definition J3DAnimation.h:775
virtual ~J3DAnmVtxColor()
Definition J3DAnimation.h:779
J3DAnmVtxColorIndexData * mAnmVtxColorIndexData[2]
Definition J3DAnimation.h:784
virtual s32 getKind() const
Definition J3DAnimation.h:780
u16 mAnmTableNum[2]
Definition J3DAnimation.h:783
virtual void getColor(u8, u16, GXColor *) const
Definition J3DAnimation.h:781
J3DAnmVtxColor()
Definition J3DAnimation.cpp:795
Definition JUTNameTab.h:27
static void end(b_oh_class *i_this)
Definition d_a_b_oh.cpp:527
static SECTION_RODATA u8 const id[8]
Definition d_a_npc_bans.cpp:1309
static const Attr & attr()
Definition d_a_obj_ladder.cpp:135
static initFunc init[]
Definition d_menu_collect.cpp:42
f32 Mtx[3][4]
Definition mtx.h:22
@ start
Definition strtoul.c:8
Definition J3DAnimation.h:140
J3DAnmKeyTableBase mBTable
Definition J3DAnimation.h:143
J3DAnmKeyTableBase mRTable
Definition J3DAnimation.h:141
J3DAnmKeyTableBase mATable
Definition J3DAnimation.h:144
u8 padding[3]
Definition J3DAnimation.h:146
J3DAnmKeyTableBase mGTable
Definition J3DAnimation.h:142
u8 mColorId
Definition J3DAnimation.h:145
Definition J3DAnimation.h:447
s16 mFrameMax
Definition J3DAnimation.h:450
u8 field_0x8
Definition J3DAnimation.h:449
JUTDataBlockHeader mHeader
Definition J3DAnimation.h:448
void * mTableOffset
Definition J3DAnimation.h:452
void * mWeightOffset
Definition J3DAnimation.h:453
s32 field_0xc
Definition J3DAnimation.h:451
Definition J3DAnimation.h:460
u16 mMaxFrame
Definition J3DAnimation.h:461
u16 mOffset
Definition J3DAnimation.h:462
Definition J3DAnimation.h:434
s32 field_0xc
Definition J3DAnimation.h:438
u8 field_0x8
Definition J3DAnimation.h:436
void * mTableOffset
Definition J3DAnimation.h:439
s16 mFrameMax
Definition J3DAnimation.h:437
void * mWeightOffset
Definition J3DAnimation.h:440
JUTDataBlockHeader mHeader
Definition J3DAnimation.h:435
Definition J3DAnimation.h:409
J3DAnmKeyTableBase mWeightTable
Definition J3DAnimation.h:410
Definition J3DAnimation.h:387
void * mNameTabOffset
Definition J3DAnimation.h:396
u16 mUpdateMaterialNum
Definition J3DAnimation.h:392
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:388
u8 field_0x10[0x18 - 0x10]
Definition J3DAnimation.h:393
void * mTableOffset
Definition J3DAnimation.h:394
s16 mFrameMax
Definition J3DAnimation.h:391
void * mGValuesOffset
Definition J3DAnimation.h:398
void * mUpdateMaterialIDOffset
Definition J3DAnimation.h:395
void * mBValuesOffset
Definition J3DAnimation.h:399
void * mRValuesOffset
Definition J3DAnimation.h:397
void * mAValuesOffset
Definition J3DAnimation.h:400
u8 field_0x9[3]
Definition J3DAnimation.h:390
u8 field_0x8
Definition J3DAnimation.h:389
Definition J3DAnimation.h:82
u16 mGMaxFrame
Definition J3DAnimation.h:85
u16 mBOffset
Definition J3DAnimation.h:88
u16 mAOffset
Definition J3DAnimation.h:90
u16 mGOffset
Definition J3DAnimation.h:86
u16 mAMaxFrame
Definition J3DAnimation.h:89
u16 mBMaxFrame
Definition J3DAnimation.h:87
u16 mRMaxFrame
Definition J3DAnimation.h:83
u16 mROffset
Definition J3DAnimation.h:84
Definition J3DAnimation.h:246
u16 field_0x10
Definition J3DAnimation.h:252
u8 field_0x8
Definition J3DAnimation.h:248
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:247
s16 mFrameMax
Definition J3DAnimation.h:250
u16 mUpdateMaterialNum
Definition J3DAnimation.h:251
u16 field_0x14
Definition J3DAnimation.h:254
void * mTableOffset
Definition J3DAnimation.h:256
void * mGValOffset
Definition J3DAnimation.h:260
void * mUpdateMaterialIDOffset
Definition J3DAnimation.h:257
u16 field_0x16
Definition J3DAnimation.h:255
void * mRValOffset
Definition J3DAnimation.h:259
void * mBValOffset
Definition J3DAnimation.h:261
void * mNameTabOffset
Definition J3DAnimation.h:258
u8 field_0x9[3]
Definition J3DAnimation.h:249
u16 field_0x12
Definition J3DAnimation.h:253
void * mAValOffset
Definition J3DAnimation.h:262
Definition J3DAnimation.h:62
J3DAnmKeyTableBase mGInfo
Definition J3DAnimation.h:64
J3DAnmKeyTableBase mRInfo
Definition J3DAnimation.h:63
J3DAnmKeyTableBase mAInfo
Definition J3DAnimation.h:66
J3DAnmKeyTableBase mBInfo
Definition J3DAnimation.h:65
Definition J3DAnimation.h:166
u32 mType
Definition J3DAnimation.h:167
u32 mNextOffset
Definition J3DAnimation.h:168
Definition J3DAnimation.h:175
J3DAnmDataBlockHeader mFirst
Definition J3DAnimation.h:181
u32 mCount
Definition J3DAnimation.h:179
u8 _10[0x20 - 0x10]
Definition J3DAnimation.h:180
u8 _8[4]
Definition J3DAnimation.h:178
u32 mMagic
Definition J3DAnimation.h:176
u32 mType
Definition J3DAnimation.h:177
Definition J3DAnimation.h:153
J3DAnmKeyTableBase mRTable
Definition J3DAnimation.h:154
u8 mColorId
Definition J3DAnimation.h:158
J3DAnmKeyTableBase mATable
Definition J3DAnimation.h:157
J3DAnmKeyTableBase mBTable
Definition J3DAnimation.h:156
J3DAnmKeyTableBase mGTable
Definition J3DAnimation.h:155
u8 padding[3]
Definition J3DAnimation.h:159
Definition J3DAnimation.h:52
u16 mType
Definition J3DAnimation.h:55
u16 mOffset
Definition J3DAnimation.h:54
u16 mMaxFrame
Definition J3DAnimation.h:53
Definition J3DAnimation.h:350
void * mKRValuesOffset
Definition J3DAnimation.h:375
u16 field_0x14
Definition J3DAnimation.h:359
u16 field_0x16
Definition J3DAnimation.h:360
void * mCRValuesOffset
Definition J3DAnimation.h:371
void * mKAValuesOffset
Definition J3DAnimation.h:378
u16 mCRegUpdateMaterialNum
Definition J3DAnimation.h:355
void * mCBValuesOffset
Definition J3DAnimation.h:373
void * mKRegNameTabOffset
Definition J3DAnimation.h:370
void * mKRegUpdateMaterialIDOffset
Definition J3DAnimation.h:368
void * mKBValuesOffset
Definition J3DAnimation.h:377
u16 field_0x18
Definition J3DAnimation.h:361
u16 mKRegUpdateMaterialNum
Definition J3DAnimation.h:356
void * mKGValuesOffset
Definition J3DAnimation.h:376
u16 field_0x1e
Definition J3DAnimation.h:364
void * mCRegTableOffset
Definition J3DAnimation.h:365
u16 field_0x1a
Definition J3DAnimation.h:362
void * mCGValuesOffset
Definition J3DAnimation.h:372
void * mCAValuesOffset
Definition J3DAnimation.h:374
u16 field_0x10
Definition J3DAnimation.h:357
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:351
u8 field_0x9
Definition J3DAnimation.h:353
u8 field_0x8
Definition J3DAnimation.h:352
void * mKRegTableOffset
Definition J3DAnimation.h:366
u16 field_0x1c
Definition J3DAnimation.h:363
void * mCRegNameTabOffset
Definition J3DAnimation.h:369
u16 field_0x12
Definition J3DAnimation.h:358
s16 mFrameMax
Definition J3DAnimation.h:354
void * mCRegUpdateMaterialIDOffset
Definition J3DAnimation.h:367
Definition J3DAnimation.h:331
void * mTableOffset
Definition J3DAnimation.h:338
u8 field_0x8
Definition J3DAnimation.h:333
u16 field_0xc
Definition J3DAnimation.h:336
void * mNameTabOffset
Definition J3DAnimation.h:341
s16 mFrameMax
Definition J3DAnimation.h:335
u16 field_0xe
Definition J3DAnimation.h:337
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:332
void * mUpdateMaterialIDOffset
Definition J3DAnimation.h:340
u8 field_0x9
Definition J3DAnimation.h:334
void * mValuesOffset
Definition J3DAnimation.h:339
Definition J3DAnimation.h:129
u16 _6
Definition J3DAnimation.h:133
u16 mOffset
Definition J3DAnimation.h:131
u8 mTexNo
Definition J3DAnimation.h:132
u16 mMaxFrame
Definition J3DAnimation.h:130
Definition d_a_hozelda.cpp:36
u16 * mTextureIndex
Definition J3DAnimation.h:646
bool isValidUpdateMaterialID(u16 id) const
Definition J3DAnimation.h:643
void getTexNo(u16, u16 *) const
u16 * mUpdateMaterialID
Definition J3DAnimation.h:650
J3DAnmTexPatternFullTable * mAnmTable
Definition J3DAnimation.h:647
virtual ~J3DAnmTexPattern()
Definition J3DAnimation.h:638
u16 getUpdateMaterialNum() const
Definition J3DAnimation.h:642
u16 getUpdateMaterialID(u16 idx) const
Definition J3DAnimation.h:641
void searchUpdateMaterialID(J3DMaterialTable *)
Definition J3DAnimation.cpp:1122
u16 field_0x14
Definition J3DAnimation.h:648
J3DAnmTexPattern()
Definition J3DAnimation.cpp:1105
JUTNameTab mUpdateMaterialName
Definition J3DAnimation.h:651
J3DAnmTexPatternFullTable * getAnmTable()
Definition J3DAnimation.h:644
u16 mUpdateMaterialNum
Definition J3DAnimation.h:649
virtual s32 getKind() const
Definition J3DAnimation.h:639
Definition J3DAnimation.h:271
void * mNameTab1Offset
Definition J3DAnimation.h:282
u16 field_0xe
Definition J3DAnimation.h:277
s32 field_0x5c
Definition J3DAnimation.h:300
void * mNameTab2Offset
Definition J3DAnimation.h:294
void * mInfoTable2Offset
Definition J3DAnimation.h:292
void * mUpdateTexMtxIDOffset
Definition J3DAnimation.h:283
u16 field_0xc
Definition J3DAnimation.h:276
void * mScaleValOffset
Definition J3DAnimation.h:285
void * unkOffset
Definition J3DAnimation.h:284
void * mRotValOffset
Definition J3DAnimation.h:286
void * field_0x54
Definition J3DAnimation.h:298
void * field_0x48
Definition J3DAnimation.h:295
u16 field_0x10
Definition J3DAnimation.h:278
u16 field_0x38
Definition J3DAnimation.h:290
s16 field_0xa
Definition J3DAnimation.h:275
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:272
u16 field_0x12
Definition J3DAnimation.h:279
void * mTransValOffset
Definition J3DAnimation.h:287
void * field_0x40
Definition J3DAnimation.h:293
u8 field_0x9
Definition J3DAnimation.h:274
void * field_0x58
Definition J3DAnimation.h:299
void * field_0x4c
Definition J3DAnimation.h:296
void * mUpdateMatIDOffset
Definition J3DAnimation.h:281
u16 field_0x36
Definition J3DAnimation.h:289
u16 field_0x3a
Definition J3DAnimation.h:291
void * field_0x50
Definition J3DAnimation.h:297
void * mTableOffset
Definition J3DAnimation.h:280
u16 field_0x34
Definition J3DAnimation.h:288
u8 field_0x8
Definition J3DAnimation.h:273
Definition d_a_hozelda.cpp:45
u16 getUpdateMaterialID(u16 idx) const
Definition J3DAnimation.h:591
J3DAnmTransformKeyTable * mAnmTable
Definition J3DAnimation.h:600
u16 * mUpdateMaterialID
Definition J3DAnimation.h:609
Vec * mSRTCenter
Definition J3DAnimation.h:611
void searchUpdateMaterialID(J3DMaterialTable *)
Definition J3DAnimation.cpp:1141
JUTNameTab mPostUpdateMaterialName
Definition J3DAnimation.h:622
int mDecShift
Definition J3DAnimation.h:599
u32 mTexMtxCalcType
Definition J3DAnimation.h:624
bool isValidUpdateMaterialID(u16 idx) const
Definition J3DAnimation.h:595
int getUpdateTexMtxID(u16 idx)
Definition J3DAnimation.h:594
void * field_0x50
Definition J3DAnimation.h:617
J3DAnmTextureSRTKey()
Definition J3DAnimation.cpp:679
u16 mRotNum
Definition J3DAnimation.h:603
u16 mScaleNum
Definition J3DAnimation.h:602
void calcTransform(f32, u16, J3DTextureSRTInfo *) const
Definition J3DAnimation.cpp:703
virtual s32 getKind() const
Definition J3DAnimation.h:585
u16 getUpdateMaterialNum() const
Definition J3DAnimation.h:592
u16 field_0x4a
Definition J3DAnimation.h:615
f32 * mScaleData
Definition J3DAnimation.h:605
u16 field_0x44
Definition J3DAnimation.h:612
u16 * mPostUpdateMaterialID
Definition J3DAnimation.h:621
Vec * mPostSRTCenter
Definition J3DAnimation.h:623
void getTransform(u16 param_0, J3DTextureSRTInfo *pSRTInfo) const
Definition J3DAnimation.h:587
void * field_0x4c
Definition J3DAnimation.h:616
Vec * getSRTCenter(u16 idx)
Definition J3DAnimation.h:597
u16 field_0x48
Definition J3DAnimation.h:614
virtual ~J3DAnmTextureSRTKey()
Definition J3DAnimation.h:584
u16 mTrackNum
Definition J3DAnimation.h:601
u8 * mPostUpdateTexMtxID
Definition J3DAnimation.h:620
f32 * mTransData
Definition J3DAnimation.h:607
JUTNameTab mUpdateMaterialName
Definition J3DAnimation.h:610
u32 getTexMtxCalcType() const
Definition J3DAnimation.h:596
u8 * mUpdateTexMtxID
Definition J3DAnimation.h:608
void * field_0x54
Definition J3DAnimation.h:618
s16 * mRotData
Definition J3DAnimation.h:606
u16 mTransNum
Definition J3DAnimation.h:604
u16 field_0x46
Definition J3DAnimation.h:613
void * field_0x58
Definition J3DAnimation.h:619
Definition J3DAnimation.h:227
u16 field_0xc
Definition J3DAnimation.h:232
u8 field_0xe[0x14 - 0xe]
Definition J3DAnimation.h:233
s16 mFrameMax
Definition J3DAnimation.h:231
void * mRotValOffset
Definition J3DAnimation.h:236
void * mTransValOffset
Definition J3DAnimation.h:237
u8 field_0x8
Definition J3DAnimation.h:229
void * mTableOffset
Definition J3DAnimation.h:234
void * mScaleValOffset
Definition J3DAnimation.h:235
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:228
u8 field_0x9
Definition J3DAnimation.h:230
Definition J3DAnimation.h:116
u16 mRotationMaxFrame
Definition J3DAnimation.h:119
u16 mRotationOffset
Definition J3DAnimation.h:120
u16 mScaleOffset
Definition J3DAnimation.h:118
u16 mTranslateOffset
Definition J3DAnimation.h:122
u16 mTranslateMaxFrame
Definition J3DAnimation.h:121
u16 mScaleMaxFrame
Definition J3DAnimation.h:117
Definition J3DAnimation.h:417
void * mTableOffset
Definition J3DAnimation.h:424
s16 mFrameMax
Definition J3DAnimation.h:421
void * field_0x20
Definition J3DAnimation.h:427
JUTDataBlockHeader mHeader
Definition J3DAnimation.h:418
void * field_0x18
Definition J3DAnimation.h:425
int field_0x10
Definition J3DAnimation.h:423
u8 field_0x9
Definition J3DAnimation.h:420
u8 field_0x8
Definition J3DAnimation.h:419
void * field_0x1c
Definition J3DAnimation.h:426
u16 field_0xc
Definition J3DAnimation.h:422
Definition J3DAnimation.h:106
J3DAnmKeyTableBase mScaleInfo
Definition J3DAnimation.h:107
J3DAnmKeyTableBase mTranslateInfo
Definition J3DAnimation.h:109
J3DAnmKeyTableBase mRotationInfo
Definition J3DAnimation.h:108
Definition d_a_npc_fguard.cpp:44
virtual s32 getKind() const
Definition J3DAnimation.h:534
J3DAnmTransformKeyTable * mAnmTable
Definition J3DAnimation.h:540
J3DAnmTransformKey()
Definition J3DAnimation.h:526
void calcTransform(f32, u16, J3DTransformInfo *) const
Definition J3DAnimation.cpp:571
virtual void getTransform(u16 param_0, J3DTransformInfo *param_1) const
Definition J3DAnimation.h:535
virtual ~J3DAnmTransformKey()
Definition J3DAnimation.h:533
int mDecShift
Definition J3DAnimation.h:539
Definition J3DAnimation.h:29
s16 rotation_entries
Definition J3DAnimation.h:37
s16 translation_entries
Definition J3DAnimation.h:38
u32 translation_data_offset
Definition J3DAnimation.h:42
u32 scale_data_offset
Definition J3DAnimation.h:40
s16 duration
Definition J3DAnimation.h:34
u32 magic
Definition J3DAnimation.h:30
u8 attribute
Definition J3DAnimation.h:32
s16 scale_entries
Definition J3DAnimation.h:36
u8 rotation_frac
Definition J3DAnimation.h:33
s16 keyframe_num
Definition J3DAnimation.h:35
u32 size
Definition J3DAnimation.h:31
u32 anm_data_offset
Definition J3DAnimation.h:39
u32 rotation_data_offset
Definition J3DAnimation.h:41
Definition d_a_hozelda.cpp:54
f32 * mTransData
Definition J3DAnimation.h:513
s16 * mRotData
Definition J3DAnimation.h:512
virtual ~J3DAnmTransform()
Definition J3DAnimation.h:507
virtual s32 getKind() const
Definition J3DAnimation.h:508
s16 field_0x1a
Definition J3DAnimation.h:515
virtual void getTransform(u16, J3DTransformInfo *) const =0
u16 field_0x1c
Definition J3DAnimation.h:516
s16 field_0x1e
Definition J3DAnimation.h:517
f32 * mScaleData
Definition J3DAnimation.h:511
s16 field_0x18
Definition J3DAnimation.h:514
J3DAnmTransform(s16, f32 *, s16 *, f32 *)
Definition J3DAnimation.cpp:215
Definition J3DAnimation.h:210
void * mValuesOffset
Definition J3DAnimation.h:218
u8 field_0x8
Definition J3DAnimation.h:212
s16 mFrameMax
Definition J3DAnimation.h:214
u16 field_0xc
Definition J3DAnimation.h:215
u16 field_0xe
Definition J3DAnimation.h:216
u8 field_0x9
Definition J3DAnimation.h:213
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:211
void * mTableOffset
Definition J3DAnimation.h:217
Definition J3DAnimation.h:97
u16 _2
Definition J3DAnimation.h:99
u16 _0
Definition J3DAnimation.h:98
Definition J3DAnimation.h:188
void * mVtxColorIndexDataOffsets[2]
Definition J3DAnimation.h:196
void * mRValuesOffset
Definition J3DAnimation.h:198
u8 field_0x10[0x18 - 0x10]
Definition J3DAnimation.h:194
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:189
void * mBValuesOffset
Definition J3DAnimation.h:200
void * mGValuesOffset
Definition J3DAnimation.h:199
u8 field_0x8
Definition J3DAnimation.h:190
void * mVtxColorIndexPointerOffsets[2]
Definition J3DAnimation.h:197
s16 mFrameMax
Definition J3DAnimation.h:192
void * mTableOffsets[2]
Definition J3DAnimation.h:195
u8 field_0x9
Definition J3DAnimation.h:191
u16 mAnmTableNum[2]
Definition J3DAnimation.h:193
void * mAValuesOffset
Definition J3DAnimation.h:201
Definition J3DAnimation.h:73
void * mpData
Definition J3DAnimation.h:75
u16 mNum
Definition J3DAnimation.h:74
Definition J3DAnimation.h:309
s16 mFrameMax
Definition J3DAnimation.h:313
u8 field_0x9
Definition J3DAnimation.h:312
void * mGValOffset
Definition J3DAnimation.h:320
void * mVtxColoIndexDataOffset[2]
Definition J3DAnimation.h:317
void * mVtxColoIndexPointerOffset[2]
Definition J3DAnimation.h:318
u8 field_0x10[0x18 - 0x10]
Definition J3DAnimation.h:315
u16 mAnmTableNum[2]
Definition J3DAnimation.h:314
void * mBValOffset
Definition J3DAnimation.h:321
void * mAValOffset
Definition J3DAnimation.h:322
void * mTableOffsets[2]
Definition J3DAnimation.h:316
void * mRValOffset
Definition J3DAnimation.h:319
J3DAnmDataBlockHeader mHeader
Definition J3DAnimation.h:310
u8 field_0x8
Definition J3DAnimation.h:311
Definition d_a_hozelda.cpp:241
virtual ~J3DFrameCtrl()
Definition J3DAnimation.h:910
s16 mLoop
Definition J3DAnimation.h:939
s16 mEnd
Definition J3DAnimation.h:938
void setLoop(s16 loop)
Definition J3DAnimation.h:924
u8 mAttribute
Definition J3DAnimation.h:935
Attribute_e
Definition J3DAnimation.h:898
@ EMode_REVERSE
Definition J3DAnimation.h:902
@ EMode_LOOP
Definition J3DAnimation.h:901
@ EMode_LOOP_REVERSE
Definition J3DAnimation.h:903
@ EMode_RESET
Definition J3DAnimation.h:900
@ EMode_NONE
Definition J3DAnimation.h:899
f32 mFrame
Definition J3DAnimation.h:941
J3DFrameCtrl()
Definition J3DAnimation.h:906
void setFrame(f32 frame)
Definition J3DAnimation.h:928
u8 getAttribute() const
Definition J3DAnimation.h:912
BOOL checkPass(f32)
Definition J3DAnimation.cpp:24
u8 getState() const
Definition J3DAnimation.h:914
void setStart(s16 start)
Definition J3DAnimation.h:917
f32 getFrame() const
Definition J3DAnimation.h:927
bool checkState(u8 state) const
Definition J3DAnimation.h:915
s16 getStart() const
Definition J3DAnimation.h:916
s16 getEnd() const
Definition J3DAnimation.h:921
void init(s16)
void setAttribute(u8 attr)
Definition J3DAnimation.h:913
void setRate(f32 rate)
Definition J3DAnimation.h:926
u8 mState
Definition J3DAnimation.h:936
s32 getLoop()
Definition J3DAnimation.h:923
void setEnd(s16 end)
Definition J3DAnimation.h:922
f32 mRate
Definition J3DAnimation.h:940
s16 mStart
Definition J3DAnimation.h:937
void reset()
Definition J3DAnimation.h:929
f32 getRate() const
Definition J3DAnimation.h:925
void update()
Definition J3DAnimation.cpp:144
J3DTransformInfo & getTransformInfo()
Definition J3DJoint.h:57
u16 getJntNo() const
Definition J3DJoint.h:52
Definition d_a_hozelda.cpp:34
Definition d_a_hozelda.cpp:52
Definition J3DAnimation.h:953
J3DMtxCalcAnimationAdaptorBase()
Definition J3DAnimation.h:954
void change(J3DAnmTransform *)
Definition J3DAnimation.h:955
Definition J3DAnimation.h:959
void calc(J3DMtxCalcAnmBase *param_0)
Definition J3DAnimation.h:961
J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform *param_0)
Definition J3DAnimation.h:960
Definition J3DAnimation.h:976
J3DMtxCalcAnimation(J3DAnmTransform *param_0)
Definition J3DAnimation.h:977
void calc()
Definition J3DAnimation.h:984
void setAnmTransform(J3DAnmTransform *param_0)
Definition J3DAnimation.h:979
~J3DMtxCalcAnimation()
Definition J3DAnimation.h:978
void init(const Vec &param_0, const Mtx &param_1)
Definition J3DAnimation.h:983
A0 field_0x8
Definition J3DAnimation.h:986
Definition J3DAnimation.h:944
J3DAnmTransform * getAnmTransform()
Definition J3DAnimation.h:947
~J3DMtxCalcAnmBase()
Definition J3DAnimation.h:946
J3DMtxCalcAnmBase(J3DAnmTransform *param_0)
Definition J3DAnimation.h:945
J3DAnmTransform * mAnmTransform
Definition J3DAnimation.h:950
void setAnmTransform(J3DAnmTransform *param_0)
Definition J3DAnimation.h:948
Definition d_a_hozelda.cpp:217
static J3DJoint * getJoint()
Definition J3DJoint.h:31
Definition J3DStruct.h:48
Definition d_a_hozelda.cpp:169
Definition J3DAnimation.h:8
u32 mType
Definition J3DAnimation.h:9
const JUTDataBlockHeader * getNext() const
Definition J3DAnimation.h:12
u32 mSize
Definition J3DAnimation.h:10
Definition J3DAnimation.h:18
u32 mBlockNum
Definition J3DAnimation.h:22
u32 mType
Definition J3DAnimation.h:20
u32 mFileSize
Definition J3DAnimation.h:21
u32 mMagic
Definition J3DAnimation.h:19
u32 mSeAnmOffset
Definition J3DAnimation.h:24
JUTDataBlockHeader mFirstBlock
Definition J3DAnimation.h:25
u8 _10[0x1C - 0x10]
Definition J3DAnimation.h:23
Definition d_a_hozelda.cpp:18
Definition GXStruct.h:31
Definition d_menu_dmap_map.cpp:90
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5