Merge branch 'main' into eggXfbManager

This commit is contained in:
Elijah Thomas
2024-05-12 13:00:28 -04:00
committed by GitHub
15 changed files with 504 additions and 66 deletions
+6 -1
View File
@@ -24,7 +24,12 @@ public:
/* 80495b70 */ static ExpHeap *create(void *block, size_t size, u16 attr);
/* 80495c30 */ static ExpHeap *create(size_t size, Heap *heap, u16 attr);
/* 80495d00 */ void setGroupID(u16 groupId);
/* 80495f80 */ u32 getSizeForMBlock(const void *block);
/* 80495f80 */ static u32 getSizeForMBlock(const void *block);
// Placement new for ::create
inline void *operator new(size_t size, void *ptr) {
return ptr;
}
};
} // namespace EGG
+1 -1
View File
@@ -22,7 +22,7 @@ public:
public:
/* 80576798 */ static GraphicsFifo *sGraphicsFifo;
/* 8057679c */ static bool sGpStatus[4];
/* 8057679c */ static u8 sGpStatus[5];
};
} // namespace EGG
+10 -10
View File
@@ -18,12 +18,12 @@ class Allocator;
struct HeapAllocArg {
void *userArg; // 00
u32 size; // 04
int align; // 08
Heap *heap; // 0C heap to allocate in
int another; // 10
u32 size; // 04
int align; // 08
void *ptr; // 0C the allocated ptr
Heap *heap; // 10 heap to allocate in
inline HeapAllocArg() : userArg(0), size(0), align(0), heap(nullptr) {}
inline HeapAllocArg() : userArg(0), size(0), align(0), heap(nullptr), ptr(nullptr) {}
};
typedef void (*HeapAllocCallback)(HeapAllocArg *arg);
@@ -37,8 +37,8 @@ typedef void (*ErrorCallback)(HeapErrorArg *);
struct HeapFreeArg {
void *userArg;
int arg1;
int arg2;
void *ptr;
Heap *heap;
};
typedef void (*HeapFreeCallback)(HeapFreeArg *);
@@ -57,14 +57,14 @@ public:
// vtable at 0x0 | 8056e950
/* vt 0x08 | 804954c0 */ virtual ~Heap();
/* vt 0x0C | 00000000 */ virtual eHeapKind getHeapKind() const = 0;
/* vt 0x10 | 80495a40 */ virtual void initAllocator(Allocator *allocator, s32 align) = 0;
/* vt 0x10 | 80495a40 */ virtual void initAllocator(Allocator *allocator, s32 align);
/* vt 0x14 | 00000000 */ virtual void *alloc(u32 size, s32 align) = 0;
/* vt 0x18 | 00000000 */ virtual void free(void *block) = 0;
/* vt 0x1C | 00000000 */ virtual void destroy() = 0;
/* vt 0x20 | 00000000 */ virtual u32 resizeForMBlock(void *block, u32 size) = 0;
/* vt 0x24 | 00000000 */ virtual u32 getTotalFreeSize() = 0;
/* vt 0x24 | 00000000 */ virtual u32 getAllocatableSize(s32 align) = 0;
/* vt 0x28 | 00000000 */ virtual u32 adjust() = 0;
/* vt 0x28 | 00000000 */ virtual u32 getAllocatableSize(s32 align) = 0;
/* vt 0x2C | 00000000 */ virtual u32 adjust() = 0;
public:
void setName(const char *name) {
+8 -5
View File
@@ -8,14 +8,17 @@ namespace EGG {
// TODO: Fixup funtions
namespace Assert {
typedef void (*AssertCallback)();
/* 8049bf90 */ void wait(u32 time);
/* 8049c010 */ void system_print();
/* 8049c010 */ void system_report();
/* 8049c0a0 */ s32 getPeriodPos(char *);
/* 8049c010 */ void system_vreport(const char *str, va_list list);
/* 8049c010 */ void system_report(const char *str, ...);
/* 8049c0a0 */ s32 getPeriodPos(const char *);
/* 8049c100 */ char *getMapSymbol();
/* 8049c150 */ bool isOutsideMEM1(u32 addr);
/* 8049c190 */ void system_halt();
/* 8049c530 */ void assert();
/* 8049c180 */ AssertCallback setAssertCallback(AssertCallback cb);
/* 8049c190 */ void system_halt(const char *file, u32 line, const char *msg, va_list list);
/* 8049c530 */ void assert(const char *file, u32 line, const char *msg, ...);
} // namespace Assert