From 766d46153a285794d573d84d237aac3821431a01 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Mon, 2 Jan 2017 23:30:35 -0600 Subject: SCI32: Implement known-used portions of kPlayDuck --- engines/sci/engine/kernel_tables.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'engines/sci/engine/kernel_tables.h') diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 211d96bc2f..95f3197896 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -494,6 +494,15 @@ static const SciKernelMapSubEntry kRobot_subops[] = { SCI_SUBOPENTRY_TERMINATOR }; +// 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 }, @@ -1008,7 +1017,7 @@ 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 }, #endif { NULL, NULL, SIG_EVERYWHERE, NULL, NULL, NULL } -- cgit v1.2.3