diff options
| author | Jcw87 <Jcw87@users.noreply.github.com> | 2026-01-18 17:59:57 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-18 17:59:57 -0800 |
| commit | 87a3705039533b309a04baaaa0f99010b5d71c00 (patch) | |
| tree | 2dc2beb45a2b7b6a1738126a0c11c966c66a535c /include/m_Do | |
| parent | 52a1e1363a4b91bc49f7994a553d16b90d969619 (diff) | |
m_Do debug (#3052)
* m_Do debug
* m_Do wii data
Diffstat (limited to 'include/m_Do')
| -rw-r--r-- | include/m_Do/m_Do_audio.h | 8 | ||||
| -rw-r--r-- | include/m_Do/m_Do_dvd_thread.h | 117 | ||||
| -rw-r--r-- | include/m_Do/m_Do_ext.h | 2 | ||||
| -rw-r--r-- | include/m_Do/m_Do_ext2.h | 26 |
4 files changed, 99 insertions, 54 deletions
diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index e558bd7b98..7c456b0cfe 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -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; }; diff --git a/include/m_Do/m_Do_dvd_thread.h b/include/m_Do/m_Do_dvd_thread.h index cbacaa9437..ad053bd051 100644 --- a/include/m_Do/m_Do_dvd_thread.h +++ b/include/m_Do/m_Do_dvd_thread.h @@ -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,23 +44,18 @@ private: /* 0x30 */ OSMutex mMutext; }; // Size = 0x48 -class mDoDvdThd_mountXArchive_c : public mDoDvdThd_command_c { +class mDoDvdThd_callback_c : public mDoDvdThd_command_c { public: - virtual ~mDoDvdThd_mountXArchive_c(); - mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode); - static mDoDvdThd_mountXArchive_c* create(char const*, u8, JKRArchive::EMountMode, - JKRHeap*); + virtual ~mDoDvdThd_callback_c(); + mDoDvdThd_callback_c(mDoDvdThd_callback_func, void*); + static mDoDvdThd_callback_c* create(mDoDvdThd_callback_func, void*); virtual s32 execute(); - JKRArchive* getArchive() const { return mArchive; } - private: - /* 0x14 */ u8 mMountDirection; - /* 0x18 */ s32 mEntryNum; - /* 0x1C */ JKRArchive* mArchive; - /* 0x20 */ JKRArchive::EMountMode mMountMode; - /* 0x24 */ JKRHeap* mHeap; -}; // Size = 0x28 + /* 0x14 */ mDoDvdThd_callback_func mFunction; + /* 0x18 */ void* mData; + /* 0x1C */ void* mResult; +}; class mDoDvdThd_mountArchive_c : public mDoDvdThd_command_c { public: @@ -95,19 +74,60 @@ private: /* 0x20 */ JKRHeap* mHeap; }; // Size = 0x24 -class mDoDvdThd_callback_c : public mDoDvdThd_command_c { +class mDoDvdThd_mountAramArchive_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 ~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(); + mDoDvdThd_mountXArchive_c(u8 mountDirection, JKRArchive::EMountMode mountMode); + static mDoDvdThd_mountXArchive_c* create(char const*, u8, JKRArchive::EMountMode, + JKRHeap*); virtual s32 execute(); + JKRArchive* getArchive() const { return mArchive; } + private: - /* 0x14 */ mDoDvdThd_callback_func mFunction; - /* 0x18 */ void* mData; - /* 0x1C */ void* mResult; + /* 0x14 */ u8 mMountDirection; + /* 0x18 */ s32 mEntryNum; + /* 0x1C */ JKRArchive* mArchive; + /* 0x20 */ JKRArchive::EMountMode mMountMode; + /* 0x24 */ JKRHeap* mHeap; +}; // Size = 0x28 + +class mDoDvdThd_getResource_c : public mDoDvdThd_command_c { + virtual ~mDoDvdThd_getResource_c(); + virtual s32 execute(); + + /* 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 mEntryNum; + /* 0x1C */ void* mData; + /* 0x20 */ s32 mDataSize; + /* 0x24 */ JKRHeap* mHeap; +}; // Size = 0x28 + struct mDoDvdThdStack { u8 stack[4096]; } ATTRIBUTE_ALIGN(16); @@ -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 */ diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index ac45c8f443..35e81f0059 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -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(); diff --git a/include/m_Do/m_Do_ext2.h b/include/m_Do/m_Do_ext2.h index f6e029a0c0..2a38861509 100644 --- a/include/m_Do/m_Do_ext2.h +++ b/include/m_Do/m_Do_ext2.h @@ -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 |
