summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/code_801DB040_asm.s46
-rw-r--r--asm/ctors_2.s2
-rw-r--r--asm/sbss_2.s7
-rw-r--r--obj_files.mk1
-rw-r--r--src/code_801DB040.cpp26
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"