aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTorbjörn Andersson2012-11-16 22:13:23 +0100
committerTorbjörn Andersson2012-11-16 22:13:23 +0100
commit38b2a8518ff080a6b321f6788af193327e0d0fed (patch)
treeef4f397ce6ac68557b38127281084f5d5415a62f /engines
parent8658d008d530eb89aef088d5317dd4d1af23899a (diff)
downloadscummvm-rg350-38b2a8518ff080a6b321f6788af193327e0d0fed.tar.gz
scummvm-rg350-38b2a8518ff080a6b321f6788af193327e0d0fed.tar.bz2
scummvm-rg350-38b2a8518ff080a6b321f6788af193327e0d0fed.zip
SCUMM: Fix the "drafts" debugger command for Mac Loom
Mac Loom's drafts appear to be stored from variable 55 and upwards. I'm working under the assumption that there's either only one version of Loom for the Mac, or that they all behave the same. I could be wrong about that.
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/debugger.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp
index 36fed2be72..9b6dd1e687 100644
--- a/engines/scumm/debugger.cpp
+++ b/engines/scumm/debugger.cpp
@@ -750,9 +750,9 @@ bool ScummDebugger::Cmd_PrintDraft(int argc, const char **argv) {
return true;
}
- // There are 16 drafts, stored from variable 50 or 100 and upwards.
- // Each draft occupies two variables. Even-numbered variables contain
- // the notes for each draft, and a number of flags:
+ // There are 16 drafts, stored from variable 50, 55 or 100 and upwards.
+ // Each draft occupies two variables, the first of which contains the
+ // notes for the draft and a number of flags.
//
// +---+---+---+---+-----+-----+-----+-----+
// | A | B | C | D | 444 | 333 | 222 | 111 |
@@ -767,13 +767,16 @@ bool ScummDebugger::Cmd_PrintDraft(int argc, const char **argv) {
// 222 The second note
// 111 The first note
//
- // I don't yet know what the odd-numbered variables are used for.
- // Possibly they store information on where and/or how the draft can
- // be used. They appear to remain constant throughout the game.
+ // I don't yet know what the second variable is used for. Possibly to
+ // store information on where and/or how the draft can be used. They
+ // appear to remain constant throughout the game.
if (_vm->_game.version == 4 || _vm->_game.platform == Common::kPlatformPCEngine) {
// DOS CD version / PC-Engine version
base = 100;
+ } else if (_vm->_game.platform == Common::kPlatformMacintosh) {
+ // Macintosh version
+ base = 55;
} else {
// All (?) other versions
base = 50;