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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sun Jul 25 22:41:24 CEST 2010


Revision: 51283
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51283&view=rev
Author:   m_kiewitz
Date:     2010-07-25 20:41:23 +0000 (Sun, 25 Jul 2010)

Log Message:
-----------
SCI: adding kAddPicAt dummy

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

Modified: scummvm/trunk/engines/sci/engine/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.h	2010-07-25 19:56:44 UTC (rev 51282)
+++ scummvm/trunk/engines/sci/engine/kernel.h	2010-07-25 20:41:23 UTC (rev 51283)
@@ -457,6 +457,7 @@
 reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv);
 reg_t kIsOnMe(EngineState *s, int argc, reg_t *argv);
 reg_t kCD(EngineState *s, int argc, reg_t *argv);
+reg_t kAddPicAt(EngineState *s, int argc, reg_t *argv);
 
 reg_t kAddBefore(EngineState *s, int argc, reg_t *argv);
 reg_t kMoveToFront(EngineState *s, int argc, reg_t *argv);

Modified: scummvm/trunk/engines/sci/engine/kernel_tables.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel_tables.h	2010-07-25 19:56:44 UTC (rev 51282)
+++ scummvm/trunk/engines/sci/engine/kernel_tables.h	2010-07-25 20:41:23 UTC (rev 51283)
@@ -481,6 +481,7 @@
     { MAP_CALL(Robot),             SIG_EVERYWHERE,           "(.*)",                  NULL,            NULL },
     { MAP_CALL(Save),              SIG_EVERYWHERE,           "(.*)",                  NULL,            NULL },
     { MAP_CALL(Text),              SIG_EVERYWHERE,           "(.*)",                  NULL,            NULL },
+    { MAP_CALL(AddPicAt),          SIG_EVERYWHERE,           "oiii",                  NULL,            NULL },
     { NULL, NULL,                  SIG_EVERYWHERE,           NULL,                    NULL,            NULL }
 #endif
 };

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-07-25 19:56:44 UTC (rev 51282)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2010-07-25 20:41:23 UTC (rev 51283)
@@ -1186,6 +1186,16 @@
 	return NULL_REG;
 }
 
+reg_t kAddPicAt(EngineState *s, int argc, reg_t *argv) {
+	reg_t planeObj = argv[0];
+	GuiResourceId pictureId = argv[1].toUint16();
+	int16 forWidth = argv[2].toSint16();
+	// argv[3] seems to be 0 most of the time
+
+	g_sci->_gfxFrameout->kernelAddPicAt(planeObj, forWidth, pictureId);
+	return s->r_acc;
+}
+
 reg_t kGetHighPlanePri(EngineState *s, int argc, reg_t *argv) {
 	return make_reg(0, g_sci->_gfxFrameout->kernelGetHighPlanePri());
 }

Modified: scummvm/trunk/engines/sci/graphics/frameout.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/frameout.cpp	2010-07-25 19:56:44 UTC (rev 51282)
+++ scummvm/trunk/engines/sci/graphics/frameout.cpp	2010-07-25 20:41:23 UTC (rev 51283)
@@ -139,6 +139,15 @@
 	return readSelectorValue(g_sci->getEngineState()->_segMan, _planes.back().object, SELECTOR(priority));
 }
 
+// No idea yet how to implement this
+void GfxFrameout::kernelAddPicAt(reg_t planeObj, int16 forWidth, GuiResourceId pictureId) {
+	//if (forWidth == 320) {
+	//	writeSelectorValue(_segMan, planeObj, SELECTOR(left), 0);
+	//	writeSelectorValue(_segMan, planeObj, SELECTOR(picture), pictureId);
+	//	kernelUpdatePlane(planeObj);
+	//}
+}
+
 bool sortHelper(const FrameoutEntry* entry1, const FrameoutEntry* entry2) {
 	if (entry1->priority == entry2->priority) {
 		if (entry1->y == entry2->y)

Modified: scummvm/trunk/engines/sci/graphics/frameout.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/frameout.h	2010-07-25 19:56:44 UTC (rev 51282)
+++ scummvm/trunk/engines/sci/graphics/frameout.h	2010-07-25 20:41:23 UTC (rev 51283)
@@ -74,6 +74,7 @@
 	void kernelAddScreenItem(reg_t object);
 	void kernelDeleteScreenItem(reg_t object);
 	int16 kernelGetHighPlanePri();
+	void kernelAddPicAt(reg_t planeObj, int16 forWidth, GuiResourceId pictureId);
 	void kernelFrameout();
 
 private:


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