From 6e4c3b1f7b5ff7e1518cd60c111e4074a20ad8f2 Mon Sep 17 00:00:00 2001 From: Tacoman369 <90735287+Tacoman369@users.noreply.github.com> Date: Sun, 5 Jan 2025 16:56:29 -0600 Subject: [PATCH 1/3] IngameTrackerUpdates Changes Clock Tower checks to be in separate group Attempts to pass version to patch to be used in ingame tracker --- source/item_location.cpp | 8 ++++---- source/spoiler_log.cpp | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/source/item_location.cpp b/source/item_location.cpp index ce6bcc8..4c2d432 100644 --- a/source/item_location.cpp +++ b/source/item_location.cpp @@ -17,10 +17,10 @@ void LocationTable_Init() { //LocationTable itemlocation::type scene, flag, Repeatable, name hint key (hint_list.cpp) vanilla item categories collection check 376 Collection Check Group //Happy Mask Salesman - Starting Items - locationTable[HMS_SONG_OF_HEALING] = ItemLocation::Base (0x63, 0x54, false, "Song of Healing", HMS_SONG_OF_HEALING, SONG_OF_HEALING, {Category::cClockTower, Category::cDayOne, Category::cSong}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_NO_GROUP); - locationTable[CLOCK_TOWER_OCARINA_OF_TIME] = ItemLocation::Base (0x19, 0x4C, false, "Ocarina of Time", CLOCK_TOWER_OCARINA_OF_TIME, OCARINA_OF_TIME, {Category::cClockTower, Category::cDayThree}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_NO_GROUP ); - locationTable[HMS_DEKU_MASK] = ItemLocation::Base (0x63, 0x78, false, "Deku Mask", HMS_DEKU_MASK, DEKU_MASK, {Category::cClockTower, Category::cTransformMask}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_NO_GROUP ); - locationTable[HMS_BOMBERS_NOTEBOOK] = ItemLocation::Base (0x63, 0x50, false, "Bombers Notebook", HMS_BOMBERS_NOTEBOOK, BOMBERS_NOTEBOOK, {Category::cClockTower, Category::cDayOne, Category::cNotebook}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_NO_GROUP ); + locationTable[HMS_SONG_OF_HEALING] = ItemLocation::Base (0x63, 0x54, false, "Song of Healing", HMS_SONG_OF_HEALING, SONG_OF_HEALING, {Category::cClockTower, Category::cDayOne, Category::cSong}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_INSIDE_CLOCKTOWER); + locationTable[CLOCK_TOWER_OCARINA_OF_TIME] = ItemLocation::Base (0x19, 0x4C, false, "Ocarina of Time", CLOCK_TOWER_OCARINA_OF_TIME, OCARINA_OF_TIME, {Category::cClockTower, Category::cDayThree}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_INSIDE_CLOCKTOWER ); + locationTable[HMS_DEKU_MASK] = ItemLocation::Base (0x63, 0x78, false, "Deku Mask", HMS_DEKU_MASK, DEKU_MASK, {Category::cClockTower, Category::cTransformMask}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_INSIDE_CLOCKTOWER ); + locationTable[HMS_BOMBERS_NOTEBOOK] = ItemLocation::Base (0x63, 0x50, false, "Bombers Notebook", HMS_BOMBERS_NOTEBOOK, BOMBERS_NOTEBOOK, {Category::cClockTower, Category::cDayOne, Category::cNotebook}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_INSIDE_CLOCKTOWER ); locationTable[HMS_STARTING_SWORD] = ItemLocation::Base (0x00, 0x37, false, "Starting Sword", HMS_STARTING_SWORD, PROGRESSIVE_SWORD, {Category::cClockTower, Category::cAlternateCheck}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_NO_GROUP ); locationTable[HMS_STARTING_SHIELD] = ItemLocation::Base (0x00, 0x32, false, "Starting Shield", HMS_STARTING_SHIELD, HEROS_SHIELD, {Category::cClockTower, Category::cAlternateCheck}, SpoilerCollectionCheck::ItemGetInf(6), SpoilerCollectionCheckGroup::GROUP_NO_GROUP ); diff --git a/source/spoiler_log.cpp b/source/spoiler_log.cpp index f942d0f..c87cfc7 100644 --- a/source/spoiler_log.cpp +++ b/source/spoiler_log.cpp @@ -142,7 +142,9 @@ static void WriteIngameSpoilerLog() { // Intentionally junk value so we trigger the 'new group, record some stuff' code u8 currentGroup = SpoilerCollectionCheckGroup::SPOILER_COLLECTION_GROUP_COUNT; bool spoilerOutOfSpace = false; - + //const char randoVersion[16] = Settings::version.c_str(); + spoilerData.Version[sizeof(Settings::version)] = Settings::version.c_str(); + //CitraPrint(to_string(randoVersion)); // Create map of string data offsets for all _unique_ item locations and names in the playthrough // Some item names, like gold skulltula tokens, can appear many times in a playthrough std::unordered_map From d4f13b84377ae1c9a95f2ab2de129c6716aea951 Mon Sep 17 00:00:00 2001 From: Phlex <3514085+PhlexPlexico@users.noreply.github.com> Date: Thu, 9 Jan 2025 15:01:44 -0600 Subject: [PATCH 2/3] Adjust string copy of version number. --- source/spoiler_log.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/spoiler_log.cpp b/source/spoiler_log.cpp index c87cfc7..ad724da 100644 --- a/source/spoiler_log.cpp +++ b/source/spoiler_log.cpp @@ -142,9 +142,8 @@ static void WriteIngameSpoilerLog() { // Intentionally junk value so we trigger the 'new group, record some stuff' code u8 currentGroup = SpoilerCollectionCheckGroup::SPOILER_COLLECTION_GROUP_COUNT; bool spoilerOutOfSpace = false; - //const char randoVersion[16] = Settings::version.c_str(); - spoilerData.Version[sizeof(Settings::version)] = Settings::version.c_str(); - //CitraPrint(to_string(randoVersion)); + // Bring in randomizer commit into + strcpy(spoilerData.randoVersion, Settings::version.c_str()); // Create map of string data offsets for all _unique_ item locations and names in the playthrough // Some item names, like gold skulltula tokens, can appear many times in a playthrough std::unordered_map From b64d5e2ef0a651de9a532da7ff143632813b71a3 Mon Sep 17 00:00:00 2001 From: Tacoman369 <90735287+Tacoman369@users.noreply.github.com> Date: Fri, 17 Jan 2025 10:51:54 -0600 Subject: [PATCH 3/3] Settings.cpp Update - Adjust text for "Console/Emulator" play option to be "Console / Emulator" instead of "3ds / Citra" for clarity --- Z3DR | 2 +- source/settings.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Z3DR b/Z3DR index 5063201..98a8c38 160000 --- a/Z3DR +++ b/Z3DR @@ -1 +1 @@ -Subproject commit 50632016a9b600345ee3deacfa5bf6fe9c819a3c +Subproject commit 98a8c38d17d2b7de7c1a3a0c8d9643a2ac2b9d93 diff --git a/source/settings.cpp b/source/settings.cpp index 9b73f38..c41cdff 100644 --- a/source/settings.cpp +++ b/source/settings.cpp @@ -77,7 +77,7 @@ namespace Settings { Option GenerateSpoilerLog = Option::Bool("Generate Spoiler Log", { "No", "Yes" }, { genSpoilerLogDesc }, OptionCategory::Setting, 1); // On Option IngameSpoilers = Option::Bool("Ingame Spoilers", { "Hide", "Show" }, { ingameSpoilersHideDesc, ingameSpoilersShowDesc }); Option RegionSelect = Option::Bool("Game Region", { "NA", "EU" }, { NARegionDesc, EURegionDesc }); - Option PlayOption = Option::U8 ("Console/Emulator", { "3DS", "Citra" }, { "How will you Play?" }); + Option PlayOption = Option::U8 ("Console/Emulator", { "Console", "Emulator" }, { "How will you Play?" }); Option LanguageSelect = Option::U8(" Language", {"", "", "English", "Francais", "Espanol", "Deutsch", "Italiano", ""}, {LanguageDesc}); Option Version = Option::U8 ("Game Version", { "1.0", "1.1" }, { VersionDesc }); std::vector