From ccc1d1759b74535fb65440987e2817f738bf3694 Mon Sep 17 00:00:00 2001 From: morfidon <57798071+morfidon@users.noreply.github.com> Date: Wed, 11 Mar 2026 16:31:14 +0100 Subject: [PATCH] Reformat loadsave with repo clang-format Run the repository-pinned .\\.tools\\clang-format-18\\clang-format.exe on loadsave.cpp and verify the change with the required Debug devilutionx build. This records the formatting step with the project-mandated formatter after the save failure fix. --- Source/loadsave.cpp | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index b78219de3..a4ea5be81 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -73,10 +73,23 @@ bool ActiveSaveContainsGame() return IsHeaderValid(LoadLE32(gameData.get())); } +bool ActiveSaveContainsStash() +{ + auto archive = OpenStashArchive(); + if (!archive) + return false; + + const char *stashFileName = gbIsMultiplayer ? "mpstashitems" : "spstashitems"; + return ReadArchive(*archive, stashFileName) != nullptr; +} + SaveResult GetSaveFailureResult() { - gbValidSaveFile = ActiveSaveContainsGame(); - return gbValidSaveFile ? SaveResult::FailedButPreviousSavePreserved : SaveResult::FailedNoValidSave; + const bool hasValidGame = ActiveSaveContainsGame(); + const bool hasValidStash = ActiveSaveContainsStash(); + + gbValidSaveFile = hasValidGame; + return (hasValidGame && hasValidStash) ? SaveResult::FailedButPreviousSavePreserved : SaveResult::FailedNoValidSave; } template @@ -2956,21 +2969,29 @@ SaveResult SaveGame(SaveKind kind) gbValidSaveFile = true; return SaveResult::Success; #else - if (kind == SaveKind::Manual) { + switch (kind) { + case SaveKind::Manual: if (!pfile_write_manual_game_with_backup()) return GetSaveFailureResult(); - } else { + break; + case SaveKind::Auto: + case SaveKind::System: if (!pfile_write_auto_game()) return GetSaveFailureResult(); + break; } gbValidSaveFile = true; - if (kind == SaveKind::Manual) { + switch (kind) { + case SaveKind::Manual: if (!pfile_write_manual_stash_with_backup()) return GetSaveFailureResult(); - } else { + break; + case SaveKind::Auto: + case SaveKind::System: if (!pfile_write_auto_stash()) return GetSaveFailureResult(); + break; } return SaveResult::Success;