From e381eda3c1febc12d3a15d6029ca03e84fe772a1 Mon Sep 17 00:00:00 2001 From: VitorMM Date: Thu, 6 Feb 2025 17:04:41 -0300 Subject: [PATCH] Bug Sector HUD should only be applied to Bug Sectors --- src/plugins/Plugin.cpp | 7 +++++-- src/plugins/PluginKingdomHeartsReCoded.cpp | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/plugins/Plugin.cpp b/src/plugins/Plugin.cpp index f6540d23bf..bf8b4b2279 100644 --- a/src/plugins/Plugin.cpp +++ b/src/plugins/Plugin.cpp @@ -6,10 +6,13 @@ #include #define RAM_SEARCH_ENABLED true +// #define RAM_SEARCH_SIZE 8 +// #define RAM_SEARCH_SIZE 16 #define RAM_SEARCH_SIZE 32 -#define RAM_SEARCH_LIMIT_MIN 0 -// #define RAM_SEARCH_LIMIT_MAX 0x3FFFFF +// #define RAM_SEARCH_LIMIT_MIN 0 +// #define RAM_SEARCH_LIMIT_MAX 0x09FFFF #define RAM_SEARCH_LIMIT_MAX 0x19FFFF +// #define RAM_SEARCH_LIMIT_MAX 0x3FFFFF #define RAM_SEARCH_INTERVAL_MARGIN 0x050 // #define RAM_SEARCH_EXACT_VALUE 0x05B07E00 diff --git a/src/plugins/PluginKingdomHeartsReCoded.cpp b/src/plugins/PluginKingdomHeartsReCoded.cpp index c063e3cb79..989a01a903 100644 --- a/src/plugins/PluginKingdomHeartsReCoded.cpp +++ b/src/plugins/PluginKingdomHeartsReCoded.cpp @@ -47,6 +47,14 @@ u32 PluginKingdomHeartsReCoded::jpGamecode = 1245268802; #define IS_PLAYABLE_AREA_EU 0x0205a8c0 #define IS_PLAYABLE_AREA_JP 0x0205a6e0 +#define BUG_SECTOR_IDENTIFIER_ADDRESS_US 0x0206083d +#define BUG_SECTOR_IDENTIFIER_ADDRESS_EU 0x0206083d // TODO: KH +#define BUG_SECTOR_IDENTIFIER_ADDRESS_JP 0x0206065d // TODO: KH + +#define BUG_SECTOR_IDENTIFIER_VALUE_US 0x48 +#define BUG_SECTOR_IDENTIFIER_VALUE_EU 0x48 // TODO: KH +#define BUG_SECTOR_IDENTIFIER_VALUE_JP 0x48 // TODO: KH + #define FLOOR_LEVEL_ADDRESS_US 0x02060867 #define FLOOR_LEVEL_ADDRESS_EU 0x02060867 // TODO: KH #define FLOOR_LEVEL_ADDRESS_JP 0x02060687 // TODO: KH @@ -1237,7 +1245,13 @@ std::string PluginKingdomHeartsReCoded::localizationFilePath(std::string languag u8 PluginKingdomHeartsReCoded::getFloorLevel() { - return nds->ARM7Read8(getU32ByCart(FLOOR_LEVEL_ADDRESS_US, FLOOR_LEVEL_ADDRESS_EU, FLOOR_LEVEL_ADDRESS_JP)); + u32 placeIdentAddr = getU32ByCart(BUG_SECTOR_IDENTIFIER_ADDRESS_US, BUG_SECTOR_IDENTIFIER_ADDRESS_EU, BUG_SECTOR_IDENTIFIER_ADDRESS_JP); + u8 placeIdentValue = getU8ByCart(BUG_SECTOR_IDENTIFIER_VALUE_US, BUG_SECTOR_IDENTIFIER_VALUE_EU, BUG_SECTOR_IDENTIFIER_VALUE_JP); + if (nds->ARM7Read8(placeIdentAddr) == placeIdentValue) { + u32 floorLevelAddr = getU32ByCart(FLOOR_LEVEL_ADDRESS_US, FLOOR_LEVEL_ADDRESS_EU, FLOOR_LEVEL_ADDRESS_JP); + return nds->ARM7Read8(floorLevelAddr); + } + return 0; } u32 PluginKingdomHeartsReCoded::getCurrentMission()