aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-02-16 02:55:23 +0000
committerTravis Howell2004-02-16 02:55:23 +0000
commitd5bf1699ca124de6959a76d3d5b75ca0beeb2ecf (patch)
tree471ea8342e9bdd2b48fb1ae7189ae87d0c15b3fe /scumm
parent9f026bb0e12955d3100a957af6b60956a56474cc (diff)
downloadscummvm-rg350-d5bf1699ca124de6959a76d3d5b75ca0beeb2ecf.tar.gz
scummvm-rg350-d5bf1699ca124de6959a76d3d5b75ca0beeb2ecf.tar.bz2
scummvm-rg350-d5bf1699ca124de6959a76d3d5b75ca0beeb2ecf.zip
Add akos drawing offsets
svn-id: r12910
Diffstat (limited to 'scumm')
-rw-r--r--scumm/actor.cpp5
-rw-r--r--scumm/actor.h1
-rw-r--r--scumm/akos.cpp5
3 files changed, 6 insertions, 5 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index 71de4f0307..a5270c5827 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -46,6 +46,7 @@ void Actor::initActorClass(ScummEngine *scumm) {
Actor::Actor() {
assert(_vm != 0);
+ offs_x = offs_y = 0;
top = bottom = 0;
number = 0;
needRedraw = needBgReset = costumeNeedsInit = visible = false;
@@ -954,8 +955,8 @@ void Actor::drawActorCostume() {
bcr->_actorID = number;
- bcr->_actorX = _pos.x - _vm->virtscr[0].xstart;
- bcr->_actorY = _pos.y - elevation;
+ bcr->_actorX = _pos.x + offs_x - _vm->virtscr[0].xstart;
+ bcr->_actorY = _pos.y + offs_y - elevation;
if (_vm->_version <= 2) {
// HACK: We have to adjust the x position by one strip (8 pixels) in
diff --git a/scumm/actor.h b/scumm/actor.h
index 2175534778..74767d35ee 100644
--- a/scumm/actor.h
+++ b/scumm/actor.h
@@ -83,6 +83,7 @@ public:
public:
Common::Point _pos;
+ int offs_x, offs_y;
int top, bottom;
uint width;
byte number;
diff --git a/scumm/akos.cpp b/scumm/akos.cpp
index a748a66821..5d8b7bcb6f 100644
--- a/scumm/akos.cpp
+++ b/scumm/akos.cpp
@@ -1345,9 +1345,8 @@ void ScummEngine::akos_queCommand(byte cmd, Actor *a, int param_1, int param_2)
a->forceClip = param_1;
break;
case 6:
- warning("unimplemented akos_queCommand(6,%d,%d,%d)", a->number, param_1, param_2);
-// a->offs_x = param_1;
-// a->offs_y = param_2;
+ a->offs_x = param_1;
+ a->offs_y = param_2;
break;
case 7:
if (param_1 != 0) {