Add patch #2846581 - MM C64: savedialog.

svn-id: r43801
This commit is contained in:
Travis Howell 2009-08-29 14:08:19 +00:00
parent 08bc900e50
commit 1be7ab068e
2 changed files with 10 additions and 7 deletions

View File

@ -444,6 +444,9 @@ void ScummEngine_v2::processKeyboard(Common::KeyState lastKeyHit) {
// On Alt-F5 prepare savegame for the original save/load dialog.
if (lastKeyHit.keycode == Common::KEYCODE_F5 && lastKeyHit.flags == Common::KBD_ALT) {
prepareSavegame();
if (_game.id == GID_MANIAC && _game.version == 0) {
runScript(2, 0, 0, 0);
}
}
if (VAR_KEYPRESS != 0xFF && _mouseAndKeyboardStat) { // Key Input

View File

@ -393,16 +393,12 @@ void ScummEngine_v4::loadIQPoints(byte *ptr, int size) {
void ScummEngine_v4::o4_saveLoadGame() {
getResultPos();
byte slot;
byte a = getVarOrDirectByte(PARAM_1);
byte slot = a & 0x1F;
byte result = 0;
// Slot numbers in older games start with 0, in newer games with 1
if (_game.version <= 2)
slot++;
if ((_game.id == GID_MANIAC) && (_game.version <= 1)) {
// Convert older load/save screen
if (_game.version <= 1) {
// Convert V0/V1 load/save screen (they support only one savegame per disk)
// 1 Load
// 2 Save
slot = 1;
@ -411,6 +407,10 @@ void ScummEngine_v4::o4_saveLoadGame() {
else if ((a == 2) || (_game.platform == Common::kPlatformNES))
_opcode = 0x80;
} else {
slot = a & 0x1F;
// Slot numbers in older games start with 0, in newer games with 1
if (_game.version <= 2)
slot++;
_opcode = a & 0xE0;
}