summaryrefslogtreecommitdiff
path: root/include/m_Do
diff options
context:
space:
mode:
authorErin Moon <erin@hecke.rs>2020-12-25 19:59:52 -0600
committerGitHub <noreply@github.com>2020-12-25 20:59:52 -0500
commit58fc83c4f804e72019dc9ccbcc389affe7a9f3ed (patch)
treed287ca8be8511f1a826b1d62aa6461ab1a76fcf4 /include/m_Do
parent22bda03652efbecd77e1fa3597dfdecee768ec06 (diff)
m_Do_Reset: OK (#35)
* m_Do_Reset: split and (some) decomp decompiles: - my_OSCancelAlarmAll() - destroyVideo() * mDoRst::reset(): decompile, plus some supporting code * split DVD* functions to dvd.h * mDoRst::resetCallBack(): decompile
Diffstat (limited to 'include/m_Do')
-rw-r--r--include/m_Do/m_Do_Reset/m_Do_Reset.h32
-rw-r--r--include/m_Do/m_Do_main/asm/func_80006454.s24
2 files changed, 44 insertions, 12 deletions
diff --git a/include/m_Do/m_Do_Reset/m_Do_Reset.h b/include/m_Do/m_Do_Reset/m_Do_Reset.h
new file mode 100644
index 0000000000..6603198b50
--- /dev/null
+++ b/include/m_Do/m_Do_Reset/m_Do_Reset.h
@@ -0,0 +1,32 @@
+#ifndef __M_DO_RESET_H__
+#define __M_DO_RESET_H__
+
+#include "dolphin/types.h"
+
+extern "C" {
+// void my_OSCancelAlarmAll(void);
+}
+
+struct ResetData {
+ s32 field_0x0;
+ u32 field_0x4;
+ s32 field_0x8;
+ s32 pad_index;
+ u8 field_0x10;
+ u8 field_0x11;
+ u8 field_0x12;
+ u8 field_0x13;
+ u8 field_0x14;
+ u8 field_0x15;
+ u8 field_0x16;
+ u8 field_0x17;
+};
+extern ResetData* m_Do_Reset_NS_mDoRst_NS_mResetData;
+
+struct mDoRst {
+ ResetData* getResetData();
+ static void reset(s32 p1, u32 p2, s32 p3);
+ static void resetCallBack(int p1, void* p2);
+};
+
+#endif \ No newline at end of file
diff --git a/include/m_Do/m_Do_main/asm/func_80006454.s b/include/m_Do/m_Do_main/asm/func_80006454.s
index 8c188e8d07..a2418cd88c 100644
--- a/include/m_Do/m_Do_main/asm/func_80006454.s
+++ b/include/m_Do/m_Do_main/asm/func_80006454.s
@@ -15,7 +15,7 @@
/* 8000648C 000033CC 38 60 00 18 */ li r3, 0x18
/* 80006490 000033D0 38 80 00 04 */ li r4, 4
/* 80006494 000033D4 48 33 4E 19 */ bl OSAllocFromArenaLo
-/* 80006498 000033D8 90 6D 86 F8 */ stw r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 80006498 000033D8 90 6D 86 F8 */ stw r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8000649C 000033DC 28 03 00 00 */ cmplwi r3, 0
/* 800064A0 000033E0 40 82 00 08 */ bne lbl_800064A8
lbl_800064A4:
@@ -25,28 +25,28 @@ lbl_800064A8:
/* 800064AC 000033EC 54 60 0F FF */ rlwinm. r0, r3, 1, 0x1f, 0x1f
/* 800064B0 000033F0 40 82 00 64 */ bne lbl_80006514
/* 800064B4 000033F4 38 80 00 00 */ li r4, 0
-/* 800064B8 000033F8 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064B8 000033F8 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064BC 000033FC 90 83 00 00 */ stw r4, 0(r3)
-/* 800064C0 00003400 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064C0 00003400 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064C4 00003404 90 83 00 04 */ stw r4, 4(r3)
-/* 800064C8 00003408 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064C8 00003408 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064CC 0000340C 90 83 00 04 */ stw r4, 4(r3)
-/* 800064D0 00003410 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064D0 00003410 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064D4 00003414 90 83 00 08 */ stw r4, 8(r3)
/* 800064D8 00003418 38 00 FF FF */ li r0, -1
-/* 800064DC 0000341C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064DC 0000341C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064E0 00003420 90 03 00 0C */ stw r0, 0xc(r3)
-/* 800064E4 00003424 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064E4 00003424 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064E8 00003428 98 83 00 12 */ stb r4, 0x12(r3)
-/* 800064EC 0000342C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064EC 0000342C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064F0 00003430 98 83 00 13 */ stb r4, 0x13(r3)
-/* 800064F4 00003434 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064F4 00003434 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064F8 00003438 98 83 00 14 */ stb r4, 0x14(r3)
-/* 800064FC 0000343C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 800064FC 0000343C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80006500 00003440 98 83 00 15 */ stb r4, 0x15(r3)
-/* 80006504 00003444 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 80006504 00003444 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80006508 00003448 98 83 00 10 */ stb r4, 0x10(r3)
-/* 8000650C 0000344C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
+/* 8000650C 0000344C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80006510 00003450 98 83 00 11 */ stb r4, 0x11(r3)
lbl_80006514:
/* 80006514 00003454 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha