diff --git a/libultraship/libultraship/Hooks.h b/libultraship/libultraship/Hooks.h index f9cd8b4ba..fd6c049bc 100644 --- a/libultraship/libultraship/Hooks.h +++ b/libultraship/libultraship/Hooks.h @@ -32,4 +32,5 @@ namespace Ship { DEFINE_HOOK(GfxInit, void()); DEFINE_HOOK(ExitGame, void()); DEFINE_HOOK(LoadFile, void(uint32_t fileNum)); + DEFINE_HOOK(DeleteFile, void(uint32_t fileNum)); } diff --git a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp index 36b5593ea..5b52047ab 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp @@ -930,7 +930,11 @@ void InitItemTracker() { buttonsPressed = cont_pad; }); Ship::RegisterHook([](uint32_t fileNum) { - const char* initialTrackerNotes = CVar_GetString(("gItemTrackerNotes" + std::to_string(gSaveContext.fileNum)).c_str(), ""); + const char* initialTrackerNotes = CVar_GetString(("gItemTrackerNotes" + std::to_string(fileNum)).c_str(), ""); strcpy(itemTrackerNotes.Data, initialTrackerNotes); }); + Ship::RegisterHook([](uint32_t fileNum) { + CVar_SetString(("gItemTrackerNotes" + std::to_string(fileNum)).c_str(), ""); + SohImGui::RequestCvarSaveOnNextTick(); + }); } diff --git a/soh/soh/SaveManager.cpp b/soh/soh/SaveManager.cpp index 8de0b0f18..3305f1d70 100644 --- a/soh/soh/SaveManager.cpp +++ b/soh/soh/SaveManager.cpp @@ -1592,6 +1592,7 @@ extern "C" void Save_CopyFile(int from, int to) { extern "C" void Save_DeleteFile(int fileNum) { SaveManager::Instance->DeleteZeldaFile(fileNum); + Ship::ExecuteHooks(fileNum); } extern "C" bool Save_Exist(int fileNum) {