aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kmisc.cpp
diff options
context:
space:
mode:
authorKawa2018-12-02 21:56:19 +0100
committerFilippos Karapetis2018-12-02 22:56:19 +0200
commitca2209cb5fd3c9548946d69cc7444431d3cce863 (patch)
treef481787dc05e169213fce48d13ce28e02d9709fb /engines/sci/engine/kmisc.cpp
parentbbbd40477d1afe62df63b222193e016d1e9fdd7d (diff)
downloadscummvm-rg350-ca2209cb5fd3c9548946d69cc7444431d3cce863.tar.gz
scummvm-rg350-ca2209cb5fd3c9548946d69cc7444431d3cce863.tar.bz2
scummvm-rg350-ca2209cb5fd3c9548946d69cc7444431d3cce863.zip
SCI: Add support for The Dating Pool (#1403)
Diffstat (limited to 'engines/sci/engine/kmisc.cpp')
-rw-r--r--engines/sci/engine/kmisc.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp
index 92a9cfaf8b..f8b41a2b71 100644
--- a/engines/sci/engine/kmisc.cpp
+++ b/engines/sci/engine/kmisc.cpp
@@ -629,6 +629,8 @@ reg_t kPlatform(EngineState *s, int argc, reg_t *argv) {
return NULL_REG;
}
+extern void showScummVMDialog(const Common::String &message);
+
#ifdef ENABLE_SCI32
reg_t kPlatform32(EngineState *s, int argc, reg_t *argv) {
enum Operation {
@@ -693,8 +695,6 @@ reg_t kWinExec(EngineState *s, int argc, reg_t *argv) {
return NULL_REG;
}
-extern void showScummVMDialog(const Common::String &message);
-
reg_t kWinDLL(EngineState *s, int argc, reg_t *argv) {
uint16 operation = argv[0].toUint16();
Common::String dllName = s->_segMan->getString(argv[1]);
@@ -726,6 +726,25 @@ reg_t kWinDLL(EngineState *s, int argc, reg_t *argv) {
#endif
+reg_t kKawaHacks(EngineState *s, int argc, reg_t *argv) {
+ switch (argv[0].toUint16()) {
+ case 0: { // DoAlert
+ showScummVMDialog(s->_segMan->getString(argv[1]));
+ return NULL_REG;
+ }
+ case 1: // ZaWarudo
+ // Unused, would invert the color palette for the specified range.
+ return NULL_REG;
+ case 2: // SetTitleColors
+ // Unused, would change the colors for plain windows' title bars.
+ return NULL_REG;
+ case 3: // IsDebug
+ // Should return 1 if running with an internal debugger, 2 if we have AddMenu support, 3 if both.
+ return TRUE_REG;
+ }
+ return NULL_REG;
+}
+
reg_t kEmpty(EngineState *s, int argc, reg_t *argv) {
// Placeholder for empty kernel functions which are still called from the
// engine scripts (like the empty kSetSynonyms function in SCI1.1). This