aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kpathing.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2010-05-28 10:45:20 +0000
committerFilippos Karapetis2010-05-28 10:45:20 +0000
commit967d9ea308342cbfb3c99904b5d6f1a0a3cd7ba0 (patch)
tree3cf014d93ac2add1650d4197fefb1def36de6c77 /engines/sci/engine/kpathing.cpp
parentbea6ef4beb9ff55a848a76c2b33e32a9b3d9cdd9 (diff)
downloadscummvm-rg350-967d9ea308342cbfb3c99904b5d6f1a0a3cd7ba0.tar.gz
scummvm-rg350-967d9ea308342cbfb3c99904b5d6f1a0a3cd7ba0.tar.bz2
scummvm-rg350-967d9ea308342cbfb3c99904b5d6f1a0a3cd7ba0.zip
Added a stub for kMergePoly, to avoid crashing in QFG1VGA after killing a monster
svn-id: r49288
Diffstat (limited to 'engines/sci/engine/kpathing.cpp')
-rw-r--r--engines/sci/engine/kpathing.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/engines/sci/engine/kpathing.cpp b/engines/sci/engine/kpathing.cpp
index 1152addeba..276d0df133 100644
--- a/engines/sci/engine/kpathing.cpp
+++ b/engines/sci/engine/kpathing.cpp
@@ -1694,4 +1694,34 @@ reg_t kIntersections(EngineState *s, int argc, reg_t *argv) {
}
}
+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