[Scummvm-cvs-logs] scummvm master -> 5dd26b9a369690ef24bb8613c27c339c931d8de0
DrMcCoy
drmccoy at drmccoy.de
Fri Aug 26 11:54:35 CEST 2011
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5bcb89852f GOB: Add a console command to dump the whole variable space
5dd26b9a36 GOB: Add cheat output for Geisha's mastermind
Commit: 5bcb89852fadb3f5716a52b467a229dda5fed347
https://github.com/scummvm/scummvm/commit/5bcb89852fadb3f5716a52b467a229dda5fed347
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2011-08-26T02:50:37-07:00
Commit Message:
GOB: Add a console command to dump the whole variable space
Changed paths:
engines/gob/console.cpp
engines/gob/console.h
diff --git a/engines/gob/console.cpp b/engines/gob/console.cpp
index b8aed37..e7296fb 100644
--- a/engines/gob/console.cpp
+++ b/engines/gob/console.cpp
@@ -29,6 +29,7 @@ namespace Gob {
GobConsole::GobConsole(GobEngine *vm) : GUI::Debugger(), _vm(vm) {
DCmd_Register("varSize", WRAP_METHOD(GobConsole, cmd_varSize));
+ DCmd_Register("dumpVars", WRAP_METHOD(GobConsole, cmd_dumpVars));
DCmd_Register("var8", WRAP_METHOD(GobConsole, cmd_var8));
DCmd_Register("var16", WRAP_METHOD(GobConsole, cmd_var16));
DCmd_Register("var32", WRAP_METHOD(GobConsole, cmd_var32));
@@ -44,6 +45,23 @@ bool GobConsole::cmd_varSize(int argc, const char **argv) {
return true;
}
+bool GobConsole::cmd_dumpVars(int argc, const char **argv) {
+ if (!_vm->_inter->_variables)
+ return true;
+
+ Common::DumpFile file;
+
+ if (!file.open("variables.dmp"))
+ return true;
+
+ file.write(_vm->_inter->_variables->getAddressOff8(0), _vm->_inter->_variables->getSize());
+
+ file.flush();
+ file.close();
+
+ return true;
+}
+
bool GobConsole::cmd_var8(int argc, const char **argv) {
if (argc == 1) {
DebugPrintf("Usage: var8 <var offset> (<value>)\n");
diff --git a/engines/gob/console.h b/engines/gob/console.h
index b9f9b81..b9c3f5e 100644
--- a/engines/gob/console.h
+++ b/engines/gob/console.h
@@ -38,6 +38,7 @@ private:
GobEngine *_vm;
bool cmd_varSize(int argc, const char **argv);
+ bool cmd_dumpVars(int argc, const char **argv);
bool cmd_var8(int argc, const char **argv);
bool cmd_var16(int argc, const char **argv);
bool cmd_var32(int argc, const char **argv);
Commit: 5dd26b9a369690ef24bb8613c27c339c931d8de0
https://github.com/scummvm/scummvm/commit/5dd26b9a369690ef24bb8613c27c339c931d8de0
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2011-08-26T02:50:37-07:00
Commit Message:
GOB: Add cheat output for Geisha's mastermind
Changed paths:
engines/gob/inter_v1.cpp
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp
index 8d675d1..0eb8be1 100644
--- a/engines/gob/inter_v1.cpp
+++ b/engines/gob/inter_v1.cpp
@@ -658,6 +658,20 @@ void Inter_v1::o1_callSub(OpFuncParams ¶ms) {
return;
}
+ // A cheat to get around the stupid mastermind puzzle in Geisha,
+ // while we're still testing it
+ if ((_vm->getGameType() == kGameTypeGeisha) && (offset == 12934) &&
+ _vm->isCurrentTot("hard.tot") && _vm->_inter->_variables) {
+
+ uint32 digit1 = READ_VARO_UINT32(0x768);
+ uint32 digit2 = READ_VARO_UINT32(0x76C);
+ uint32 digit3 = READ_VARO_UINT32(0x770);
+ uint32 digit4 = READ_VARO_UINT32(0x774);
+ uint32 digit5 = READ_VARO_UINT32(0x778);
+
+ warning("Mastermind solution: %d %d %d %d %d", digit1, digit2, digit3, digit4, digit5);
+ }
+
// Skipping the copy protection screen in Gobliiins
if (!_vm->_copyProtection && (_vm->getGameType() == kGameTypeGob1) && (offset == 3905) &&
_vm->isCurrentTot(_vm->_startTot)) {
More information about the Scummvm-git-logs
mailing list