From 2b101658fe0378c2348cb0f6b89ad0448b5bde1d Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Sun, 21 Jan 2024 08:00:53 -0600 Subject: [PATCH] import bss for title and map. some adjustment to headers (#100) * bss, a bit fake. Revisit later * format --- .vscode/settings.json | 6 +- include/fox_option.h | 152 ++--------------- include/functions.h | 1 - include/i1.h | 1 - include/i2.h | 1 - include/i3.h | 1 - include/i4.h | 1 - include/i5.h | 1 - include/i6.h | 1 - include/variables.h | 7 - src/main/fox_bg.c | 2 +- src/main/fox_display.c | 1 + src/main/fox_edisplay.c | 2 +- src/main/fox_enmy.c | 1 + src/main/fox_game.c | 1 + src/main/fox_versus.c | 5 +- src/mods/sfxjukebox.c | 7 + src/overlays/ovl_menu/fox_i_menu.c | 3 + src/overlays/ovl_menu/fox_map.c | 263 ++++------------------------- src/overlays/ovl_menu/fox_option.c | 122 ++++++++++++- src/overlays/ovl_menu/fox_title.c | 166 ++++++++++++++++-- src/overlays/ovl_menu/fox_title.h | 62 +++++-- yamls/us/overlays.yaml | 9 +- 23 files changed, 394 insertions(+), 422 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9370652e..a0b894af 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -45,7 +45,11 @@ "typeinfo": "c", "sym_addrs_funcs": "c", "*.txt": "c", - "fox_title.h": "c" + "fox_title.h": "c", + "prevent_bss_reordering.h": "c", + "fox_map.h": "c", + "sf64level.h": "c", + "prevent_bss_reordering2.h": "c" }, "C_Cpp_Runner.msvcBatchPath": "" } \ No newline at end of file diff --git a/include/fox_option.h b/include/fox_option.h index 01941f8d..36a38e88 100644 --- a/include/fox_option.h +++ b/include/fox_option.h @@ -77,139 +77,25 @@ typedef enum OptionId { #define OPTION_COUNT ARRAY_COUNT(sOptionCardList) -extern s32 D_menu_801B9090; -extern s32 D_menu_801B9094; -extern s32 D_menu_801B9098; //gap -extern s32 D_menu_801B90A0[3]; //gap -extern s32 D_menu_801B90B0[3]; //gap -extern f32 D_menu_801B90C0[3]; //gap -extern f32 D_menu_801B90D0[3]; //gap -extern f32 D_menu_801B90E0[3]; //gap -extern f32 D_menu_801B90F0[3]; //gap -extern f32 D_menu_801B9100[3]; //gap -extern f32 D_menu_801B9110[3]; -extern f32 D_menu_801B911C; -extern f32 D_menu_801B9120; -extern OptionId D_menu_801B9124; -extern s32 D_menu_801B9128; -extern s32 D_menu_801B912C; -extern s32 D_menu_801B9130; -extern s32 D_menu_801B9134; -extern s32 D_menu_801B9138; -extern s32 D_menu_801B913C; -extern s32 D_menu_801B9140[3]; -extern s32 D_menu_801B914C; -extern u8 D_menu_801B9150[3][2]; -extern s32 D_menu_801B9158; -extern UnkStruct_D_menu_801B9250 D_menu_801B9160[3]; -extern s32 D_menu_801B9178; -extern s32 D_menu_801B917C; -extern UnkStruct_D_menu_801B9250 D_menu_801B9180; //gap -extern UnkStruct_D_menu_801B9250 D_menu_801B9188; -extern UnkStruct_D_menu_801B9250 D_menu_801B9190; -extern UnkStruct_D_menu_801B9250 D_menu_801B9198; -extern s32 D_menu_801B91A0; -extern s32 D_menu_801B91A4; -extern s32 D_menu_801B91A8; -extern s32 D_menu_801B91AC; -extern s32 D_menu_801B91B0; -extern s32 D_menu_801B91B4; -extern s32 D_menu_801B91B8; -extern s32 D_menu_801B91BC; -extern s32 D_menu_801B91C0; -extern s32 D_menu_801B91C4; -extern s32 D_menu_801B91C8; -extern s32 D_menu_801B91CC; -extern s32 D_menu_801B91D0; -extern f32 D_menu_801B91D4; -extern f32 D_menu_801B91D8; -extern f32 D_menu_801B91DC; -extern f32 D_menu_801B91E0; -extern f32 D_menu_801B91E4; -extern f32 D_menu_801B91E8; -extern f32 D_menu_801B91EC; -extern s32 D_menu_801B91F0; -extern f32 D_menu_801B91F4; -extern f32 D_menu_801B91F8; -extern f32 D_menu_801B91FC; -extern f32 D_menu_801B9200; -extern f32 D_menu_801B9204; -extern f32 D_menu_801B9208; -extern f32 D_menu_801B920C; -extern f32 D_menu_801B9210; -extern s32 D_menu_801B9214; -extern f32 D_menu_801B9218; -extern f32 D_menu_801B921C; -extern f32 D_menu_801B9220; -extern f32 D_menu_801B9224; -extern f32 D_menu_801B9228; -extern s32 D_menu_801B922C; -extern s32 D_menu_801B9230; -extern s32 D_menu_801B9234; -extern s32 D_menu_801B9238; -extern s32 D_menu_801B923C; -extern s32 D_menu_801B9240; -extern s32 D_menu_801B9244; -extern s32 D_menu_801B9248; -extern u8 D_menu_801B924C; -extern UnkStruct_D_menu_801B9250 D_menu_801B9250; -extern UnkStruct_D_menu_801B9250 D_menu_801B9258; -extern UnkStruct_D_menu_801B9250 D_menu_801B9260; -extern UnkStruct_D_menu_801B9250 D_menu_801B9268; -extern f32 D_menu_801B9270[5]; -extern s32 D_menu_801B9284; -extern s32 D_menu_801B9288; //gap -extern UnkStruct_D_menu_801B9250 D_menu_801B9290; -extern f32 D_menu_801B9298[32]; -extern s32 spectrumAnalizerMode; -extern s32 D_menu_801B931C; -extern bool D_menu_801B9320; // MusicPlaying status in the expert sound options -extern s32 D_menu_801B9330[2]; -extern s32 D_menu_801B933C; -extern s32 D_menu_801B9340; //gap -extern s32 D_menu_801B9348[4]; -extern f32 D_menu_801B9358[4]; -extern f32 D_menu_801B9368; -extern s32 D_menu_801B936C; -extern f32 D_menu_801B9370; -extern s32 D_menu_801B9374; -extern f32 D_menu_801B9378; -extern s32 D_menu_801B937C; -extern UnkStruct_D_menu_801B9250 D_menu_801B9380[4]; -extern UnkStruct_D_menu_801B9250 D_menu_801B93A0[4]; -extern u8 D_menu_801B93C4; -extern s32 D_menu_801B93D0; -extern s32 D_menu_801B93D4; -extern s32 D_menu_801B93D8; -extern s32 D_menu_801B93DC; -extern s32 D_menu_801B93E0; -extern s32 D_menu_801B93E4; -extern s32 D_menu_801B93E8; -extern s32 D_menu_801B93EC; -extern f32 D_menu_801B93F0; -extern f32 D_menu_801B93F4; -extern f32 D_menu_801B93F8; //gap -extern UnkStruct_D_menu_801B9250 D_menu_801B9400; -extern UnkStruct_D_menu_801B9250 D_menu_801B9408; - extern void* D_menu_801B68B0[]; extern u8* D_menu_801B68D4[]; -extern s32 D_menu_801B81A8[][3]; +extern s32 D_menu_801B8220[]; // total hits ranking? see func_menu_80197DE4 +extern s32 D_menu_801B827C; +extern s32 D_menu_801B8280; +extern s32 D_menu_801B8284; +extern s32 D_menu_801B8288; // Planet textures -extern s8 D_menu_801B9410[96 * 96]; -extern s8 D_menu_801BB810[96 * 96]; -extern s8 D_menu_801BDC10[96 * 96]; -extern s8 D_menu_801C0010[96 * 96]; -extern s8 D_menu_801C2410[96 * 96]; -extern s8 D_menu_801C4810[96 * 96]; -extern s8 D_menu_801C6C10[96 * 96]; -extern s8 D_menu_801C9010[96 * 96]; -extern s8 D_menu_801CB410[96 * 96]; - -extern f32 D_menu_801CD818[]; - +extern u8 D_menu_801B9410[96 * 96]; +extern u8 D_menu_801BB810[96 * 96]; +extern u8 D_menu_801BDC10[96 * 96]; +extern u8 D_menu_801C0010[96 * 96]; +extern u8 D_menu_801C2410[96 * 96]; +extern u8 D_menu_801C4810[96 * 96]; +extern u8 D_menu_801C6C10[96 * 96]; +extern u8 D_menu_801C9010[96 * 96]; +extern u8 D_menu_801CB410[96 * 96]; void func_menu_801877F0(void); @@ -237,8 +123,7 @@ void func_menu_8018F8E4(void); void func_menu_8018FC14(void); void func_menu_8018FD08(void); void func_menu_8018FF74(void); -void func_menu_8018D2B8(s32); -void func_menu_8018EA78(s32); + void Option_Setup(void); void Option_UpdateEntry(void); @@ -335,12 +220,7 @@ void func_menu_8019DE74(void); void func_menu_8019DF64(void); void Option_InvoiceUpdate(void); void Option_InvoiceDraw(void); -void func_menu_801906A0(void); -void func_menu_80190C9C(void); -void func_menu_80190E64(void); -void func_menu_801918FC(void); -void func_menu_8019111C(void); -void func_menu_80191674(f32, f32, f32, f32*, f32*, f32*); + s32 func_menu_8019C5A0(s32*); s32 func_menu_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_menu_801B9250* arg3); void func_menu_8019E8D0(void); diff --git a/include/functions.h b/include/functions.h index 16b9746a..036586a2 100644 --- a/include/functions.h +++ b/include/functions.h @@ -3,7 +3,6 @@ #include "libc/stdbool.h" #include "structs.h" -#include "fox_option.h" #include "sf64object.h" #include "sf64thread.h" #include "sf64player.h" diff --git a/include/i1.h b/include/i1.h index dd2e8a66..bbbbcab1 100644 --- a/include/i1.h +++ b/include/i1.h @@ -3,7 +3,6 @@ #include "libc/stdbool.h" #include "structs.h" -#include "fox_option.h" #include "sf64object.h" #include "sf64thread.h" #include "sf64player.h" diff --git a/include/i2.h b/include/i2.h index 06bb7199..060bd64a 100644 --- a/include/i2.h +++ b/include/i2.h @@ -3,7 +3,6 @@ #include "libc/stdbool.h" #include "structs.h" -#include "fox_option.h" #include "sf64object.h" #include "sf64thread.h" #include "sf64player.h" diff --git a/include/i3.h b/include/i3.h index 705ff16b..a404bf83 100644 --- a/include/i3.h +++ b/include/i3.h @@ -3,7 +3,6 @@ #include "libc/stdbool.h" #include "structs.h" -#include "fox_option.h" #include "sf64object.h" #include "sf64thread.h" #include "sf64player.h" diff --git a/include/i4.h b/include/i4.h index 5dd28657..c521d5b9 100644 --- a/include/i4.h +++ b/include/i4.h @@ -3,7 +3,6 @@ #include "libc/stdbool.h" #include "structs.h" -#include "fox_option.h" #include "sf64object.h" #include "sf64thread.h" #include "sf64player.h" diff --git a/include/i5.h b/include/i5.h index e8e6db33..6efa358d 100644 --- a/include/i5.h +++ b/include/i5.h @@ -3,7 +3,6 @@ #include "libc/stdbool.h" #include "structs.h" -#include "fox_option.h" #include "sf64object.h" #include "sf64thread.h" #include "sf64player.h" diff --git a/include/i6.h b/include/i6.h index a1c25c86..02dbbae1 100644 --- a/include/i6.h +++ b/include/i6.h @@ -3,7 +3,6 @@ #include "libc/stdbool.h" #include "structs.h" -#include "fox_option.h" #include "sf64object.h" #include "sf64thread.h" #include "sf64player.h" diff --git a/include/variables.h b/include/variables.h index 4e3bb5f9..c9bc74dd 100644 --- a/include/variables.h +++ b/include/variables.h @@ -840,13 +840,6 @@ extern f32 gHeadsetPanVolume[]; extern f32 gStereoPanVolume[]; extern f32 gDefaultPanVolume[]; -// ovl_menu -extern s32 D_menu_801B8220[]; // total hits ranking? see func_menu_80197DE4 -extern s32 D_menu_801B8280; -extern s32 D_menu_801B8284; -extern s32 D_menu_801B827C; -extern s32 D_menu_801B8288; - // buffers extern u64 gDramStack[SP_DRAM_STACK_SIZE64]; extern u8 gOSYieldData[OS_YIELD_DATA_SIZE]; diff --git a/src/main/fox_bg.c b/src/main/fox_bg.c index c8352313..e243ee78 100644 --- a/src/main/fox_bg.c +++ b/src/main/fox_bg.c @@ -1,4 +1,4 @@ -// #include "prevent_bss_reordering.h" +#include "prevent_bss_reordering.h" #include "global.h" extern f32 D_i3_801C4188; diff --git a/src/main/fox_display.c b/src/main/fox_display.c index c85fb3c2..e293f1ed 100644 --- a/src/main/fox_display.c +++ b/src/main/fox_display.c @@ -1,3 +1,4 @@ +#include "prevent_bss_reordering.h" #include "global.h" s16 D_80161410; diff --git a/src/main/fox_edisplay.c b/src/main/fox_edisplay.c index 5c5a3902..a9fb2189 100644 --- a/src/main/fox_edisplay.c +++ b/src/main/fox_edisplay.c @@ -1,5 +1,5 @@ +#include "prevent_bss_reordering.h" #include "global.h" -// #include "prevent_bss_reordering.h" Vec3f D_801615D0; Vec3f D_801615E0; diff --git a/src/main/fox_enmy.c b/src/main/fox_enmy.c index c52dd0b0..98517406 100644 --- a/src/main/fox_enmy.c +++ b/src/main/fox_enmy.c @@ -1,3 +1,4 @@ +#include "prevent_bss_reordering.h" #include "global.h" s32 D_Timer_80161670[4]; diff --git a/src/main/fox_game.c b/src/main/fox_game.c index db40c616..80ced34b 100644 --- a/src/main/fox_game.c +++ b/src/main/fox_game.c @@ -1,3 +1,4 @@ +#include "prevent_bss_reordering.h" #include "global.h" #include "sf64dma.h" diff --git a/src/main/fox_versus.c b/src/main/fox_versus.c index 0bbf368e..5718fe28 100644 --- a/src/main/fox_versus.c +++ b/src/main/fox_versus.c @@ -1,7 +1,6 @@ -#include "prevent_bss_reordering.h" +// #include "prevent_bss_reordering.h" #include "global.h" -#include "fox_map.h" - +#include "fox_option.h" s32 D_80178750; s32 D_80178754; s32 D_80178758; diff --git a/src/mods/sfxjukebox.c b/src/mods/sfxjukebox.c index 3cf6659a..64afb629 100644 --- a/src/mods/sfxjukebox.c +++ b/src/mods/sfxjukebox.c @@ -1,5 +1,12 @@ #include "global.h" #include "fox_map.h" +#include "fox_option.h" + +extern s32 spectrumAnalizerMode; +extern bool D_menu_801B9320; +extern s32 D_menu_801B9244; +extern OptionId D_menu_801B9124; +extern s32 D_menu_801B912C; u32 prevSfx = 0; u32 sfx = 0x09000000; diff --git a/src/overlays/ovl_menu/fox_i_menu.c b/src/overlays/ovl_menu/fox_i_menu.c index 3e10234f..7304b7e4 100644 --- a/src/overlays/ovl_menu/fox_i_menu.c +++ b/src/overlays/ovl_menu/fox_i_menu.c @@ -9,6 +9,9 @@ void func_menu_8019E8C8(void); void func_menu_8019E8D0(void); void func_menu_801A01A8(void); +s32 D_menu_801B7BA0; +s32 D_menu_801AD9F0 = 0; + void func_menu_80187520(u32 mode, void* ptr) { switch (mode) { case 103: diff --git a/src/overlays/ovl_menu/fox_map.c b/src/overlays/ovl_menu/fox_map.c index a973e926..5ceb74bc 100644 --- a/src/overlays/ovl_menu/fox_map.c +++ b/src/overlays/ovl_menu/fox_map.c @@ -5,37 +5,28 @@ */ #include "mods.h" - -// #include "prevent_bss_reordering2.h" +// #include "prevent_bss_reordering.h" #include "global.h" #include "fox_map.h" -#include "sf64level.h" - -//! TODO: IMPORT BSS +#include "fox_option.h" // BSS STARTS HERE -// #define IMPORT_BSS - -#ifdef IMPORT_BSS -s8 D_menu_801B9410[96 * 96]; -s8 D_menu_801BB810[96 * 96]; -s8 D_menu_801BDC10[96 * 96]; -s8 D_menu_801C0010[96 * 96]; -s8 D_menu_801C2410[96 * 96]; -s8 D_menu_801C4810[96 * 96]; -s8 D_menu_801C6C10[96 * 96]; -s8 D_menu_801C9010[96 * 96]; -s8 D_menu_801CB410[96 * 96]; -s32 D_menu_801CD810; // PAD +u8 D_menu_801B9410[96 * 96]; +u8 D_menu_801BB810[96 * 96]; +u8 D_menu_801BDC10[96 * 96]; +u8 D_menu_801C0010[96 * 96]; +u8 D_menu_801C2410[96 * 96]; +u8 D_menu_801C4810[96 * 96]; +u8 D_menu_801C6C10[96 * 96]; +u8 D_menu_801C9010[96 * 96]; +u8 D_menu_801CB410[96 * 96]; +s32 D_menu_801CD810; f32 D_menu_801CD818[9]; s32 D_menu_801CD83C; s32 D_menu_801CD840[24]; s32 D_menu_801CD8A0[15]; s32 D_menu_801CD8E0[7]; -f32 D_menu_801CD9F4; // x -f32 D_menu_801CD9F8; // y -f32 D_menu_801CD9FC; // z s32 D_menu_801CD900[15]; s32 D_menu_801CD93C; s32 D_menu_801CD940; @@ -83,6 +74,9 @@ f32 D_menu_801CD9E4; f32 D_menu_801CD9E8; f32 D_menu_801CD9EC; s32 D_menu_801CD9F0; +f32 D_menu_801CD9F4; // x +f32 D_menu_801CD9F8; // y +f32 D_menu_801CD9FC; // z f32 D_menu_801CDA00; // x f32 D_menu_801CDA04; // y f32 D_menu_801CDA08; // z @@ -102,23 +96,16 @@ Vec3f D_menu_801CDA40; Vec3f D_menu_801CDA50; Matrix D_menu_801CDA60[15]; Matrix D_menu_801CDE20[15]; // planet related -Matrix D_menu_801CE060; Matrix D_menu_801CE1E0[15]; Matrix D_menu_801CE5A0[15]; Vec3f D_menu_801CE960[15]; // sPlanetsPositions -f32 D_menu_801CEA54; -f32 D_menu_801CEA64; -f32 D_menu_801CEA68; -f32 D_menu_801CEAA0; -f32 D_menu_801CEAA4; -f32 D_menu_801CEAA8; -f32 D_menu_801CEAAC; -f32 D_menu_801CEAB0; -s32 D_menu_801CEAB4; f32 D_menu_801CEA18[15]; +f32 D_menu_801CEA54; f32 D_menu_801CEA58; f32 D_menu_801CEA5C; f32 D_menu_801CEA60; +f32 D_menu_801CEA64; +f32 D_menu_801CEA68; f32 D_menu_801CEA6C; f32 D_menu_801CEA70; s32 D_menu_801CEA74; @@ -132,6 +119,12 @@ f32 D_menu_801CEA90; f32 D_menu_801CEA94; s32 D_menu_801CEA98; f32 D_menu_801CEA9C; +f32 D_menu_801CEAA0; +f32 D_menu_801CEAA4; +f32 D_menu_801CEAA8; +f32 D_menu_801CEAAC; +f32 D_menu_801CEAB0; +s32 D_menu_801CEAB4; f32 D_menu_801CEAB8[15]; f32 D_menu_801CEAF8[15]; s32 D_menu_801CEB34; @@ -162,12 +155,6 @@ s32 D_menu_801CEED8; f32 D_menu_801CEEDC; f32 D_menu_801CEEE0; Vec3f D_menu_801CEEE8[9]; -f32 D_menu_801CEF00; -f32 D_menu_801CEF04; -f32 D_menu_801CEF08; -f32 D_menu_801CEF30; -f32 D_menu_801CEF34; -f32 D_menu_801CEF38; Vec3f D_menu_801CEF58[9]; s32 D_menu_801CEFC4; s32 D_menu_801CEFC8; @@ -200,182 +187,6 @@ s32 D_menu_801CF118; s32 D_menu_801CF11C; s32 D_menu_801CF120; f32 D_menu_801CF124; -#else -extern s32 D_menu_801CD810; -extern f32 D_menu_801CD818[]; -extern s32 D_menu_801CD83C; -extern s32 D_menu_801CD840[24]; -extern s32 D_menu_801CD8A0[15]; -extern s32 D_menu_801CD8E0[7]; -extern f32 D_menu_801CD9F4; // x -extern f32 D_menu_801CD9F8; // y -extern f32 D_menu_801CD9FC; // z -extern s32 D_menu_801CD900[15]; -extern s32 D_menu_801CD93C; -extern s32 D_menu_801CD940; -extern s32 D_menu_801CD944; // mapState -extern s32 D_menu_801CD948; -extern s32 D_menu_801CD94C; -extern s32 D_menu_801CD950; -extern s32 sCurrentPlanetId; // sCurrentPlanetId -extern s32 D_menu_801CD958; -extern s32 D_menu_801CD95C; -extern s32 D_menu_801CD960; -extern s32 D_menu_801CD964; -extern s32 D_menu_801CD968; -extern s32 D_menu_801CD96C; -extern s32 D_menu_801CD970; -extern s32 D_menu_801CD974; -extern s32 D_menu_801CD978; -extern s32 D_menu_801CD97C; -extern s32 D_menu_801CD980; -extern s32 D_menu_801CD984; -extern s32 D_menu_801CD988; -extern s32 D_menu_801CD98C; -extern s32 D_menu_801CD990; -extern s32 D_menu_801CD994; -extern s32 D_menu_801CD998; -extern f32 D_menu_801CD99C; -extern s32 D_menu_801CD9A0; -extern s32 D_menu_801CD9A4; -extern s32 D_menu_801CD9A8; -extern s32 D_menu_801CD9AC; -extern f32 D_menu_801CD9B0; -extern f32 D_menu_801CD9B4; -extern s32 D_menu_801CD9B8; -extern s32 D_menu_801CD9BC; -extern s32 D_menu_801CD9C0; -extern s32 D_menu_801CD9C4; -extern s32 D_menu_801CD9C8; -extern s32 D_menu_801CD9CC; -extern s32 D_menu_801CD9D0; -extern s32 D_menu_801CD9D4; -extern s32 D_menu_801CD9D8; -extern f32 D_menu_801CD9DC; -extern f32 D_menu_801CD9E0; -extern f32 D_menu_801CD9E4; -extern f32 D_menu_801CD9E8; -extern f32 D_menu_801CD9EC; -extern s32 D_menu_801CD9F0; -extern f32 D_menu_801CDA00; // x -extern f32 D_menu_801CDA04; // y -extern f32 D_menu_801CDA08; // z -extern f32 D_menu_801CDA0C; // camera x -extern f32 D_menu_801CDA10; // camera y -extern f32 D_menu_801CDA14; -extern f32 D_menu_801CDA18; -extern f32 D_menu_801CDA1C; -extern f32 D_menu_801CDA20; -extern f32 D_menu_801CDA24; -extern f32 D_menu_801CDA28; -extern f32 D_menu_801CDA2C; -extern f32 D_menu_801CDA30; -extern f32 D_menu_801CDA34; -extern f32 D_menu_801CDA38; -extern Vec3f D_menu_801CDA40; -extern Vec3f D_menu_801CDA50; -extern Matrix D_menu_801CDA60[]; -extern Matrix D_menu_801CDE20[15]; // planet related -extern Matrix D_menu_801CE060; -extern Matrix D_menu_801CE1E0[15]; -extern Matrix D_menu_801CE5A0[]; -extern Vec3f D_menu_801CE960[]; // sPlanetsPositions -extern f32 D_menu_801CEA54; -extern f32 D_menu_801CEA64; -extern f32 D_menu_801CEA68; -extern f32 D_menu_801CEAA0; -extern f32 D_menu_801CEAA4; -extern f32 D_menu_801CEAA8; -extern f32 D_menu_801CEAAC; -extern f32 D_menu_801CEAB0; -extern s32 D_menu_801CEAB4; -extern f32 D_menu_801CEA18[]; -extern f32 D_menu_801CEA58; -extern f32 D_menu_801CEA5C; -extern f32 D_menu_801CEA60; -extern f32 D_menu_801CEA6C; -extern f32 D_menu_801CEA70; -extern s32 D_menu_801CEA74; -extern f32 D_menu_801CEA78; -extern f32 D_menu_801CEA7C; -extern f32 D_menu_801CEA80; -extern f32 D_menu_801CEA84; -extern f32 D_menu_801CEA88; -extern f32 D_menu_801CEA8C; -extern f32 D_menu_801CEA90; -extern f32 D_menu_801CEA94; -extern s32 D_menu_801CEA98; -extern f32 D_menu_801CEA9C; -extern f32 D_menu_801CEAB8[15]; -extern f32 D_menu_801CEAF8[15]; -extern s32 D_menu_801CEB34; -extern s32 D_menu_801CEB38; -extern f32 D_menu_801CEB3C; -extern f32 D_menu_801CEB40; -extern s32 D_menu_801CEB48[3]; -extern s32 D_menu_801CEB58[3][10]; -extern s32 D_menu_801CEBD0[3][10]; -extern f32 D_menu_801CEC48[3][10]; -extern f32 D_menu_801CECC0[3][10]; -extern f32 D_menu_801CED38[3][10]; -extern f32 D_menu_801CEDB0[3][10]; -extern f32 D_menu_801CEE28[3][10]; -extern s32 D_menu_801CEEA0; -extern s32 D_menu_801CEEA4; -extern s32 D_menu_801CEEA8; -extern s32 D_menu_801CEEAC; -extern Vec3f D_menu_801CEEB0; -extern f32 D_menu_801CEEBC; -extern f32 D_menu_801CEEC0; -extern s32 D_menu_801CEEC4; -extern s32 D_menu_801CEEC8; -extern s32 D_menu_801CEECC; -extern s32 D_menu_801CEED0; -extern s32 D_menu_801CEED4; -extern s32 D_menu_801CEED8; -extern f32 D_menu_801CEEDC; -extern f32 D_menu_801CEEE0; -extern Vec3f D_menu_801CEEE8[9]; -extern f32 D_menu_801CEF00; -extern f32 D_menu_801CEF04; -extern f32 D_menu_801CEF08; -extern f32 D_menu_801CEF30; -extern f32 D_menu_801CEF34; -extern f32 D_menu_801CEF38; -extern Vec3f D_menu_801CEF58[9]; -extern s32 D_menu_801CEFC4; -extern s32 D_menu_801CEFC8; -extern s32 D_menu_801CEFCC; -extern s32 D_menu_801CEFD0; -extern s32 D_menu_801CEFD4; -extern bool D_menu_801CEFD8; -extern s32 D_menu_801CEFDC; -extern f32 D_menu_801CEFE0; -extern f32 D_menu_801CEFE8[3]; -extern f32 D_menu_801CEFF4; -extern f32 D_menu_801CEFF8; -extern s32 D_menu_801CF000[]; -extern s32 D_menu_801CF00C; -extern s32 D_menu_801CF010; -extern s32 D_menu_801CF014; -extern s32 D_menu_801CF018; -extern f32 D_menu_801CF020[8]; -extern f32 D_menu_801CF040[8]; -extern f32 D_menu_801CF060[8]; -extern f32 D_menu_801CF080; -extern f32 D_menu_801CF088[8]; -extern f32 D_menu_801CF0A8[8]; -extern f32* D_menu_801CF0C8; -extern f32* D_menu_801CF0CC; -extern f32* D_menu_801CF0D0; -extern s32 D_menu_801CF0D8[8]; -extern s32 D_menu_801CF0F8[8]; -extern s32 D_menu_801CF118; -extern s32 D_menu_801CF11C; -extern s32 D_menu_801CF120; -extern f32 D_menu_801CF124; - -#endif s32 D_menu_801AF420[2] = { 10, 20 }; @@ -2486,8 +2297,6 @@ void func_menu_801A1AE8(void) { D_menu_801CEA68 = sqrtf(SQ(x) + SQ(y) + SQ(z)); } -// needs D_menu_801CD900 to be static -#if defined(IMPORT_BSS) || defined(NON_MATCHING) void func_menu_801A1C14(void) { s32 i; @@ -2583,10 +2392,9 @@ void func_menu_801A1C14(void) { D_menu_801CD964 = 1; D_menu_801CD96C = 1; - - for (i = 0; i < 15; i++) { - D_menu_801CD900[i] = 0; - } + // clang-format off + for (i = 0; i < 15; i++) {D_menu_801CD900[i] = 0;} + // clang-format on D_menu_801CD970 = 0; if (func_menu_801A2304()) { @@ -2614,10 +2422,9 @@ void func_menu_801A1C14(void) { case 21: D_menu_801CD964 = 1; D_menu_801CD96C = 1; - - for (i = 0; i < 15; i++) { - D_menu_801CD900[i] = 0; - } + // clang-format off + for (i = 0; i < 15; i++) {D_menu_801CD900[i] = 0;} + // clang-format on D_menu_801CD970 = 0; if (func_menu_801A2304()) { @@ -2632,9 +2439,6 @@ void func_menu_801A1C14(void) { } D_menu_801CD9C4++; } -#else -#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_menu/fox_map/func_menu_801A1C14.s") -#endif bool func_menu_801A2304(void) { s32 ret = false; @@ -2869,8 +2673,6 @@ void func_menu_801A281C(void) { } } -// needs D_menu_801CD900 to be static bss -#if defined(IMPORT_BSS) || defined(NON_MATCHING) void func_menu_801A2B8C(void) { s32 i; @@ -2981,9 +2783,6 @@ void func_menu_801A2B8C(void) { D_menu_801CD9C4++; } -#else -#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_menu/fox_map/func_menu_801A2B8C.s") -#endif void func_menu_801A2EB8(void) { s32 i; @@ -5079,7 +4878,7 @@ void func_menu_801A8738(void) { Matrix_Push(&gGfxMatrix); - Matrix_Copy(gGfxMatrix, &D_menu_801CE060); + Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[9]); Matrix_RotateZ(gGfxMatrix, M_DTOR * -50.0f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 25.0f, 0.0f, 1); Matrix_Scale(gGfxMatrix, D_menu_801CEB3C, D_menu_801CEB3C, D_menu_801CEB3C, 1); diff --git a/src/overlays/ovl_menu/fox_option.c b/src/overlays/ovl_menu/fox_option.c index c987a432..ffd7db46 100644 --- a/src/overlays/ovl_menu/fox_option.c +++ b/src/overlays/ovl_menu/fox_option.c @@ -5,12 +5,17 @@ */ #include "mods.h" - +// #include "prevent_bss_reordering2.h" +// #include "prevent_bss_reordering.h" #include "global.h" #include "fox_option.h" +extern f32 D_menu_801CD818[]; + //! TODO: IMPORT BSS +extern s32 D_menu_801B81A8[][3]; + extern Gfx D_menu_801B4A40[]; extern Gfx D_menu_801B5E78[]; extern Gfx D_menu_801B61E0[]; @@ -340,6 +345,121 @@ f32 D_menu_801B93F4; f32 D_menu_801B93F8; // gap UnkStruct_D_menu_801B9250 D_menu_801B9400; UnkStruct_D_menu_801B9250 D_menu_801B9408; +#else +extern s32 D_menu_801B9330[2]; +extern s32 D_menu_801B933C; +extern s32 D_menu_801B9340; // gap +extern s32 D_menu_801B9348[4]; +extern f32 D_menu_801B9358[4]; +extern f32 D_menu_801B9368; +extern s32 D_menu_801B936C; +extern f32 D_menu_801B9370; +extern s32 D_menu_801B9374; +extern f32 D_menu_801B9378; +extern s32 D_menu_801B937C; +extern UnkStruct_D_menu_801B9250 D_menu_801B9380[4]; +extern UnkStruct_D_menu_801B9250 D_menu_801B93A0[4]; +extern u8 D_menu_801B93C4; +extern s32 D_menu_801B93D0; +extern s32 D_menu_801B93D4; +extern s32 D_menu_801B93D8; +extern s32 D_menu_801B93DC; +extern s32 D_menu_801B93E0; +extern s32 D_menu_801B93E4; +extern s32 D_menu_801B93E8; +extern s32 D_menu_801B93EC; +extern f32 D_menu_801B93F0; +extern f32 D_menu_801B93F4; +extern f32 D_menu_801B93F8; // gap +extern UnkStruct_D_menu_801B9250 D_menu_801B9400; +extern UnkStruct_D_menu_801B9250 D_menu_801B9408; +extern s32 D_menu_801B9090; +extern s32 D_menu_801B9094; +extern s32 D_menu_801B9098; // gap +extern s32 D_menu_801B90A0[3]; // gap +extern s32 D_menu_801B90B0[3]; // gap +extern f32 D_menu_801B90C0[3]; // gap +extern f32 D_menu_801B90D0[3]; // gap +extern f32 D_menu_801B90E0[3]; // gap +extern f32 D_menu_801B90F0[3]; // gap +extern f32 D_menu_801B9100[3]; // gap +extern f32 D_menu_801B9110[3]; +extern f32 D_menu_801B911C; +extern f32 D_menu_801B9120; +extern OptionId D_menu_801B9124; +extern s32 D_menu_801B9128; +extern s32 D_menu_801B912C; +extern s32 D_menu_801B9130; +extern s32 D_menu_801B9134; +extern s32 D_menu_801B9138; +extern s32 D_menu_801B913C; +extern s32 D_menu_801B9140[3]; +extern s32 D_menu_801B914C; +extern u8 D_menu_801B9150[3][2]; +extern s32 D_menu_801B9158; +extern UnkStruct_D_menu_801B9250 D_menu_801B9160[3]; +extern s32 D_menu_801B9178; +extern s32 D_menu_801B917C; +extern UnkStruct_D_menu_801B9250 D_menu_801B9180; // gap +extern UnkStruct_D_menu_801B9250 D_menu_801B9188; +extern UnkStruct_D_menu_801B9250 D_menu_801B9190; +extern UnkStruct_D_menu_801B9250 D_menu_801B9198; +extern s32 D_menu_801B91A0; +extern s32 D_menu_801B91A4; +extern s32 D_menu_801B91A8; +extern s32 D_menu_801B91AC; +extern s32 D_menu_801B91B0; +extern s32 D_menu_801B91B4; +extern s32 D_menu_801B91B8; +extern s32 D_menu_801B91BC; +extern s32 D_menu_801B91C0; +extern s32 D_menu_801B91C4; +extern s32 D_menu_801B91C8; +extern s32 D_menu_801B91CC; +extern s32 D_menu_801B91D0; +extern f32 D_menu_801B91D4; +extern f32 D_menu_801B91D8; +extern f32 D_menu_801B91DC; +extern f32 D_menu_801B91E0; +extern f32 D_menu_801B91E4; +extern f32 D_menu_801B91E8; +extern f32 D_menu_801B91EC; +extern s32 D_menu_801B91F0; +extern f32 D_menu_801B91F4; +extern f32 D_menu_801B91F8; +extern f32 D_menu_801B91FC; +extern f32 D_menu_801B9200; +extern f32 D_menu_801B9204; +extern f32 D_menu_801B9208; +extern f32 D_menu_801B920C; +extern f32 D_menu_801B9210; +extern s32 D_menu_801B9214; +extern f32 D_menu_801B9218; +extern f32 D_menu_801B921C; +extern f32 D_menu_801B9220; +extern f32 D_menu_801B9224; +extern f32 D_menu_801B9228; +extern s32 D_menu_801B922C; +extern s32 D_menu_801B9230; +extern s32 D_menu_801B9234; +extern s32 D_menu_801B9238; +extern s32 D_menu_801B923C; +extern s32 D_menu_801B9240; +extern s32 D_menu_801B9244; +extern s32 D_menu_801B9248; +extern u8 D_menu_801B924C; +extern UnkStruct_D_menu_801B9250 D_menu_801B9250; +extern UnkStruct_D_menu_801B9250 D_menu_801B9258; +extern UnkStruct_D_menu_801B9250 D_menu_801B9260; +extern UnkStruct_D_menu_801B9250 D_menu_801B9268; +extern f32 D_menu_801B9270[5]; +extern s32 D_menu_801B9284; +extern s32 D_menu_801B9288; // gap +extern UnkStruct_D_menu_801B9250 D_menu_801B9290; +extern f32 D_menu_801B9298[32]; +extern s32 spectrumAnalizerMode; +extern s32 D_menu_801B931C; +extern bool D_menu_801B9320; // MusicPlaying status in the expert sound options #endif void Option_Setup(void) { diff --git a/src/overlays/ovl_menu/fox_title.c b/src/overlays/ovl_menu/fox_title.c index c909970b..9e6963f2 100644 --- a/src/overlays/ovl_menu/fox_title.c +++ b/src/overlays/ovl_menu/fox_title.c @@ -21,7 +21,139 @@ extern SkelAnime D_603088C[]; extern SkelAnime D_60313AC[]; extern SkelAnime D_6032084[]; -s32 pad_D_menu_801AD9F0[4] = { 0, 0, 0, 0 }; +f32 D_menu_801B7BB0; +f32 D_menu_801B7BB4; +f32 D_menu_801B7BB8; +f32 D_menu_801B7BBC; +f32 D_menu_801B7BC0; +f32 D_menu_801B7BC4; +f32 D_menu_801B7BC8; +f32 D_menu_801B7BCC; +s32 D_menu_801B7BD0; +s32 D_menu_801B7BD4; +s32 D_menu_801B7BD8; +f32 D_menu_801B7BDC; +f32 D_menu_801B7BE0; +s32 D_menu_801B7BE4; +f32 D_menu_801B7BE8; +s32 D_menu_801B7BEC; +s32 D_menu_801B7BF0; +f32 D_menu_801B7BF8[10]; +f32 D_menu_801B7C20[10]; +f32 D_menu_801B7C48[10]; +f32 D_menu_801B7C70[10]; +s32 D_menu_801B7C98; +s32 D_menu_801B7CA0[10]; +s32 D_menu_801B7CC8[10]; +s32 D_menu_801B7CF0[10]; +s32 D_menu_801B7D18[10]; +f32 D_menu_801B7D40[40]; +f32 D_menu_801B7DE0[40]; +f32 D_menu_801B7E80[40]; +f32 D_menu_801B7F20[40]; +f32 D_menu_801B7FC0[40]; +f32 D_menu_801B8060[40]; +s32 D_menu_801B8100; +s32 D_menu_801B8108[40]; +s32 D_menu_801B81A8[10][3]; +s32 D_menu_801B8220[10]; +u8 D_menu_801B8248[10][4]; +UNK_TYPE D_menu_801B8270[3]; +s32 D_menu_801B827C; +s32 D_menu_801B8280; +s32 D_menu_801B8284; +s32 D_menu_801B8288; +f32 D_menu_801B828C; +f32 D_menu_801B8290; +UnkStruct_D_menu_801B8294* D_menu_801B8294; +s32 D_menu_801B8298; +f32 D_menu_801B829C; +f32 D_menu_801B82A0; +f32 D_menu_801B82A4; +s32 D_menu_801B82A8; +s32 D_menu_801B82AC; +s32 D_menu_801B82B0; +s32 D_menu_801B82B4; +s32 D_menu_801B82B8; +s32 D_menu_801B82BC; +s32 D_menu_801B82C0; +s32 D_menu_801B82C4; +f32 D_menu_801B82C8; +f32 D_menu_801B82CC; +f32 D_menu_801B82D0; +f32 D_menu_801B82D4; +f32 D_menu_801B82D8; +f32 D_menu_801B82DC; +f32 D_menu_801B82E0; +f32 D_menu_801B82E4; +f32 D_menu_801B82E8; +f32 D_menu_801B82EC; +f32 D_menu_801B82F0; +f32 D_menu_801B82F4; +s32 D_menu_801B82F8; +s32 D_menu_801B82FC; +s32 D_menu_801B8300; +f32 D_menu_801B8304; +f32 D_menu_801B8308; +f32 D_menu_801B830C; +s32 D_menu_801B8310; +s32 D_menu_801B8314; +s32 D_menu_801B8318; +s32 D_menu_801B831C; +s32 D_menu_801B8320; +s32 D_menu_801B8324; +f32 D_menu_801B8328; +f32 D_menu_801B832C; +f32 D_menu_801B8330; +s32 D_menu_801B8334; +bool D_menu_801B8338; +f32 D_menu_801B833C; +s32 D_menu_801B8340; +s32 D_menu_801B8344; +s32 D_menu_801B8348; +UnkStruct_D_801B8350 D_menu_801B8350[4]; +f32 D_menu_801B84D0; +f32 D_menu_801B84D4; +Vec3f D_menu_801B84D8; +UnkStruct_D_menu_801B84E8 D_menu_801B84E8[4]; +UnkStruct_D_menu_801B8658 D_menu_801B8658; +UnkStruct_D_menu_801B8688 D_menu_801B8688; +s32 D_menu_801B869C; +s32 D_menu_801B86A0; +s32 D_menu_801B86A4; +f32 D_menu_801B86A8; +f32 D_menu_801B86AC; +f32 D_menu_801B86B0; +f32 D_menu_801B86B4; +f32 D_menu_801B86B8; +f32 D_menu_801B86BC; +f32 D_menu_801B86C0; +f32 D_menu_801B86C4; +f32 D_menu_801B86C8; +f32 D_menu_801B86CC; +f32 D_menu_801B86D0; +f32 D_menu_801B86D4; +f32 D_menu_801B86D8; +f32 D_menu_801B86DC; +Vec3f D_menu_801B86E0[4][50]; +s32 D_menu_801B9040; +f32 D_menu_801B9044; +f32 D_menu_801B9048; +f32 D_menu_801B904C; +f32 D_menu_801B9050; +f32 D_menu_801B9054; +f32 D_menu_801B9058; +f32 D_menu_801B905C; +f32 D_menu_801B9060; +f32 D_menu_801B9064; +f32 D_menu_801B9068; +f32 D_menu_801B906C; +f32 D_menu_801B9070; +f32 D_menu_801B9074; +f32 D_menu_801B9078; +f32 D_menu_801B907C; +f32 D_menu_801B9080; +f32 D_menu_801B9084; //! TODO: Symbols for segmented addresses Animation D_menu_801ADA00[4] = { @@ -979,8 +1111,8 @@ void func_menu_8018994C(void) { } if (D_menu_801B82B8 == 638) { - Audio_PlaySfx(0x11030010, &D_menu_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); - Audio_PlaySfx(0x31024059, &D_menu_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + Audio_PlaySfx(0x11030010, &D_menu_801B8658.unk_24, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + Audio_PlaySfx(0x31024059, &D_menu_801B8658.unk_24, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); func_800BA808(gMsg_ID_60, RCID_ROB64_TITLE); } @@ -1039,7 +1171,7 @@ void func_menu_8018994C(void) { } if (D_menu_801B82B4 == 260) { - D_menu_801B8694 = 1; + D_menu_801B8688.unk_0C = 1; } if (D_menu_801B82B4 == 750) { @@ -1051,8 +1183,8 @@ void func_menu_8018994C(void) { } if (D_80178340 == 255) { - func_8001A55C(&D_menu_801B867C, 0x11030010); - func_8001A55C(&D_menu_801B867C, 0x31024059); + func_8001A55C(&D_menu_801B8658.unk_24, 0x11030010); + func_8001A55C(&D_menu_801B8658.unk_24, 0x31024059); D_menu_801B82C0 = 0; @@ -1076,7 +1208,7 @@ void func_menu_8018994C(void) { } void func_menu_8018A2F8(void) { - if (D_menu_801B8694 != 0) { + if (D_menu_801B8688.unk_0C != 0) { func_menu_8018DF0C(-700.0f); } func_menu_8018E058(); @@ -1368,8 +1500,8 @@ void func_menu_8018ACEC(void) { switch (D_menu_801B82C0) { case 0: func_menu_8018ABC0(); - Audio_PlaySfx(0x11030010, &D_menu_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); - Audio_PlaySfx(0x31024059, &D_menu_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + Audio_PlaySfx(0x11030010, &D_menu_801B8658.unk_24, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + Audio_PlaySfx(0x31024059, &D_menu_801B8658.unk_24, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); D_menu_801B82CC = 0.01f; D_menu_801B82B4 = 0; @@ -1389,8 +1521,8 @@ void func_menu_8018ACEC(void) { } if (D_80178340 == 255) { - func_8001A55C(&D_menu_801B867C, 0x11030010); - func_8001A55C(&D_menu_801B867C, 0x31024059); + func_8001A55C(&D_menu_801B8658.unk_24, 0x11030010); + func_8001A55C(&D_menu_801B8658.unk_24, 0x31024059); gDrawMode = DRAWMODE_0; @@ -1891,14 +2023,14 @@ void func_menu_8018C644(void) { switch (D_menu_801B82C0) { case 0: - Audio_PlaySfx(0x11030010, &D_menu_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); - Audio_PlaySfx(0x31024059, &D_menu_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + Audio_PlaySfx(0x11030010, &D_menu_801B8658.unk_24, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + Audio_PlaySfx(0x31024059, &D_menu_801B8658.unk_24, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); func_menu_8018C1C0(); D_menu_801B82B4 = 0; D_menu_801B7BEC = 0; - D_menu_801B8694 = 1; + D_menu_801B8688.unk_0C = 1; D_menu_801B84E8[0].unk_38 = 3; D_menu_801B84E8[1].unk_38 = 23; @@ -1955,8 +2087,8 @@ void func_menu_8018C644(void) { } if (D_80178340 == 0xFF) { - func_8001A55C(&D_menu_801B867C, 0x11030010); - func_8001A55C(&D_menu_801B867C, 0x31024059); + func_8001A55C(&D_menu_801B8658.unk_24, 0x11030010); + func_8001A55C(&D_menu_801B8658.unk_24, 0x31024059); D_menu_801B82C0++; } func_menu_801912A0(); @@ -1995,7 +2127,7 @@ void func_menu_8018CB90(void) { s32 i; if (D_menu_801B86A0 != 0) { - if (D_menu_801B8694 != 0) { + if (D_menu_801B8688.unk_0C != 0) { func_menu_8018DF0C(-1000.0f); } diff --git a/src/overlays/ovl_menu/fox_title.h b/src/overlays/ovl_menu/fox_title.h index 77a75fdf..c9a9df56 100644 --- a/src/overlays/ovl_menu/fox_title.h +++ b/src/overlays/ovl_menu/fox_title.h @@ -101,15 +101,22 @@ extern s32 D_menu_801B7CA0[10]; extern s32 D_menu_801B7CC8[10]; extern s32 D_menu_801B7CF0[10]; extern s32 D_menu_801B7D18[10]; -extern f32 D_menu_801B7D40[]; -extern f32 D_menu_801B7DE0[]; -extern f32 D_menu_801B7E80[]; -extern f32 D_menu_801B7F20[]; -extern f32 D_menu_801B7FC0[]; -extern f32 D_menu_801B8060[]; +extern f32 D_menu_801B7D40[40]; +extern f32 D_menu_801B7DE0[40]; +extern f32 D_menu_801B7E80[40]; +extern f32 D_menu_801B7F20[40]; +extern f32 D_menu_801B7FC0[40]; +extern f32 D_menu_801B8060[40]; extern s32 D_menu_801B8100; -extern s32 D_menu_801B8108[]; -extern u8 D_menu_801B8248[][4]; +extern s32 D_menu_801B8108[40]; +extern s32 D_menu_801B81A8[10][3]; +extern s32 D_menu_801B8220[10]; +extern u8 D_menu_801B8248[10][4]; +extern UNK_TYPE D_menu_801B8270[3]; +extern s32 D_menu_801B827C; +extern s32 D_menu_801B8280; +extern s32 D_menu_801B8284; +extern s32 D_menu_801B8288; extern f32 D_menu_801B828C; extern f32 D_menu_801B8290; extern UnkStruct_D_menu_801B8294* D_menu_801B8294; @@ -158,15 +165,13 @@ extern f32 D_menu_801B833C; extern s32 D_menu_801B8340; extern s32 D_menu_801B8344; extern s32 D_menu_801B8348; -extern UnkStruct_D_801B8350 D_menu_801B8350[]; +extern UnkStruct_D_801B8350 D_menu_801B8350[4]; extern f32 D_menu_801B84D0; extern f32 D_menu_801B84D4; extern Vec3f D_menu_801B84D8; extern UnkStruct_D_menu_801B84E8 D_menu_801B84E8[4]; extern UnkStruct_D_menu_801B8658 D_menu_801B8658; -extern Vec3f D_menu_801B867C; extern UnkStruct_D_menu_801B8688 D_menu_801B8688; -extern s32 D_menu_801B8694; extern s32 D_menu_801B869C; extern s32 D_menu_801B86A0; extern s32 D_menu_801B86A4; @@ -203,8 +208,8 @@ extern f32 D_menu_801B9078; extern f32 D_menu_801B907C; extern f32 D_menu_801B9080; extern f32 D_menu_801B9084; -extern s32 D_EBFEB0_801ADA94; +void func_menu_8019111C(void); void func_menu_8018CC30(UnkStruct_D_menu_801B8294*, s32, f32); void func_menu_8018CD9C(Vec3f *pos, UnkStruct_D_menu_801B8294 *arg1, f32 arg2, s32 arg3); void func_menu_8018D510(s32); @@ -232,5 +237,38 @@ void func_menu_80191798(f32* arg0, f32* arg1); void func_menu_80191844(f32 arg0, f32 arg1); void func_menu_801918FC(void); void func_menu_801919C4(u16** arg0, s32 arg1); +s32 func_menu_80188010(void); +void func_menu_80190C9C(void); +void func_menu_8018D2B8(s32); +void func_menu_8018EA78(s32); +void func_menu_801906A0(void); +void func_menu_801877F0(void); + s32 func_menu_80187ABC(void); +void func_menu_80187B00(void); +void func_menu_80187E28(void); +void func_menu_801888E8(void); +void func_menu_8018994C(void); +void func_menu_8018A644(void); +void func_menu_8018ACEC(void); +void func_menu_8018B5C4(void); +void func_menu_8018C644(void); +void func_menu_80187CA8(void); +s32 func_menu_80188010(void); +void func_menu_80189208(void); +void func_menu_8018A2F8(void); +void func_menu_8018A990(void); +void func_menu_8018B038(void); +void func_menu_8018C114(void); +void func_menu_8018CB90(void); +void func_menu_8018F680(void); +void func_menu_8018F77C(void); +void func_menu_8018F85C(void); +void func_menu_8018F8E4(void); +void func_menu_8018FC14(void); +void func_menu_8018FD08(void); +void func_menu_8018FF74(void); +void func_menu_80190E64(void); +void func_menu_80191674(f32, f32, f32, f32*, f32*, f32*); + #endif diff --git a/yamls/us/overlays.yaml b/yamls/us/overlays.yaml index 9731e450..056fbec6 100644 --- a/yamls/us/overlays.yaml +++ b/yamls/us/overlays.yaml @@ -171,17 +171,18 @@ - [0xEBFCA0, c, fox_title] - [0xECA1E0, c, fox_option] - [0xED6EC0, c, fox_map] - - [0xEE60B0, .data, fox_title] + - [0xEE60B0, .data, fox_i_menu] + - [0xEE60C0, .data, fox_title] - [0xEE6C30, .data, fox_option] - [0xEE7AE0, .data, fox_map] - [0xEEF410, .rodata, fox_i_menu] - [0xEEF430, .rodata, fox_title] - [0xEEF7D0, .rodata, fox_option] - [0xEEFB80, .rodata, fox_map] - - { start: 0xEF0260, type: bss, vram: 0x801B7BA0, name: fox_i_menu } - - { type: bss, vram: 0x801B7BB0, name: fox_title } + - { start: 0xEF0260, type: .bss, vram: 0x801B7BA0, name: fox_i_menu } + - { type: .bss, vram: 0x801B7BB0, name: fox_title } - { type: bss, vram: 0x801B9090, name: fox_option } - - { type: bss, vram: 0x801B9410, name: fox_map } + - { type: .bss, vram: 0x801B9410, name: fox_map } - name: ovl_ending type: code