diff options
author | Colin Snover | 2017-01-02 23:29:25 -0600 |
---|---|---|
committer | Colin Snover | 2017-01-09 19:34:54 -0600 |
commit | 01e6d073604a3973d993ccefc162c437d2937660 (patch) | |
tree | 5739f8b47a3c73408858aaf385a8c299d05d6d08 /engines/sci/engine/kernel_tables.h | |
parent | 8987d9a889fb908b038e5615baab5403adf3073e (diff) | |
download | scummvm-rg350-01e6d073604a3973d993ccefc162c437d2937660.tar.gz scummvm-rg350-01e6d073604a3973d993ccefc162c437d2937660.tar.bz2 scummvm-rg350-01e6d073604a3973d993ccefc162c437d2937660.zip |
SCI32: Split kCelInfo into subops
Different subops have different call signature requirements.
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 1241a9753e..278d4d6614 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -560,6 +560,16 @@ static const SciKernelMapSubEntry kString_subops[] = { }; // version, subId, function-mapping, signature, workarounds +static const SciKernelMapSubEntry kCelInfo_subops[] = { + { SIG_SINCE_SCI21MID, 0, MAP_CALL(CelInfoGetOriginX), "iii", NULL }, + { SIG_SINCE_SCI21MID, 1, MAP_CALL(CelInfoGetOriginY), "iii", NULL }, + { SIG_SINCE_SCI21MID, 2, MAP_EMPTY(CelInfo), "iii", NULL }, + { SIG_SINCE_SCI21MID, 3, MAP_EMPTY(CelInfo), "iii", NULL }, + { SIG_SINCE_SCI21MID, 4, MAP_CALL(CelInfoGetPixel), "iiiii", 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 }, @@ -933,7 +943,7 @@ static SciKernelMapEntry s_kernelMap[] = { { MAP_CALL(WinHelp), SIG_EVERYWHERE, "(.*)", NULL, NULL }, { MAP_CALL(GetConfig), SIG_EVERYWHERE, "ro", NULL, NULL }, { MAP_CALL(GetSierraProfileInt), SIG_EVERYWHERE, "rri", NULL, NULL }, - { MAP_CALL(CelInfo), SIG_SINCE_SCI21MID, SIGFOR_ALL, "iiiiii", NULL, NULL }, + { MAP_CALL(CelInfo), SIG_SINCE_SCI21MID, SIGFOR_ALL, "(.*)", kCelInfo_subops, NULL }, { MAP_CALL(SetLanguage), SIG_SINCE_SCI21MID, SIGFOR_ALL, "r", NULL, NULL }, { MAP_CALL(ScrollWindow), SIG_EVERYWHERE, "i(.*)", kScrollWindow_subops, NULL }, { MAP_CALL(SetFontRes), SIG_SCI21EARLY, SIGFOR_ALL, "ii", NULL, NULL }, |