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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri May 28 12:45:20 CEST 2010


Revision: 49288
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49288&view=rev
Author:   thebluegr
Date:     2010-05-28 10:45:20 +0000 (Fri, 28 May 2010)

Log Message:
-----------
Added a stub for kMergePoly, to avoid crashing in QFG1VGA after killing a monster

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kernel.cpp
    scummvm/trunk/engines/sci/engine/kernel.h
    scummvm/trunk/engines/sci/engine/kpathing.cpp

Modified: scummvm/trunk/engines/sci/engine/kernel.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.cpp	2010-05-28 10:20:02 UTC (rev 49287)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2010-05-28 10:45:20 UTC (rev 49288)
@@ -332,6 +332,7 @@
 	DEFUN("DoSync", kDoSync, ".*"),
 	DEFUN("MemorySegment", kMemorySegment, "iri*"),
 	DEFUN("Intersections", kIntersections, "iiiiriiiri"),
+	DEFUN("MergePoly", kMergePoly, "rli"),
 	DEFUN("ResCheck", kResCheck, "iii*"),
 	DEFUN("SetQuitStr", kSetQuitStr, "r"),
 	DEFUN("ShowMovie", kShowMovie, ".*"),

Modified: scummvm/trunk/engines/sci/engine/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.h	2010-05-28 10:20:02 UTC (rev 49287)
+++ scummvm/trunk/engines/sci/engine/kernel.h	2010-05-28 10:45:20 UTC (rev 49288)
@@ -414,6 +414,7 @@
 reg_t kDoSync(EngineState *s, int argc, reg_t *argv);
 reg_t kMemorySegment(EngineState *s, int argc, reg_t *argv);
 reg_t kIntersections(EngineState *s, int argc, reg_t *argv);
+reg_t kMergePoly(EngineState *s, int argc, reg_t *argv);
 reg_t kResCheck(EngineState *s, int argc, reg_t *argv);
 reg_t kSetQuitStr(EngineState *s, int argc, reg_t *argv);
 reg_t kShowMovie(EngineState *s, int argc, reg_t *argv);

Modified: scummvm/trunk/engines/sci/engine/kpathing.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kpathing.cpp	2010-05-28 10:20:02 UTC (rev 49287)
+++ scummvm/trunk/engines/sci/engine/kpathing.cpp	2010-05-28 10:45:20 UTC (rev 49288)
@@ -1694,4 +1694,34 @@
 	}
 }
 
+reg_t kMergePoly(EngineState *s, int argc, reg_t *argv) {
+	// 3 parameters: raw polygon data, polygon list, list size
+	reg_t polygonData = argv[0];
+
+	// TODO: actually merge the polygon
+
+#if 0
+	List *list = s->_segMan->lookupList(argv[1]);
+	Node *node = s->_segMan->lookupNode(list->first);
+	// List size is not needed
+
+	Polygon *polygon;
+	int count = 0;
+
+	while (node) {
+		polygon = convert_polygon(s, node->value);
+
+		if (polygon) {
+			count += GET_SEL32V(s->_segMan, node->value, SELECTOR(size));
+		}
+
+		node = s->_segMan->lookupNode(node->succ);
+	}
+#endif
+
+	warning("Stub: kMergePoly");
+
+	return polygonData;
+}
+
 } // End of namespace Sci


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