From 7230a2de6a320866ee3f452b411c4b857c29be41 Mon Sep 17 00:00:00 2001 From: Pablo <72659707+Pepe20129@users.noreply.github.com> Date: Sat, 26 Oct 2024 17:08:21 +0200 Subject: [PATCH] Hopefully fix the N64DD issues --- include/n64dd.h | 15 +++++++-------- src/code/z_map_mark.c | 4 ++-- src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c | 4 ++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/include/n64dd.h b/include/n64dd.h index 2f8dc59336..964a1196fd 100644 --- a/include/n64dd.h +++ b/include/n64dd.h @@ -19,9 +19,8 @@ struct RegEditor; struct RoomContext; struct SaveContext; struct Scene; -struct MapMarkData; -struct PauseMapMarksData; -struct SceneDrawConfigFunc; +struct MapMarkIconData; +struct PauseMapMarkData; struct DmaRequest; // TODO Use the specific pointer types instead of void* @@ -46,10 +45,10 @@ typedef struct n64ddStruct_80121220 { s32 (*unk_20)(struct MapData*); s32 (*unk_24)(void); s32 (*unk_28)(struct PlayState*); - s32 (*unk_2C)(struct MapMarkData***); - s32 (*unk_30)(struct MapMarkData***); - void (*unk_34)(struct PauseMapMarksData**); - void (*unk_38)(struct PauseMapMarksData**); + s32 (*unk_2C)(struct MapMarkIconData***[3]); + s32 (*unk_30)(struct MapMarkIconData***[3]); + void (*unk_34)(struct PauseMapMarkData**[3]); + void (*unk_38)(struct PauseMapMarkData**[3]); void (*unk_3C)(void); void (*unk_40)(void); s32 (*unk_44)(struct PlayState*); @@ -68,7 +67,7 @@ typedef struct n64ddStruct_80121220 { #if OOT_PAL s32 (*unk_6C_PAL)(struct Font*); #endif - void (*unk_6C)(struct PlayState*, struct SceneDrawConfigFunc*); + void (*unk_6C)(struct PlayState*, void(**)(struct PlayState*)); s32 (*unk_70)(struct DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk, OSMesgQueue* queue, OSMesg msg); void (*unk_74)(struct GameState*); s32 (*unk_78)(struct PlayState*, void*, void*); diff --git a/src/code/z_map_mark.c b/src/code/z_map_mark.c index 4483a32faf..3fdcaa44f5 100644 --- a/src/code/z_map_mark.c +++ b/src/code/z_map_mark.c @@ -59,7 +59,7 @@ void MapMark_Init(PlayState* play) { #if PLATFORM_N64 if ((B_80121220 != NULL) && (B_80121220->unk_2C != NULL)) { - B_80121220->unk_2C(&sLoadedMarkDataTable); + B_80121220->unk_2C((MapMarkIconData****)&sLoadedMarkDataTable); } #endif } @@ -67,7 +67,7 @@ void MapMark_Init(PlayState* play) { void MapMark_ClearPointers(PlayState* play) { #if PLATFORM_N64 if ((B_80121220 != NULL) && (B_80121220->unk_30 != NULL)) { - B_80121220->unk_30(&sLoadedMarkDataTable); + B_80121220->unk_30((MapMarkIconData****)&sLoadedMarkDataTable); } #endif diff --git a/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c index 3f079430f8..6cc18a44df 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c @@ -32,7 +32,7 @@ void PauseMapMark_Init(PlayState* play) { gLoadedPauseMarkDataTable = gPauseMapMarkDataTable; #if PLATFORM_N64 if ((B_80121220 != NULL) && (B_80121220->unk_34 != NULL)) { - B_80121220->unk_34(&gLoadedPauseMarkDataTable); + B_80121220->unk_34((PauseMapMarkData***)&gLoadedPauseMarkDataTable); } #endif } @@ -40,7 +40,7 @@ void PauseMapMark_Init(PlayState* play) { void PauseMapMark_Clear(PlayState* play) { #if PLATFORM_N64 if ((B_80121220 != NULL) && (B_80121220->unk_38 != NULL)) { - B_80121220->unk_38(&gLoadedPauseMarkDataTable); + B_80121220->unk_38((PauseMapMarkData***)&gLoadedPauseMarkDataTable); } #endif gLoadedPauseMarkDataTable = NULL;