mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-05-19 18:28:06 -05:00
66 lines
1.8 KiB
C
66 lines
1.8 KiB
C
#ifndef POKEHEARTGOLD_HEAP_H
|
|
#define POKEHEARTGOLD_HEAP_H
|
|
|
|
#include "global.h"
|
|
|
|
typedef enum HeapID {
|
|
HEAP_ID_DEFAULT,
|
|
HEAP_ID_1,
|
|
HEAP_ID_2,
|
|
HEAP_ID_3,
|
|
HEAP_ID_4,
|
|
HEAP_ID_BATTLE,
|
|
HEAP_ID_6,
|
|
HEAP_ID_7,
|
|
HEAP_ID_8,
|
|
HEAP_ID_9,
|
|
HEAP_ID_10,
|
|
HEAP_ID_FIELD,
|
|
HEAP_ID_PARTY_MENU,
|
|
HEAP_ID_NAMING_SCREEN = 18,
|
|
HEAP_ID_20 = 20,
|
|
HEAP_ID_26 = 26,
|
|
HEAP_ID_TITLE_SCREEN = 30,
|
|
HEAP_ID_32 = 32,
|
|
HEAP_ID_OPTIONS_APP = 38,
|
|
HEAP_ID_OV55 = 40,
|
|
HEAP_ID_CHOOSE_STARTER = 46,
|
|
HEAP_ID_REGISTER_HALL_OF_FAME = 62,
|
|
HEAP_ID_EVOLUTION = 71,
|
|
HEAP_ID_CREDITS = 73,
|
|
HEAP_ID_INTRO_MOVIE = 74,
|
|
HEAP_ID_OV36 = 75,
|
|
HEAP_ID_OAKS_SPEECH = 80,
|
|
HEAP_ID_CERTIFICATES = 82,
|
|
HEAP_ID_DELETE_SAVEDATA = 86,
|
|
HEAP_ID_89 = 89,
|
|
HEAP_ID_ALPH_PUZZLE = 97,
|
|
HEAP_ID_MIC_TEST = 98,
|
|
HEAP_ID_GAME_BOARD = 110,
|
|
HEAP_ID_BERRY_POTS = 130,
|
|
HEAP_ID_BERRY_POTS_APP = 131,
|
|
HEAP_ID_RANKINGS_APP = 158,
|
|
HEAP_ID_VOLTORB_FLIP = 160,
|
|
HEAP_ID_MAX,
|
|
} HeapID;
|
|
|
|
typedef struct HeapParam {
|
|
u32 size; // maximum size of the heap
|
|
OSArenaId arena; // where to allocate the heap from
|
|
} HEAP_PARAM;
|
|
|
|
void InitHeapSystem(const HEAP_PARAM *templates, u32 nTemplates, u32 totalNumHeaps, u32 pre_size);
|
|
BOOL CreateHeap(HeapID parent, HeapID child, u32 size);
|
|
BOOL CreateHeapAtEnd(HeapID parent, HeapID child, u32 size);
|
|
void DestroyHeap(HeapID heapId);
|
|
void *AllocFromHeap(HeapID heapId, u32 size);
|
|
void *AllocFromHeapAtEnd(HeapID heapId, u32 size);
|
|
void FreeToHeap(void *ptr);
|
|
void FreeToHeapExplicit(HeapID heapId, void *ptr);
|
|
u32 GF_ExpHeap_FndGetTotalFreeSize(HeapID heapId);
|
|
void GF_ExpHeap_FndInitAllocator(NNSFndAllocator *pAllocator, HeapID heapId, int alignment);
|
|
void ReallocFromHeap(void *ptr, u32 newSize);
|
|
BOOL GF_heap_c_dummy_return_true(HeapID heapId);
|
|
|
|
#endif // POKEHEARTGOLD_HEAP_H
|