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

sev at users.sourceforge.net sev at users.sourceforge.net
Wed Dec 23 22:12:15 CET 2009


Revision: 46516
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46516&view=rev
Author:   sev
Date:     2009-12-23 21:12:15 +0000 (Wed, 23 Dec 2009)

Log Message:
-----------
Patch #2895458: "SCUMM: Add support for SEGA-CD MI Passcodes"

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/debugger.cpp
    scummvm/trunk/engines/scumm/debugger.h

Modified: scummvm/trunk/engines/scumm/debugger.cpp
===================================================================
--- scummvm/trunk/engines/scumm/debugger.cpp	2009-12-23 21:11:53 UTC (rev 46515)
+++ scummvm/trunk/engines/scumm/debugger.cpp	2009-12-23 21:12:15 UTC (rev 46516)
@@ -89,6 +89,9 @@
 	if (_vm->_game.id == GID_LOOM)
 		DCmd_Register("drafts",  WRAP_METHOD(ScummDebugger, Cmd_PrintDraft));
 
+	if (_vm->_game.id == GID_MONKEY && Common::kPlatformSegaCD)
+		DCmd_Register("passcode",  WRAP_METHOD(ScummDebugger, Cmd_Passcode));
+
 	DCmd_Register("loadgame",  WRAP_METHOD(ScummDebugger, Cmd_LoadGame));
 	DCmd_Register("savegame",  WRAP_METHOD(ScummDebugger, Cmd_SaveGame));
 
@@ -849,6 +852,30 @@
 	return true;
 }
 
+bool ScummDebugger::Cmd_Passcode(int argc, const char **argv) {
+	if (argc > 1) {
+		_vm->_bootParam = atoi(argv[1]);
+		int args[16];
+		memset(args, 0, sizeof(args));
+		args[0] = _vm->_bootParam;
+	
+		_vm->runScript(61, 0, 0, args);
+		
+		if (_vm->_bootParam != _vm->_scummVars[411]){
+			DebugPrintf("Invalid Passcode\n");
+			return true;
+		}
+		
+		_vm->_bootParam = 0;	
+		_detach_now = true;
+		
+	} else {
+		DebugPrintf("Use 'passcode <SEGA CD Passcode>'\n");
+		return true;
+	}
+	return false;
+}
+
 bool ScummDebugger::Cmd_ResetCursors(int argc, const char **argv) {
 	_vm->resetCursors();
 

Modified: scummvm/trunk/engines/scumm/debugger.h
===================================================================
--- scummvm/trunk/engines/scumm/debugger.h	2009-12-23 21:11:53 UTC (rev 46515)
+++ scummvm/trunk/engines/scumm/debugger.h	2009-12-23 21:12:15 UTC (rev 46516)
@@ -61,6 +61,7 @@
 	bool Cmd_ImportRes(int argc, const char **argv);
 
 	bool Cmd_PrintDraft(int argc, const char **argv);
+	bool Cmd_Passcode(int argc, const char **argv);
 
 	bool Cmd_Debug(int argc, const char **argv);
 	bool Cmd_DebugLevel(int argc, const char **argv);


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