This commit is contained in:
TakaRikka
2026-01-05 13:46:27 -08:00
4117 changed files with 39584 additions and 27156 deletions
+21 -2
View File
@@ -8,9 +8,20 @@
class mDoAud_zelAudio_c : public Z2AudioMgr {
public:
void reset();
mDoAud_zelAudio_c() {}
mDoAud_zelAudio_c() {
#if DEBUG
setMode(2);
#endif
}
~mDoAud_zelAudio_c() {}
#if DEBUG
u8 getMode() { return field_0x13bd; }
void setMode(u8 mode) { field_0x13bd = mode; }
/* 0x13BD */ u8 field_0x13bd;
#endif
static void onInitFlag() { mInitFlag = true; }
static bool isInitFlag() { return mInitFlag; }
static bool isResetFlag() { return mResetFlag; }
@@ -293,9 +304,17 @@ inline void mDoAud_talkIn() {
Z2AudioMgr::getInterface()->talkIn();
}
inline void mDoAud_setOutputMode(u32 mode) {
Z2AudioMgr::getInterface()->setOutputMode(mode);
}
inline void mDoAud_loadStaticWaves() {
Z2AudioMgr::getInterface()->loadStaticWaves();
}
inline int mDoAud_monsSeStart(u32 i_soundId, const Vec* i_pos, u32 i_actorId, u32 param_3,
s8 i_reverb) {
(void)i_actorId;
UNUSED(i_actorId);
return Z2GetAudioMgr()->seStart(i_soundId, i_pos, param_3, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f,
0);
}
+1
View File
@@ -70,6 +70,7 @@ public:
static JUTGamePad* m_gamePad[4];
static interface_of_controller_pad m_cpadInfo[4];
static interface_of_controller_pad m_debugCpadInfo[4];
};
inline void mDoCPd_ANALOG_CONV(u8 analog, f32& param_1) {
+325 -285
View File
@@ -2,8 +2,10 @@
#define M_DO_M_DO_EXT_H
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "Z2AudioLib/Z2SoundObject.h"
#include "d/d_kankyo_tev_str.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_mtx.h"
@@ -16,15 +18,11 @@ struct ResTIMG;
class Z2Creature;
namespace mDoExt {
extern u8 CurrentHeapAdjustVerbose;
extern u8 HeapAdjustVerbose;
extern u8 HeapAdjustQuiet;
};
#if DEBUG
void DummyCheckHeap_create();
void DummyCheckHeap_destroy();
#endif
class mDoExt_baseAnm {
public:
mDoExt_baseAnm() {}
@@ -150,7 +148,7 @@ STATIC_ASSERT(sizeof(mDoExt_bpkAnm) == 0x18);
class mDoExt_bckAnm : public mDoExt_baseAnm {
public:
mDoExt_bckAnm() { mpMtxCalc = NULL; }
mDoExt_bckAnm() { mAnm = NULL; }
int init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate,
s16 i_startF, s16 i_endF, bool i_modify);
void changeBckOnly(J3DAnmTransform* i_bck);
@@ -166,15 +164,15 @@ public:
i_modelData->getJointNodePointer(0)->setMtxCalc(NULL);
}
J3DAnmTransform* getBckAnm() { return mAnm; }
J3DAnmTransform* getBckAnm() { return mAnmTransform; }
void removeJoint(J3DModelData* i_modelData, u16 i_idx) {
i_modelData->getJointNodePointer(i_idx)->setMtxCalc(0);
}
private:
/* 0x14 */ J3DAnmTransform* mAnm;
/* 0x18 */ J3DMtxCalcAnimation<J3DMtxCalcAnimationAdaptorDefault<J3DMtxCalcCalcTransformMaya>, J3DMtxCalcJ3DSysInitMaya>* mpMtxCalc;
/* 0x14 */ J3DAnmTransform* mAnmTransform;
/* 0x18 */ J3DMtxCalcAnimation<J3DMtxCalcAnimationAdaptorDefault<J3DMtxCalcCalcTransformMaya>, J3DMtxCalcJ3DSysInitMaya>* mAnm;
}; // Size: 0x1C
STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C);
@@ -243,41 +241,6 @@ private:
/* 0x4 */ J3DAnmTransform* mAnmTransform;
}; // Size: 0x8
class mDoExt_invJntPacket : public J3DPacket {
public:
mDoExt_invJntPacket() {}
virtual void draw();
virtual ~mDoExt_invJntPacket() {}
void setJoint(J3DModel* i_model, u16 param_1, u8 param_2) {
field_0x10 = i_model;
field_0x14 = param_1;
field_0x16 = param_2;
}
private:
/* 0x10 */ J3DModel* field_0x10;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u8 field_0x16;
}; // Size: 0x18
class mDoExt_invisibleModel {
public:
mDoExt_invisibleModel() {}
int create(J3DModel* i_model, u8 param_1);
void entryJoint(cXyz*);
void entryDL(cXyz*);
/* 0x0 */ J3DModel* mModel;
/* 0x4 */ mDoExt_invJntPacket* mpPackets;
};
class mDoExt_zelAnime : public Z2SoundObjAnime {
public:
void* field_0x48;
};
class mDoExt_McaMorfCallBack1_c {
public:
virtual int execute(u16, J3DTransformInfo*) = 0;
@@ -288,146 +251,6 @@ public:
virtual void execute(u16) = 0;
};
class mDoExt_morf_c
: public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
public:
mDoExt_morf_c();
void setMorf(f32 i_morf);
void frameUpdate();
virtual ~mDoExt_morf_c();
J3DAnmTransform* getAnm() { return mpAnm; }
void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
int 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); }
f32 getMorfRatio() { return mCurMorf; }
/* 0x04 */ J3DModel* mpModel;
/* 0x08 */ J3DAnmTransform* mpAnm;
/* 0x0C */ J3DFrameCtrl mFrameCtrl;
/* 0x20 */ J3DTransformInfo* mpTransformInfo;
/* 0x24 */ Quaternion* mpQuat;
/* 0x28 */ f32 mCurMorf;
/* 0x2C */ f32 mPrevMorf;
/* 0x30 */ f32 mMorfStep;
/* 0x34 */ f32 field_0x34;
};
class mDoExt_McaMorfSO : public mDoExt_morf_c {
public:
mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32);
void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate,
f32 i_start, f32 i_end);
int play(u32, s8);
void updateDL();
void entryDL();
void modelCalc();
void getTransform(u16, J3DTransformInfo*);
void stopZelAnime();
virtual ~mDoExt_McaMorfSO();
virtual void calc();
J3DModel* getModel() { return mpModel; }
void offMorfNone() { mMorfNone = false; }
void onMorfNone() { mMorfNone = true; }
inline void setTranslateScale(cXyz& i_scale) { mTranslateScale = i_scale; }
J3DTransformInfo* getOldTransInfo() { return mpTransformInfo; }
Quaternion* getOldQuaternion() { return mpQuat; }
void offTranslate() { mTranslate = true; }
void setTranslateScale(const cXyz& scale) { mTranslateScale = scale; }
private:
/* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1;
/* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2;
/* 0x40 */ cXyz mTranslateScale;
/* 0x4C */ Z2Creature* mpSound;
/* 0x50 */ void* mpBas;
/* 0x54 */ bool mTranslate;
/* 0x55 */ bool mMorfNone;
};
class mDoExt_McaMorf : public mDoExt_morf_c {
public:
mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
int, void*, u32, u32);
int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
J3DAnmTransform*, int, f32, int, int, int, void*, u32, u32);
void setAnm(J3DAnmTransform* i_bck, int i_mode, f32 i_morf, f32 i_speed, f32 i_startF, f32 i_endF, void* i_bas);
u32 play(Vec*, u32, s8);
void entryDL();
void modelCalc();
void getTransform(u16, J3DTransformInfo*);
virtual ~mDoExt_McaMorf();
virtual void calc();
J3DModel* getModel() { return mpModel; }
private:
/* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1;
/* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2;
/* 0x40 */ cXyz mTranslateScale;
/* 0x4C */ mDoExt_zelAnime* mpSound;
/* 0x50 */ bool field_0x50;
/* 0x51 */ bool field_0x51;
/* 0x52 */ bool field_0x52;
};
class mDoExt_McaMorf2 : public mDoExt_morf_c {
public:
mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*,
int, f32, int, int, Z2Creature*, u32, u32);
int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int,
f32, int, int, Z2Creature*, u32, u32);
void ERROR_EXIT();
void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32);
void setAnmRate(f32);
int play(u32, s8);
void entryDL();
void modelCalc();
void stopZelAnime();
virtual ~mDoExt_McaMorf2();
virtual void calc();
inline f32 getAnmRate() { return mAnmRate; }
inline void changeAnm(J3DAnmTransform* anm, J3DAnmTransform* anm2) {
mpAnm = anm;
field_0x40 = anm2;
}
inline J3DModel* getModel() { return mpModel; }
private:
/* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1;
/* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2;
/* 0x40 */ J3DAnmTransform* field_0x40;
/* 0x44 */ f32 mAnmRate;
/* 0x48 */ Z2Creature* mpSound;
/* 0x4C */ void* mpBas;
};
class mDoExt_MtxCalcOldFrame {
public:
void initOldFrameMorf(f32, u16, u16);
@@ -507,6 +330,151 @@ struct mDoExt_MtxCalcAnmBlendTblOld : public mDoExt_MtxCalcAnmBlendTbl {
STATIC_ASSERT(sizeof(mDoExt_MtxCalcAnmBlendTblOld) == 0x10);
class mDoExt_zelAnime : public Z2SoundObjAnime {
public:
void* field_0x48;
};
class mDoExt_morf_c
: public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
public:
mDoExt_morf_c();
void setMorf(f32 i_morf);
void frameUpdate();
virtual ~mDoExt_morf_c();
J3DAnmTransform* getAnm() { return mpAnm; }
void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
int 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); }
f32 getMorfRatio() { return mCurMorf; }
/* 0x04 */ J3DModel* mpModel;
/* 0x08 */ J3DAnmTransform* mpAnm;
/* 0x0C */ J3DFrameCtrl mFrameCtrl;
/* 0x20 */ J3DTransformInfo* mpTransformInfo;
/* 0x24 */ Quaternion* mpQuat;
/* 0x28 */ f32 mCurMorf;
/* 0x2C */ f32 mPrevMorf;
/* 0x30 */ f32 mMorfStep;
/* 0x34 */ f32 field_0x34;
};
class mDoExt_McaMorf : public mDoExt_morf_c {
public:
mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
int, void*, u32, u32);
int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
J3DAnmTransform*, int, f32, int, int, int, void*, u32, u32);
void setAnm(J3DAnmTransform* i_bck, int i_mode, f32 i_morf, f32 i_speed, f32 i_startF, f32 i_endF, void* i_bas);
u32 play(Vec*, u32, s8);
void entryDL();
void modelCalc();
void getTransform(u16, J3DTransformInfo*);
virtual ~mDoExt_McaMorf();
virtual void calc();
J3DModel* getModel() { return mpModel; }
private:
/* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1;
/* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2;
/* 0x40 */ cXyz mTranslateScale;
/* 0x4C */ mDoExt_zelAnime* mpSound;
/* 0x50 */ bool field_0x50;
/* 0x51 */ bool field_0x51;
/* 0x52 */ bool field_0x52;
};
class mDoExt_McaMorfSO : public mDoExt_morf_c {
public:
mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32);
void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate,
f32 i_start, f32 i_end);
int play(u32, s8);
void updateDL();
void entryDL();
void modelCalc();
void getTransform(u16, J3DTransformInfo*);
void stopZelAnime();
virtual ~mDoExt_McaMorfSO();
virtual void calc();
J3DModel* getModel() { return mpModel; }
void offMorfNone() { mMorfNone = false; }
void onMorfNone() { mMorfNone = true; }
inline void setTranslateScale(cXyz& i_scale) { mTranslateScale = i_scale; }
J3DTransformInfo* getOldTransInfo() { return mpTransformInfo; }
Quaternion* getOldQuaternion() { return mpQuat; }
void offTranslate() { mTranslate = true; }
void setTranslateScale(const cXyz& scale) { mTranslateScale = scale; }
private:
/* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1;
/* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2;
/* 0x40 */ cXyz mTranslateScale;
/* 0x4C */ Z2Creature* mpSound;
/* 0x50 */ void* mpBas;
/* 0x54 */ bool mTranslate;
/* 0x55 */ bool mMorfNone;
};
class mDoExt_McaMorf2 : public mDoExt_morf_c {
public:
mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*,
int, f32, int, int, Z2Creature*, u32, u32);
int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int,
f32, int, int, Z2Creature*, u32, u32);
void ERROR_EXIT();
void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32);
void setAnmRate(f32);
int play(u32, s8);
void entryDL();
void modelCalc();
void stopZelAnime();
virtual ~mDoExt_McaMorf2();
virtual void calc();
inline f32 getAnmRate() { return mAnmRate; }
inline void changeAnm(J3DAnmTransform* anm, J3DAnmTransform* anm2) {
mpAnm = anm;
field_0x40 = anm2;
}
inline J3DModel* getModel() { return mpModel; }
private:
/* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1;
/* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2;
/* 0x40 */ J3DAnmTransform* field_0x40;
/* 0x44 */ f32 mAnmRate;
/* 0x48 */ Z2Creature* mpSound;
/* 0x4C */ void* mpBas;
};
struct mDoExt_3Dline_field_0x10_c {
s8 x;
s8 y;
@@ -533,6 +501,46 @@ public:
/* 0x1C */ mDoExt_3Dline_field_0x18_c* field_0x1c;
};
class mDoExt_offCupOnAupPacket : public J3DPacket {
virtual void draw();
virtual ~mDoExt_offCupOnAupPacket();
};
class mDoExt_onCupOffAupPacket : public J3DPacket {
virtual void draw();
virtual ~mDoExt_onCupOffAupPacket();
};
class mDoExt_invJntPacket : public J3DPacket {
public:
mDoExt_invJntPacket() {}
virtual void draw();
virtual ~mDoExt_invJntPacket() {}
void setJoint(J3DModel* i_model, u16 param_1, u8 param_2) {
field_0x10 = i_model;
field_0x14 = param_1;
field_0x16 = param_2;
}
private:
/* 0x10 */ J3DModel* field_0x10;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u8 field_0x16;
}; // Size: 0x18
class mDoExt_invisibleModel {
public:
mDoExt_invisibleModel() {}
int create(J3DModel* i_model, u8 param_1);
void entryJoint(cXyz*);
void entryDL(cXyz*);
/* 0x0 */ J3DModel* mModel;
/* 0x4 */ mDoExt_invJntPacket* mpPackets;
};
class mDoExt_3DlineMat_c {
public:
virtual int getMaterialID() = 0;
@@ -542,19 +550,27 @@ public:
/* 0x4 */ mDoExt_3DlineMat_c* field_0x4;
};
class mDoExt_3DlineMatSortPacket : public J3DPacket {
class mDoExt_3DlineMat0_c : public mDoExt_3DlineMat_c {
public:
mDoExt_3DlineMatSortPacket() { mp3DlineMat = NULL; }
int init(u16, u16, int);
void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
void update(int, _GXColor&, dKy_tevstr_c*);
void reset() { mp3DlineMat = NULL; }
void setMatDark(mDoExt_3DlineMat_c* i_mat) { setMat(i_mat); }
void setMat(mDoExt_3DlineMat_c*);
virtual int getMaterialID() { return 0; }
virtual void setMaterial();
virtual void draw();
virtual ~mDoExt_3DlineMatSortPacket() {}
cXyz* getPos(int param_0) { return field_0x18[param_0].field_0x0; }
f32* getSize(int param_0) { return field_0x18[param_0].field_0x4; }
private:
/* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat;
/* 0x08 */ GXColor field_0x8;
/* 0x0C */ dKy_tevstr_c* field_0xc;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u8 field_0x16;
/* 0x18 */ mDoExt_3Dline_c* field_0x18;
};
class dKy_tevstr_c;
@@ -581,27 +597,36 @@ private:
/* 0x38 */ mDoExt_3Dline_c* mpLines;
};
class mDoExt_3DlineMat0_c : public mDoExt_3DlineMat_c {
class mDoExt_3DlineMat2_c : public mDoExt_3DlineMat_c {
public:
int init(u16, u16, int);
void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
void update(int, _GXColor&, dKy_tevstr_c*);
int getMaterialID() { return 2; }
void setMaterial();
};
virtual int getMaterialID() { return 0; }
virtual void setMaterial();
class mDoExt_3DlineMatSortPacket : public J3DPacket {
public:
mDoExt_3DlineMatSortPacket() { mp3DlineMat = NULL; }
void reset() { mp3DlineMat = NULL; }
void setMatDark(mDoExt_3DlineMat_c* i_mat) { setMat(i_mat); }
void setMat(mDoExt_3DlineMat_c*);
virtual void draw();
cXyz* getPos(int param_0) { return field_0x18[param_0].field_0x0; }
f32* getSize(int param_0) { return field_0x18[param_0].field_0x4; }
virtual ~mDoExt_3DlineMatSortPacket() {}
private:
/* 0x08 */ GXColor field_0x8;
/* 0x0C */ dKy_tevstr_c* field_0xc;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u8 field_0x16;
/* 0x18 */ mDoExt_3Dline_c* field_0x18;
/* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat;
};
class mDoExt_cube8pPacket : public J3DPacket {
public:
mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color);
virtual void draw();
virtual ~mDoExt_cube8pPacket() {}
/* 0x10 */ cXyz mPoints[8];
/* 0x70 */ GXColor mColor;
};
class mDoExt_cubePacket : public J3DPacket {
@@ -617,44 +642,6 @@ public:
/* 0x2E */ GXColor mColor;
};
class mDoExt_cylinderPacket : public J3DPacket {
public:
mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_cylinderPacket() {}
/* 0x10 */ cXyz mPosition;
/* 0x1C */ f32 mRadius;
/* 0x20 */ f32 mHeight;
/* 0x24 */ GXColor mColor;
/* 0x28 */ u8 mClipZ;
};
class mDoExt_spherePacket : public J3DPacket {
public:
mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_spherePacket() {}
/* 0x10 */ cXyz mPosition;
/* 0x1C */ f32 mSize;
/* 0x20 */ GXColor mColor;
/* 0x24 */ u8 mClipZ;
};
class mDoExt_cube8pPacket : public J3DPacket {
public:
mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color);
virtual void draw();
virtual ~mDoExt_cube8pPacket() {}
/* 0x10 */ cXyz mPoints[8];
/* 0x70 */ GXColor mColor;
};
class mDoExt_trianglePacket : public J3DPacket {
public:
mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
@@ -693,32 +680,6 @@ public:
/* 0x2D */ u8 mWidth;
};
class mDoExt_cylinderMPacket : public J3DPacket {
public:
mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_cylinderMPacket() {}
/* 0x10 */ Mtx mMatrix;
/* 0x40 */ GXColor mColor;
/* 0x44 */ u8 mClipZ;
};
class mDoExt_circlePacket : public J3DPacket {
public:
mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
virtual void draw();
virtual ~mDoExt_circlePacket() {}
/* 0x10 */ cXyz mPosition;
/* 0x1C */ f32 mRadius;
/* 0x20 */ GXColor mColor;
/* 0x24 */ u8 mClipZ;
/* 0x25 */ u8 mLineWidth;
};
class mDoExt_ArrowPacket : public J3DPacket {
public:
mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
@@ -746,15 +707,71 @@ public:
/* 0x21 */ u8 mLineWidth;
};
class mDoExt_circlePacket : public J3DPacket {
public:
mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
virtual void draw();
virtual ~mDoExt_circlePacket() {}
/* 0x10 */ cXyz mPosition;
/* 0x1C */ f32 mRadius;
/* 0x20 */ GXColor mColor;
/* 0x24 */ u8 mClipZ;
/* 0x25 */ u8 mLineWidth;
};
class mDoExt_spherePacket : public J3DPacket {
public:
mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_spherePacket() {}
/* 0x10 */ cXyz mPosition;
/* 0x1C */ f32 mSize;
/* 0x20 */ GXColor mColor;
/* 0x24 */ u8 mClipZ;
};
class mDoExt_cylinderPacket : public J3DPacket {
public:
mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_cylinderPacket() {}
/* 0x10 */ cXyz mPosition;
/* 0x1C */ f32 mRadius;
/* 0x20 */ f32 mHeight;
/* 0x24 */ GXColor mColor;
/* 0x28 */ u8 mClipZ;
};
class mDoExt_cylinderMPacket : public J3DPacket {
public:
mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_cylinderMPacket() {}
/* 0x10 */ Mtx mMatrix;
/* 0x40 */ GXColor mColor;
/* 0x44 */ u8 mClipZ;
};
inline void mDoExt_bckAnmRemove(J3DModelData* i_modelData) {
i_modelData->getJointNodePointer(0)->setMtxCalc(NULL);
}
JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_parent, u32 i_alignment);
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment);
void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
u32 mDoExt_adjustSolidHeap(JKRSolidHeap* i_heap);
void mDoExt_restoreCurrentHeap();
JKRExpHeap* mDoExt_getGameHeap();
void mDoExt_setSafeGameHeapSize();
size_t mDoExt_getSafeGameHeapSize();
void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
JKRHeap* mDoExt_setCurrentHeap(JKRHeap* i_heap);
JKRExpHeap* mDoExt_getArchiveHeap();
@@ -766,13 +783,13 @@ JKRExpHeap* mDoExt_getZeldaHeap();
JKRExpHeap* mDoExt_getJ2dHeap();
JKRExpHeap* mDoExt_getHostIOHeap();
JKRExpHeap* mDoExt_getDbPrintHeap();
JKRExpHeap* mDoExt_createDbPrintHeap(u32 heapSize, JKRHeap* i_heap);
JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* i_heap);
JKRExpHeap* mDoExt_createCommandHeap(u32 heapSize, JKRHeap* i_heap);
JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* i_heap);
JKRExpHeap* mDoExt_createJ2dHeap(u32 heapSize, JKRHeap* i_heap);
JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* i_heap);
JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* i_heap);
JKRExpHeap* mDoExt_createDbPrintHeap(u32 heapSize, JKRHeap* parentHeap);
JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* parentHeap);
JKRExpHeap* mDoExt_createCommandHeap(u32 heapSize, JKRHeap* parentHeap);
JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* parentHeap);
JKRExpHeap* mDoExt_createJ2dHeap(u32 heapSize, JKRHeap* parentHeap);
JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* parentHeap);
JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* parentHeap);
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** o_heap, u32 i_size, JKRHeap* i_parent,
u32 i_alignment);
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 i_size, JKRHeap* i_parent, u32 i_alignment);
@@ -794,10 +811,8 @@ J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag,
u32 i_differedDlistFlag);
extern u32 aram_cache_size;
u32 mDoExt_getAraCacheSize();
void mDoExt_setAraCacheSize(u32 size);
inline u32 mDoExt_getAraCacheSize() {
return aram_cache_size;
}
int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id);
void mDoExt_modelEntryDL(J3DModel* i_model);
@@ -808,9 +823,10 @@ void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareMo
void mDoExt_btkAnmRemove(J3DModelData* i_modelData);
void mDoExt_modelTexturePatch(J3DModelData* i_modelData);
#if VERSION == VERSION_SHIELD_DEBUG
s32 mDoExt_getSafeZeldaHeapSize();
void mDoExt_addSafeZeldaHeapSize(s32);
void mDoExt_setSafeZeldaHeapSize();
void mDoExt_addSafeZeldaHeapSize(intptr_t);
intptr_t mDoExt_getSafeZeldaHeapSize();
#if DEBUG
JKRHeap* mDoExt_createHostIOHeap(u32, JKRHeap*);
#endif
@@ -820,9 +836,33 @@ JUTFont* mDoExt_getSubFont();
JUTFont* mDoExt_getRubyFont();
void mDoExt_removeSubFont();
class DummyCheckHeap : public JKRDisposer {
public:
DummyCheckHeap();
~DummyCheckHeap();
int isVirgin();
JKRHeap* getHeap();
void setHeap(JKRHeap*);
/* 0x18 */ void* mAlloc;
/* 0x18 */ int mSize;
/* 0x20 */ JKRHeap* mHeap;
};
int DummyCheckHeap_init();
int DummyCheckHeap_create();
void DummyCheckHeap_destroy();
int DummyCheckHeap_isVirgin();
void DummyCheckHeap_check();
extern JKRExpHeap* zeldaHeap;
extern JKRExpHeap* gameHeap;
extern JKRExpHeap* archiveHeap;
extern JKRExpHeap* commandHeap;
extern DummyCheckHeap* dch;
#endif /* M_DO_M_DO_EXT_H */
+4 -1
View File
@@ -2,7 +2,7 @@
#define M_DO_M_DO_HOSTIO_H
#include "JSystem/JHostIO/JORReflexible.h"
#include <string.h>
#include <string>
class mDoHIO_child_c {
public:
@@ -71,6 +71,9 @@ public:
extern mDoHIO_root_c mDoHIO_root;
void mDoHIO_updateChild(s8 i_no);
inline void mDoHIO_update() {
mDoHIO_root.update();
};
void mDoHIO_deleteChild(s8 i_no);
inline s8 mDoHIO_createChild(const char* i_name, JORReflexible* i_node) {
return mDoHIO_root.createChild(i_name, i_node);
+1 -1
View File
@@ -8,7 +8,7 @@ class JKRHeap;
void myHeapCheckRecursive(JKRHeap*);
BOOL mDoMch_IsProgressiveMode();
bool exceptionReadPad(u32*, u32*);
void exceptionReadPad(u32*, u32*);
void exceptionRestart();
void myExceptionCallback(u16, OSContext*, u32, u32);
void my_SysPrintHeap(char const*, void*, u32);
+3
View File
@@ -6,9 +6,12 @@
class JKRExpHeap;
extern OSThread mainThread;
void version_check();
s32 LOAD_COPYDATE(void*);
extern OSThread mainThread;
const int HeapCheckTableNum = 8;
class HeapCheck {
+12 -1
View File
@@ -5,6 +5,9 @@
#include "SSystem/SComponent/c_xyz.h"
#include <dolphin/mtx.h>
extern u8 g_printCurrentHeapDebug;
extern u8 g_printOtherHeapDebug;
void mDoMtx_XYZrotS(Mtx, s16, s16, s16);
void mDoMtx_XYZrotM(Mtx, s16, s16, s16);
void mDoMtx_ZXYrotS(Mtx, s16, s16, s16);
@@ -45,7 +48,7 @@ inline void mDoMtx_multVec(CMtxP m, const Vec* src, Vec* dst) {
}
inline void mDoMtx_multVecArray(const Mtx m, const Vec* src, Vec* dst, u32 count) {
MTXMultVecArray(m, src, dst, count);
PSMTXMultVecArray(m, src, dst, count);
}
inline void mDoMtx_copy(const Mtx src, Mtx dst) {
@@ -100,6 +103,10 @@ inline void cMtx_copy(const Mtx src, Mtx dst) {
mDoMtx_copy(src, dst);
}
inline void cMtx_trans(Mtx pDest, f32 x, f32 y, f32 z) {
mDoMtx_trans(pDest, x, y, z);
}
inline void cMtx_multVecArray(const Mtx mtx, const Vec* src, Vec* dst, u32 count) {
mDoMtx_multVecArray(mtx, src, dst, count);
}
@@ -142,6 +149,10 @@ inline void mDoMtx_quat(Mtx m, const Quaternion* q) {
MTXQuat(m, q);
}
inline void cMtx_identity(Mtx mtx) {
mDoMtx_identity(mtx);
}
inline void cMtx_inverse(const Mtx a, Mtx b) {
mDoMtx_inverse(a, b);
}