aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2016-04-12 10:41:48 +0200
committerEugene Sandulenko2016-04-12 10:59:53 +0200
commitf5979abaa28eece472400ef83a7acc2bdfc74de9 (patch)
treedd6635bbd698af10b3156c951d2519c1da37d9b7
parentcd01e2d54603992aa5066b945a64d0a81c2f161a (diff)
downloadscummvm-rg350-f5979abaa28eece472400ef83a7acc2bdfc74de9.tar.gz
scummvm-rg350-f5979abaa28eece472400ef83a7acc2bdfc74de9.tar.bz2
scummvm-rg350-f5979abaa28eece472400ef83a7acc2bdfc74de9.zip
WAGE: Fix object sorting. Fixes many glitches
-rw-r--r--engines/wage/entities.cpp2
-rw-r--r--engines/wage/world.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/engines/wage/entities.cpp b/engines/wage/entities.cpp
index a2648c49fe..adb053868a 100644
--- a/engines/wage/entities.cpp
+++ b/engines/wage/entities.cpp
@@ -141,7 +141,7 @@ void Scene::paint(Graphics::Surface *surface, int x, int y) {
_design->paint(surface, ((WageEngine *)g_engine)->_world->_patterns, x, y);
for (ObjList::const_iterator it = _objs.begin(); it != _objs.end(); ++it) {
- debug(2, "paining Obj: %s", (*it)->_name.c_str());
+ debug(2, "paining Obj: %s, index: %d, type: %d", (*it)->_name.c_str(), (*it)->_index, (*it)->_type);
(*it)->_design->paint(surface, ((WageEngine *)g_engine)->_world->_patterns, x, y);
}
diff --git a/engines/wage/world.cpp b/engines/wage/world.cpp
index 7e7bc33712..954a425b7b 100644
--- a/engines/wage/world.cpp
+++ b/engines/wage/world.cpp
@@ -431,9 +431,9 @@ static bool objComparator(const Obj *o1, const Obj *o2) {
bool o1Immobile = (o1->_type == Obj::IMMOBILE_OBJECT);
bool o2Immobile = (o2->_type == Obj::IMMOBILE_OBJECT);
if (o1Immobile == o2Immobile) {
- return o1->_index - o2->_index;
+ return o1->_index < o2->_index;
}
- return o1Immobile ? -1 : 1;
+ return o1Immobile;
}
void World::move(Obj *obj, Scene *scene, bool skipSort) {