1#ifndef ALCHEMY_HEAP_STATE_H
2#define ALCHEMY_HEAP_STATE_H
14#define WORK_SLOT(n) (*(gWorkSlot + (n)))
@ HEAP_SLOT_BATTLE_EFFECT
@ HEAP_SLOT_BLITTER_ALTERNATE
@ HEAP_SLOT_BATTLE_BACKGROUND
@ HEAP_SLOT_FRAME_UPLOADER
@ HEAP_SLOT_FRAME_SCRATCH
Lives for one frame: WaitFrames builds the OAM list in it, and the field sprite decoder keeps its cod...
@ HEAP_SLOT_TEMP_RENDERER
Copied field row drawer or window tile decoder, released after each call.
@ HEAP_SLOT_BATTLE_CANVAS
@ HEAP_SLOT_TRANSFORM_STACK
The 3D transform's one saved level.
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
#define offsetof(type, member)
void * blocks[62]
heap slots 2 to 63; not named by TBS code
void * nextIwram
the IWRAM pool's next free byte, up to the heap's end
void * nextEwram
the EWRAM pool's next free byte, up to 0x02040000
The integer types, TRUE, UNUSED and the fixed-address macros.
The heap's 64 work slots, the first two holding the next free EWRAM and IWRAM addresses.
void * slots[64]
Each slot's block once allocated, else null; slots 0 and 1 are the pool pointers.
struct HeapState::@141110302170060006222316322227346102017231370075 heap