diff options
author | Travis Howell | 2005-03-19 00:15:55 +0000 |
---|---|---|
committer | Travis Howell | 2005-03-19 00:15:55 +0000 |
commit | f258c52bfc22b7ab12df57c946a6edaf24f57072 (patch) | |
tree | 1e55dae3c5bb58fd0cdd08d1c73684a9ecdd588c /scumm | |
parent | 89ce70d724b05f52fdc3234d9a36735aeffcf8a6 (diff) | |
download | scummvm-rg350-f258c52bfc22b7ab12df57c946a6edaf24f57072.tar.gz scummvm-rg350-f258c52bfc22b7ab12df57c946a6edaf24f57072.tar.bz2 scummvm-rg350-f258c52bfc22b7ab12df57c946a6edaf24f57072.zip |
Fix original load/save screen freezing in Loom [ega]
Sets current drive, instead of drive type.
svn-id: r17182
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script_v5.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index a908028751..ee028b75ae 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -1138,17 +1138,23 @@ void ScummEngine_v5::o5_saveLoadGame() { _opcode = 0x40; else if (a == 2) _opcode = 0x80; - } else + } else { _opcode = a & 0xE0; + } switch (_opcode) { case 0x00: // num slots available result = 100; break; case 0x20: // drive - // 0 = hard drive - // 1 = disk drive - result = 0; + if (_gameId == GID_INDY3) { + // 0 = hard drive + // 1 = disk drive + result = 0; + } else { + // set current drive + result = 1; + } break; case 0x40: // load if (loadState(slot, _saveTemporaryState)) @@ -1173,7 +1179,10 @@ void ScummEngine_v5::o5_saveLoadGame() { else result = 7; // save file does not exist break; + default: + error("o5_saveLoadGame: unknown subopcode %d", _opcode); } + setResult(result); } |