From 30a10e035254ee333ece638fd74e24a48c815dcb Mon Sep 17 00:00:00 2001 From: Erin Moon Date: Sat, 2 Jan 2021 09:39:15 -0600 Subject: [PATCH] m_Do_Reset: reset, callback not statics (ty @notyourav) (#50) Co-authored-by: Pheenoh --- asm/d/error/d_error_msg.s | 4 ++-- asm/d/s/d_s_logo.s | 10 +++++----- asm/d/s/d_s_play.s | 8 ++++---- asm/m/Do/m_Do_machine.s | 2 +- include/functions.h | 2 +- include/m_Do/m_Do_Reset/m_Do_Reset.h | 9 +++------ .../m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_create.s | 4 ++-- src/m_Do/m_Do_Reset.cpp | 6 +++--- 8 files changed, 21 insertions(+), 24 deletions(-) diff --git a/asm/d/error/d_error_msg.s b/asm/d/error/d_error_msg.s index fcf56d51382..5b90e235071 100644 --- a/asm/d/error/d_error_msg.s +++ b/asm/d/error/d_error_msg.s @@ -871,13 +871,13 @@ lbl_8009D814: /* 8009D844 0009A784 38 60 00 01 */ li r3, 1 /* 8009D848 0009A788 3C 80 80 00 */ lis r4, 0x8000 /* 8009D84C 0009A78C 38 A0 00 00 */ li r5, 0 -/* 8009D850 0009A790 4B F7 7D C5 */ bl reset__6mDoRstFlUll +/* 8009D850 0009A790 4B F7 7D C5 */ bl mDoRst_reset__FiUli /* 8009D854 0009A794 48 00 00 14 */ b lbl_8009D868 lbl_8009D858: /* 8009D858 0009A798 38 60 00 01 */ li r3, 1 /* 8009D85C 0009A79C 38 80 00 01 */ li r4, 1 /* 8009D860 0009A7A0 38 A0 00 01 */ li r5, 1 -/* 8009D864 0009A7A4 4B F7 7D B1 */ bl reset__6mDoRstFlUll +/* 8009D864 0009A7A4 4B F7 7D B1 */ bl mDoRst_reset__FiUli lbl_8009D868: /* 8009D868 0009A7A8 38 60 00 01 */ li r3, 1 lbl_8009D86C: diff --git a/asm/d/s/d_s_logo.s b/asm/d/s/d_s_logo.s index 734c252b583..7dca3210e91 100644 --- a/asm/d/s/d_s_logo.s +++ b/asm/d/s/d_s_logo.s @@ -1254,7 +1254,7 @@ lbl_80257304: /* 80257304 00254244 38 60 00 00 */ li r3, 0 /* 80257308 00254248 3C 80 80 00 */ lis r4, 0x8000 /* 8025730C 0025424C 38 A0 00 00 */ li r5, 0 -/* 80257310 00254250 4B DB E3 05 */ bl reset__6mDoRstFlUll +/* 80257310 00254250 4B DB E3 05 */ bl mDoRst_reset__FiUli lbl_80257314: /* 80257314 00254254 83 9F 01 E4 */ lwz r28, 0x1e4(r31) /* 80257318 00254258 28 1C 00 00 */ cmplwi r28, 0 @@ -1882,10 +1882,10 @@ lbl_80257C0C: lbl_80257C18: /* 80257C18 00254B58 38 80 00 00 */ li r4, 0 /* 80257C1C 00254B5C 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13) -.global resetCallBack__6mDoRstFiPv -/* 80257C20 00254B60 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha -.global resetCallBack__6mDoRstFiPv -/* 80257C24 00254B64 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l +.global mDoRst_resetCallBack__FiPv +/* 80257C20 00254B60 3C 60 80 01 */ lis r3, mDoRst_resetCallBack__FiPv@ha +.global mDoRst_resetCallBack__FiPv +/* 80257C24 00254B64 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack__FiPv@l /* 80257C28 00254B68 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13) /* 80257C2C 00254B6C 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13) /* 80257C30 00254B70 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13) diff --git a/asm/d/s/d_s_play.s b/asm/d/s/d_s_play.s index 00cce8326a6..f39d7ceff83 100644 --- a/asm/d/s/d_s_play.s +++ b/asm/d/s/d_s_play.s @@ -582,10 +582,10 @@ dScnPly_c_NS_offReset: /* 80259C3C 00256B7C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13) /* 80259C40 00256B80 90 83 00 04 */ stw r4, 4(r3) /* 80259C44 00256B84 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13) -.global resetCallBack__6mDoRstFiPv -/* 80259C48 00256B88 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha -.global resetCallBack__6mDoRstFiPv -/* 80259C4C 00256B8C 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l +.global mDoRst_resetCallBack__FiPv +/* 80259C48 00256B88 3C 60 80 01 */ lis r3, mDoRst_resetCallBack__FiPv@ha +.global mDoRst_resetCallBack__FiPv +/* 80259C4C 00256B8C 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack__FiPv@l /* 80259C50 00256B90 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13) /* 80259C54 00256B94 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13) /* 80259C58 00256B98 98 9F 01 D4 */ stb r4, 0x1d4(r31) diff --git a/asm/m/Do/m_Do_machine.s b/asm/m/Do/m_Do_machine.s index d9ac51f48cc..f6782f536d0 100644 --- a/asm/m/Do/m_Do_machine.s +++ b/asm/m/Do/m_Do_machine.s @@ -431,7 +431,7 @@ exceptionRestart: /* 8000B7A4 000086E4 38 60 00 00 */ li r3, 0 /* 8000B7A8 000086E8 38 80 00 00 */ li r4, 0 /* 8000B7AC 000086EC 38 A0 00 00 */ li r5, 0 -/* 8000B7B0 000086F0 48 00 9E 65 */ bl reset__6mDoRstFlUll +/* 8000B7B0 000086F0 48 00 9E 65 */ bl mDoRst_reset__FiUli /* 8000B7B4 000086F4 38 60 00 00 */ li r3, 0 /* 8000B7B8 000086F8 38 80 00 00 */ li r4, 0 /* 8000B7BC 000086FC 38 A0 00 00 */ li r5, 0 diff --git a/include/functions.h b/include/functions.h index c8a1e2bf2bd..afe6e291127 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1251,7 +1251,7 @@ JASTaskThread* JASDvd_NS_getThreadPointer(void); // m_Do_Rst extern "C" { void getResetData__6mDoRstFv(void); -void resetCallBack__6mDoRstFiPv(void); +void mDoRst_resetCallBack__FiPv(void); } // additional symbols needed for d_attention.cpp diff --git a/include/m_Do/m_Do_Reset/m_Do_Reset.h b/include/m_Do/m_Do_Reset/m_Do_Reset.h index ab3b2d8f27d..90e60c006b5 100644 --- a/include/m_Do/m_Do_Reset/m_Do_Reset.h +++ b/include/m_Do/m_Do_Reset/m_Do_Reset.h @@ -4,10 +4,6 @@ #include "JSystem/JUtility/JUTXfb/JUTXfb.h" #include "dolphin/types.h" -extern "C" { -// void my_OSCancelAlarmAll(void); -} - struct ResetData { s32 field_0x0; u32 field_0x4; @@ -25,8 +21,9 @@ struct ResetData { struct mDoRst { ResetData* getResetData(); - static void reset(s32 p1, u32 p2, s32 p3); - static void resetCallBack(int p1, void* p2); }; +void mDoRst_reset(int p1, u32 p2, int p3); +void mDoRst_resetCallBack(int p1, void* p2); + #endif \ No newline at end of file diff --git a/include/m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_create.s b/include/m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_create.s index 2c2c5be2609..8b92d1b23dc 100644 --- a/include/m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_create.s +++ b/include/m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_create.s @@ -60,8 +60,8 @@ lbl_80007A1C: /* 80007A28 00004968 40 82 00 1C */ bne lbl_80007A44 /* 80007A2C 0000496C 38 80 00 00 */ li r4, 0 /* 80007A30 00004970 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13) -/* 80007A34 00004974 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha -/* 80007A38 00004978 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l +/* 80007A34 00004974 3C 60 80 01 */ lis r3, mDoRst_resetCallBack__FiPv@ha +/* 80007A38 00004978 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack__FiPv@l /* 80007A3C 0000497C 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13) /* 80007A40 00004980 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13) lbl_80007A44: diff --git a/src/m_Do/m_Do_Reset.cpp b/src/m_Do/m_Do_Reset.cpp index 8122b32cbd4..fc2e52f7936 100644 --- a/src/m_Do/m_Do_Reset.cpp +++ b/src/m_Do/m_Do_Reset.cpp @@ -19,7 +19,7 @@ void destroyVideo() { } // TODO: cleanup -void mDoRst::reset(s32 p1, u32 p2, s32 p3) { +void mDoRst_reset(int p1, u32 p2, int p3) { mDoCPd_c* pmVar1; u32 uVar2; DVDState DVar3; @@ -82,14 +82,14 @@ void mDoRst::reset(s32 p1, u32 p2, s32 p3) { } while (true); } -void mDoRst::resetCallBack(int p1, void* p2) { +void mDoRst_resetCallBack(int p1, void* p2) { if (/* mResetData */ m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x0 == 0) { if (p1 == -1) { cAPICPad_recalibrate(); } else { if (m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x8 != 0) { lbl_80451501 = false; - /* sCallback */ lbl_804514EC = &mDoRst::resetCallBack; + /* sCallback */ lbl_804514EC = &mDoRst_resetCallBack; /* sCallbackArg */ lbl_804514F0 = 0; return; }