[Scummvm-cvs-logs] SF.net SVN: scummvm:[43801] scummvm/trunk/engines/scumm

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Sat Aug 29 16:08:19 CEST 2009


Revision: 43801
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43801&view=rev
Author:   Kirben
Date:     2009-08-29 14:08:19 +0000 (Sat, 29 Aug 2009)

Log Message:
-----------
Add patch #2846581 - MM C64: savedialog.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/input.cpp
    scummvm/trunk/engines/scumm/script_v4.cpp

Modified: scummvm/trunk/engines/scumm/input.cpp
===================================================================
--- scummvm/trunk/engines/scumm/input.cpp	2009-08-29 13:54:41 UTC (rev 43800)
+++ scummvm/trunk/engines/scumm/input.cpp	2009-08-29 14:08:19 UTC (rev 43801)
@@ -444,6 +444,9 @@
 	// 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

Modified: scummvm/trunk/engines/scumm/script_v4.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v4.cpp	2009-08-29 13:54:41 UTC (rev 43800)
+++ scummvm/trunk/engines/scumm/script_v4.cpp	2009-08-29 14:08:19 UTC (rev 43801)
@@ -393,16 +393,12 @@
 
 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 @@
 		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;
 	}
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list