Mario Kart 64
Loading...
Searching...
No Matches
memory.h
Go to the documentation of this file.
1#ifndef MEMORY_H
2#define MEMORY_H
3
4#include "common_structs.h"
5#include "course_offsets.h"
6
10};
11
18
20 s32 unk0;
21 s32 unk4;
22};
23
25 s16 unk0;
26 s16 unk2;
27 s32 unk4;
28 s32 unk8;
29 s32 fill;
30};
31
38
39#define MEMORY_POOL_LEFT 0
40#define MEMORY_POOL_RIGHT 1
41
42#define ALIGN4(val) (((val) + 0x3) & ~0x3)
43
44u8* load_lakitu_tlut_x64(const char** textureList, size_t length);
45void* get_next_available_memory_addr(uintptr_t);
46void initialize_memory_pool(void);
47void* allocate_memory(size_t);
48void* load_data(uintptr_t, uintptr_t);
49void func_802A7D54(s32, s32);
50
51void func_802A86A8(CourseVtx* data, Vtx* vtx, size_t arg1);
52
53void main_pool_init(uintptr_t, uintptr_t);
54void* main_pool_alloc(uintptr_t, uintptr_t);
55uintptr_t main_pool_free(void*);
56void* main_pool_realloc(void*, uintptr_t);
57uintptr_t main_pool_available(void);
58uintptr_t main_pool_push_state(void);
59uintptr_t main_pool_pop_state(void);
60void* func_802A80B0(u8*, u8*, u8*);
61uintptr_t MIO0_0F(u8*, uintptr_t, uintptr_t);
62void load_track(s32);
63
65
66#endif // MEMORY_H
void main_pool_init(uintptr_t, uintptr_t)
Definition memory.c:151
void initialize_memory_pool(void)
Sets the starting location for allocating memory and calculates pool size.
Definition memory.c:90
void func_802A86A8(CourseVtx *data, Vtx *vtx, size_t arg1)
uintptr_t MIO0_0F(u8 *, uintptr_t, uintptr_t)
Definition memory.c:276
void * func_802A80B0(u8 *, u8 *, u8 *)
Definition memory.c:262
u8 * load_lakitu_tlut_x64(const char **textureList, size_t length)
Definition memory.c:304
uintptr_t main_pool_pop_state(void)
Definition memory.c:254
void load_track(s32)
Loads & DMAs track data. Vtx, textures, displaylists, etc.
Definition memory.c:328
u8 _other_texturesSegmentRomStart[]
void * main_pool_alloc(uintptr_t, uintptr_t)
Definition memory.c:170
void * load_data(uintptr_t, uintptr_t)
Allocate and DMA.
Definition memory.c:140
uintptr_t main_pool_push_state(void)
Definition memory.c:236
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:53
void * main_pool_realloc(void *, uintptr_t)
Definition memory.c:221
uintptr_t main_pool_free(void *)
Definition memory.c:199
void * allocate_memory(size_t)
Allocates memory and adjusts gFreeMemorySize.
Definition memory.c:110
void func_802A7D54(s32, s32)
Definition memory.c:132
uintptr_t main_pool_available(void)
Definition memory.c:232
Definition memory.h:32
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
Definition memory.h:7
struct MainPoolBlock * prev
Definition memory.h:8
struct MainPoolBlock * next
Definition memory.h:9
Definition memory.h:12
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
Definition memory.h:19
s32 unk0
Definition memory.h:20
s32 unk4
Definition memory.h:21
Definition memory.h:24
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