NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
m_heap.hpp
1#pragma once
2#include <types.h>
3#include <lib/egg/core/eggFrmHeap.h>
4#include <lib/egg/core/eggExpHeap.h>
5#include <nw4r/ut.h>
6
7namespace mHeap {
8 enum AllocOptBit_t {
9 OPT_NONE = 0,
10 OPT_THREAD_SAFE = BIT_FLAG(2)
11 };
12
13 void restoreCurrentHeap();
14 EGG::Heap *setCurrentHeap(EGG::Heap *);
15 size_t frmHeapCost(size_t, size_t);
16 void destroyFrmHeap(EGG::FrmHeap *);
17 unsigned long adjustFrmHeap(EGG::FrmHeap *);
18 void saveCurrentHeap();
19
20 EGG::ExpHeap *createExpHeap(size_t, EGG::Heap *, const char *, size_t, mHeap::AllocOptBit_t);
21 EGG::FrmHeap *createFrmHeapToCurrent(unsigned long size, EGG::Heap *parent, const char *name, ulong align, mHeap::AllocOptBit_t opt);
22 EGG::FrmHeap *createFrmHeap(unsigned long size, EGG::Heap *parent, const char *name, ulong align, mHeap::AllocOptBit_t opt);
23
24 extern EGG::Heap *g_gameHeaps[3];
25};