diff options
author | Max Horn | 2007-02-04 01:24:43 +0000 |
---|---|---|
committer | Max Horn | 2007-02-04 01:24:43 +0000 |
commit | be052be462c6d6b9f47b57b1169cc5e1e306d65f (patch) | |
tree | 2cd26c677700d2aeae426a8584e4a6945a7e89df /engines/scumm/debugger.cpp | |
parent | b2748810863483b6e249a262e6a18a805d1f3aa8 (diff) | |
download | scummvm-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.cpp | 11 |
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); |