mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
m_Do_ext (#1958)
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
lbl_8000E7C0:
|
||||
/* 8000E7C0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8000E7C4 7C 08 02 A6 */ mflr r0
|
||||
/* 8000E7C8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8000E7CC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8000E7D0 48 35 3A 05 */ bl _savegpr_27
|
||||
/* 8000E7D4 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 8000E7D8 7C 9C 23 78 */ mr r28, r4
|
||||
/* 8000E7DC 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 8000E7E0 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 8000E7E4 83 DF 00 48 */ lwz r30, 0x48(r31)
|
||||
/* 8000E7E8 83 BF 00 4C */ lwz r29, 0x4c(r31)
|
||||
/* 8000E7EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8000E7F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8000E7F4 80 03 5F A8 */ lwz r0, 0x5fa8(r3)
|
||||
/* 8000E7F8 90 1F 00 48 */ stw r0, 0x48(r31)
|
||||
/* 8000E7FC 90 1F 00 4C */ stw r0, 0x4c(r31)
|
||||
/* 8000E800 80 7B 00 00 */ lwz r3, 0(r27)
|
||||
/* 8000E804 4B FF F5 61 */ bl mDoExt_modelEntryDL__FP8J3DModel
|
||||
/* 8000E808 7F 63 DB 78 */ mr r3, r27
|
||||
/* 8000E80C 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8000E810 4B FF FE B9 */ bl entryJoint__21mDoExt_invisibleModelFP4cXyz
|
||||
/* 8000E814 93 DF 00 48 */ stw r30, 0x48(r31)
|
||||
/* 8000E818 93 BF 00 4C */ stw r29, 0x4c(r31)
|
||||
/* 8000E81C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8000E820 48 35 3A 01 */ bl _restgpr_27
|
||||
/* 8000E824 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8000E828 7C 08 03 A6 */ mtlr r0
|
||||
/* 8000E82C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8000E830 4E 80 00 20 */ blr
|
||||
@@ -1,69 +0,0 @@
|
||||
lbl_8000E6C8:
|
||||
/* 8000E6C8 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 8000E6CC 7C 08 02 A6 */ mflr r0
|
||||
/* 8000E6D0 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 8000E6D4 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 8000E6D8 48 35 3A F5 */ bl _savegpr_25
|
||||
/* 8000E6DC 7C 79 1B 78 */ mr r25, r3
|
||||
/* 8000E6E0 7C 9A 23 79 */ or. r26, r4, r4
|
||||
/* 8000E6E4 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8000E6E8 83 A3 00 04 */ lwz r29, 4(r3)
|
||||
/* 8000E6EC 83 F9 00 04 */ lwz r31, 4(r25)
|
||||
/* 8000E6F0 40 82 00 78 */ bne lbl_8000E768
|
||||
/* 8000E6F4 3B 60 00 00 */ li r27, 0
|
||||
/* 8000E6F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8000E6FC 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8000E700 3B 9E 5F 64 */ addi r28, r30, 0x5f64
|
||||
/* 8000E704 48 00 00 50 */ b lbl_8000E754
|
||||
lbl_8000E708:
|
||||
/* 8000E708 80 79 00 00 */ lwz r3, 0(r25)
|
||||
/* 8000E70C 80 63 00 84 */ lwz r3, 0x84(r3)
|
||||
/* 8000E710 80 63 00 0C */ lwz r3, 0xc(r3)
|
||||
/* 8000E714 57 60 04 3E */ clrlwi r0, r27, 0x10
|
||||
/* 8000E718 1C 00 00 30 */ mulli r0, r0, 0x30
|
||||
/* 8000E71C 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 8000E720 C0 43 00 2C */ lfs f2, 0x2c(r3)
|
||||
/* 8000E724 C0 23 00 1C */ lfs f1, 0x1c(r3)
|
||||
/* 8000E728 C0 03 00 0C */ lfs f0, 0xc(r3)
|
||||
/* 8000E72C D0 01 00 08 */ stfs f0, 8(r1)
|
||||
/* 8000E730 D0 21 00 0C */ stfs f1, 0xc(r1)
|
||||
/* 8000E734 D0 41 00 10 */ stfs f2, 0x10(r1)
|
||||
/* 8000E738 7F 83 E3 78 */ mr r3, r28
|
||||
/* 8000E73C 80 9E 5F A8 */ lwz r4, 0x5fa8(r30)
|
||||
/* 8000E740 7F E5 FB 78 */ mr r5, r31
|
||||
/* 8000E744 38 C1 00 08 */ addi r6, r1, 8
|
||||
/* 8000E748 48 04 7E A5 */ bl entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz
|
||||
/* 8000E74C 3B FF 00 18 */ addi r31, r31, 0x18
|
||||
/* 8000E750 3B 7B 00 01 */ addi r27, r27, 1
|
||||
lbl_8000E754:
|
||||
/* 8000E754 57 63 04 3E */ clrlwi r3, r27, 0x10
|
||||
/* 8000E758 A0 1D 00 2C */ lhz r0, 0x2c(r29)
|
||||
/* 8000E75C 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 8000E760 41 80 FF A8 */ blt lbl_8000E708
|
||||
/* 8000E764 48 00 00 44 */ b lbl_8000E7A8
|
||||
lbl_8000E768:
|
||||
/* 8000E768 3B 60 00 00 */ li r27, 0
|
||||
/* 8000E76C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8000E770 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8000E774 3B 9E 5F 64 */ addi r28, r30, 0x5f64
|
||||
/* 8000E778 48 00 00 20 */ b lbl_8000E798
|
||||
lbl_8000E77C:
|
||||
/* 8000E77C 7F 83 E3 78 */ mr r3, r28
|
||||
/* 8000E780 80 9E 5F A8 */ lwz r4, 0x5fa8(r30)
|
||||
/* 8000E784 7F E5 FB 78 */ mr r5, r31
|
||||
/* 8000E788 7F 46 D3 78 */ mr r6, r26
|
||||
/* 8000E78C 48 04 7E 61 */ bl entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz
|
||||
/* 8000E790 3B FF 00 18 */ addi r31, r31, 0x18
|
||||
/* 8000E794 3B 7B 00 01 */ addi r27, r27, 1
|
||||
lbl_8000E798:
|
||||
/* 8000E798 57 63 04 3E */ clrlwi r3, r27, 0x10
|
||||
/* 8000E79C A0 1D 00 2C */ lhz r0, 0x2c(r29)
|
||||
/* 8000E7A0 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 8000E7A4 41 80 FF D8 */ blt lbl_8000E77C
|
||||
lbl_8000E7A8:
|
||||
/* 8000E7A8 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 8000E7AC 48 35 3A 6D */ bl _restgpr_25
|
||||
/* 8000E7B0 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 8000E7B4 7C 08 03 A6 */ mtlr r0
|
||||
/* 8000E7B8 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 8000E7BC 4E 80 00 20 */ blr
|
||||
@@ -1,50 +0,0 @@
|
||||
lbl_8000FC4C:
|
||||
/* 8000FC4C 94 21 FF B0 */ stwu r1, -0x50(r1)
|
||||
/* 8000FC50 7C 08 02 A6 */ mflr r0
|
||||
/* 8000FC54 90 01 00 54 */ stw r0, 0x54(r1)
|
||||
/* 8000FC58 DB E1 00 48 */ stfd f31, 0x48(r1)
|
||||
/* 8000FC5C 39 61 00 48 */ addi r11, r1, 0x48
|
||||
/* 8000FC60 48 35 25 59 */ bl _savegpr_20
|
||||
/* 8000FC64 7C 74 1B 78 */ mr r20, r3
|
||||
/* 8000FC68 7C 95 23 78 */ mr r21, r4
|
||||
/* 8000FC6C 7C B6 2B 78 */ mr r22, r5
|
||||
/* 8000FC70 7C D7 33 78 */ mr r23, r6
|
||||
/* 8000FC74 7C F8 3B 78 */ mr r24, r7
|
||||
/* 8000FC78 7D 19 43 78 */ mr r25, r8
|
||||
/* 8000FC7C FF E0 08 90 */ fmr f31, f1
|
||||
/* 8000FC80 7D 3A 4B 78 */ mr r26, r9
|
||||
/* 8000FC84 7D 5B 53 78 */ mr r27, r10
|
||||
/* 8000FC88 83 81 00 58 */ lwz r28, 0x58(r1)
|
||||
/* 8000FC8C 83 A1 00 5C */ lwz r29, 0x5c(r1)
|
||||
/* 8000FC90 83 C1 00 60 */ lwz r30, 0x60(r1)
|
||||
/* 8000FC94 83 E1 00 64 */ lwz r31, 0x64(r1)
|
||||
/* 8000FC98 4B FF FC B9 */ bl __ct__13mDoExt_morf_cFv
|
||||
/* 8000FC9C 3C 60 80 3A */ lis r3, __vt__14mDoExt_McaMorf@ha /* 0x803A32FC@ha */
|
||||
/* 8000FCA0 38 03 32 FC */ addi r0, r3, __vt__14mDoExt_McaMorf@l /* 0x803A32FC@l */
|
||||
/* 8000FCA4 90 14 00 00 */ stw r0, 0(r20)
|
||||
/* 8000FCA8 38 00 00 00 */ li r0, 0
|
||||
/* 8000FCAC 98 14 00 50 */ stb r0, 0x50(r20)
|
||||
/* 8000FCB0 98 14 00 51 */ stb r0, 0x51(r20)
|
||||
/* 8000FCB4 98 14 00 52 */ stb r0, 0x52(r20)
|
||||
/* 8000FCB8 93 81 00 08 */ stw r28, 8(r1)
|
||||
/* 8000FCBC 93 A1 00 0C */ stw r29, 0xc(r1)
|
||||
/* 8000FCC0 93 C1 00 10 */ stw r30, 0x10(r1)
|
||||
/* 8000FCC4 93 E1 00 14 */ stw r31, 0x14(r1)
|
||||
/* 8000FCC8 7E 83 A3 78 */ mr r3, r20
|
||||
/* 8000FCCC 7E A4 AB 78 */ mr r4, r21
|
||||
/* 8000FCD0 7E C5 B3 78 */ mr r5, r22
|
||||
/* 8000FCD4 7E E6 BB 78 */ mr r6, r23
|
||||
/* 8000FCD8 7F 07 C3 78 */ mr r7, r24
|
||||
/* 8000FCDC 7F 28 CB 78 */ mr r8, r25
|
||||
/* 8000FCE0 FC 20 F8 90 */ fmr f1, f31
|
||||
/* 8000FCE4 7F 49 D3 78 */ mr r9, r26
|
||||
/* 8000FCE8 7F 6A DB 78 */ mr r10, r27
|
||||
/* 8000FCEC 48 00 00 A9 */ bl create__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl
|
||||
/* 8000FCF0 7E 83 A3 78 */ mr r3, r20
|
||||
/* 8000FCF4 CB E1 00 48 */ lfd f31, 0x48(r1)
|
||||
/* 8000FCF8 39 61 00 48 */ addi r11, r1, 0x48
|
||||
/* 8000FCFC 48 35 25 09 */ bl _restgpr_20
|
||||
/* 8000FD00 80 01 00 54 */ lwz r0, 0x54(r1)
|
||||
/* 8000FD04 7C 08 03 A6 */ mtlr r0
|
||||
/* 8000FD08 38 21 00 50 */ addi r1, r1, 0x50
|
||||
/* 8000FD0C 4E 80 00 20 */ blr
|
||||
@@ -604,22 +604,23 @@ public:
|
||||
void update();
|
||||
virtual ~J3DFrameCtrl() {}
|
||||
|
||||
f32 getRate() const { return mRate; }
|
||||
f32 getFrame() const { return mFrame; }
|
||||
s16 getEnd() const { return mEnd; }
|
||||
s16 getStart() const { return mStart; }
|
||||
u8 getAttribute() const { return mAttribute; }
|
||||
u8 getState() const { return mState; }
|
||||
void setAttribute(u8 attr) { mAttribute = attr; }
|
||||
void setEnd(s16 end) { mEnd = end; }
|
||||
void setRate(f32 rate) { mRate = rate; }
|
||||
u8 getState() const { return mState; }
|
||||
bool checkState(u8 state) const { return mState & state; }
|
||||
s16 getStart() const { return mStart; }
|
||||
void setStart(s16 start) {
|
||||
mStart = start;
|
||||
mFrame = start;
|
||||
}
|
||||
void setFrame(f32 frame) { mFrame = frame; }
|
||||
s16 getEnd() const { return mEnd; }
|
||||
void setEnd(s16 end) { mEnd = end; }
|
||||
s32 getLoop() { return mLoop; }
|
||||
void setLoop(s16 loop) { mLoop = loop; }
|
||||
bool checkState(u8 state) const { return mState & state; }
|
||||
f32 getRate() const { return mRate; }
|
||||
void setRate(f32 rate) { mRate = rate; }
|
||||
f32 getFrame() const { return mFrame; }
|
||||
void setFrame(f32 frame) { mFrame = frame; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mAttribute;
|
||||
|
||||
@@ -14,12 +14,12 @@ public:
|
||||
|
||||
/* 8000D948 */ virtual ~J3DMtxCalc();
|
||||
/* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*);
|
||||
/* 80014E9C */ virtual bool getAnmTransform();
|
||||
/* 80014E9C */ virtual J3DAnmTransform* getAnmTransform();
|
||||
/* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*);
|
||||
/* 80014E94 */ virtual bool getAnmTransform(u8);
|
||||
/* 80014E94 */ virtual J3DAnmTransform* getAnmTransform(u8);
|
||||
/* 80014EA4 */ virtual void setWeight(u8, f32);
|
||||
/* 80014EA8 */ virtual void getWeight(u8) const;
|
||||
virtual void init(Vec const& param_0, Mtx*) = 0;
|
||||
virtual void init(const Vec& param_0, const Mtx&) = 0;
|
||||
virtual void calc() = 0;
|
||||
|
||||
static J3DMtxBuffer* getMtxBuffer() { return mMtxBuffer; }
|
||||
@@ -36,11 +36,11 @@ public:
|
||||
};
|
||||
|
||||
template <class A, class B>
|
||||
class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase, public A, public B {
|
||||
class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase {
|
||||
public:
|
||||
J3DMtxCalcNoAnm() {}
|
||||
virtual ~J3DMtxCalcNoAnm() {}
|
||||
virtual void init(Vec const& param_0, f32 const (¶m_1)[3][4]);
|
||||
virtual void init(const Vec& param_0, const Mtx& param_1);
|
||||
virtual void calc();
|
||||
};
|
||||
|
||||
@@ -93,11 +93,11 @@ private:
|
||||
}; // Size: 0x5C
|
||||
|
||||
struct J3DMtxCalcJ3DSysInitMaya {
|
||||
/* 8032ECAC */ static void init(Vec const&, f32 const (&)[3][4]);
|
||||
/* 8032ECAC */ static void init(const Vec&, const Mtx& param_1);
|
||||
};
|
||||
|
||||
struct J3DMtxCalcJ3DSysInitBasic {
|
||||
/* 8032EC28 */ static void init(Vec const&, f32 const (&)[3][4]);
|
||||
/* 8032EC28 */ static void init(const Vec&, const Mtx& param_1);
|
||||
};
|
||||
|
||||
struct J3DMtxCalcCalcTransformSoftimage {
|
||||
|
||||
@@ -81,6 +81,7 @@ public:
|
||||
J3DMatPacket* getMatPacket(u16 idx) const { return &mMatPacket[idx]; }
|
||||
J3DShapePacket* getShapePacket(u16 idx) const { return &mShapePacket[idx]; }
|
||||
J3DMtxBuffer* getMtxBuffer() const { return mMtxBuffer; }
|
||||
void setScaleFlag(int idx, u8 flag) { mMtxBuffer->setScaleFlag(idx, flag); }
|
||||
Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); }
|
||||
Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); }
|
||||
Mtx* getDrawMtxPtr() const { return mMtxBuffer->getDrawMtxPtr(); }
|
||||
|
||||
@@ -99,6 +99,9 @@ struct J3DSys {
|
||||
J3DMatPacket* getMatPacket() { return mMatPacket; }
|
||||
void setMaterialMode(u32 mode) { mMaterialMode = mode; }
|
||||
|
||||
void setCurrentMtxCalc(J3DMtxCalc * pCalc) { mCurrentMtxCalc = pCalc; }
|
||||
J3DMtxCalc * getCurrentMtxCalc() const { return mCurrentMtxCalc; }
|
||||
|
||||
void setTexture(J3DTexture* pTex) { mTexture = pTex; }
|
||||
J3DTexture* getTexture() { return mTexture; }
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32);
|
||||
void JMAEulerToQuat(s16 param_0, s16 param_1, s16 param_2, Quaternion* param_3);
|
||||
void JMAQuatLerp(const Quaternion*, const Quaternion*, f32, Quaternion*);
|
||||
|
||||
inline f32 JMAFastReciprocal(f32 value) {
|
||||
return __fres(value);
|
||||
|
||||
@@ -60,7 +60,9 @@ public:
|
||||
|
||||
/* 802BEBDC */ virtual void init(Vec*, u8);
|
||||
|
||||
/* 0x20 */ void* field_0x20; // JAUSoundAnimation*
|
||||
void stopAnime() { animation_ = NULL; }
|
||||
|
||||
/* 0x20 */ void* animation_; // JAUSoundAnimation*
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ float field_0x28;
|
||||
/* 0x2C */ float field_0x2c;
|
||||
@@ -68,7 +70,7 @@ public:
|
||||
/* 0x34 */ int field_0x34;
|
||||
/* 0x38 */ int field_0x38;
|
||||
/* 0x3C */ int field_0x3c;
|
||||
/* 0x40 */ int field_0x40;
|
||||
/* 0x40 */ int curSoundIndex_;
|
||||
/* 0x44 */ bool field_0x44;
|
||||
};
|
||||
|
||||
|
||||
@@ -3552,6 +3552,11 @@ inline void dComIfGd_setListIndScreen() {
|
||||
g_dComIfG_gameInfo.drawlist.setXluListP0();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListZxlu() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListZxlu();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListZxlu();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getOpaListBG() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaListBG();
|
||||
}
|
||||
|
||||
@@ -333,6 +333,8 @@ public:
|
||||
void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); }
|
||||
void setXluListP0() { setXluDrawList(mDrawBuffers[DB_LIST_P0]); }
|
||||
void setOpaListP0() { setOpaDrawList(mDrawBuffers[DB_LIST_P0]); }
|
||||
void setOpaListZxlu() { setOpaDrawList(mDrawBuffers[DB_LIST_Z_XLU]); }
|
||||
void setXluListZxlu() { setXluDrawList(mDrawBuffers[DB_LIST_Z_XLU]); }
|
||||
|
||||
void peekZdata() { mPeekZ.peekData(); }
|
||||
void entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) {
|
||||
|
||||
+54
-25
@@ -247,18 +247,22 @@ public:
|
||||
/* 0x4 */ mDoExt_invJntPacket* mpPackets;
|
||||
};
|
||||
|
||||
class mDoExt_zelAnime : public Z2SoundObjAnime {};
|
||||
class mDoExt_zelAnime : public Z2SoundObjAnime {
|
||||
public:
|
||||
void* field_0x48;
|
||||
};
|
||||
|
||||
class mDoExt_McaMorfCallBack1_c {
|
||||
public:
|
||||
virtual void execute(u16, J3DTransformInfo*) = 0;
|
||||
};
|
||||
|
||||
class mDoExt_McaMorfCallBack2_c {};
|
||||
class mDoExt_McaMorfCallBack2_c {
|
||||
public:
|
||||
virtual void execute(u16) = 0;
|
||||
};
|
||||
|
||||
class mDoExt_morf_c {
|
||||
// : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya>
|
||||
// inheritance causing issues, fix later
|
||||
class mDoExt_morf_c : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
|
||||
public:
|
||||
/* 8000F950 */ mDoExt_morf_c();
|
||||
/* 8000FB7C */ void setMorf(f32 i_morf);
|
||||
@@ -266,20 +270,26 @@ public:
|
||||
|
||||
/* 8000FAE8 */ virtual ~mDoExt_morf_c();
|
||||
|
||||
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
|
||||
void setFrame(f32 frame) { mFrameCtrl.setFrame((s16)frame); }
|
||||
f32 getPlaySpeed() { return mFrameCtrl.getRate(); }
|
||||
f32 getFrame() { return mFrameCtrl.getFrame(); }
|
||||
u8 getPlayMode() { return mFrameCtrl.getAttribute(); }
|
||||
bool isLoop() { return mFrameCtrl.checkState(2); }
|
||||
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
|
||||
BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); }
|
||||
J3DAnmTransform* getAnm() { return mpAnm; }
|
||||
void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
|
||||
|
||||
u8 getPlayMode() { return mFrameCtrl.getAttribute(); }
|
||||
void setPlayMode(int mode) { mFrameCtrl.setAttribute(mode); }
|
||||
bool isStop() {
|
||||
return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f;
|
||||
}
|
||||
bool isLoop() { return mFrameCtrl.checkState(2); }
|
||||
f32 getStartFrame() { return mFrameCtrl.getStart(); }
|
||||
void setStartFrame(f32 frame) { mFrameCtrl.setStart(frame); }
|
||||
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
|
||||
void setEndFrame(f32 frame) { mFrameCtrl.setEnd(frame); }
|
||||
f32 getLoopFrame() { return mFrameCtrl.getLoop(); }
|
||||
void setLoopFrame(f32 frame) { mFrameCtrl.setLoop(frame); }
|
||||
f32 getPlaySpeed() { return mFrameCtrl.getRate(); }
|
||||
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
|
||||
f32 getFrame() { return mFrameCtrl.getFrame(); }
|
||||
void setFrame(f32 frame) { mFrameCtrl.setFrame((s16)frame); }
|
||||
void setFrameF(f32 frame) { mFrameCtrl.setFrame(frame); }
|
||||
BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); }
|
||||
|
||||
/* 0x04 */ J3DModel* mpModel;
|
||||
/* 0x08 */ J3DAnmTransform* mpAnm;
|
||||
@@ -329,7 +339,7 @@ public:
|
||||
/* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
|
||||
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
|
||||
int, void*, u32, u32);
|
||||
/* 8000FD94 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
|
||||
/* 8000FD94 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
|
||||
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
|
||||
int, void*, u32, u32);
|
||||
/* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*);
|
||||
@@ -386,9 +396,12 @@ public:
|
||||
/* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
|
||||
/* 8000F8CC */ void decOldFrameMorfCounter();
|
||||
|
||||
bool getOldFrameFlg() { return mOldFrameFlg; }
|
||||
void onOldFrameFlg() { mOldFrameFlg = true; }
|
||||
f32 getOldFrameRate() { return mOldFrameRate; }
|
||||
J3DTransformInfo* getOldFrameTransInfo(int i) { return &mOldFrameTransInfo[i]; }
|
||||
u16 getOldFrameStartJoint() { return mOldFrameStartJoint; }
|
||||
u16 getOldFrameEndJoint() { return mOldFrameEndJoint; }
|
||||
Quaternion* getOldFrameQuaternion(int i_no) { return &mOldFrameQuaternion[i_no]; }
|
||||
|
||||
private:
|
||||
@@ -404,23 +417,39 @@ private:
|
||||
/* 0x20 */ Quaternion* mOldFrameQuaternion;
|
||||
}; // Size: 0x24
|
||||
|
||||
struct mDoExt_MtxCalcAnmBlendTblOld
|
||||
: public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
|
||||
/* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld();
|
||||
/* 8000F4B0 */ virtual void calc();
|
||||
struct mDoExt_MtxCalcAnmBlendTbl : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
|
||||
mDoExt_MtxCalcAnmBlendTbl(int num, mDoExt_AnmRatioPack* anmRatio) {
|
||||
mNum = num;
|
||||
mAnmRatio = anmRatio;
|
||||
for (int i = 0; i < mNum; i++) {
|
||||
if (!mAnmRatio[i].getAnmTransform()) {
|
||||
mAnmRatio[i].setRatio(0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 0x4 */ int mNum;
|
||||
/* 0x8 */ mDoExt_AnmRatioPack* mAnmRatio;
|
||||
}; // Size: 0xC
|
||||
|
||||
struct mDoExt_MtxCalcAnmBlendTbl : public mDoExt_MtxCalcAnmBlendTblOld {
|
||||
/* 800D00BC */ J3DAnmTransform* getAnm(int);
|
||||
|
||||
/* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl();
|
||||
/* 8000F26C */ virtual void calc();
|
||||
|
||||
/* 0x4 */ int mNum;
|
||||
/* 0x8 */ mDoExt_AnmRatioPack* mAnmRatio;
|
||||
}; // Size: 0x0C
|
||||
|
||||
STATIC_ASSERT(sizeof(mDoExt_MtxCalcAnmBlendTbl) == 0x0C);
|
||||
|
||||
struct mDoExt_MtxCalcAnmBlendTblOld : public mDoExt_MtxCalcAnmBlendTbl {
|
||||
mDoExt_MtxCalcAnmBlendTblOld(mDoExt_MtxCalcOldFrame* oldFrame, int num, mDoExt_AnmRatioPack* anmRatio) : mDoExt_MtxCalcAnmBlendTbl(num, anmRatio) {
|
||||
mOldFrame = oldFrame;
|
||||
}
|
||||
/* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld();
|
||||
/* 8000F4B0 */ virtual void calc();
|
||||
|
||||
/* 0xC */ mDoExt_MtxCalcOldFrame* mOldFrame;
|
||||
};
|
||||
}; // Size: 0x10
|
||||
|
||||
STATIC_ASSERT(sizeof(mDoExt_MtxCalcAnmBlendTblOld) == 0x10);
|
||||
|
||||
class mDoExt_3Dline_c {
|
||||
public:
|
||||
|
||||
@@ -122,7 +122,7 @@ void J3DJointTree::findImportantMtxIndex() {
|
||||
/* 80325CAC-80325D1C 3205EC 0070+00 1/0 0/0 0/0 .text
|
||||
* calc__12J3DJointTreeFP12J3DMtxBufferRC3VecRA3_A4_Cf */
|
||||
void J3DJointTree::calc(J3DMtxBuffer* pMtxBuffer, Vec const& scale, f32 const (&mtx)[3][4]) {
|
||||
getBasicMtxCalc()->init(scale, (Mtx*)mtx);
|
||||
getBasicMtxCalc()->init(scale, mtx);
|
||||
J3DMtxCalc::setMtxBuffer(pMtxBuffer);
|
||||
J3DJoint* root = getRootNode();
|
||||
|
||||
|
||||
@@ -537,7 +537,7 @@ asm Z2Creature::~Z2Creature() {
|
||||
|
||||
/* 802C04E8-802C0530 2BAE28 0048+00 4/2 2/2 0/0 .text deleteObject__10Z2CreatureFv */
|
||||
void Z2Creature::deleteObject() {
|
||||
mSoundObjAnime.field_0x20 = NULL;
|
||||
mSoundObjAnime.animation_ = NULL;
|
||||
mSoundObjAnime.deleteObject();
|
||||
mSoundObjSimple1.deleteObject();
|
||||
mSoundObjSimple2.deleteObject();
|
||||
|
||||
@@ -3094,13 +3094,13 @@ void J3DMtxCalc::setAnmTransform(J3DAnmTransform* param_0) {
|
||||
}
|
||||
|
||||
/* 80844B94-80844B9C 00CD54 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFUc */
|
||||
bool J3DMtxCalc::getAnmTransform(u8 param_0) {
|
||||
return false;
|
||||
J3DAnmTransform* J3DMtxCalc::getAnmTransform(u8 param_0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 80844B9C-80844BA4 00CD5C 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFv */
|
||||
bool J3DMtxCalc::getAnmTransform() {
|
||||
return false;
|
||||
J3DAnmTransform* J3DMtxCalc::getAnmTransform() {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 80844BA4-80844BA8 00CD64 0004+00 3/0 0/0 0/0 .text setWeight__10J3DMtxCalcFUcf */
|
||||
|
||||
+416
-37
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user