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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Thu Dec 24 16:02:06 CET 2009


Revision: 46529
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46529&view=rev
Author:   thebluegr
Date:     2009-12-24 15:02:06 +0000 (Thu, 24 Dec 2009)

Log Message:
-----------
SCI32: Added some more stubs for picture manipulation, screen update and animation functions

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

Modified: scummvm/trunk/engines/sci/engine/kernel.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.cpp	2009-12-24 14:18:16 UTC (rev 46528)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2009-12-24 15:02:06 UTC (rev 46529)
@@ -345,6 +345,12 @@
 	DEFUN("AddScreenItem", kAddScreenItem, "o"),
 	DEFUN("UpdateScreenItem", kUpdateScreenItem, "o"),
 	DEFUN("DeleteScreenItem", kDeleteScreenItem, "o"),
+	DEFUN("AddPlane", kAddPlane, "o"),
+	DEFUN("DeletePlane", kDeletePlane, "o"),
+	DEFUN("UpdatePlane", kUpdatePlane, "o"),
+	DEFUN("RepaintPlane", kRepaintPlane, "o"),
+	DEFUN("FrameOut", kFrameOut, ""),
+	DEFUN("ListEachElementDo", kListEachElementDo, ".*"),
 
 	// SCI2.1 Kernel Functions
 	DEFUN("Save", kSave, ".*"),

Modified: scummvm/trunk/engines/sci/engine/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.h	2009-12-24 14:18:16 UTC (rev 46528)
+++ scummvm/trunk/engines/sci/engine/kernel.h	2009-12-24 15:02:06 UTC (rev 46529)
@@ -395,9 +395,17 @@
 reg_t kIsHiRes(EngineState *s, int argc, reg_t *argv);
 reg_t kArray(EngineState *s, int argc, reg_t *argv);
 reg_t kString(EngineState *s, int argc, reg_t *argv);
+// "Screen items" in SCI32 are views
 reg_t kAddScreenItem(EngineState *s, int argc, reg_t *argv);
 reg_t kUpdateScreenItem(EngineState *s, int argc, reg_t *argv);
 reg_t kDeleteScreenItem(EngineState *s, int argc, reg_t *argv);
+// "Planes" in SCI32 are pictures
+reg_t kAddPlane(EngineState *s, int argc, reg_t *argv);
+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 kFrameOut(EngineState *s, int argc, reg_t *argv);
+reg_t kListEachElementDo(EngineState *s, int argc, reg_t *argv);
 
 // SCI2.1 Kernel Functions
 reg_t kSave(EngineState *s, int argc, reg_t *argv);

Modified: scummvm/trunk/engines/sci/engine/kernel32.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel32.cpp	2009-12-24 14:18:16 UTC (rev 46528)
+++ scummvm/trunk/engines/sci/engine/kernel32.cpp	2009-12-24 15:02:06 UTC (rev 46529)
@@ -603,6 +603,8 @@
 	// HACK: just draw the view on screen
 	s->_gui->drawCel(viewId, loopNo, celNo, leftPos, topPos, priority, 0);
 
+	// TODO
+
 	warning("kAddScreenItem, object %04x:%04x, view %d, loop %d, cel %d, pri %d", PRINT_REG(viewObj), viewId, loopNo, celNo, priority);
 	//s->_gui->addToPicView(viewId, loopNo, celNo, leftPos, topPos, priority, control);
 	return NULL_REG;
@@ -618,6 +620,8 @@
 	int16 priority = GET_SEL32V(s->_segMan, viewObj, priority);
 	//int16 control = 0;
 	
+	// TODO
+
 	warning("kUpdateScreenItem, view %d, loop %d, cel %d, pri %d", viewId, loopNo, celNo, priority);
 	return NULL_REG;
 }
@@ -631,10 +635,73 @@
 	//int16 topPos = 0;
 	int16 priority = GET_SEL32V(s->_segMan, viewObj, priority);
 	//int16 control = 0;
+
+	// TODO
+
 	warning("kDeleteScreenItem, view %d, loop %d, cel %d, pri %d", viewId, loopNo, celNo, priority);
 	return NULL_REG;
 }
 
+reg_t kAddPlane(EngineState *s, int argc, reg_t *argv) {
+	reg_t picObj = argv[0];
+	// This kernel call shows pictures on screen
+	// The picture ID is likely in the "picture" selector (?)
+
+	// TODO
+
+	warning("kAddPlane object %04x:%04x", PRINT_REG(picObj));
+	return NULL_REG;
+}
+
+reg_t kDeletePlane(EngineState *s, int argc, reg_t *argv) {
+	reg_t picObj = argv[0];
+	// The picture ID is likely in the "picture" selector (?)
+
+	// TODO
+
+	warning("kDeletePlane object %04x:%04x", PRINT_REG(picObj));
+	return NULL_REG;
+}
+
+reg_t kUpdatePlane(EngineState *s, int argc, reg_t *argv) {
+	reg_t picObj = argv[0];
+	// The picture ID is likely in the "picture" selector (?)
+
+	// TODO
+
+	warning("kUpdatePlane object %04x:%04x", PRINT_REG(picObj));
+	return NULL_REG;
+}
+
+reg_t kRepaintPlane(EngineState *s, int argc, reg_t *argv) {
+	reg_t picObj = argv[0];
+	// The picture ID is likely in the "picture" selector (?)
+
+	// TODO
+
+	warning("kRepaintPlane object %04x:%04x", PRINT_REG(picObj));
+	return NULL_REG;
+}
+
+reg_t kFrameOut(EngineState *s, int argc, reg_t *argv) {
+	// This kernel call likely seems to be doing the screen updates, 
+	// as its called right after a view is updated
+
+	// TODO
+
+	return NULL_REG;
+}
+
+reg_t kListEachElementDo(EngineState *s, int argc, reg_t *argv) {
+
+	// Likely performs doit() on each element, for screen updates/animations?
+	// It's called constantly, so perhaps that's its purpose...
+
+	// TODO
+
+	return NULL_REG;
+}
+
 } // End of namespace Sci
 
 #endif	// ENABLE_SCI32


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