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
+61 -22
View File
@@ -11,8 +11,13 @@
#include "dolphin/gx.h"
#include "m_Do/m_Do_audio.h"
#include "m_Do/m_Do_DVDError.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_MemCard.h"
#if !PLATFORM_GCN
#include "revolution/os.h"
#endif
static void my_OSCancelAlarmAll() {}
static void destroyVideo() {
@@ -26,16 +31,15 @@ static void destroyVideo() {
mDoRstData* mDoRst::mResetData;
void mDoRst_reset(int param_0, u32 param_1, int param_2) {
void mDoRst_reset(int reset, u32 resetCode, int forceMenu) {
JUT_ASSERT(83, mDoExt_GetCurrentRunningThread() != 0);
JUTXfb::getManager()->clearIndex();
mDoDvdErr_ThdCleanup();
cAPICPad_recalibrate();
if (mDoAud_zelAudio_c::isInitFlag()) {
bool audioReset;
do {
audioReset = Z2AudioMgr::getInterface()->hasReset();
} while (!audioReset);
} while (!Z2AudioMgr::getInterface()->hasReset());
}
if (DVDGetDriveStatus() == DVD_STATE_BUSY) {
@@ -76,33 +80,68 @@ void mDoRst_reset(int param_0, u32 param_1, int param_2) {
my_OSCancelAlarmAll();
LCDisable();
#if PLATFORM_GCN
OSSetSaveRegion(mDoRst::mResetData, (u8*)&mDoRst::getResetData + 0x18);
OSResetSystem(param_0, param_1, param_2);
OSResetSystem(reset, resetCode, forceMenu);
#else
if (reset == 2) {
OSShutdownSystem();
} else if (reset == 0) {
OSRestart(resetCode);
} else {
OSReturnToMenu();
}
#endif
do {
VIWaitForRetrace();
} while (true);
}
void mDoRst_resetCallBack(int port, void*) {
if (!mDoRst::isReset()) {
if (port == -1) {
cAPICPad_recalibrate();
} else {
if (mDoRst::is3ButtonReset()) {
JUTGamePad::C3ButtonReset::sResetOccurred = false;
JUTGamePad::C3ButtonReset::sCallback = mDoRst_resetCallBack;
JUTGamePad::C3ButtonReset::sCallbackArg = NULL;
return;
}
mDoRst::on3ButtonReset();
mDoRst::set3ButtonResetPort(port);
cAPICPad_recalibrate();
}
void checkDiskCallback(s32 result, DVDCommandBlock* block) {
block->userData = (void*)result;
}
if (DVDCheckDisk() == 0 && DVDGetDriveStatus() != DVD_STATE_FATAL_ERROR) {
void mDoRst_resetCallBack(int port, void*) {
if (mDoRst::isReset()) {
return;
}
if (port == -1) {
cAPICPad_recalibrate();
} else {
if (mDoRst::is3ButtonReset()) {
#if PLATFORM_GCN
JUTGamePad::C3ButtonReset::sResetOccurred = false;
JUTGamePad::C3ButtonReset::sCallback = mDoRst_resetCallBack;
JUTGamePad::C3ButtonReset::sCallbackArg = NULL;
#endif
return;
}
mDoRst::on3ButtonReset();
mDoRst::set3ButtonResetPort(port);
cAPICPad_recalibrate();
}
int check;
#if PLATFORM_GCN
check = DVDCheckDisk();
#else
DVDCommandBlock block;
block.userData = (void*)-1;
while (DVDCheckDiskAsync(&block, checkDiskCallback));
do {
check = (int)block.userData;
} while (check == -1);
#endif
if (check == 0) {
s32 status = DVDGetDriveStatus();
if (status != DVD_STATE_FATAL_ERROR) {
mDoRst::onReturnToMenu();
}
mDoRst::onReset();
}
mDoRst::onReset();
}
void mDoRst_shutdownCallBack() {
mDoRst::onShutdown();
}