m_Do debug (#3052)

* m_Do debug

* m_Do wii data
This commit is contained in:
Jcw87
2026-01-18 17:59:57 -08:00
committed by GitHub
parent 52a1e1363a
commit 87a3705039
43 changed files with 862 additions and 446 deletions
+1 -2
View File
@@ -24,8 +24,7 @@ public:
const JGeometry::TBox2<f32>* getOrtho() const { return &mOrtho; }
void setOrtho(f32 x, f32 y, f32 width, f32 height, f32 far, f32 near) {
JGeometry::TBox2<f32> ortho(x, y, x + width, y + height);
setOrtho(ortho, far, near);
setOrtho(JGeometry::TBox2<f32>(x, y, x + width, y + height), far, near);
}
private:
@@ -1,7 +1,6 @@
#ifndef J3DANIMATION_H
#define J3DANIMATION_H
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTNameTab.h"
@@ -978,52 +977,4 @@ public:
/* 0x10 */ f32 mFrame;
}; // Size: 0x14
struct J3DMtxCalcAnmBase: public J3DMtxCalc {
J3DMtxCalcAnmBase(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; }
~J3DMtxCalcAnmBase() {}
J3DAnmTransform* getAnmTransform() { return mAnmTransform; }
void setAnmTransform(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; }
J3DAnmTransform* mAnmTransform;
};
struct J3DMtxCalcAnimationAdaptorBase {
J3DMtxCalcAnimationAdaptorBase() {}
void change(J3DAnmTransform*) {}
};
template <typename A0>
struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase {
J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform* pAnmTransform) {}
void calc(J3DMtxCalcAnmBase* pMtxCalc) {
J3DTransformInfo transform;
J3DTransformInfo* transform_p;
if (pMtxCalc->getAnmTransform() != NULL) {
pMtxCalc->getAnmTransform()->getTransform(J3DMtxCalc::getJoint()->getJntNo(), &transform);
transform_p = &transform;
} else {
transform_p = &J3DMtxCalc::getJoint()->getTransformInfo();
}
A0::calcTransform(*transform_p);
}
};
template <typename A0, typename B0>
struct J3DMtxCalcAnimation : public J3DMtxCalcAnmBase {
J3DMtxCalcAnimation(J3DAnmTransform* pAnmTransform) : J3DMtxCalcAnmBase(pAnmTransform), field_0x8(pAnmTransform) {}
~J3DMtxCalcAnimation() {}
void setAnmTransform(J3DAnmTransform* pAnmTransform) {
mAnmTransform = pAnmTransform;
field_0x8.change(pAnmTransform);
}
void init(const Vec& param_0, const Mtx& param_1) { B0::init(param_0, param_1); }
void calc() { field_0x8.calc(this); }
A0 field_0x8;
};
#endif /* J3DANIMATION_H */
@@ -145,6 +145,54 @@ public:
}
};
struct J3DMtxCalcAnmBase: public J3DMtxCalc {
J3DMtxCalcAnmBase(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; }
~J3DMtxCalcAnmBase() {}
J3DAnmTransform* getAnmTransform() { return mAnmTransform; }
void setAnmTransform(J3DAnmTransform* pAnmTransform) { mAnmTransform = pAnmTransform; }
J3DAnmTransform* mAnmTransform;
};
struct J3DMtxCalcAnimationAdaptorBase {
J3DMtxCalcAnimationAdaptorBase() {}
void change(J3DAnmTransform*) {}
};
template <typename A0>
struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase {
J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform* pAnmTransform) {}
void calc(J3DMtxCalcAnmBase* pMtxCalc) {
J3DTransformInfo transform;
J3DTransformInfo* transform_p;
if (pMtxCalc->getAnmTransform() != NULL) {
pMtxCalc->getAnmTransform()->getTransform(J3DMtxCalc::getJoint()->getJntNo(), &transform);
transform_p = &transform;
} else {
transform_p = &J3DMtxCalc::getJoint()->getTransformInfo();
}
A0::calcTransform(*transform_p);
}
};
template <typename A0, typename B0>
struct J3DMtxCalcAnimation : public J3DMtxCalcAnmBase {
J3DMtxCalcAnimation(J3DAnmTransform* pAnmTransform) : J3DMtxCalcAnmBase(pAnmTransform), field_0x8(pAnmTransform) {}
~J3DMtxCalcAnimation() {}
void setAnmTransform(J3DAnmTransform* pAnmTransform) {
mAnmTransform = pAnmTransform;
field_0x8.change(pAnmTransform);
}
void init(const Vec& param_0, const Mtx& param_1) { B0::init(param_0, param_1); }
void calc() { field_0x8.calc(this); }
A0 field_0x8;
};
/**
* @ingroup jsystem-j3d
*
@@ -1,6 +1,7 @@
#ifndef J3DJOINTTREE_H
#define J3DJOINTTREE_H
#include "JSystem/J3DAssert.h"
#include "JSystem/J3DGraphBase/J3DTransform.h"
class J3DJoint;
+1 -1
View File
@@ -32,7 +32,7 @@ public:
static u32 fetchResource_subroutine(u8*, u32, u8*, u32, JKRCompression);
SArcHeader* getArcHeader() { return mArcHeader; }
private:
public:
/* 0x00 */ // vtable
/* 0x04 */ // JKRArchive
/* 0x64 */ SArcHeader* mArcHeader;
+15 -12
View File
@@ -6,6 +6,20 @@
#include "JSystem/JUtility/JUTFont.h"
#include <cstdarg>
class JUTConsole;
extern "C" void JUTConsole_print_f_va_(JUTConsole*, const char*, va_list);
extern "C" void JUTSetReportConsole(JUTConsole*);
extern "C" JUTConsole* JUTGetReportConsole();
extern "C" void JUTSetWarningConsole(JUTConsole*);
extern "C" JUTConsole* JUTGetWarningConsole();
extern "C" void JUTWarningConsole_f_va(const char*, va_list);
extern "C" void JUTReportConsole_f_va(const char*, va_list);
extern "C" void JUTReportConsole_f(const char*, ...);
extern "C" void JUTWarningConsole(const char* message);
extern "C" void JUTWarningConsole_f(const char* message, ...);
extern "C" void JUTReportConsole(const char* message);
/**
* @ingroup jsystem-jutility
*
@@ -95,6 +109,7 @@ public:
void scrollToLastLine() { scroll(mMaxLines); }
void scrollToFirstLine() { scroll(-mMaxLines); }
void print_f_va(const char* fmt, va_list args) { JUTConsole_print_f_va_(this, fmt, args); }
/* 0x18 */ JGadget::TLinkListNode mListNode;
/* 0x20 */ unsigned int field_0x20;
@@ -154,16 +169,4 @@ private:
/* 0x10 */ JUTConsole* mDirectConsole;
}; // Size: 0x14
extern "C" void JUTConsole_print_f_va_(JUTConsole*, const char*, va_list);
extern "C" void JUTSetReportConsole(JUTConsole*);
extern "C" JUTConsole* JUTGetReportConsole();
extern "C" void JUTSetWarningConsole(JUTConsole*);
extern "C" JUTConsole* JUTGetWarningConsole();
extern "C" void JUTWarningConsole_f_va(const char*, va_list);
extern "C" void JUTReportConsole_f_va(const char*, va_list);
extern "C" void JUTReportConsole_f(const char*, ...);
extern "C" void JUTWarningConsole(const char* message);
extern "C" void JUTWarningConsole_f(const char* message, ...);
extern "C" void JUTReportConsole(const char* message);
#endif /* JUTCONSOLE_H */
+2 -2
View File
@@ -4,14 +4,14 @@
#include "JSystem/JAudio2/JASAudioReseter.h"
#include "Z2AudioLib/Z2Audience.h"
#include "Z2AudioLib/Z2FxLineMgr.h"
#include "Z2AudioLib/Z2SceneMgr.h"
#include "Z2AudioLib/Z2SeMgr.h"
#include "Z2AudioLib/Z2SeqMgr.h"
#include "Z2AudioLib/Z2SceneMgr.h"
#include "Z2AudioLib/Z2StatusMgr.h"
#include "Z2AudioLib/Z2SoundInfo.h"
#include "Z2AudioLib/Z2SoundMgr.h"
#include "Z2AudioLib/Z2SoundObjMgr.h"
#include "Z2AudioLib/Z2SpeechMgr2.h"
#include "Z2AudioLib/Z2StatusMgr.h"
#include "Z2AudioLib/Z2DebugSys.h"
#include "global.h"
+3 -2
View File
@@ -82,7 +82,7 @@ enum Z2EnemyID {
/* 0x3F */ Z2_ENEMY_TN,
};
class Z2SoundObjMgr : public JASGlobalInstance<Z2SoundObjMgr>, protected JSUList<Z2CreatureEnemy> {
class Z2SoundObjMgr : public JASGlobalInstance<Z2SoundObjMgr> {
public:
Z2SoundObjMgr();
void setForceBattleArea(bool forceBattle, u16, u16, u16);
@@ -98,13 +98,14 @@ public:
u8 getEnemyNumNear() const { return enemuNumNear_; }
u8 getEnemyNumVeryFar() const { return enemuNumVeryFar_; }
bool isForceBattle() { return forceBattle_; }
JSUList<Z2CreatureEnemy>* getEnemyList() { return this; }
JSUList<Z2CreatureEnemy>* getEnemyList() { return &field_0x0; }
#if DEBUG
JSUList<Z2SoundObjBase>* getAllList() { return &allList_; }
#endif
private:
/* 0x00 */ JSUList<Z2CreatureEnemy> field_0x0;
#if DEBUG
/* 0x0C */ JSUList<Z2SoundObjBase> allList_;
#endif
+1 -1
View File
@@ -17,11 +17,11 @@
#include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: export
#include "JSystem/JGadget/linklist.h" // IWYU pragma: export
#include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export
#include "JSystem/JUtility/JUTGamePad.h" // IWYU pragma: export
#include "JSystem/J3DGraphBase/J3DSys.h" // IWYU pragma: export
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
+4 -4
View File
@@ -23,16 +23,16 @@ public:
#endif
static void onInitFlag() { mInitFlag = true; }
static bool isInitFlag() { return mInitFlag; }
static bool isResetFlag() { return mResetFlag; }
static u8 isInitFlag() { return mInitFlag; }
static u8 isResetFlag() { return mResetFlag; }
static void onResetFlag() { mResetFlag = true; }
static void offResetFlag() { mResetFlag = false; }
static bool isBgmSet() { return mBgmSet; }
static void onBgmSet() { mBgmSet = true; }
static void offBgmSet() { mBgmSet = false; }
static bool mInitFlag;
static bool mResetFlag;
static u8 mInitFlag;
static u8 mResetFlag;
static bool mBgmSet;
};
+84 -41
View File
@@ -9,6 +9,7 @@
#define mDoDvd_MOUNT_DIRECTION_HEAD 0
#define mDoDvd_MOUNT_DIRECTION_TAIL 1
class JKRAramArchive;
class JKRHeap;
class JKRMemArchive;
@@ -26,23 +27,6 @@ public:
virtual s32 execute() = 0;
}; // Size = 0x14
class mDoDvdThd_toMainRam_c : public mDoDvdThd_command_c {
public:
mDoDvdThd_toMainRam_c(u8);
static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*);
virtual ~mDoDvdThd_toMainRam_c();
virtual s32 execute();
void* getMemAddress() const { return mData; }
private:
/* 0x14 */ u8 mMountDirection;
/* 0x18 */ s32 mEntryNum;
/* 0x1C */ void* mData;
/* 0x20 */ s32 mDataSize;
/* 0x24 */ JKRHeap* mHeap;
}; // Size = 0x28
class mDoDvdThd_param_c {
public:
mDoDvdThd_param_c();
@@ -60,6 +44,46 @@ private:
/* 0x30 */ OSMutex mMutext;
}; // Size = 0x48
class mDoDvdThd_callback_c : public mDoDvdThd_command_c {
public:
virtual ~mDoDvdThd_callback_c();
mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*);
static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*);
virtual s32 execute();
private:
/* 0x14 */ mDoDvdThd_callback_func mFunction;
/* 0x18 */ void* mData;
/* 0x1C */ void* mResult;
};
class mDoDvdThd_mountArchive_c : public mDoDvdThd_command_c {
public:
virtual ~mDoDvdThd_mountArchive_c();
mDoDvdThd_mountArchive_c(u8);
static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*);
virtual s32 execute();
JKRMemArchive* getArchive() const { return mArchive; }
JKRHeap* getHeap() const { return mHeap; }
private:
/* 0x14 */ u8 mMountDirection;
/* 0x18 */ s32 mEntryNumber;
/* 0x1C */ JKRMemArchive* mArchive;
/* 0x20 */ JKRHeap* mHeap;
}; // Size = 0x24
class mDoDvdThd_mountAramArchive_c : public mDoDvdThd_command_c {
public:
virtual ~mDoDvdThd_mountAramArchive_c();
virtual s32 execute();
/* 0x14 */ u8 mMountDirection;
/* 0x18 */ s32 mEntryNum;
/* 0x1C */ JKRAramArchive* mArchive;
};
class mDoDvdThd_mountXArchive_c : public mDoDvdThd_command_c {
public:
virtual ~mDoDvdThd_mountXArchive_c();
@@ -78,35 +102,31 @@ private:
/* 0x24 */ JKRHeap* mHeap;
}; // Size = 0x28
class mDoDvdThd_mountArchive_c : public mDoDvdThd_command_c {
public:
virtual ~mDoDvdThd_mountArchive_c();
mDoDvdThd_mountArchive_c(u8);
static mDoDvdThd_mountArchive_c* create(char const*, u8, JKRHeap*);
class mDoDvdThd_getResource_c : public mDoDvdThd_command_c {
virtual ~mDoDvdThd_getResource_c();
virtual s32 execute();
JKRMemArchive* getArchive() const { return mArchive; }
JKRHeap* getHeap() const { return mHeap; }
/* 0x14 */ void* mResource;
/* 0x18 */ JKRArchive* mArchive;
/* 0x1C */ u16 mResourceId;
};
class mDoDvdThd_toMainRam_c : public mDoDvdThd_command_c {
public:
mDoDvdThd_toMainRam_c(u8);
static mDoDvdThd_toMainRam_c* create(char const*, u8, JKRHeap*);
virtual ~mDoDvdThd_toMainRam_c();
virtual s32 execute();
void* getMemAddress() const { return mData; }
private:
/* 0x14 */ u8 mMountDirection;
/* 0x18 */ s32 mEntryNumber;
/* 0x1C */ JKRMemArchive* mArchive;
/* 0x20 */ JKRHeap* mHeap;
}; // Size = 0x24
class mDoDvdThd_callback_c : public mDoDvdThd_command_c {
public:
virtual ~mDoDvdThd_callback_c();
mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*);
static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*);
virtual s32 execute();
private:
/* 0x14 */ mDoDvdThd_callback_func mFunction;
/* 0x18 */ void* mData;
/* 0x1C */ void* mResult;
};
/* 0x18 */ s32 mEntryNum;
/* 0x1C */ void* mData;
/* 0x20 */ s32 mDataSize;
/* 0x24 */ JKRHeap* mHeap;
}; // Size = 0x28
struct mDoDvdThdStack {
u8 stack[4096];
@@ -127,4 +147,27 @@ struct mDoDvdThd {
static u8 Report_DVDRead;
};
namespace mDoDvdHack {
typedef struct FSTEntry {
/* 0x00 */ uint isDirAndStringOff;
/* 0x04 */ uint parentOrPosition;
/* 0x08 */ uint nextEntryOrLength;
} FSTEntry;
extern OSBootInfo* BootInfo;
extern FSTEntry* FstStart;
extern const char* FstStringStart;
extern u32 MaxEntryNum;
void __DVDFSInit();
const char* EntryToName(s32 entry);
const char* ConvertEntrynumToName(s32 entry);
class Manager {
public:
Manager() { __DVDFSInit(); }
static Manager sManager;
};
}
#endif /* M_DO_M_DO_DVD_THREAD_H */
+1 -1
View File
@@ -599,7 +599,7 @@ private:
/* 0x38 */ mDoExt_3Dline_c* mpLines;
};
class mDoExt_3DlineMat2_c : public mDoExt_3DlineMat_c {
class mDoExt_3DlineMat2_c : public mDoExt_3DlineMat1_c {
public:
int getMaterialID() { return 2; }
void setMaterial();
+14 -12
View File
@@ -7,24 +7,26 @@ class FixedMemoryCheck {
public:
FixedMemoryCheck(u32*, u32, JKRHeap*);
void alloc();
void save();
void check();
void diff();
BOOL alloc();
BOOL save();
BOOL check();
BOOL diff();
static FixedMemoryCheck* easyCreate(void* param_1, s32 param_2) { return easyCreate(param_1, u32(param_2)); }
static FixedMemoryCheck* easyCreate(void*, u32);
static void checkAll();
static void diffAll();
static void saveAll();
static BOOL checkAll();
static BOOL diffAll();
static BOOL saveAll();
/* 0x00 */ u32* field_0x00;
/* 0x04 */ u32 field_0x04;
/* 0x08 */ u32* field_0x08;
static FixedMemoryCheck* sFirst;
/* 0x00 */ u32* mNowCode;
/* 0x04 */ u32 mSize;
/* 0x08 */ u32* mSaveCode;
/* 0x0C */ JKRHeap* mpHeap;
/* 0x10 */ int field_0x10;
/* 0x14 */ u8 field_0x14;
/* 0x18 */ FixedMemoryCheck* field_0x18;
/* 0x14 */ bool field_0x14;
/* 0x18 */ FixedMemoryCheck* mNext;
};
#endif
+1
View File
@@ -247,6 +247,7 @@ s32 DVDCancel(DVDCommandBlock* block);
int DVDCancelAllAsync(DVDCBCallback callback);
s32 DVDCancelAll(void);
DVDDiskID* DVDGetCurrentDiskID(void);
BOOL DVDCheckDiskAsync(DVDCommandBlock* block, DVDCBCallback callback);
BOOL DVDCheckDisk(void);
// DVD FATAL
+2
View File
@@ -28,6 +28,8 @@ struct OSShutdownFunctionInfo {
void OSRegisterShutdownFunction(OSShutdownFunctionInfo* info);
void OSUnregisterShutdownFunction(OSShutdownFunctionInfo* info);
void OSShutdownSystem();
void OSRestart(u32 resetCode);
void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu);
u32 OSGetResetCode();
u32 OSSetBootDol(u32 dolOffset);