mirror of
https://github.com/zeldaret/tp
synced 2026-06-09 04:40:05 -04:00
m_Do_ext retail linked + debug improvements (#3009)
This commit is contained in:
@@ -65,7 +65,7 @@ m_Do/m_Do_mtx.cpp:
|
||||
.ctors start:0x8062F7D0 end:0x8062F7D4
|
||||
.data start:0x80661ED0 end:0x80661FC0
|
||||
.sdata start:0x8073F3E8 end:0x8073F3F8
|
||||
.sbss start:0x8074C3B0 end:0x8074C3BC
|
||||
.sbss start:0x8074C3B0 end:0x8074C3B8
|
||||
.sdata2 start:0x8074D878 end:0x8074D888
|
||||
.bss start:0x807558E0 end:0x80755D30
|
||||
|
||||
@@ -74,7 +74,7 @@ m_Do/m_Do_ext.cpp:
|
||||
.rodata start:0x8062FA30 end:0x8062FA70
|
||||
.data start:0x80661FC0 end:0x80663DB0
|
||||
.sdata start:0x8073F3F8 end:0x8073F600
|
||||
.sbss start:0x8074C3BC end:0x8074C418
|
||||
.sbss start:0x8074C3B8 end:0x8074C418
|
||||
.sdata2 start:0x8074D888 end:0x8074D8D0
|
||||
.bss start:0x80755D30 end:0x80755D90
|
||||
|
||||
|
||||
@@ -64187,9 +64187,9 @@ lbl_8074C3AA = .sbss:0x8074C3AA; // type:object size:0x1 data:byte hash:0xFDF68E
|
||||
lbl_8074C3AB = .sbss:0x8074C3AB; // type:object size:0x1 data:byte hash:0x15E8B591 dhash:0xC99D7D59
|
||||
@LOCAL@exceptionNNGCReadPad__FPUlPUl@l_oldButton@0 = .sbss:0x8074C3AC; // type:object size:0x4 scope:local data:4byte hash:0x50F85B88 dhash:0x8D7B3DDD
|
||||
mDoMtx_stack = .sbss:0x8074C3B0; // type:object size:0x1 scope:global hash:0x2AB168B3
|
||||
lbl_8074C3B8 = .sbss:0x8074C3B8; // type:object size:0x1 data:byte hash:0x60980213 dhash:0x3EBAE505
|
||||
CurrentHeapAdjustVerbose__6mDoExt = .sbss:0x8074C3B8; // type:object size:0x1 data:byte hash:0x60980213 dhash:0x3EBAE505
|
||||
HeapAdjustVerbose__6mDoExt = .sbss:0x8074C3B9; // type:object size:0x1 data:byte hash:0xDD10CA27 dhash:0x25FFD851
|
||||
HeapAdjustQuiet__6mDoExt = .sbss:0x8074C3BA; // type:object size:0x2 hash:0x364A3DE1 dhash:0xAED09ED7
|
||||
HeapAdjustQuiet__6mDoExt = .sbss:0x8074C3BA; // type:object size:0x1 hash:0x364A3DE1 dhash:0xAED09ED7
|
||||
AssertHeap = .sbss:0x8074C3BC; // type:object size:0x4 scope:global data:4byte hash:0x0726E63B
|
||||
DbPrintHeap = .sbss:0x8074C3C0; // type:object size:0x4 scope:global data:4byte hash:0x114A8B4E
|
||||
gameHeap = .sbss:0x8074C3C4; // type:object size:0x4 scope:global data:4byte hash:0x31D7CBD7
|
||||
@@ -64199,8 +64199,8 @@ archiveHeap = .sbss:0x8074C3D0; // type:object size:0x4 scope:global data:4byte
|
||||
j2dHeap = .sbss:0x8074C3D4; // type:object size:0x4 scope:global data:4byte hash:0x7CA37505
|
||||
HostIOHeap = .sbss:0x8074C3D8; // type:object size:0x4 scope:global data:4byte hash:0x8D1A0E3F
|
||||
mDoExt_SaveCurrentHeap = .sbss:0x8074C3DC; // type:object size:0x4 scope:global data:4byte hash:0x44FDA9E1
|
||||
@LOCAL@mDoExt_createSolidHeap__FUlP7JKRHeapUl@displayed@0 = .sbss:0x8074C3E0; // type:object size:0x4 scope:local data:4byte hash:0x1928D6B8 dhash:0xF0ED4395
|
||||
lbl_8074C3E4 = .sbss:0x8074C3E4; // type:object size:0x1 data:byte hash:0x74053100 dhash:0xCB66AA90
|
||||
@LOCAL@mDoExt_createSolidHeap__FUlP7JKRHeapUl@displayed = .sbss:0x8074C3E0; // type:object size:0x4 scope:local data:4byte hash:0x1928D6B8 dhash:0xF0ED4395
|
||||
@GUARD@draw__17mDoExt_cubePacketFv@l_pos = .sbss:0x8074C3E4; // type:object size:0x1 data:byte hash:0x74053100 dhash:0xCB66AA90
|
||||
mDoExt_font0 = .sbss:0x8074C3E8; // type:object size:0x4 scope:global data:4byte hash:0xA93F74F6
|
||||
mDoExt_font0_getCount = .sbss:0x8074C3EC; // type:object size:0x4 scope:global data:4byte hash:0xCC867BDC
|
||||
mDoExt_resfont0 = .sbss:0x8074C3F0; // type:object size:0x4 scope:global data:4byte hash:0xFFCF2592
|
||||
|
||||
+1
-1
@@ -570,7 +570,7 @@ config.libs = [
|
||||
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_graphic.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_machine.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_mtx.cpp"),
|
||||
Object(Equivalent, "m_Do/m_Do_ext.cpp"), # weak func order
|
||||
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_ext.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_ext2.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_lib.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_Reset.cpp"),
|
||||
|
||||
@@ -56,12 +56,9 @@ public:
|
||||
J3DIndBlock* getIndBlock() { return mIndBlock; }
|
||||
J3DJoint* getJoint() { return mJoint; }
|
||||
J3DMaterialAnm* getMaterialAnm() {
|
||||
if ((uintptr_t)mMaterialAnm < 0xC0000000) {
|
||||
return mMaterialAnm;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
return (uintptr_t)mMaterialAnm < 0xC0000000 ? mMaterialAnm : NULL;
|
||||
}
|
||||
u32 getMaterialMode() { return mMaterialMode; }
|
||||
J3DNBTScale* getNBTScale() { return mTexGenBlock->getNBTScale(); }
|
||||
u16 getTexNo(u32 idx) { return mTevBlock->getTexNo(idx); }
|
||||
J3DGXColor* getTevKColor(u32 param_0) { return mTevBlock->getTevKColor(param_0); }
|
||||
|
||||
@@ -139,7 +139,10 @@ struct J3DSys {
|
||||
|
||||
J3DMtxCalc * getCurrentMtxCalc() const { return mCurrentMtxCalc; }
|
||||
|
||||
void setTexture(J3DTexture* pTex) { mTexture = pTex; }
|
||||
void setTexture(J3DTexture* pTex) {
|
||||
JUT_ASSERT_MSG(220, pTex != NULL, "Error : null pointer.");
|
||||
mTexture = pTex;
|
||||
}
|
||||
J3DTexture* getTexture() { return mTexture; }
|
||||
|
||||
void setNBTScale(Vec* scale) { mNBTScale = scale; }
|
||||
|
||||
@@ -33,6 +33,7 @@ public:
|
||||
}
|
||||
|
||||
void setResTIMG(u16 index, const ResTIMG& timg) {
|
||||
JUT_ASSERT_MSG(81, (bool)(index < mNum), "Error : range over.");
|
||||
mpRes[index] = timg;
|
||||
mpRes[index].imageOffset = ((mpRes[index].imageOffset + (uintptr_t)&timg - (uintptr_t)(mpRes + index)));
|
||||
mpRes[index].paletteOffset = ((mpRes[index].paletteOffset + (uintptr_t)&timg - (uintptr_t)(mpRes + index)));
|
||||
|
||||
@@ -116,4 +116,8 @@ inline JKRExpHeap* JKRCreateExpHeap(u32 size, JKRHeap* parent, bool errorFlag) {
|
||||
return JKRExpHeap::create(size, parent, errorFlag);
|
||||
}
|
||||
|
||||
inline void JKRDestroyExpHeap(JKRHeap* heap) {
|
||||
heap->destroy();
|
||||
}
|
||||
|
||||
#endif /* JKREXPHEAP_H */
|
||||
|
||||
@@ -36,6 +36,7 @@ public:
|
||||
};
|
||||
|
||||
public:
|
||||
JKRHeap(u32 size, JKRHeap* parent, bool errorFlag);
|
||||
JKRHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag);
|
||||
virtual ~JKRHeap();
|
||||
|
||||
@@ -112,6 +113,7 @@ public:
|
||||
void lock() { OSLockMutex(&mMutex); }
|
||||
void unlock() { OSUnlockMutex(&mMutex); }
|
||||
u32 getHeapSize() { return mSize; }
|
||||
u8 getCurrentGroupId() { return 0; }
|
||||
|
||||
protected:
|
||||
/* 0x00 */ // vtable
|
||||
@@ -151,9 +153,7 @@ public:
|
||||
static u32 getMemorySize(void) { return mMemorySize; }
|
||||
static JKRHeap* getRootHeap() { return sRootHeap; }
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
static JKRHeap* getRootHeap2() { return sRootHeap2; }
|
||||
#endif
|
||||
|
||||
static JKRHeap* getSystemHeap() { return sSystemHeap; }
|
||||
static JKRHeap* getCurrentHeap() { return sCurrentHeap; }
|
||||
@@ -176,9 +176,7 @@ public:
|
||||
|
||||
static JKRHeap* sRootHeap;
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
static JKRHeap* sRootHeap2;
|
||||
#endif
|
||||
|
||||
static JKRHeap* sSystemHeap;
|
||||
static JKRHeap* sCurrentHeap;
|
||||
@@ -241,6 +239,10 @@ inline u32 JKRGetMemBlockSize(JKRHeap* heap, void* block) {
|
||||
return JKRHeap::getSize(block, heap);
|
||||
}
|
||||
|
||||
inline u32 JKRGetFreeSize(JKRHeap* heap) {
|
||||
return heap->getFreeSize();
|
||||
}
|
||||
|
||||
inline void* JKRAlloc(u32 size, int alignment) {
|
||||
return JKRHeap::alloc(size, alignment, NULL);
|
||||
}
|
||||
@@ -261,11 +263,9 @@ inline bool JKRSetErrorFlag(JKRHeap* heap, bool flag) {
|
||||
return heap->setErrorFlag(flag);
|
||||
}
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
inline JKRHeap* JKRGetRootHeap2() {
|
||||
return JKRHeap::getRootHeap2();
|
||||
}
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
inline void JKRSetDebugFillNotuse(u8 status) { data_804508B1 = status; }
|
||||
|
||||
@@ -65,4 +65,8 @@ inline JKRSolidHeap* JKRCreateSolidHeap(u32 param_0, JKRHeap* heap, bool param_2
|
||||
return JKRSolidHeap::create(param_0, heap, param_2);
|
||||
}
|
||||
|
||||
inline void JKRDestroySolidHeap(JKRHeap* heap) {
|
||||
heap->destroy();
|
||||
}
|
||||
|
||||
#endif /* JKRSOLIDHEAP_H */
|
||||
|
||||
@@ -63,6 +63,14 @@ public:
|
||||
static u32 calcCacheSize(u32 param_0, int param_1) { return (ALIGN_NEXT(param_0, 0x20) + 0x40) * param_1; }
|
||||
GXTexObj* getTexObj(void* buffer) { return &((TCachePage*)buffer)->mTexObj; }
|
||||
|
||||
u32 getCachePage() const {
|
||||
return mCachePage;
|
||||
}
|
||||
|
||||
int getMaxSheetSize() const {
|
||||
return mMaxSheetSize;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x70 */ u32 mTotalWidSize;
|
||||
/* 0x74 */ u32 mTotalGlySize;
|
||||
|
||||
@@ -12,6 +12,11 @@
|
||||
// Fixes weak function ordering
|
||||
#include "math.h" // IWYU pragma: export
|
||||
#include "cstring.h" // IWYU pragma: export
|
||||
#include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export
|
||||
#include "JSystem/JUtility/JUTGamePad.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
|
||||
#include "JSystem/JHostIO/JORReflexible.h" // IWYU pragma: export
|
||||
|
||||
+319
-279
@@ -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,16 +18,11 @@ struct ResTIMG;
|
||||
class Z2Creature;
|
||||
|
||||
namespace mDoExt {
|
||||
extern u8 CurrentHeapAdjustVerbose;
|
||||
extern u8 HeapAdjustVerbose;
|
||||
extern u8 HeapAdjustQuiet;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
void DummyCheckHeap_init();
|
||||
void DummyCheckHeap_create();
|
||||
void DummyCheckHeap_destroy();
|
||||
#endif
|
||||
|
||||
class mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_baseAnm() {}
|
||||
@@ -244,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;
|
||||
@@ -289,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);
|
||||
@@ -508,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;
|
||||
@@ -534,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;
|
||||
@@ -543,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;
|
||||
@@ -582,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 {
|
||||
@@ -618,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);
|
||||
@@ -694,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);
|
||||
@@ -747,6 +707,59 @@ 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);
|
||||
}
|
||||
@@ -757,6 +770,8 @@ 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();
|
||||
@@ -768,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);
|
||||
@@ -810,9 +825,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
|
||||
|
||||
@@ -822,9 +838,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 */
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
class JKRExpHeap;
|
||||
|
||||
extern OSThread mainThread;
|
||||
|
||||
void version_check();
|
||||
s32 LOAD_COPYDATE(void*);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -392,15 +392,6 @@ int fopAcM::HeapAdjustMargin =
|
||||
0x10000;
|
||||
#endif
|
||||
|
||||
struct DummyCheckHeap {
|
||||
JKRHeap* getHeap();
|
||||
void setHeap(JKRHeap* heap);
|
||||
|
||||
/* 0x0 */ JKRHeap* dummyHeap;
|
||||
};
|
||||
|
||||
static DummyCheckHeap* dch = NULL;
|
||||
|
||||
bool fopAcM_entrySolidHeap_(fopAc_ac_c* i_actor, heapCallbackFunc i_heapCallback, u32 i_size) {
|
||||
#if DEBUG
|
||||
s16 procProfName = fopAcM_GetProfName(i_actor);
|
||||
|
||||
+535
-191
File diff suppressed because it is too large
Load Diff
@@ -864,7 +864,7 @@ void parse_args(int argc, const char* argv[]) {
|
||||
|
||||
static u8 mainThreadStack[32768];
|
||||
|
||||
static OSThread mainThread;
|
||||
OSThread mainThread;
|
||||
|
||||
void main(int argc, const char* argv[]) {
|
||||
OSThread* current_thread = OSGetCurrentThread();
|
||||
|
||||
Reference in New Issue
Block a user