From ac7805c0f57e636c258b948819640795faf31d48 Mon Sep 17 00:00:00 2001 From: Phlex Date: Sun, 4 Feb 2024 21:20:34 -0600 Subject: [PATCH] Fix Link being given magic on save creation. This should fix all magic check bugs until magic is retrieved. --- code/source/main.cpp | 4 ++-- code/source/rnd/item_override.cpp | 4 ++-- code/source/rnd/savefile.cpp | 3 +++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/source/main.cpp b/code/source/main.cpp index a7db5b77..1e8a3677 100644 --- a/code/source/main.cpp +++ b/code/source/main.cpp @@ -100,9 +100,9 @@ namespace rnd { const u32 pressedButtons = gctx->pad_state.input.buttons.flags; const u32 newButtons = gctx->pad_state.input.new_buttons.flags; #if defined ENABLE_DEBUG || defined DEBUG_PRINT - auto& saveData = game::GetCommonData().save.equipment; + auto& saveData = game::GetCommonData().save; if (newButtons == (u32)game::pad::Button::ZR) - rnd::util::Print("%s: Sword flag is %u\n", __func__, saveData.sword_shield.sword); + rnd::util::Print("%s: Sword flag is %u\n", __func__, saveData.player.magic); #endif if (gSettingsContext.customMaskButton != 0 && pressedButtons == gSettingsContext.customMaskButton) { game::ui::OpenScreen(game::ui::ScreenType::Masks); diff --git a/code/source/rnd/item_override.cpp b/code/source/rnd/item_override.cpp index db50a2a8..03bb3412 100644 --- a/code/source/rnd/item_override.cpp +++ b/code/source/rnd/item_override.cpp @@ -45,8 +45,8 @@ namespace rnd { rItemOverrides[0].value.looksLikeItemId = 0x26; rItemOverrides[1].key.scene = 0x6F; rItemOverrides[1].key.type = ItemOverride_Type::OVR_COLLECTABLE; - rItemOverrides[1].value.getItemId = 0x48; - rItemOverrides[1].value.looksLikeItemId = 0x48; + rItemOverrides[1].value.getItemId = 0x49; + rItemOverrides[1].value.looksLikeItemId = 0x49; rItemOverrides[2].key.scene = 0x12; rItemOverrides[2].key.type = ItemOverride_Type::OVR_COLLECTABLE; rItemOverrides[2].value.getItemId = 0x37; diff --git a/code/source/rnd/savefile.cpp b/code/source/rnd/savefile.cpp index af830764..ace23a9d 100644 --- a/code/source/rnd/savefile.cpp +++ b/code/source/rnd/savefile.cpp @@ -700,6 +700,9 @@ namespace rnd { playerData.magic_acquired = 1; playerData.magic = 0x60; equipmentData.data[3].item_btns[0] = game::ItemId::DekuNuts; + } else { + // Player initially is given magic 0x30 on save creation. This prevents that. + playerData.magic = 0x0; } if (gSettingsContext.startingDoubleDefense) {