aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sword1/sword1.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp
index 0d610d5251..cba1e97bb8 100644
--- a/engines/sword1/sword1.cpp
+++ b/engines/sword1/sword1.cpp
@@ -450,7 +450,9 @@ int SwordEngine::go() {
_logic->startPositions(startPos);
} else {
int saveSlot = ConfMan.getInt("save_slot");
- if (_control->restoreGameFromFile(saveSlot - 1)) {
+ // Savegames are numbered starting from 1 in the dialog window,
+ // but their filenames are numbered starting from 0.
+ if (saveSlot > 0 && _control->restoreGameFromFile(saveSlot - 1)) {
_control->doRestore();
} else if (_control->savegamesExist()) {
_systemVars.controlPanelMode = CP_NEWGAME;