[Scummvm-cvs-logs] scummvm master -> 517980d43e37a32f860448434b66ec5767ec5dfd

somaen einarjohan at somadalen.com
Sun Dec 9 01:05:13 CET 2012


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
e489b69324 WINTERMUTE: Fix Object-sorting in scenes.
517980d43e WINTERMUTE: Use uint32 to fix warning in drawTickets()


Commit: e489b693245ea18efdad688f6b585bc7aa748f34
    https://github.com/scummvm/scummvm/commit/e489b693245ea18efdad688f6b585bc7aa748f34
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2012-12-08T16:03:36-08:00

Commit Message:
WINTERMUTE: Fix Object-sorting in scenes.

Changed paths:
    engines/wintermute/ad/ad_scene.cpp
    engines/wintermute/ad/ad_scene.h
    engines/wintermute/base/base_object.h



diff --git a/engines/wintermute/ad/ad_scene.cpp b/engines/wintermute/ad/ad_scene.cpp
index 8e9beca..3791b7b 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;
 	}
 }
 
diff --git a/engines/wintermute/ad/ad_scene.h b/engines/wintermute/ad/ad_scene.h
index 3b48240..230cb77 100644
--- a/engines/wintermute/ad/ad_scene.h
+++ b/engines/wintermute/ad/ad_scene.h
@@ -80,7 +80,7 @@ public:
 	DECLARE_PERSISTENT(AdScene, BaseObject)
 	bool displayRegionContent(AdRegion *region = NULL, bool display3DOnly = false);
 	bool displayRegionContentOld(AdRegion *region = NULL);
-	static int compareObjs(const void *obj1, const void *obj2);
+	static bool compareObjs(const AdObject *obj1, const AdObject *obj2);
 
 	bool updateFreeObjects();
 	bool traverseNodes(bool update = false);
diff --git a/engines/wintermute/base/base_object.h b/engines/wintermute/base/base_object.h
index d7d91a2..96fed2b 100644
--- a/engines/wintermute/base/base_object.h
+++ b/engines/wintermute/base/base_object.h
@@ -110,8 +110,8 @@ public:
 	bool _movable;
 	bool _zoomable;
 	bool _shadowable;
-	int _posY;
-	int _posX;
+	int32 _posY;
+	int32 _posX;
 	bool _registrable;
 	char *_caption[7];
 	bool _saveState;


Commit: 517980d43e37a32f860448434b66ec5767ec5dfd
    https://github.com/scummvm/scummvm/commit/517980d43e37a32f860448434b66ec5767ec5dfd
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2012-12-08T16:04:12-08:00

Commit Message:
WINTERMUTE: Use uint32 to fix warning in drawTickets()

Changed paths:
    engines/wintermute/base/gfx/osystem/base_render_osystem.cpp



diff --git a/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp
index fff51a5..746a648 100644
--- a/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp
+++ b/engines/wintermute/base/gfx/osystem/base_render_osystem.cpp
@@ -420,7 +420,7 @@ void BaseRenderOSystem::drawTickets() {
 	// Note: We draw invalid tickets too, otherwise we wouldn't be honouring
 	// the draw request they obviously made BEFORE becoming invalid, either way
 	// we have a copy of their data, so their invalidness won't affect us.
-	int decrement = 0;
+	uint32 decrement = 0;
 	while (it != _renderQueue.end()) {
 		if ((*it)->_wantsDraw == false) {
 			RenderTicket *ticket = *it;






More information about the Scummvm-git-logs mailing list