diff options
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/kernel.h | 1 | ||||
-rw-r--r-- | engines/sci/engine/kernel_tables.h | 1 | ||||
-rw-r--r-- | engines/sci/engine/kmisc.cpp | 8 |
3 files changed, 10 insertions, 0 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index 9833f91a5e..93321597c6 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -470,6 +470,7 @@ reg_t kGetWindowsOption(EngineState *s, int argc, reg_t *argv); 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); diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 141e191e47..bc88522ed2 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -542,6 +542,7 @@ static SciKernelMapEntry s_kernelMap[] = { { 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. // diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index a92a7a2645..4655ea4b39 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -329,6 +329,14 @@ reg_t kIconBar(EngineState *s, int argc, reg_t *argv) { 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 |