overlay id pointer trick

This commit is contained in:
Yanis002
2025-07-17 18:07:18 +02:00
parent 0aea232d38
commit dd0189cd38
3 changed files with 240 additions and 123 deletions
+5 -2
View File
@@ -7,6 +7,9 @@
extern "C" {
#endif
#define EXTERN_OVERLAY_ID(name_or_index) extern u32 OVERLAY_##name_or_index##_ID;
#define OVERLAY_ID(name_or_index) ((u32) & OVERLAY_##name_or_index##_ID)
typedef struct Overlay {
/* 00 */ unk32 mId;
/* 04 */ void* mBaseAddress;
@@ -30,8 +33,8 @@ bool Overlay_func_020423e8(s32 param1, unk32 param2, unk32 param3);
void Overlay_Init(Overlay* overlay);
void Overlay_RunGlobalDestructors(Overlay* overlay);
bool Overlay_Destroy(Overlay* overlay);
bool Overlay_Load(Overlay* overlay, unk32 param2);
bool Overlay_Unload(Overlay* overlay, unk32 param2);
bool FS_LoadOverlay(Overlay* overlay, unk32 param2);
bool FS_UnloadOverlay(Overlay* overlay, unk32 param2);
#ifdef __cplusplus
}