diff options
author | Max <mparisi@stevens.edu> | 2020-10-23 01:52:33 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-10-23 01:52:33 -0400 |
commit | 047d52bd174f2b8553b9f2958a98639d6dc3e4ec (patch) | |
tree | 87c56c385b21d8c0a4ce42d3c33cf3521cdcdf55 /src/code_801DBB3C.cpp | |
parent | cabc694f5a8b403648532bb8cf42cf88f1272e5f (diff) |
match func_801DBD00
Diffstat (limited to 'src/code_801DBB3C.cpp')
-rw-r--r-- | src/code_801DBB3C.cpp | 26 |
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);
+ }
}
-*/
+
}
|