From 979cf9ffd7ca12ddc33ef89acfd008bb445884a9 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 3 Jan 2014 00:55:29 +0200 Subject: [PATCH] FULLPIPE: Fix Background::addPictureObject() --- engines/fullpipe/gfx.cpp | 8 ++++---- engines/fullpipe/scene.cpp | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp index 8b2aca4bdb24..435a06d63b21 100644 --- a/engines/fullpipe/gfx.cpp +++ b/engines/fullpipe/gfx.cpp @@ -129,8 +129,8 @@ void Background::addPictureObject(PictureObject *pct) { pct->renumPictures(&_picObjList); bool inserted = false; - for (uint i = 0; i < _picObjList.size(); i++) { - if (((PictureObject *)_picObjList[i])->_priority == pct->_priority) { + for (uint i = 1; i < _picObjList.size(); i++) { + if (((PictureObject *)_picObjList[i])->_priority <= pct->_priority) { _picObjList.insert_at(i, pct); inserted = true; break; @@ -329,8 +329,8 @@ void GameObject::renumPictures(PtrList *lst) { int *buf = (int *)calloc(lst->size() + 2, sizeof(int)); for (uint i = 0; i < lst->size(); i++) { - if (_id == ((PictureObject *)((*lst)[i]))->_id) - buf[((PictureObject *)((*lst)[i]))->_okeyCode] = 1; + if (_id == ((GameObject *)((*lst)[i]))->_id) + buf[((GameObject *)((*lst)[i]))->_okeyCode] = 1; } if (buf[_okeyCode]) { diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp index 558a90978a6d..008983b31d33 100644 --- a/engines/fullpipe/scene.cpp +++ b/engines/fullpipe/scene.cpp @@ -526,6 +526,7 @@ void Scene::updateScrolling2() { ((PictureObject *)_picObjList[0])->getDimensions(&point); int flags = ((PictureObject *)_picObjList[0])->_flags; + warning("flags: %d %d %d %d", flags & 2, flags & 0x20, point.x, point.y); if (g_fp->_sceneRect.left < 0 && !(flags & 2)) offsetX = -g_fp->_sceneRect.left;