summaryrefslogtreecommitdiff
path: root/src/code_801DBB3C.cpp
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-23 01:52:33 -0400
committerMax <mparisi@stevens.edu>2020-10-23 01:52:33 -0400
commit047d52bd174f2b8553b9f2958a98639d6dc3e4ec (patch)
tree87c56c385b21d8c0a4ce42d3c33cf3521cdcdf55 /src/code_801DBB3C.cpp
parentcabc694f5a8b403648532bb8cf42cf88f1272e5f (diff)
match func_801DBD00
Diffstat (limited to 'src/code_801DBB3C.cpp')
-rw-r--r--src/code_801DBB3C.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/code_801DBB3C.cpp b/src/code_801DBB3C.cpp
index d821a9e..8400bc9 100644
--- a/src/code_801DBB3C.cpp
+++ b/src/code_801DBB3C.cpp
@@ -38,13 +38,13 @@ namespace
extern "C" {
//static
-unkClass* func_801DBB3C(void)
+u32 func_801DBB3C(void)
{
return 0;
}
//static
-void func_801DBB44(unkClass*)
+void func_801DBB44(u32)
{
}
@@ -158,10 +158,10 @@ asm void func_801DBB48(unkClass *p1, u32 p2, u32 p3)
gUnkClass1* func_801DBC58(gUnkClass2* p1)
{
gUnkClass3* r31 = p1->unk18;
- unkClass* r30 = func_801DBB3C();
+ u32 r30 = func_801DBB3C();
func_801DBB44(0);
if (r31) {
- p1->unk18 = r31->unk0;
+ p1->unk18 = r31->unk0; // point unk18 to possible next free block?
goto passCheck;
}
func_801DBB44(r30);
@@ -173,12 +173,22 @@ passCheck:
p1->unk4 = p1->unk0;
return &r31->unk4;
}
-/*
-func_801DBD00
+
+// return node p2 to free store p1
+void func_801DBD00(gUnkClass2* p1, gUnkClass1* p2)
{
-
+ u32 r31;
+ if (p2) {
+ gUnkClass3* r30 = (gUnkClass3*)((u8*)p2 - 4);
+ r30->unk0 = p1->unk18;
+ p1->unk0--;
+ r31 = func_801DBB3C();
+ func_801DBB44(0);
+ p1->unk18 = r30;
+ func_801DBB44(r31);
+ }
}
-*/
+
}