[Scummvm-git-logs] scummvm master -> e01775bcae1696092713647946295e4974cb3d17
sluicebox
noreply at scummvm.org
Mon Mar 21 19:35:49 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e01775bcae SCI32: Fix SHIVERS and PHANT2 loading autosave slot
Commit: e01775bcae1696092713647946295e4974cb3d17
https://github.com/scummvm/scummvm/commit/e01775bcae1696092713647946295e4974cb3d17
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2022-03-21T15:33:52-04:00
Commit Message:
SCI32: Fix SHIVERS and PHANT2 loading autosave slot
Fixes bug #13361
Changed paths:
engines/sci/engine/guest_additions.cpp
engines/sci/engine/kfile.cpp
diff --git a/engines/sci/engine/guest_additions.cpp b/engines/sci/engine/guest_additions.cpp
index 1225801b35e..0c73a5b515d 100644
--- a/engines/sci/engine/guest_additions.cpp
+++ b/engines/sci/engine/guest_additions.cpp
@@ -832,12 +832,12 @@ bool GuestAdditions::restoreFromLauncher() const {
reg_t canInputParams[] = { TRUE_REG };
invokeSelector(_state->variables[VAR_GLOBAL][kGlobalVarUser], SELECTOR(canInput), 1, canInputParams);
- writeSelectorValue(_segMan, g_sci->getGameObject(), SELECTOR(num), _state->_delayedRestoreGameId - kSaveIdShift);
+ writeSelectorValue(_segMan, g_sci->getGameObject(), SELECTOR(num), shiftScummVMToSciSaveId(_state->_delayedRestoreGameId));
invokeSelector(g_sci->getGameObject(), SELECTOR(reallyRestore));
} else if (g_sci->getGameId() == GID_SHIVERS) {
// Shivers accepts the save game number as a parameter to
// `SHIVERS::restore`
- reg_t args[] = { make_reg(0, _state->_delayedRestoreGameId - kSaveIdShift) };
+ reg_t args[] = { make_reg(0, shiftScummVMToSciSaveId(_state->_delayedRestoreGameId)) };
invokeSelector(g_sci->getGameObject(), SELECTOR(restore), 1, args);
} else {
int saveId = _state->_delayedRestoreGameId;
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index 659b874a497..5967bdb530a 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -1506,7 +1506,7 @@ reg_t kGetSaveFiles32(EngineState *s, int argc, reg_t *argv) {
// At least Phant2 requires use of strncpy, since it creates save game
// names of exactly kMaxSaveNameLength
strncpy(target, save.name, kMaxSaveNameLength);
- int16 sciSaveId = (save.id == 0) ? kMaxShiftedSaveId : (save.id - kSaveIdShift);
+ int16 sciSaveId = shiftScummVMToSciSaveId(save.id);
saveIds.setFromInt16(i, sciSaveId);
}
More information about the Scummvm-git-logs
mailing list