CINE: FW: Fix disabled action menu after loading.

Future Wars PC disassembly does not save disableSysteMenu variable.
After adding versioning to Future Wars saves this value was also
saved and loaded but using it on load seems to have caused the
action menu (EXAMINE, TAKE, INVENTORY, ...) to be disabled sometimes
when it is not supposed to be disabled. Thus, now skipping the loading
of disableSystemMenu variable for versioned Future Wars saves.
This commit is contained in:
Kari Salminen 2020-08-01 18:12:24 +03:00 committed by Eugene Sandulenko
parent 4221c38167
commit 24c7e0e70c
2 changed files with 13 additions and 1 deletions

View File

@ -235,6 +235,12 @@ void CineEngine::initialize() {
// A proper fix here would be to save this variable in FW's saves.
// Since it seems these are unversioned so far, there would be need
// to properly add versioning to them first.
//
// Adding versioning to FW saves didn't solve this problem. Setting
// disableSystemMenu according to the saved value still caused the
// action menu (EXAMINE, TAKE, INVENTORY, ...) sometimes to be
// disabled when it wasn't supposed to be disabled when
// loading from the launcher or command line.
disableSystemMenu = 0;
}

View File

@ -783,7 +783,13 @@ bool CineEngine::loadPlainSaveFW(Common::SeekableReadStream &in, CineSaveGameFor
loadOverlayList(in);
loadBgIncrustFromSave(in);
disableSystemMenu = ((version >= 4) ? in.readUint16BE() : 0);
if (version >= 4) {
// Skip the saved value of disableSystemMenu because using its value
// sometimes disabled the action menu (i.e. EXAMINE, TAKE, INVENTORY, ...)
// when it wasn't supposed to be disabled when loading from the launcher
// or command line.
in.readUint16BE();
}
if (strlen(currentMsgName)) {
loadMsg(currentMsgName);