diff --git a/code/include/rnd/settings.h b/code/include/rnd/settings.h index d3867e8..9a4a26b 100644 --- a/code/include/rnd/settings.h +++ b/code/include/rnd/settings.h @@ -23,12 +23,6 @@ namespace rnd { LOGIC_GLITCHED, }; - enum class KnowSetting : u8 { - KNOW_BASIC, - KNOW_ADVANCED, - // KNOW_COMPLETE, - }; - enum class AmmoDropsSetting : u8 { AMMODROPS_VANILLA, AMMODROPS_BOMBCHU, @@ -251,20 +245,13 @@ namespace rnd { PLAY_ON_CITRA, } PlayOption; - typedef enum { - REGION_NA, - REGION_EUR, - } Region; - typedef struct { u8 hashIndexes[5]; u8 playOption; - u8 region; u8 logic; u8 locationsReachable; - u8 knowTheGame; u8 shuffleDungeonEntrances; u8 bombchusInLogic; @@ -326,6 +313,7 @@ namespace rnd { u8 startingConsumables; u8 startingMaxRupees; + u8 startingNotebook; u8 startingOcarina; u8 startingHerosBow; u8 startingFireArrows; @@ -416,7 +404,6 @@ namespace rnd { u8 enableFastOcarina; u8 enableFastArrowSwap; u8 twinmoldRestoration; - u8 enableNoAnimationTransform; // Cutscene Skips u8 skipHMSCutscenes; @@ -429,7 +416,7 @@ namespace rnd { u32 customMaskButton = 0; u32 customNotebookButton = 0; u32 customIngameSpoilerButton = 0; - + u8 enableNoAnimationTransform; // Extra MM Settings u8 blastMaskCooldown; } SettingsContext; diff --git a/code/source/rnd/savefile.cpp b/code/source/rnd/savefile.cpp index e51fe30..0f9223f 100644 --- a/code/source/rnd/savefile.cpp +++ b/code/source/rnd/savefile.cpp @@ -121,7 +121,7 @@ namespace rnd { gSettingsContext.skipBombersMinigame = 1; gSettingsContext.freeScarecrow = 1; saveData.activate_dungeon_skip_portal_0xF0_for_all = 0xF0; - // SaveFile_FillOverWorldMapData(); + SaveFile_FillOverWorldMapData(); saveData.inventory.collect_register.oath_to_order = 1; // Boss Remains @@ -366,7 +366,7 @@ namespace rnd { // game::SaveData& saveBackupData = game::GetCommonData().save_backup; game::SaveData& saveData = game::GetCommonData().save; // give maps and compasses - if (gSettingsContext.mapsAndCompasses == (u8)MapsAndCompassesSetting::MAPSANDCOMPASSES_START_WITH) { + if (gSettingsContext.mapsAndCompasses == (u8)MapsAndCompassesSetting::MAPSANDCOMPASSES_ANY_DUNGEON) { saveData.inventory.woodfall_dungeon_items.map = 1; saveData.inventory.woodfall_dungeon_items.compass = 1; saveData.inventory.snowhead_dungeon_items.map = 1; @@ -376,6 +376,9 @@ namespace rnd { saveData.inventory.stone_tower_dungeon_items.map = 1; saveData.inventory.stone_tower_dungeon_items.compass = 1; } + if (gSettingsContext.mapsAndCompasses == (u8)MapsAndCompassesSetting::MAPSANDCOMPASSES_OVERWORLD) { + SaveFile_FillOverWorldMapData(); + } // give small keys if (gSettingsContext.keysanity == (u8)KeysanitySetting::KEYSANITY_START_WITH) { @@ -465,7 +468,7 @@ namespace rnd { } else { saveData.inventory.inventory_count_register.quiver_upgrade = game::Quiver::NoQuiver; #ifdef ENABLE_DEBUG - // saveData.inventory.inventory_count_register.quiver_upgrade = game::Quiver::Quiver50; + saveData.inventory.inventory_count_register.quiver_upgrade = game::Quiver::Quiver50; // rnd::util::GetPointer(0x21d440)(game::ItemId::Arrow, 0x1e); #endif } @@ -776,6 +779,11 @@ namespace rnd { if (gSettingsContext.startingSpinSettting == (u8)StartingSpinSetting::STARTINGSPIN_GREAT) { saveData.has_great_spin_0x02 = 2; } + + //Notebook + if(gSettingsContext.startingNotebook > 0) { + saveData.inventory.collect_register.bombers_notebook = 1; + } } void SaveFile_ResetItemSlotsIfMatchesID(u8 itemSlot) { diff --git a/code/source/rnd/spoiler_data.cpp b/code/source/rnd/spoiler_data.cpp index b34859f..7e1b3ea 100644 --- a/code/source/rnd/spoiler_data.cpp +++ b/code/source/rnd/spoiler_data.cpp @@ -132,14 +132,22 @@ namespace rnd { if ((scene == 0x5E) && (flag == 0xB7) && (type == ItemOverride_Type::OVR_BASE_ITEM)) { SpoilerData_UpdateMultiLocations(type, 0x22, flag); } - // Ranch Tingle Ranch Map > Snowhead Tingle Snowhead Map (Winter) - if ((scene == 0x22) && (flag == 0xB7) && (type == ItemOverride_Type::OVR_BASE_ITEM)) { + // Snowhead Tingle Ranch Map (Winter) > Snowhead Tingle Ranch Map (Spring) + if ((scene == 0x5D) && (flag == 0xB7) && (type == ItemOverride_Type::OVR_BASE_ITEM)) { SpoilerData_UpdateMultiLocations(type, 0x5E, flag); } - // Ranch Tingle Ranch Map > Snowhead Tingle Snowhead Map (Spring) + // Snowhead Tingle Ranch Map (Spring) > Snowhead Tingle Ranch Map (Winter) + if ((scene == 0x5E) && (flag == 0xB7) && (type == ItemOverride_Type::OVR_BASE_ITEM)) { + SpoilerData_UpdateMultiLocations(type, 0x5D, flag); + } + // Ranch Tingle Ranch Map > Snowhead Tingle Ranch Map (Winter) if ((scene == 0x22) && (flag == 0xB7) && (type == ItemOverride_Type::OVR_BASE_ITEM)) { SpoilerData_UpdateMultiLocations(type, 0x5D, flag); } + // Ranch Tingle Ranch Map > Snowhead Tingle Ranch Map (Spring) + if ((scene == 0x22) && (flag == 0xB7) && (type == ItemOverride_Type::OVR_BASE_ITEM)) { + SpoilerData_UpdateMultiLocations(type, 0x5E, flag); + } // Ranch Tingle Great Bay Map > Great Bay Tingle Great Bay Map if ((scene == 0x22) && (flag == 0xB8) && (type == ItemOverride_Type::OVR_BASE_ITEM)) { SpoilerData_UpdateMultiLocations(type, 0x37, flag);