[Scummvm-git-logs] scummvm master -> 97cb7ce521004e20fbf8372cd5fcc9f4f3976c5f

sluicebox 22204938+sluicebox at users.noreply.github.com
Mon Jun 1 05:41:39 UTC 2020


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
7343e0bdd8 SCI: Update kernel table data types comment
97cb7ce521 SCI32: Fix kBitmap kernel signature


Commit: 7343e0bdd8186531c526608c1b0a623745dd6b18
    https://github.com/scummvm/scummvm/commit/7343e0bdd8186531c526608c1b0a623745dd6b18
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2020-05-31T22:36:18-07:00

Commit Message:
SCI: Update kernel table data types comment

Changed paths:
    engines/sci/engine/kernel_tables.h


diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index 7b635bc578..fbab753f18 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -39,6 +39,7 @@ namespace Sci {
 // i - regular integer
 // o - object
 // r - reference
+// l - list
 // n - node
 // 0 - NULL
 // . - any


Commit: 97cb7ce521004e20fbf8372cd5fcc9f4f3976c5f
    https://github.com/scummvm/scummvm/commit/97cb7ce521004e20fbf8372cd5fcc9f4f3976c5f
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2020-05-31T22:36:36-07:00

Commit Message:
SCI32: Fix kBitmap kernel signature

kBitmap's kernel signature is incorrect and out of sync with the
signatures of its sub operations, causing valid calls to subop #1
(BitmapDestroy) to fail. BitmapDestroy allows an invalid reference
to be passed, which GK1 Mac does when decoding the Rada drums in
room 410, but kBitmap's signature doesn't.

Fixed by applying the correct signature, which is the same as kFileIO
which has a similar structure: require an integer for the subop and
then allow anything, including invalid references.

Changed paths:
    engines/sci/engine/kernel_tables.h


diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index fbab753f18..7f2fa27673 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -980,7 +980,7 @@ static SciKernelMapEntry s_kernelMap[] = {
 	{ MAP_CALL(ScrollWindow),      SIG_EVERYWHERE,           "i(.*)",                 kScrollWindow_subops, NULL },
 	{ MAP_CALL(SetFontRes),        SIG_SCI21EARLY, SIGFOR_ALL, "ii",                  NULL,            NULL },
 	{ MAP_CALL(Font),              SIG_SINCE_SCI21MID, SIGFOR_ALL, "i(.*)",           kFont_subops,    NULL },
-	{ MAP_CALL(Bitmap),            SIG_EVERYWHERE,           "(.*)",                  kBitmap_subops,  NULL },
+	{ MAP_CALL(Bitmap),            SIG_EVERYWHERE,           "i([.!]*)",              kBitmap_subops,  NULL },
 	{ MAP_CALL(AddLine),           SIG_EVERYWHERE,           "oiiii(iiiii)",          NULL,            NULL },
 	// The first argument is a ScreenItem instance ID that is created by the
 	// engine, not the VM; as a result, in ScummVM, this argument looks like




More information about the Scummvm-git-logs mailing list