[Scummvm-cvs-logs] SF.net SVN: scummvm:[51252] scummvm/trunk/engines/sci/graphics

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sat Jul 24 20:06:49 CEST 2010


Revision: 51252
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51252&view=rev
Author:   m_kiewitz
Date:     2010-07-24 18:06:49 +0000 (Sat, 24 Jul 2010)

Log Message:
-----------
SCI: honor given order of screen items in sci32

fixes gk1 game menu slider controls

Modified Paths:
--------------
    scummvm/trunk/engines/sci/graphics/frameout.cpp
    scummvm/trunk/engines/sci/graphics/frameout.h

Modified: scummvm/trunk/engines/sci/graphics/frameout.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/frameout.cpp	2010-07-24 17:43:56 UTC (rev 51251)
+++ scummvm/trunk/engines/sci/graphics/frameout.cpp	2010-07-24 18:06:49 UTC (rev 51252)
@@ -122,7 +122,12 @@
 }
 
 bool sortHelper(const FrameoutEntry* entry1, const FrameoutEntry* entry2) {
-	return (entry1->priority == entry2->priority) ? (entry1->y < entry2->y) : (entry1->priority < entry2->priority);
+	if (entry1->priority == entry2->priority) {
+		if (entry1->y == entry2->y)
+			return (entry1->givenOrderNr < entry2->givenOrderNr);
+		return (entry1->y < entry2->y);
+	}
+	return (entry1->priority < entry2->priority);
 }
 
 bool planeSortHelper(const PlaneEntry &entry1, const PlaneEntry &entry2) {
@@ -247,6 +252,7 @@
 				itemEntry->scaleX = readSelectorValue(_segMan, itemObject, SELECTOR(scaleX));
 				itemEntry->scaleY = readSelectorValue(_segMan, itemObject, SELECTOR(scaleY));
 				itemEntry->object = itemObject;
+				itemEntry->givenOrderNr = itemNr;
 
 				itemList.push_back(itemEntry);
 				itemEntry++;
@@ -282,6 +288,8 @@
 		// Now display itemlist
 		itemEntry = itemData;
 
+//		warning("Plane %s", _segMan->getObjectName(planeObject));
+
 		for (FrameoutList::iterator listIterator = itemList.begin(); listIterator != itemList.end(); listIterator++) {
 			itemEntry = *listIterator;
 

Modified: scummvm/trunk/engines/sci/graphics/frameout.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/frameout.h	2010-07-24 17:43:56 UTC (rev 51251)
+++ scummvm/trunk/engines/sci/graphics/frameout.h	2010-07-24 18:06:49 UTC (rev 51252)
@@ -39,6 +39,7 @@
 typedef Common::List<PlaneEntry> PlaneList;
 
 struct FrameoutEntry {
+	uint16 givenOrderNr;
 	reg_t object;
 	GuiResourceId viewId;
 	int16 loopNo;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list