aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/debugger.cpp
diff options
context:
space:
mode:
authorMax Horn2007-02-04 01:24:43 +0000
committerMax Horn2007-02-04 01:24:43 +0000
commitbe052be462c6d6b9f47b57b1169cc5e1e306d65f (patch)
tree2cd26c677700d2aeae426a8584e4a6945a7e89df /engines/scumm/debugger.cpp
parentb2748810863483b6e249a262e6a18a805d1f3aa8 (diff)
downloadscummvm-rg350-be052be462c6d6b9f47b57b1169cc5e1e306d65f.tar.gz
scummvm-rg350-be052be462c6d6b9f47b57b1169cc5e1e306d65f.tar.bz2
scummvm-rg350-be052be462c6d6b9f47b57b1169cc5e1e306d65f.zip
Rewrote the actor walk code for SCUMM V0-V2 games: Now it uses the C64 character coordinates internally, not pixel coordinates. This should fix some walk bugs, but also might cause some regressions. Watch out
svn-id: r25370
Diffstat (limited to 'engines/scumm/debugger.cpp')
-rw-r--r--engines/scumm/debugger.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp
index a7637c6970..2d5b8a5dfa 100644
--- a/engines/scumm/debugger.cpp
+++ b/engines/scumm/debugger.cpp
@@ -383,11 +383,11 @@ bool ScummDebugger::Cmd_Actor(int argc, const char **argv) {
a->_ignoreBoxes = (value > 0);
DebugPrintf("Actor[%d].ignoreBoxes = %d\n", actnum, a->_ignoreBoxes);
} else if (!strcmp(argv[2], "x")) {
- a->putActor(value, a->getPos().y);
+ a->putActor(value, a->getRealPos().y);
DebugPrintf("Actor[%d].x = %d\n", actnum, a->getPos().x);
_vm->_fullRedraw = true;
} else if (!strcmp(argv[2], "y")) {
- a->putActor(a->getPos().x, value);
+ a->putActor(a->getRealPos().x, value);
DebugPrintf("Actor[%d].y = %d\n", actnum, a->getPos().y);
_vm->_fullRedraw = true;
} else if (!strcmp(argv[2], "_elevation")) {
@@ -754,6 +754,13 @@ void ScummDebugger::drawBox(int box) {
r[1] = coords.ur;
r[2] = coords.lr;
r[3] = coords.ll;
+
+ if (_vm->_game.version <= 2) {
+ for (int i = 0; i < 4; ++i) {
+ r[i].x *= V12_X_MULTIPLIER;
+ r[i].y *= V12_Y_MULTIPLIER;
+ }
+ }
// TODO - maybe use different colors for each box, and/or print the box number inside it?
fillQuad(_vm, r, 13);