[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