diff options
-rw-r--r-- | asm/code_801DB040_asm.s | 46 | ||||
-rw-r--r-- | asm/ctors_2.s | 2 | ||||
-rw-r--r-- | asm/sbss_2.s | 7 | ||||
-rw-r--r-- | obj_files.mk | 1 | ||||
-rw-r--r-- | src/code_801DB040.cpp | 26 |
5 files changed, 19 insertions, 63 deletions
diff --git a/asm/code_801DB040_asm.s b/asm/code_801DB040_asm.s deleted file mode 100644 index 98519b5..0000000 --- a/asm/code_801DB040_asm.s +++ /dev/null @@ -1,46 +0,0 @@ -.include "macros.inc"
-
-.section .text, "ax" # 0x80006980 - 0x803E1E60
-
-.global func_801DB79C
-func_801DB79C:
-/* 801DB79C 001D73FC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801DB7A0 001D7400 7C 08 02 A6 */ mflr r0
-/* 801DB7A4 001D7404 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801DB7A8 001D7408 4B FF F8 99 */ bl func_801DB040
-/* 801DB7AC 001D740C 2C 03 00 00 */ cmpwi r3, 0
-/* 801DB7B0 001D7410 41 82 00 0C */ beq lbl_801DB7BC
-/* 801DB7B4 001D7414 38 00 00 01 */ li r0, 1
-/* 801DB7B8 001D7418 98 03 00 01 */ stb r0, 1(r3)
-lbl_801DB7BC:
-/* 801DB7BC 001D741C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801DB7C0 001D7420 7C 08 03 A6 */ mtlr r0
-/* 801DB7C4 001D7424 38 21 00 10 */ addi r1, r1, 0x10
-/* 801DB7C8 001D7428 4E 80 00 20 */ blr
-
-.global func_801DB7CC
-func_801DB7CC:
-/* 801DB7CC 001D742C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801DB7D0 001D7430 7C 08 02 A6 */ mflr r0
-/* 801DB7D4 001D7434 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801DB7D8 001D7438 4B FF F8 69 */ bl func_801DB040
-/* 801DB7DC 001D743C 2C 03 00 00 */ cmpwi r3, 0
-/* 801DB7E0 001D7440 41 82 00 0C */ beq lbl_801DB7EC
-/* 801DB7E4 001D7444 38 00 00 00 */ li r0, 0
-/* 801DB7E8 001D7448 98 03 00 01 */ stb r0, 1(r3)
-lbl_801DB7EC:
-/* 801DB7EC 001D744C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801DB7F0 001D7450 7C 08 03 A6 */ mtlr r0
-/* 801DB7F4 001D7454 38 21 00 10 */ addi r1, r1, 0x10
-/* 801DB7F8 001D7458 4E 80 00 20 */ blr
-
-.global func_801DB7FC
-func_801DB7FC:
-/* 801DB7FC 001D745C 38 A0 00 01 */ li r5, 1
-/* 801DB800 001D7460 38 6D A0 20 */ addi r3, r13, lbl_8063F2E0-_SDA_BASE_
-/* 801DB804 001D7464 38 80 00 04 */ li r4, 4
-/* 801DB808 001D7468 38 00 00 00 */ li r0, 0
-/* 801DB80C 001D746C 98 AD A0 20 */ stb r5, lbl_8063F2E0-_SDA_BASE_(r13)
-/* 801DB810 001D7470 B0 83 00 02 */ sth r4, 2(r3)
-/* 801DB814 001D7474 98 03 00 04 */ stb r0, 4(r3)
-/* 801DB818 001D7478 4E 80 00 20 */ blr
diff --git a/asm/ctors_2.s b/asm/ctors_2.s index 5f24e74..fe55fc5 100644 --- a/asm/ctors_2.s +++ b/asm/ctors_2.s @@ -2,7 +2,7 @@ .section .ctors, "wa" # 0x803E1E60 - 0x803E22A0
-.4byte func_801DB7FC, func_801DBB1C, func_801DBE70
+.4byte func_801DBB1C, func_801DBE70
.4byte func_801DCE4C, func_801DD5A8, func_801DD8A0, func_801DDF58
.4byte func_801DF020, func_801E07C8, func_801E07F0, func_801E0A34
.4byte func_801E4308, func_801E472C, func_801E5F5C, func_801E6BD8
diff --git a/asm/sbss_2.s b/asm/sbss_2.s index ec0565e..580af1c 100644 --- a/asm/sbss_2.s +++ b/asm/sbss_2.s @@ -1,11 +1,8 @@ .section .sbss, "wa" # 0x80474F00 - 0x80643050
-.global lbl_8063F2DE
-lbl_8063F2DE:
+.global lbl_8063F2E6
+lbl_8063F2E6:
.skip 0x2
-.global lbl_8063F2E0
-lbl_8063F2E0:
- .skip 0x8
.global lbl_8063F2E8
lbl_8063F2E8:
.skip 0x4
diff --git a/obj_files.mk b/obj_files.mk index 3b6b060..6ee474c 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -220,7 +220,6 @@ SPLIT_O_FILES := \ $(BUILD_DIR)/src/code_801DAA30.o \ $(BUILD_DIR)/src/code_801DAAE0.o \ $(BUILD_DIR)/src/code_801DB040.o \ - $(BUILD_DIR)/asm/code_801DB040_asm.o \ $(BUILD_DIR)/asm/code_801DB81C.o \ $(BUILD_DIR)/asm/code_801DBB3C.o \ $(BUILD_DIR)/asm/code_801DBE90.o \ diff --git a/src/code_801DB040.cpp b/src/code_801DB040.cpp index 17d2b56..bf09541 100644 --- a/src/code_801DB040.cpp +++ b/src/code_801DB040.cpp @@ -40,10 +40,7 @@ unkClass2* func_801DBD74(u32 p1, u32 p2); namespace
{
-
-
-
- //unkStruct gUnk8063F2E0(1, 4, 0);
+ unkStruct gUnk8063F2E0(1, 4, 0);
}
// head of doubly linked list?
@@ -74,8 +71,8 @@ u32 func_801DB5E4(u32 p1, u32 p2); void func_801DB644(u32 p1, u32 p2);
void func_801DB674(u32 p1);
BOOL func_801DB6D0(u32 p1, u32 p2, MEMHeapHandle p3, u32 p4, u32 p5, FuncPtr p6);
-
-
+void func_801DB79C(u32 p1, u32 p2);
+void func_801DB7CC(u32 p1, u32 p2);
//static
unkClass* func_801DB040(u32 p1, u32 p2)
@@ -299,7 +296,7 @@ void func_801DB674(u32 p1) }
// append a new node to the start of the linked list,
-// making its data payload a copy of the specified node's payload
+// making its data payload a copy of the specified node's payload. Indicate success
BOOL func_801DB6D0(u32 p1, u32 p2, MEMHeapHandle heap, u32 p4, u32 p5, FuncPtr p6)
{
unkClass* r31 = func_801DB040(p1, p2);
@@ -315,11 +312,20 @@ BOOL func_801DB6D0(u32 p1, u32 p2, MEMHeapHandle heap, u32 p4, u32 p5, FuncPtr p return TRUE;
}
-func_801DB79C()
+// Set the unk1 flag of the specified node
+void func_801DB79C(u32 p1, u32 p2)
{
-
+ unkClass* r3 = func_801DB040(p1, p2);
+ if (r3)
+ r3->unk1 = 1;
}
-
+// Clear the unk1 flag of the specified node
+void func_801DB7CC(u32 p1, u32 p2)
+{
+ unkClass* r3 = func_801DB040(p1, p2);
+ if (r3)
+ r3->unk1 = 0;
+}
} //extern "C"
|