From f5979abaa28eece472400ef83a7acc2bdfc74de9 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 12 Apr 2016 10:41:48 +0200 Subject: WAGE: Fix object sorting. Fixes many glitches --- engines/wage/entities.cpp | 2 +- engines/wage/world.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'engines/wage') 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) { -- cgit v1.2.3