39#define MEMORY_POOL_LEFT 0
40#define MEMORY_POOL_RIGHT 1
42#define ALIGN4(val) (((val) + 0x3) & ~0x3)
77u8*
dma_textures(
const char* texture,
size_t arg1,
size_t arg2);
78uintptr_t
MIO0_0F(u8*, uintptr_t, uintptr_t);
void unpack_render_mode_translucent(Gfx *, u8 *, uintptr_t)
void * get_segment_base_addr(s32)
Returns the physical memory location of a segment.
Definition memory.c:95
void unpack_lights(Gfx *, u8 *, s8)
void unpack_combine_mode1(Gfx *, u8 *, uintptr_t)
void main_pool_init(uintptr_t, uintptr_t)
Definition memory.c:299
void initialize_memory_pool(void)
Sets the starting location for allocating memory and calculates pool size.
Definition memory.c:237
void func_802A8844(void)
Definition memory.c:663
void unpack_combine_mode4(Gfx *, u8 *, uintptr_t)
void * segment_offset_to_virtual(uint32_t, uint32_t)
Definition memory.c:110
void func_802A86A8(CourseVtx *data, Vtx *vtx, size_t arg1)
Definition memory.c:599
uintptr_t MIO0_0F(u8 *, uintptr_t, uintptr_t)
Definition memory.c:579
void * func_802A80B0(u8 *, u8 *, u8 *)
Definition memory.c:410
u8 * load_lakitu_tlut_x64(const char **textureList, size_t length)
Definition memory.c:1552
uintptr_t main_pool_pop_state(void)
Definition memory.c:402
uintptr_t set_segment_base_addr(s32, void *)
Stores the physical memory addr for segmented memory in gSegmentTable using the segment number as an ...
Definition memory.c:81
void unpack_texture_on(Gfx *, u8 *, s8)
void func_802A81EC(void)
Definition memory.c:451
u8 _other_texturesSegmentRomStart[]
struct AllocOnlyPool * alloc_only_pool_init(uintptr_t, uintptr_t)
Definition memory.c:468
void load_course(s32)
Loads & DMAs course data. Vtx, textures, displaylists, etc.
Definition memory.c:1576
u8 * dma_textures(const char *texture, size_t arg1, size_t arg2)
Definition memory.c:553
void unpack_render_mode_opaque_decal(Gfx *, u8 *, uintptr_t)
void unpack_render_mode_translucent_decal(Gfx *, u8 *, uintptr_t)
void * decompress_segments(u8 *, u8 *)
Definition memory.c:1524
void * main_pool_alloc(uintptr_t, uintptr_t)
Definition memory.c:318
void * load_data(uintptr_t, uintptr_t)
Allocate and DMA.
Definition memory.c:288
uintptr_t main_pool_push_state(void)
Definition memory.c:384
void unpack_tile_sync(Gfx *, u8 *, s8)
Definition memory.c:794
void unpack_combine_mode5(Gfx *, u8 *, uintptr_t)
void displaylist_unpack(uintptr_t *data, uintptr_t finalDisplaylistOffset, u32 arg2)
Definition memory.c:1169
void unpack_set_geometry_mode(Gfx *, u8 *, s8)
void move_segment_table_to_dmem(void)
Definition memory.c:224
void unpack_clear_geometry_mode(Gfx *, u8 *, s8)
uintptr_t func_802A82AC(s32)
Definition memory.c:484
void * segmented_to_virtual(const void *)
converts an RSP segment + offset address to a normal memory address
Definition memory.c:102
void * get_next_available_memory_addr(uintptr_t)
Returns the address of the next available memory location and updates the memory pointer to reference...
Definition memory.c:57
void unpack_combine_mode_shade(Gfx *, u8 *, uintptr_t)
void unpack_texture_off(Gfx *, u8 *, s8)
void unpack_combine_mode2(Gfx *, u8 *, uintptr_t)
Gfx * segmented_gfx_to_virtual(const void *)
Definition memory.c:145
void unpack_render_mode_tex_edge(Gfx *, u8 *, uintptr_t)
void * main_pool_realloc(void *, uintptr_t)
Definition memory.c:369
void * segment_vtx_to_virtual(size_t offset)
Definition memory.c:114
void unpack_end_displaylist(Gfx *, u8 *, s8)
uintptr_t main_pool_free(void *)
Definition memory.c:347
uintptr_t func_802A8348(s32, s32, s32)
Definition memory.c:512
uintptr_t set_segment_base_addr_x64(s32, void *)
Definition memory.c:86
void unpack_cull_displaylist(Gfx *, u8 *, s8)
void * allocate_memory(size_t)
Allocates memory and adjusts gFreeMemorySize.
Definition memory.c:257
void * segmented_uintptr_t_to_virtual(uintptr_t)
Definition memory.c:132
void func_802A7D54(s32, s32)
Definition memory.c:280
void unpack_tile_load_sync(Gfx *, u8 *, s8)
Definition memory.c:908
void unpack_displaylist(Gfx *, u8 *, s8)
void * segmented_texture_to_virtual(uintptr_t addr)
Definition memory.c:125
void unpack_render_mode_opaque(Gfx *, u8 *, uintptr_t)
void replace_segmented_textures_with_o2r_textures(Gfx *gfx, const course_texture *textures)
Definition memory.c:177
uintptr_t main_pool_available(void)
Definition memory.c:380
u8 * startPtr
Definition memory.h:35
s32 usedSpace
Definition memory.h:34
s32 totalSpace
Definition memory.h:33
u8 * freePtr
Definition memory.h:36
Definition common_structs.h:193
struct MainPoolBlock * prev
Definition memory.h:8
struct MainPoolBlock * next
Definition memory.h:9
struct MainPoolState * prev
Definition memory.h:16
uintptr_t freeSpace
Definition memory.h:13
struct MainPoolBlock * listHeadL
Definition memory.h:14
struct MainPoolBlock * listHeadR
Definition memory.h:15
s32 unk0
Definition memory.h:20
s32 unk4
Definition memory.h:21
s32 fill
Definition memory.h:29
s16 unk2
Definition memory.h:26
s32 unk8
Definition memory.h:28
s32 unk4
Definition memory.h:27
s16 unk0
Definition memory.h:25
Definition course_offsets.h:10