aboutsummaryrefslogtreecommitdiff
path: root/saga/actor.cpp
diff options
context:
space:
mode:
authorAndrew Kurushin2005-02-18 00:00:00 +0000
committerAndrew Kurushin2005-02-18 00:00:00 +0000
commitbbbd3b5fbf1230e681fad01e80717bc1785e0d09 (patch)
treee6ece1dcf27eef28d85915deed0b1e592f326648 /saga/actor.cpp
parentdef8641e1f748a193db6afe060729ef242883409 (diff)
downloadscummvm-rg350-bbbd3b5fbf1230e681fad01e80717bc1785e0d09.tar.gz
scummvm-rg350-bbbd3b5fbf1230e681fad01e80717bc1785e0d09.tar.bz2
scummvm-rg350-bbbd3b5fbf1230e681fad01e80717bc1785e0d09.zip
iso mode drawing work in progress
svn-id: r16802
Diffstat (limited to 'saga/actor.cpp')
-rw-r--r--saga/actor.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/saga/actor.cpp b/saga/actor.cpp
index 9809d1e2fb..365d4e74ad 100644
--- a/saga/actor.cpp
+++ b/saga/actor.cpp
@@ -34,6 +34,7 @@
#include "saga/sound.h"
#include "saga/scene.h"
+#include "saga/isomap.h"
#include "saga/actor.h"
#include "saga/itedata.h"
#include "saga/stream.h"
@@ -634,6 +635,9 @@ void Actor::updateActorsScene(int actorsEntrance) {
}
handleActions(0, true);
+ if (_vm->_scene->getFlags() & kSceneFlagISO) {
+ _vm->_isoMap->adjustScroll(true);
+ }
}
ActorFrameRange *Actor::getActorFrameRange(uint16 actorId, int frameType) {
@@ -1041,10 +1045,12 @@ int Actor::direct(int msec) {
return SUCCESS;
}
+
void Actor::calcScreenPosition(CommonObjectData *commonObjectData) {
int beginSlope, endSlope, middle;
if (_vm->_scene->getFlags() & kSceneFlagISO) {
- //todo: it
+ _vm->_isoMap->tileCoordsToScreenPoint(commonObjectData->location, commonObjectData->screenPosition);
+ commonObjectData->screenScale = 256;
} else {
middle = _vm->getSceneHeight() - commonObjectData->location.y / ACTOR_LMULT;
@@ -1159,7 +1165,7 @@ int Actor::drawActors() {
if (_vm->_scene->getFlags() & kSceneFlagISO) {
- //todo: it
+ _vm->_isoMap->drawSprite(back_buf,*spriteList, frameNumber, drawObject->location, drawObject->screenPosition, drawObject->screenScale);
} else {
_vm->_sprite->drawOccluded(back_buf, *spriteList, frameNumber, drawObject->screenPosition, drawObject->screenScale, drawObject->screenDepth);
}