Files
ss/include/m/m_heap.h
T
2024-05-05 11:26:41 -04:00

51 lines
2.2 KiB
C++

#ifndef M_HEAP_H
#define M_HEAP_H
#include "egg/core/eggExpHeap.h"
#include "egg/core/eggFrmHeap.h"
// #include "egg/core/eggExpHeap.h"
// #include "egg/core/eggAssertHeap.h"
// TODO: REWRITE THIS
namespace EGG {
class ExpHeap;
class AssertHeap;
} // namespace EGG
// TODO: Doc symbols and func locations
namespace mHeap {
/* 802f0f00 */ u16 copyAttribute(u32);
/* 802f0f40 */ EGG::Heap *setCurrentHeap(EGG::Heap *);
/* 802f0f50 */ EGG::ExpHeap *createExpHeap(size_t size, EGG::Heap *parentHeap, char *name, s32 align, u32 unk);
/* 802f1060 */ size_t adjustExpHeap(EGG::Heap *heap);
/* 802f10d0 */ size_t expHeapCost(size_t start, s32 size);
/* 802f10f0 */ EGG::FrmHeap *createFrmHeap(size_t size, EGG::Heap *parentHeap, char *name, size_t align, size_t attrs);
/* 802f1200 */ void destroyFrmHeap(EGG::FrmHeap *heap);
/* 802f1220 */ size_t adjustFrmHeap(EGG::FrmHeap *heap);
/* 802f1290 */ size_t frmHeapCost(size_t start, s32 size);
/* 802f12b0 */ EGG::Heap **setTempHeap(EGG::Heap **prevHeap, EGG::Heap *tempNewHeap);
/* 802f12f0 */ EGG::Heap **restoreTempHeap(EGG::Heap **prevHeap, s32 size);
/* 802f1350 */ EGG::ExpHeap *createHeap(size_t size, EGG::Heap *, char *name);
/* 802f13d0 */ void saveCurrentHeap();
/* 802f13e0 */ void restoreCurrentHeap();
/* 802f1410 */ EGG::FrmHeap *makeFrmHeapAndUpdate(size_t size, EGG::Heap *parentHeap, const char *name, s32 align,
u32 unk);
/* 802f1450 */ int getGameHeapNum();
/* 802f1460 */ EGG::ExpHeap *createGameHeap(s32 heapNum, size_t size, EGG::Heap *parentHeap);
/* 802f1510 */ EGG::ExpHeap *createGameHeap1(s32 size, EGG::Heap *parentHeap);
/* 802f1560 */ EGG::ExpHeap *createArchiveHeap(size_t size, EGG::Heap *parentHeap);
/* 802f1590 */ EGG::ExpHeap *createCommandHeap(size_t size, EGG::Heap *parentHeap);
/* 802f15c0 */ EGG::ExpHeap *createDylinkHeap(size_t size, EGG::Heap *parentHeap);
/* 802f15f0 */ EGG::AssertHeap *createAssertHeap(EGG::Heap *parentHeap);
/* 802f1640 */ EGG::Heap *makeHeapOnCurrentGameHeap(size_t size, char *name, s32 align, u32 unk);
extern EGG::ExpHeap *g_gameHeaps[4];
extern EGG::ExpHeap *s_SavedCurrentHeap;
extern EGG::ExpHeap *g_archiveHeap;
extern EGG::ExpHeap *g_commandHeap;
extern EGG::ExpHeap *g_dylinkHeap;
extern EGG::AssertHeap *g_assertHeap;
}; // namespace mHeap
#endif