aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel_tables.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/kernel_tables.h')
-rw-r--r--engines/sci/engine/kernel_tables.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index 211d96bc2f..6f696c4a69 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -306,7 +306,7 @@ static const SciKernelMapSubEntry kPalette_subops[] = {
{ SIG_SCI32, 1, MAP_CALL(PaletteSetFromResource32), "i(i)", NULL },
{ SIG_SCI32, 2, MAP_CALL(PaletteSetFade), "iii", NULL },
{ SIG_SCI32, 3, MAP_CALL(PaletteFindColor32), "iii", NULL },
- { SIG_SCI3, 4, MAP_CALL(PaletteSetGamma), "i", NULL },
+ { SIG_SCI32, 4, MAP_CALL(PaletteSetGamma), "i", NULL },
#endif
SCI_SUBOPENTRY_TERMINATOR
};
@@ -495,6 +495,15 @@ static const SciKernelMapSubEntry kRobot_subops[] = {
};
// version, subId, function-mapping, signature, workarounds
+static const SciKernelMapSubEntry kPlayDuck_subops[] = {
+ { SIG_SCI3, 1, MAP_CALL(PlayDuckPlay), "iiiii", NULL },
+ { SIG_SCI3, 2, MAP_CALL(PlayDuckSetFrameOut), "i", NULL },
+ { SIG_SCI3, 5, MAP_CALL(PlayDuckClose), "", NULL },
+ { SIG_SCI3, 6, MAP_CALL(PlayDuckSetVolume), "i", NULL },
+ SCI_SUBOPENTRY_TERMINATOR
+};
+
+// version, subId, function-mapping, signature, workarounds
static const SciKernelMapSubEntry kRemapColors_subops[] = {
{ SIG_SCI32, 0, MAP_CALL(RemapColorsOff), "(i)", NULL },
{ SIG_SCI32, 1, MAP_CALL(RemapColorsByRange), "iiii(i)", NULL },
@@ -1008,7 +1017,9 @@ static SciKernelMapEntry s_kernelMap[] = {
{ MAP_CALL(MorphOn), SIG_EVERYWHERE, "", NULL, NULL },
// SCI3 Kernel Functions
- { MAP_CALL(PlayDuck), SIG_EVERYWHERE, "(.*)", NULL, NULL },
+ { MAP_CALL(PlayDuck), SIG_SCI3, SIGFOR_ALL, "(.*)", kPlayDuck_subops,NULL },
+ { MAP_CALL(WebConnect), SIG_SCI3, SIGFOR_ALL, "(r)", NULL, NULL },
+ { MAP_CALL(WinExec), SIG_SCI3, SIGFOR_ALL, "r", NULL, NULL },
#endif
{ NULL, NULL, SIG_EVERYWHERE, NULL, NULL, NULL }
@@ -1490,7 +1501,8 @@ static const char *const sci21_default_knames[] = {
/*0x9d*/ "Dummy",
/*0x9e*/ "WebConnect",
/*0x9f*/ "Dummy",
- /*0xa0*/ "PlayDuck"
+ /*0xa0*/ "PlayDuck",
+ /*0xa1*/ "WinExec"
};
#endif