diff options
-rw-r--r-- | asm/code_801DBE90_asm.s (renamed from asm/code_801DBE90.s) | 24 | ||||
-rw-r--r-- | obj_files.mk | 3 | ||||
-rw-r--r-- | src/code_801DBE90.cpp | 55 |
3 files changed, 57 insertions, 25 deletions
diff --git a/asm/code_801DBE90.s b/asm/code_801DBE90_asm.s index b23f3e5..09cc041 100644 --- a/asm/code_801DBE90.s +++ b/asm/code_801DBE90_asm.s @@ -2,30 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_801DBE90
-func_801DBE90:
-/* 801DBE90 001D7AF0 7C 64 1B 78 */ mr r4, r3
-/* 801DBE94 001D7AF4 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
-/* 801DBE98 001D7AF8 38 A0 00 20 */ li r5, 0x20
-/* 801DBE9C 001D7AFC 4B FF EE 6C */ b func_801DAD08
-
-.global func_801DBEA0
-func_801DBEA0:
-/* 801DBEA0 001D7B00 38 C0 00 00 */ li r6, 0
-/* 801DBEA4 001D7B04 38 A0 00 00 */ li r5, 0
-/* 801DBEA8 001D7B08 38 80 00 00 */ li r4, 0
-/* 801DBEAC 001D7B0C 48 00 00 14 */ b lbl_801DBEC0
-lbl_801DBEB0:
-/* 801DBEB0 001D7B10 80 6D A0 64 */ lwz r3, lbl_8063F324-_SDA_BASE_(r13)
-/* 801DBEB4 001D7B14 38 C6 00 01 */ addi r6, r6, 1
-/* 801DBEB8 001D7B18 7C 83 29 AE */ stbx r4, r3, r5
-/* 801DBEBC 001D7B1C 38 A5 00 50 */ addi r5, r5, 0x50
-lbl_801DBEC0:
-/* 801DBEC0 001D7B20 80 0D A0 60 */ lwz r0, lbl_8063F320-_SDA_BASE_(r13)
-/* 801DBEC4 001D7B24 7C 06 00 40 */ cmplw r6, r0
-/* 801DBEC8 001D7B28 41 80 FF E8 */ blt lbl_801DBEB0
-/* 801DBECC 001D7B2C 4E 80 00 20 */ blr
-
.global func_801DBED0
func_801DBED0:
/* 801DBED0 001D7B30 94 21 FF F0 */ stwu r1, -0x10(r1)
diff --git a/obj_files.mk b/obj_files.mk index b8fa1bf..37b4c5b 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -222,7 +222,8 @@ SPLIT_O_FILES := \ $(BUILD_DIR)/src/code_801DB040.o \ $(BUILD_DIR)/src/code_801DB81C.o \ $(BUILD_DIR)/src/code_801DBB3C.o \ - $(BUILD_DIR)/asm/code_801DBE90.o \ + $(BUILD_DIR)/src/code_801DBE90.o \ + $(BUILD_DIR)/asm/code_801DBE90_asm.o \ $(BUILD_DIR)/asm/code_801DCE6C.o \ $(BUILD_DIR)/asm/code_801DD5C8.o \ $(BUILD_DIR)/asm/code_801DD8C0.o \ diff --git a/src/code_801DBE90.cpp b/src/code_801DBE90.cpp new file mode 100644 index 0000000..ba1678c --- /dev/null +++ b/src/code_801DBE90.cpp @@ -0,0 +1,55 @@ +#include "types.h"
+#include "ctorStruct.h"
+#include "SDK/mem.h"
+#include "code_801DAAE0.h"
+
+
+namespace
+{
+ //TODO: header/source
+ struct unkClass
+ {
+ u8 unk0;
+ u8 unk1[0x4F];
+ };
+}
+
+
+extern MEMHeapHandle lbl_8063E8EC;
+
+
+//TODO: internal linkage
+extern u32 lbl_8063F320;
+extern unkClass* lbl_8063F324;
+
+
+extern "C"
+{
+
+// TODO: return type
+//static
+void* func_801DBE90(u32 size)
+{
+// void* func_801DAD08(MEMHeapHandle heap, u32 size, int alignment)
+ return func_801DAD08(lbl_8063E8EC, size, 0x20);
+}
+
+//static
+void func_801DBEA0(void)
+{
+ for (size_t i = 0; i < lbl_8063F320; i++)
+ lbl_8063F324[i].unk0 = 0;
+}
+
+//static
+func_801DBED0()
+{
+
+}
+
+
+
+
+
+
+} //extern "C"
|