aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel_tables.h
diff options
context:
space:
mode:
authorColin Snover2017-08-04 18:53:00 -0500
committerColin Snover2017-09-03 20:58:07 -0500
commit43a07abb46cc55d09f7415090f9f53c068c856aa (patch)
treebf31cbe8d30dadce8706e9484d519e71b73afc9e /engines/sci/engine/kernel_tables.h
parentd2b4e16ab2bd28ce8b39a6330683228bd48950c2 (diff)
downloadscummvm-rg350-43a07abb46cc55d09f7415090f9f53c068c856aa.tar.gz
scummvm-rg350-43a07abb46cc55d09f7415090f9f53c068c856aa.tar.bz2
scummvm-rg350-43a07abb46cc55d09f7415090f9f53c068c856aa.zip
SCI32: Implement kCelLink
kCelLink exists in SSCI since 2.1mid, but it is only known to be used in Lighthouse, during the weapon creation puzzle near the end of the game.
Diffstat (limited to 'engines/sci/engine/kernel_tables.h')
-rw-r--r--engines/sci/engine/kernel_tables.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index c65356470a..ac932199d3 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -575,6 +575,16 @@ static const SciKernelMapSubEntry kCelInfo_subops[] = {
};
// version, subId, function-mapping, signature, workarounds
+static const SciKernelMapSubEntry kCelLink_subops[] = {
+ { SIG_SINCE_SCI21MID, 0, MAP_DUMMY(CelLink0), "", NULL },
+ { SIG_SINCE_SCI21MID, 1, MAP_DUMMY(CelLink1), "", NULL },
+ { SIG_SINCE_SCI21MID, 2, MAP_CALL(CelLinkGetX), "iiii", NULL },
+ { SIG_SINCE_SCI21MID, 3, MAP_CALL(CelLinkGetY), "iiii", NULL },
+ { SIG_SINCE_SCI21MID, 4, MAP_DUMMY(CelLink4), "", NULL },
+ SCI_SUBOPENTRY_TERMINATOR
+};
+
+// version, subId, function-mapping, signature, workarounds
static const SciKernelMapSubEntry kScrollWindow_subops[] = {
{ SIG_SCI32, 0, MAP_CALL(ScrollWindowCreate), "oi", NULL },
{ SIG_SCI32, 1, MAP_CALL(ScrollWindowAdd), "iriii(i)", kScrollWindowAdd_workarounds },
@@ -988,7 +998,7 @@ static SciKernelMapEntry s_kernelMap[] = {
{ MAP_DUMMY(FindClass), SIG_EVERYWHERE, "(.*)", NULL, NULL },
{ MAP_DUMMY(CelRect), SIG_EVERYWHERE, "(.*)", NULL, NULL },
{ MAP_DUMMY(BaseLineSpan), SIG_EVERYWHERE, "(.*)", NULL, NULL },
- { MAP_DUMMY(CelLink), SIG_EVERYWHERE, "(.*)", NULL, NULL },
+ { MAP_CALL(CelLink), SIG_SINCE_SCI21MID, SIGFOR_ALL, "(.*)", kCelLink_subops, NULL },
{ MAP_DUMMY(AddPolygon), SIG_EVERYWHERE, "(.*)", NULL, NULL },
{ MAP_DUMMY(DeletePolygon), SIG_EVERYWHERE, "(.*)", NULL, NULL },
{ MAP_DUMMY(UpdatePolygon), SIG_EVERYWHERE, "(.*)", NULL, NULL },