|
|
|
@@ -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 */
|
|
|
|
|