aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2014-02-26 18:50:03 +0200
committerEugene Sandulenko2014-06-27 18:51:17 +0300
commitec0d06e269eb2489a38ea92f0f88d9ada21bef0b (patch)
tree13ce2974944f7472e38d9354c4657c7992a8746e /engines
parent991999d6d5548fdccd3a9c62b4b6deb1fb78ec3e (diff)
downloadscummvm-rg350-ec0d06e269eb2489a38ea92f0f88d9ada21bef0b.tar.gz
scummvm-rg350-ec0d06e269eb2489a38ea92f0f88d9ada21bef0b.tar.bz2
scummvm-rg350-ec0d06e269eb2489a38ea92f0f88d9ada21bef0b.zip
FULLPIPE: Attempt to fix flickering. Added debug output
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/scene.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index f39ae4e20f..8463b3ab40 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -485,7 +485,15 @@ void Scene::objectList_sortByPriority(Common::Array<StaticANIObject *> &list, bo
}
void Scene::objectList_sortByPriority(Common::Array<PictureObject *> &list, bool skipFirst) {
- Common::sort(list.begin(), list.end(), Scene::compareObjPriority);
+ if (skipFirst) {
+ Common::Array<PictureObject *>::iterator s = list.begin();
+
+ ++s;
+
+ Common::sort(s, list.end(), Scene::compareObjPriority);
+ } else {
+ Common::sort(list.begin(), list.end(), Scene::compareObjPriority);
+ }
}
void Scene::draw() {
@@ -646,7 +654,7 @@ void Scene::drawContent(int minPri, int maxPri, bool drawBg) {
g_fp->_globalPalette = _palette->_data;
}
- debug(8, "Scene::drawContent(>%d, <%d, %d)", minPri, maxPri, drawBg);
+ debug(1, "Scene::drawContent(>%d, <%d, %d)", minPri, maxPri, drawBg);
if (_picObjList.size() > 2) { // We need to z-sort them
objectList_sortByPriority(_picObjList, true);
@@ -658,11 +666,17 @@ void Scene::drawContent(int minPri, int maxPri, bool drawBg) {
if (maxPri == -1)
maxPri = 60000;
- debug(8, "-> Scene::drawContent(>%d, <%d, %d)", minPri, maxPri, drawBg);
+ debug(1, "-> Scene::drawContent(>%d, <%d, %d)", minPri, maxPri, drawBg);
Common::Point point;
- debug(8, "_bigPict: %d objlist: %d", _bigPictureArray1Count, _picObjList.size());
+ debug(1, "_bigPict: %d objlist: %d", _bigPictureArray1Count, _picObjList.size());
+
+ for (uint i = 0; i < _picObjList.size(); i++) {
+ debug(1, "%d: %d", i, ((PictureObject *)_picObjList[i])->_priority);
+ }
+
+
if (drawBg && _bigPictureArray1Count && _picObjList.size()) {
_bigPictureArray[0][0]->getDimensions(&point);