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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Mon Jul 6 13:19:19 CEST 2009


Revision: 42170
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42170&view=rev
Author:   thebluegr
Date:     2009-07-06 11:19:19 +0000 (Mon, 06 Jul 2009)

Log Message:
-----------
Assigned several unimplemented/unused kernel functions as stubs, so that we know when they're used and how they're called

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

Modified: scummvm/trunk/engines/sci/engine/kernel.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.cpp	2009-07-06 11:15:42 UTC (rev 42169)
+++ scummvm/trunk/engines/sci/engine/kernel.cpp	2009-07-06 11:19:19 UTC (rev 42170)
@@ -309,7 +309,7 @@
 	/*6f*/	DEFUN("6f", kTimesCos, "ii"),
 	/*70*/	DEFUN("Graph", kGraph, ".*"),
 	/*71*/	DEFUN("Joystick", kJoystick, ".*"),
-	/*72*/	NOFUN("unknown72"),
+	/*72*/	NOFUN("unknown72"),		// ShiftScreen, perhaps?
 	/*73*/	NOFUN("unknown73"),
 
 	// Experimental functions
@@ -322,7 +322,6 @@
 	/*(?)*/	DEFUN("IsItSkip", kIsItSkip, "iiiii"),
 
 	// Non-experimental Functions without a fixed ID
-
 	DEFUN("CosMult", kTimesCos, "ii"),
 	DEFUN("SinMult", kTimesSin, "ii"),
 	/*(?)*/	DEFUN("CosDiv", kCosDiv, "ii"),
@@ -341,6 +340,21 @@
 	// Special and NOP stuff
 	{NULL, k_Unknown, NULL},
 
+	// Stub functions
+	DEFUN("ShiftScreen", kStub, ".*"),
+	DEFUN("MemorySegment", kStub, ".*"),
+	DEFUN("ListOps", kStub, ".*"),
+	DEFUN("ATan", kStub, ".*"),
+	DEFUN("StrSplit", kStub, ".*"),
+	DEFUN("MergePoly", kStub, ".*"),
+	DEFUN("AssertPalette", kStub, ".*"),
+	DEFUN("TextColors", kStub, ".*"),
+	DEFUN("TextFonts", kStub, ".*"),
+	DEFUN("Record", kStub, ".*"),
+	DEFUN("PlayBack", kStub, ".*"),
+	DEFUN("DbugStr", kStub, ".*"),
+	DEFUN("Platform", kStub, ".*"),    // SCI1
+
 	{NULL, NULL, NULL} // Terminator
 };
 
@@ -779,11 +793,6 @@
 			offset = 4;
 		}
 	}
-
-	if (_resmgr->_sciVersion == SCI_VERSION_1_1) {
-		// KQ6CD calls unimplemented function 0x26
-		_kernelNames[0x26] = "Dummy";
-	}
 }
 
 #ifdef ENABLE_SCI32

Modified: scummvm/trunk/engines/sci/engine/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.h	2009-07-06 11:15:42 UTC (rev 42169)
+++ scummvm/trunk/engines/sci/engine/kernel.h	2009-07-06 11:19:19 UTC (rev 42170)
@@ -509,12 +509,10 @@
 reg_t k_Unknown(EngineState *s, int funct_nr, int argc, reg_t *argv);
 
 // The Unknown/Unnamed kernel function
-reg_t kstub(EngineState *s, int funct_nr, int argc, reg_t *argv);
+reg_t kStub(EngineState *s, int funct_nr, int argc, reg_t *argv);
 // for unimplemented kernel functions
 reg_t kNOP(EngineState *s, int funct_nr, int argc, reg_t *argv);
 // for kernel functions that don't do anything
-reg_t kFsciEmu(EngineState *s, int funct_nr, int argc, reg_t *argv);
-// Emulating "old" kernel functions on the heap
 
 
 } // End of namespace Sci

Modified: scummvm/trunk/engines/sci/engine/kmisc.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kmisc.cpp	2009-07-06 11:15:42 UTC (rev 42169)
+++ scummvm/trunk/engines/sci/engine/kmisc.cpp	2009-07-06 11:19:19 UTC (rev 42170)
@@ -237,9 +237,9 @@
 	return s->r_acc;
 }
 
-reg_t kstub(EngineState *s, int funct_nr, int argc, reg_t *argv) {
+reg_t kStub(EngineState *s, int funct_nr, int argc, reg_t *argv) {
 	char tmpbuf[200];
-	sprintf(tmpbuf, "Unimplemented syscall: %s[%x](", 
+	sprintf(tmpbuf, "Unimplemented syscall: %s[%x] (", 
 					s->_kernel->getKernelName(funct_nr).c_str(), funct_nr);
 
 	for (int i = 0; i < argc; i++) {
@@ -249,7 +249,7 @@
 			strcat(tmpbuf2, ", ");
 		strcat(tmpbuf, tmpbuf2);
 	}
-	strcat(tmpbuf, ")\n");
+	strcat(tmpbuf, ")");
 
 	warning(tmpbuf);
 


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