diff options
author | Colin Snover | 2017-08-04 18:53:00 -0500 |
---|---|---|
committer | Colin Snover | 2017-09-03 20:58:07 -0500 |
commit | 43a07abb46cc55d09f7415090f9f53c068c856aa (patch) | |
tree | bf31cbe8d30dadce8706e9484d519e71b73afc9e /engines/sci/engine/kernel_tables.h | |
parent | d2b4e16ab2bd28ce8b39a6330683228bd48950c2 (diff) | |
download | scummvm-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.h | 12 |
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 }, |