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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Mon Oct 12 15:10:25 CEST 2009


Revision: 44986
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44986&view=rev
Author:   m_kiewitz
Date:     2009-10-12 13:10:25 +0000 (Mon, 12 Oct 2009)

Log Message:
-----------
SCI: now allowing calling celWide and celHigh with only 2 parameters (done by eco quest 1 when entering menu)

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

Modified: scummvm/trunk/engines/sci/engine/kernel.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.cpp	2009-10-12 12:42:50 UTC (rev 44985)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2009-10-12 13:10:25 UTC (rev 44986)
@@ -199,8 +199,8 @@
 	/*0c*/	DEFUN("SetNowSeen", kSetNowSeen, "oi*"), // The second parameter is ignored
 	/*0d*/	DEFUN("NumLoops", kNumLoops, "o"),
 	/*0e*/	DEFUN("NumCels", kNumCels, "o"),
-	/*0f*/	DEFUN("CelWide", kCelWide, "iOiOi"),
-	/*10*/	DEFUN("CelHigh", kCelHigh, "iOiOi"),
+	/*0f*/	DEFUN("CelWide", kCelWide, "iOi*"),
+	/*10*/	DEFUN("CelHigh", kCelHigh, "iOi*"),
 	/*11*/	DEFUN("DrawCel", kDrawCel, "iiiiii*"),
 	/*12*/	DEFUN("AddToPic", kAddToPic, "Il*"),
 	// FIXME: signature check removed (set to .*) as kNewWindow is different in Mac versions

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-10-12 12:42:50 UTC (rev 44985)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-10-12 13:10:25 UTC (rev 44986)
@@ -794,13 +794,12 @@
 reg_t kCelHigh(EngineState *s, int argc, reg_t *argv) {
 	int view = argv[0].toSint16();
 	int loop = argv[1].toSint16();
-	int cel = argv[2].toSint16();
+	int cel = (argc > 3) ? argv[2].toSint16() : 0;
 	int height, width;
 	Common::Point offset;
 
-	if (argc != 3) {
-		warning("CelHigh called with %d parameters", argc);
-	}
+	if (argc > 4)
+		error("celHigh called with more than 3 parameters");
 
 	gfxop_get_cel_parameters(s->gfx_state, view, loop, cel, &width, &height, &offset);
 	return make_reg(0, height);
@@ -809,13 +808,12 @@
 reg_t kCelWide(EngineState *s, int argc, reg_t *argv) {
 	int view = argv[0].toSint16();
 	int loop = argv[1].toSint16();
-	int cel = argv[2].toSint16();
+	int cel = (argc > 3) ? argv[2].toSint16() : 0;
 	int height, width;
 	Common::Point offset;
 
-	if (argc != 3) {
-		warning("CelHigh called with %d parameters", argc);
-	}
+	if (argc > 4)
+		error("celWide called with more than 3 parameters");
 
 	gfxop_get_cel_parameters(s->gfx_state, view, loop, cel, &width, &height, &offset);
 	return make_reg(0, width);


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