From f18777bd8f8b34bf5541be31e80686f835a3682a Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 18 Oct 2020 18:13:02 -0400 Subject: add headers, and mark internal functions as static --- src/code_801DAAE0.cpp | 95 +++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 52 deletions(-) (limited to 'src/code_801DAAE0.cpp') diff --git a/src/code_801DAAE0.cpp b/src/code_801DAAE0.cpp index 4527388..03f47ce 100644 --- a/src/code_801DAAE0.cpp +++ b/src/code_801DAAE0.cpp @@ -1,44 +1,35 @@ #include "types.h" #include "unkStruct.h" #include "code_801DAAE0.h" - -// TODO: C or C++ +#include "Runtime/__mem.h" +#include "SDK/mem.h" extern "C" { +struct unkClass +{ + u8 unk0; + MEMHeapHandle unk4; + u32 unk8; +}; -// TODO: define, don't reference -extern MEMHeapHandle lbl_8063F2D8; -extern u16 lbl_8063F2DC; - -// TODO: move, determine actual type definition -typedef void (*MEMHeapVisitor)(void *memBlock, MEMHeapHandle heap, u32 userParam); - -void *memset(void *s, int c, size_t n); -void *memcpy(void *dest, const void *src, size_t n); -MEMHeapHandle MEMCreateExpHeapEx(void* p1, u32 p2, u16 p3); -u16 MEMSetGroupIDForExpHeap(MEMHeapHandle heap, u16 groupID); -void *MEMAllocFromExpHeapEx(MEMHeapHandle heap, u32 size, int alignment); -u32 MEMResizeForMBlockExpHeap(MEMHeapHandle heap, void *memBlock, u32 size); -void MEMFreeToExpHeap(MEMHeapHandle heap, void *memBlock); -u32 MEMGetSizeForMBlockExpHeap(const void *memBlock); -u32 MEMGetTotalFreeSizeForExpHeap(MEMHeapHandle heap); -u16 MEMGetGroupIDForMBlockExpHeap(const void *memBlock); -void MEMVisitAllocatedForExpHeap(MEMHeapHandle heap, MEMHeapVisitor visitor, u32 userParam); - +struct unkClass2 +{ + MEMHeapHandle heap; + u16 groupID; + u32 unk8; +}; #define ARR_SIZE 16 -static unkClass gUnk804912B0[ARR_SIZE]; +unkClass gUnk804912B0[ARR_SIZE]; -static unkStruct gUnk8063F2D0(1, 4, 0); -static u8 gUnk8063F2D6; -static u8 gUnk8063F2D7; -// TODO: move to headers -extern MEMHeapHandle lbl_8063E8E8; -extern MEMHeapHandle lbl_8063E8EC; +unkStruct gUnk8063F2D0(1, 4, 0); +u8 gUnk8063F2D6; +u8 gUnk8063F2D7; +MEMHeapHandle gUnk8063F2D8; +u16 gUnk8063F2DC; - -unkClass* func_801DAAE0(void) +static unkClass* func_801DAAE0(void) { for (u32 i = 0; i < ARR_SIZE; i++) if (gUnk804912B0[i].unk0 == 0) @@ -54,8 +45,8 @@ BOOL func_801DAB28(void) void func_801DAB30(void) { memset(gUnk804912B0, 0, sizeof(gUnk804912B0)); - lbl_8063F2D8 = 0; - lbl_8063F2DC = 0; + gUnk8063F2D8 = 0; + gUnk8063F2DC = 0; gUnk8063F2D6 = 1; gUnk8063F2D7 = 0; } @@ -76,22 +67,22 @@ MEMHeapHandle func_801DAB78(void* p1, u32 p2, u16 p3) MEMHeapHandle func_801DAC0C(void) { - return lbl_8063F2D8; + return gUnk8063F2D8; } MEMHeapHandle func_801DAC14(MEMHeapHandle p1) { MEMHeapHandle r3 = func_801DAC0C(); - lbl_8063F2D8 = p1; + gUnk8063F2D8 = p1; return r3; } u16 func_801DAC44(u16 p1) { - u16 r31 = lbl_8063F2DC; - lbl_8063F2DC = p1; + u16 r31 = gUnk8063F2DC; + gUnk8063F2DC = p1; MEMSetGroupIDForExpHeap(lbl_8063E8E8, (u16)(p1 & 0xff)); - MEMSetGroupIDForExpHeap(lbl_8063E8EC, (u16)(lbl_8063F2DC & 0xff)); + MEMSetGroupIDForExpHeap(lbl_8063E8EC, (u16)(gUnk8063F2DC & 0xff)); return r31; } @@ -105,7 +96,7 @@ void* func_801DAC94(MEMHeapHandle heap, u32 size) return MEMAllocFromExpHeapEx(heap, size, 32); } -void* lbl_801DAC9C(MEMHeapHandle heap, u32 size, int fill) +static void* lbl_801DAC9C(MEMHeapHandle heap, u32 size, int fill) { void* r31 = func_801DAC94(heap, size); if (!r31) @@ -129,59 +120,59 @@ void* func_801DAD0C(MEMHeapHandle heap, u32 size, int alignment) return MEMAllocFromExpHeapEx(heap, size, (alignment > 0) ? -alignment : alignment); } -BOOL func_801DAD1C(MEMHeapHandle heap, void *memBlock, u32 size) +static BOOL func_801DAD1C(MEMHeapHandle heap, void* memBlock, u32 size) { return MEMResizeForMBlockExpHeap(heap, memBlock, size) != 0; } -void func_801DAD48(MEMHeapHandle heap, void *memBlock) +void func_801DAD48(MEMHeapHandle heap, void* memBlock) { if (memBlock) MEMFreeToExpHeap(heap, memBlock); } -u32 func_801DAD58(u32, const void *memBlock) +u32 func_801DAD58(u32, const void* memBlock) { return MEMGetSizeForMBlockExpHeap(memBlock); } -u32 func_801DAD60(MEMHeapHandle heap) +static u32 func_801DAD60(MEMHeapHandle heap) { return MEMGetTotalFreeSizeForExpHeap(heap); } -void *func_801DAD64(size_t size) +void* func_801DAD64(size_t size) { return func_801DAC94(func_801DAC0C(), size); } -void *func_801DAD98(u32 size) +void* func_801DAD98(u32 size) { return func_801DAD00(func_801DAC0C(), size); } -void *func_801DADCC(u32 size, int alignment) +void* func_801DADCC(u32 size, int alignment) { return func_801DAD08(func_801DAC0C(), size, alignment); } -void *func_801DAE10(u32 size, int alignment) +void* func_801DAE10(u32 size, int alignment) { return func_801DAD08(func_801DAC0C(), size, (alignment > 0) ? -alignment : alignment); } -BOOL func_801DAE60(void *memBlock, u32 size) +BOOL func_801DAE60(void* memBlock, u32 size) { return func_801DAD1C(func_801DAC0C(), memBlock, size); } -void func_801DAEA4(void *memBlock) +void func_801DAEA4(void* memBlock) { if (memBlock) func_801DAD48(func_801DAC0C(), memBlock); } -u32 func_801DAEE0(const void *memBlock) +u32 func_801DAEE0(const void* memBlock) { if (memBlock == NULL) return 0; @@ -193,7 +184,7 @@ u32 func_801DAEF8(void) return func_801DAD60(func_801DAC0C()); } -void lbl_801DAF1C(void *memBlock, MEMHeapHandle, u32 p3) +static void lbl_801DAF1C(void* memBlock, MEMHeapHandle, u32 p3) { if (MEMGetGroupIDForMBlockExpHeap(memBlock) == ((unkClass2 *)p3)->groupID) MEMFreeToExpHeap(((unkClass2 *)p3)->heap, memBlock); @@ -208,7 +199,7 @@ void func_801DAF70(MEMHeapHandle heap, u16 groupID) MEMVisitAllocatedForExpHeap(heap, lbl_801DAF1C, (u32)¶m); } -void func_801DAFAC(register void *dest, register const void *src, register size_t n) +void func_801DAFAC(register void* dest, register const void* src, register size_t n) { if ((u32)dest & 0x1f || (u32)src & 0x1f || n & 0x1f) { memcpy(dest, src, n); @@ -244,4 +235,4 @@ void func_801DAFAC(register void *dest, register const void *src, register size_ } } -} +} //extern "C" -- cgit v1.2.3