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

lskovlun at users.sourceforge.net lskovlun at users.sourceforge.net
Fri Nov 19 13:46:36 CET 2010


Revision: 54369
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54369&view=rev
Author:   lskovlun
Date:     2010-11-19 12:46:36 +0000 (Fri, 19 Nov 2010)

Log Message:
-----------
SCI: Implement the GetConfig call for LSL7

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

Modified: scummvm/trunk/engines/sci/engine/kernel.h
===================================================================
--- scummvm/trunk/engines/sci/engine/kernel.h	2010-11-19 10:55:56 UTC (rev 54368)
+++ scummvm/trunk/engines/sci/engine/kernel.h	2010-11-19 12:46:36 UTC (rev 54369)
@@ -470,6 +470,7 @@
 reg_t kWinHelp(EngineState *s, int argc, reg_t *argv);
 reg_t kWinDLL(EngineState *s, int argc, reg_t *argv);
 reg_t kPrintDebug(EngineState *s, int argc, reg_t *argv);
+reg_t kGetConfig(EngineState *s, int argc, reg_t *argv);
 #endif
 
 reg_t kDoSoundInit(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-11-19 10:55:56 UTC (rev 54368)
+++ scummvm/trunk/engines/sci/engine/kernel_tables.h	2010-11-19 12:46:36 UTC (rev 54369)
@@ -542,6 +542,7 @@
 	{ MAP_CALL(GetWindowsOption),  SIG_EVERYWHERE,           "i",                     NULL,            NULL },
 	{ MAP_CALL(WinHelp),           SIG_EVERYWHERE,           "(.*)",                  NULL,            NULL },
 	{ MAP_CALL(WinDLL),            SIG_EVERYWHERE,           "(.*)",                  NULL,            NULL },
+	{ MAP_CALL(GetConfig),         SIG_EVERYWHERE,           "ro",                    NULL,            NULL },
 // Commented out because it needs to be implemented in full generality in Shivers/Full.
 // Since it is not essential to game play, removing it also works.
 //

Modified: scummvm/trunk/engines/sci/engine/kmisc.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kmisc.cpp	2010-11-19 10:55:56 UTC (rev 54368)
+++ scummvm/trunk/engines/sci/engine/kmisc.cpp	2010-11-19 12:46:36 UTC (rev 54369)
@@ -329,6 +329,14 @@
 	return NULL_REG;
 }
 
+reg_t kGetConfig(EngineState *s, int argc, reg_t *argv) {
+	Common::String setting = s->_segMan->getString(argv[0]);
+	reg_t data = readSelector(s->_segMan, argv[1], SELECTOR(data));
+
+	warning("Get config setting %s", setting.c_str());
+	s->_segMan->strcpy(data, "");
+	return argv[1];
+}
 enum kSciPlatforms {
 	kSciPlatformDOS = 1,
 	kSciPlatformWindows = 2


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