diff options
author | Einar Johan Trøan Sømåen | 2012-12-09 01:03:36 +0100 |
---|---|---|
committer | Einar Johan Trøan Sømåen | 2012-12-09 01:03:36 +0100 |
commit | e489b693245ea18efdad688f6b585bc7aa748f34 (patch) | |
tree | 90f931f152383de993297b6db930a88a94e4cf21 /engines/wintermute/ad/ad_scene.cpp | |
parent | 0d52e27be2c20405da29f82039cdb3d96b7cf7c9 (diff) | |
download | scummvm-rg350-e489b693245ea18efdad688f6b585bc7aa748f34.tar.gz scummvm-rg350-e489b693245ea18efdad688f6b585bc7aa748f34.tar.bz2 scummvm-rg350-e489b693245ea18efdad688f6b585bc7aa748f34.zip |
WINTERMUTE: Fix Object-sorting in scenes.
Diffstat (limited to 'engines/wintermute/ad/ad_scene.cpp')
-rw-r--r-- | engines/wintermute/ad/ad_scene.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp index 8e9beca0c0..3791b7b0bc 100644 --- a/engines/wintermute/ad/ad_scene.cpp +++ b/engines/wintermute/ad/ad_scene.cpp @@ -1140,14 +1140,14 @@ bool AdScene::updateFreeObjects() { ////////////////////////////////////////////////////////////////////////// bool AdScene::displayRegionContent(AdRegion *region, bool display3DOnly) { AdGame *adGame = (AdGame *)_gameRef; - BaseArray<AdObject *> objects; + Common::Array<AdObject *> objects; AdObject *obj; // global objects for (uint32 i = 0; i < adGame->_objects.size(); i++) { obj = adGame->_objects[i]; if (obj->_active && !obj->_drawn && (obj->_stickRegion == region || region == NULL || (obj->_stickRegion == NULL && region->pointInRegion(obj->_posX, obj->_posY)))) { - objects.add(obj); + objects.push_back(obj); } } @@ -1155,7 +1155,7 @@ bool AdScene::displayRegionContent(AdRegion *region, bool display3DOnly) { for (uint32 i = 0; i < _objects.size(); i++) { obj = _objects[i]; if (obj->_active && !obj->_editorOnly && !obj->_drawn && (obj->_stickRegion == region || region == NULL || (obj->_stickRegion == NULL && region->pointInRegion(obj->_posX, obj->_posY)))) { - objects.add(obj); + objects.push_back(obj); } } @@ -1195,16 +1195,11 @@ bool AdScene::displayRegionContent(AdRegion *region, bool display3DOnly) { } ////////////////////////////////////////////////////////////////////////// -int AdScene::compareObjs(const void *obj1, const void *obj2) { - const AdObject *object1 = *(const AdObject *const *)obj1; - const AdObject *object2 = *(const AdObject *const *)obj2; - - if (object1->_posY < object2->_posY) { - return -1; - } else if (object1->_posY > object2->_posY) { - return 1; +bool AdScene::compareObjs(const AdObject *obj1, const AdObject *obj2) { + if (obj1->_posY < obj2->_posY) { + return true; } else { - return 0; + return false; } } |