diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt index e2275b13..85380478 100644 --- a/config/eur/arm9/symbols.txt +++ b/config/eur/arm9/symbols.txt @@ -1493,8 +1493,8 @@ func_0202ff30 kind:function(arm,size=0x14) addr:0x0202ff30 _ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x1e) addr:0x0202ff44 _ZN14OverlayManager15LoadIfNotLoadedEjj kind:function(thumb,size=0x20) addr:0x0202ff64 _ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x1e) addr:0x0202ff84 -_ZN14OverlayManager16LoadOverlaySetupEi kind:function(thumb,size=0x64) addr:0x0202ffa4 -_ZN14OverlayManager18UnloadOverlaySetupEv kind:function(thumb,size=0x34) addr:0x02030008 +_ZN14OverlayManager12LoadGameModeEi kind:function(thumb,size=0x64) addr:0x0202ffa4 +_ZN14OverlayManager14UnloadGameModeEv kind:function(thumb,size=0x34) addr:0x02030008 func_0203003c kind:function(thumb,size=0x2) addr:0x0203003c func_02030040 kind:function(thumb,size=0xc) addr:0x02030040 func_0203004c kind:function(thumb,size=0x2) addr:0x0203004c @@ -2536,7 +2536,7 @@ data_020561c4 kind:data(any) addr:0x020561c4 data_020561d4 kind:data(any) addr:0x020561d4 data_020561dc kind:data(any) addr:0x020561dc data_020561f0 kind:data(any) addr:0x020561f0 -gOverlaySetups kind:data(any) addr:0x020561f4 +gGameModes kind:data(any) addr:0x020561f4 data_020562d4 kind:data(any) addr:0x020562d4 data_020562e2 kind:data(any) addr:0x020562e2 data_02056300 kind:data(any) addr:0x02056300 diff --git a/config/usa/arm9/symbols.txt b/config/usa/arm9/symbols.txt index 9ca1d9bc..b216983c 100644 --- a/config/usa/arm9/symbols.txt +++ b/config/usa/arm9/symbols.txt @@ -1493,8 +1493,8 @@ func_0202ff30 kind:function(arm,size=0x14) addr:0x0202ff2c _ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x1e) addr:0x0202ff40 _ZN14OverlayManager15LoadIfNotLoadedEjj kind:function(thumb,size=0x20) addr:0x0202ff60 _ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x1e) addr:0x0202ff80 -_ZN14OverlayManager16LoadOverlaySetupEi kind:function(thumb,size=0x64) addr:0x0202ffa0 -_ZN14OverlayManager18UnloadOverlaySetupEv kind:function(thumb,size=0x34) addr:0x02030004 +_ZN14OverlayManager12LoadGameModeEi kind:function(thumb,size=0x64) addr:0x0202ffa0 +_ZN14OverlayManager14UnloadGameModeEv kind:function(thumb,size=0x34) addr:0x02030004 func_0203003c kind:function(thumb,size=0x2) addr:0x02030038 func_02030040 kind:function(thumb,size=0xc) addr:0x0203003c func_0203004c kind:function(thumb,size=0x2) addr:0x02030048 @@ -2536,7 +2536,7 @@ data_020561c4 kind:data(any) addr:0x02056180 data_020561d4 kind:data(any) addr:0x02056190 data_020561dc kind:data(any) addr:0x02056198 data_020561f0 kind:data(any) addr:0x020561ac -gOverlaySetups kind:data(any) addr:0x020561b0 +gGameModes kind:data(any) addr:0x020561b0 data_020562d4 kind:data(any) addr:0x02056290 data_020562e2 kind:data(any) addr:0x0205629e data_02056300 kind:data(any) addr:0x020562bc diff --git a/docs/overlays.md b/docs/overlays.md index 00eecb0d..90d21f64 100644 --- a/docs/overlays.md +++ b/docs/overlays.md @@ -67,8 +67,8 @@ contribute to this list! `60` | --- | 12 | `61` | --- | 12 | -## Overlay setups -The game contains a list of "overlay setups" which contain overlay IDs to load into slot 1, 2, 3 and 12. +## Game modes +There is a list of game mode called `gGameModes` which contain overlay IDs to load into slot 1, 2, 3 and 12. Index | Slot 1 | Slot 2 | Slot 3 | Slot 12 | Usage -------|--------|--------|--------|---------|------- diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp index 42118b57..e2ceb3f0 100644 --- a/include/System/OverlayManager.hpp +++ b/include/System/OverlayManager.hpp @@ -159,8 +159,8 @@ public: void Load(OverlayIndex index, OverlayId id); void LoadIfNotLoaded(OverlayIndex index, OverlayId id); void Unload(OverlayIndex index); - void LoadOverlaySetup(s32 index); - void UnloadOverlaySetup(); + void LoadGameMode(s32 mode); + void UnloadGameMode(); void LoadEquipItem(ItemFlag equipId); }; diff --git a/src/Main/System/OverlayManager.cpp b/src/Main/System/OverlayManager.cpp index 5295fa2d..4f7da68c 100644 --- a/src/Main/System/OverlayManager.cpp +++ b/src/Main/System/OverlayManager.cpp @@ -9,7 +9,7 @@ struct UnkStruct_020ee698 { }; extern UnkStruct_020ee698 data_ov000_020ee698; -struct OverlaySetup { +struct GameMode { /* 00 */ unk8 mUnk_00; /* 01 */ unk8 mUnk_01; /* 02 */ unk8 mUnk_02; @@ -22,7 +22,7 @@ struct OverlaySetup { /* 18 */ void *mUnk_18; /* 1c */ }; -extern OverlaySetup gOverlaySetups[]; +extern GameMode gGameModes[]; extern u32 *data_027e0ce0[]; extern "C" void func_ov007_02102850(u32 **); @@ -54,21 +54,21 @@ THUMB void OverlayManager::Unload(OverlayIndex index) { //! TODO: solve the .word issue with the overlay IDs //! both functions should match otherwise -THUMB void OverlayManager::LoadOverlaySetup(s32 index) { +THUMB void OverlayManager::LoadGameMode(s32 mode) { OverlayId overlayId; - OverlaySetup *pSetup; + GameMode *pSetup; - pSetup = &gOverlaySetups[index]; + pSetup = &gGameModes[mode]; this->LoadIfNotLoaded(OverlayIndex_1, pSetup->slot1Overlay); this->LoadIfNotLoaded(OverlayIndex_2, pSetup->slot2Overlay); - if (index == 5) { + if (mode == 5) { func_ov007_02102850(data_027e0ce0); } else { overlayId = pSetup->slot12Overlay; - if (index == 6 && data_ov000_020ee698.mUnk_2c == 2) { + if (mode == 6 && data_ov000_020ee698.mUnk_2c == 2) { overlayId = OverlayId_61; } @@ -77,7 +77,7 @@ THUMB void OverlayManager::LoadOverlaySetup(s32 index) { } } -THUMB void OverlayManager::UnloadOverlaySetup() { +THUMB void OverlayManager::UnloadGameMode() { this->Unload(OverlayIndex_12); this->Unload(OverlayIndex_3);