diff options
| author | elijah-thomas774 <elijahthomas774@gmail.com> | 2024-04-27 14:10:42 -0400 |
|---|---|---|
| committer | elijah-thomas774 <elijahthomas774@gmail.com> | 2024-04-27 14:10:42 -0400 |
| commit | 33f093480fcafb9fa1e935adff29fd708d6c04c5 (patch) | |
| tree | 192549f97a1f40f7a3753ee6c3e122677194f3e6 /src/m/m_heap.cpp | |
| parent | 63a858728931d42551f7d3a13a31f8fa7a5d5429 (diff) | |
fixed up a couple symbols for egg that mHeap uses. Couple fixes
Diffstat (limited to 'src/m/m_heap.cpp')
| -rw-r--r-- | src/m/m_heap.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/m/m_heap.cpp b/src/m/m_heap.cpp index e2e31385..4e932d30 100644 --- a/src/m/m_heap.cpp +++ b/src/m/m_heap.cpp @@ -6,12 +6,6 @@ namespace mHeap { u8 g_DefaultGameHeapId = 1; -static const char *s_GameHeapNames[4] = { - 0, - "ゲーム用汎用ヒープ1(mHeap::gameHeaps[1])", - "ゲーム用汎用ヒープ2(mHeap::gameHeaps[2])", - 0, -}; #define MIN_ALIGN 0x20 @@ -24,7 +18,7 @@ EGG::AssertHeap *g_assertHeap; u16 copyAttribute(u32 arg) { u16 result = 0; - + if ((arg & 1) != 0) { result = 1; } @@ -40,7 +34,8 @@ u16 copyAttribute(u32 arg) { EGG::Heap *setCurrentHeap(EGG::Heap *heap) { return heap->becomeCurrentHeap(); } -EGG::ExpHeap *createExpHeap(size_t size, EGG::Heap *parent, const char *name, unsigned long align, unsigned long attrs) { +EGG::ExpHeap *createExpHeap(size_t size, EGG::Heap *parent, const char *name, unsigned long align, + unsigned long attrs) { if (parent == nullptr) { parent = EGG::Heap::sCurrentHeap; } @@ -72,10 +67,10 @@ size_t adjustExpHeap(EGG::ExpHeap *heap) { int ret = 0; if (heap != nullptr) { size_t ad = heap->adjust(); - size_t cost = mHeap::frmHeapCost(0, 4); + size_t cost = mHeap::expHeapCost(0, 4); if (ad >= cost) { ret = ad - cost; - } + } } return ret; } @@ -85,7 +80,7 @@ size_t expHeapCost(size_t size, size_t align) { return size + (~r5 & (r5 + 0x84)); } -EGG::FrmHeap *createFrmHeap(size_t size, EGG::Heap *parent, const char *name, unsigned long align, unsigned long attrs) { +EGG::FrmHeap *createFrmHeap(size_t size, EGG::Heap *parent, const char *name, size_t align, size_t attrs) { if (parent == nullptr) { parent = EGG::Heap::sCurrentHeap; } @@ -95,7 +90,7 @@ EGG::FrmHeap *createFrmHeap(size_t size, EGG::Heap *parent, const char *name, un } if (size != 0xFFFFFFFF) { - size = expHeapCost(size, align); + size = frmHeapCost(size, align); } else { size = parent->getAllocatableSize(align); } @@ -125,7 +120,7 @@ size_t adjustFrmHeap(EGG::FrmHeap *heap) { size_t cost = mHeap::frmHeapCost(0, 4); if (ad >= cost) { ret = ad - cost; - } + } } return ret; } @@ -163,18 +158,18 @@ EGG::ExpHeap *createHeap(size_t size, EGG::Heap *block, const char *name) { return heap; } void saveCurrentHeap() { - s_SavedCurrentHeap = (EGG::ExpHeap*) EGG::Heap::sCurrentHeap; + s_SavedCurrentHeap = (EGG::ExpHeap *)EGG::Heap::sCurrentHeap; } void restoreCurrentHeap() { s_SavedCurrentHeap->becomeCurrentHeap(); - EGG::Heap::sCurrentHeap = nullptr; + s_SavedCurrentHeap = nullptr; } EGG::FrmHeap *makeFrmHeapAndUpdate(size_t size, EGG::Heap *parentHeap, const char *name, s32 align, u32 unk) { EGG::FrmHeap *heap = createFrmHeap(size, parentHeap, name, align, unk); if (heap != nullptr) { EGG::Heap *heap2 = setCurrentHeap(heap); - s_SavedCurrentHeap = (EGG::ExpHeap*)heap2; + s_SavedCurrentHeap = (EGG::ExpHeap *)heap2; } return heap; } @@ -188,6 +183,12 @@ inline bool isValidHeapId(u32 id) { } EGG::ExpHeap *createGameHeap(int heapId, size_t size, EGG::Heap *parent) { + const char *s_GameHeapNames[4] = { + 0, + "ゲーム用汎用ヒープ1(mHeap::gameHeaps[1])", + "ゲーム用汎用ヒープ2(mHeap::gameHeaps[2])", + 0, + }; if (!isValidHeapId(heapId)) { return nullptr; } |
