diff options
author | Eugene Sandulenko | 2016-04-12 10:41:48 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-04-12 10:59:53 +0200 |
commit | f5979abaa28eece472400ef83a7acc2bdfc74de9 (patch) | |
tree | dd6635bbd698af10b3156c951d2519c1da37d9b7 | |
parent | cd01e2d54603992aa5066b945a64d0a81c2f161a (diff) | |
download | scummvm-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.cpp | 2 | ||||
-rw-r--r-- | engines/wage/world.cpp | 4 |
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) { |