Skip to content

Commit

Permalink
FULLPIPE: Fix flicker in scenes. Woo hoo!
Browse files Browse the repository at this point in the history
  • Loading branch information
sev- committed Jan 2, 2014
1 parent 979cf9f commit e7b0316
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
15 changes: 11 additions & 4 deletions engines/fullpipe/scene.cpp
Expand Up @@ -442,8 +442,16 @@ bool Scene::compareObjPriority(const void *p1, const void *p2) {
return false;
}

void Scene::objectList_sortByPriority(PtrList &list) {
Common::sort(list.begin(), list.end(), Scene::compareObjPriority);
void Scene::objectList_sortByPriority(PtrList &list, bool skipFirst) {
if (skipFirst) {
PtrList::iterator s = list.begin();

++s;

Common::sort(s, list.end(), Scene::compareObjPriority);
} else {
Common::sort(list.begin(), list.end(), Scene::compareObjPriority);
}
}

void Scene::draw() {
Expand Down Expand Up @@ -526,7 +534,6 @@ 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;
Expand Down Expand Up @@ -609,7 +616,7 @@ void Scene::drawContent(int minPri, int maxPri, bool drawBg) {
debug(8, "Scene::drawContent(>%d, <%d, %d)", minPri, maxPri, drawBg);

if (_picObjList.size() > 2) { // We need to z-sort them
objectList_sortByPriority(_picObjList);
objectList_sortByPriority(_picObjList, true);
}

if (minPri == -1 && _picObjList.size())
Expand Down
2 changes: 1 addition & 1 deletion engines/fullpipe/scene.h
Expand Up @@ -79,7 +79,7 @@ class Scene : public Background {

private:
static bool compareObjPriority(const void *p1, const void *p2);
void objectList_sortByPriority(PtrList &list);
void objectList_sortByPriority(PtrList &list, bool skipFirst = false);
};

class SceneTag : public CObject {
Expand Down

0 comments on commit e7b0316

Please sign in to comment.