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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri Sep 17 17:19:19 CEST 2010


Revision: 52764
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52764&view=rev
Author:   thebluegr
Date:     2010-09-17 15:19:18 +0000 (Fri, 17 Sep 2010)

Log Message:
-----------
SCI2: some very early work on kSetShowStyle

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

Modified: scummvm/trunk/engines/sci/engine/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.h	2010-09-17 14:25:31 UTC (rev 52763)
+++ scummvm/trunk/engines/sci/engine/kernel.h	2010-09-17 15:19:18 UTC (rev 52764)
@@ -444,6 +444,7 @@
 reg_t kDeletePlane(EngineState *s, int argc, reg_t *argv);
 reg_t kUpdatePlane(EngineState *s, int argc, reg_t *argv);
 reg_t kRepaintPlane(EngineState *s, int argc, reg_t *argv);
+reg_t kSetShowStyle(EngineState *s, int argc, reg_t *argv);
 reg_t kGetHighPlanePri(EngineState *s, int argc, reg_t *argv);
 reg_t kFrameOut(EngineState *s, int argc, reg_t *argv);
 reg_t kIsOnMe(EngineState *s, int argc, reg_t *argv); // kOnMe for SCI2, kIsOnMe for SCI2.1

Modified: scummvm/trunk/engines/sci/engine/kernel_tables.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel_tables.h	2010-09-17 14:25:31 UTC (rev 52763)
+++ scummvm/trunk/engines/sci/engine/kernel_tables.h	2010-09-17 15:19:18 UTC (rev 52764)
@@ -488,6 +488,7 @@
     { MAP_CALL(ListIndexOf),       SIG_EVERYWHERE,           "l[o0]",                 NULL,            NULL },
     { "OnMe", kIsOnMe,             SIG_EVERYWHERE,           "iioi",                  NULL,            NULL },
     { MAP_CALL(RepaintPlane),      SIG_EVERYWHERE,           "o",                     NULL,            NULL },
+	{ MAP_CALL(SetShowStyle),      SIG_EVERYWHERE,           "ioiiiii(i)",            NULL,            NULL },
     { MAP_CALL(String),            SIG_EVERYWHERE,           "(.*)",                  NULL,            NULL },
     { MAP_CALL(UpdatePlane),       SIG_EVERYWHERE,           "o",                     NULL,            NULL },
     { MAP_CALL(UpdateScreenItem),  SIG_EVERYWHERE,           "o",                     NULL,            NULL },

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-09-17 14:25:31 UTC (rev 52763)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-09-17 15:19:18 UTC (rev 52764)
@@ -1478,6 +1478,32 @@
 	return s->r_acc;
 }
 
+/**
+ * Used to programmatically mass set properties of the target plane
+ */
+reg_t kSetShowStyle(EngineState *s, int argc, reg_t *argv) {
+	// TODO: This is all a stub/skeleton, thus we're invoking kStub() for now
+	kStub(s, argc, argv);
+
+	// showStyle matches the style selector of the associated plane object
+	uint16 showStyle = argv[0].toUint16();	// 0 - 15
+	reg_t planeObj = argv[1];
+	//argv[2]
+	//int16 priority = argv[3].toSint16();
+	//argv[4]
+	//argv[5]
+	//argv[6]
+	//argv[7]
+	//int16 unk8 = (argc >= 9) ? argv[8].toSint16() : 0;
+
+	if (showStyle > 15) {
+		warning("kSetShowStyle: Illegal style %d for plane %04x:%04x", showStyle, PRINT_REG(planeObj));
+		return s->r_acc;
+	}
+
+	return s->r_acc;
+}
+
 #endif
 
 } // 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