[Scummvm-cvs-logs] scummvm master -> a10c18fd8bd91e35c709b7900b97cc990a758982

bluegr bluegr at gmail.com
Mon Aug 22 18:57:26 CEST 2016


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

Summary:
b620b92ee7 SCI32: Fix fallback detector for SCI32 games again
6b5e87683c SCI32: Reorder the SCI32 palette kernel call assignments
88cffa3220 SCI32: Add stubs for the kPlayVMDSetPreload and kPaletteSetGamma calls
39307d1f4d SCI: Return the correct platform in kPlatform for Mac versions
ba8d6f6c03 SCI32: Move the SCI32 Mac cursor handling code into GfxCursor32
a10c18fd8b SCI32: Add a workaround for kDoSoundPlay for GK1 Mac


Commit: b620b92ee75909e11ecce6c7cd60e121d57360c1
    https://github.com/scummvm/scummvm/commit/b620b92ee75909e11ecce6c7cd60e121d57360c1
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-08-22T18:50:36+03:00

Commit Message:
SCI32: Fix fallback detector for SCI32 games again

A regression from c4250c05d0

Changed paths:
    engines/sci/resource.cpp



diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 2bd941b..2e69932 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -666,6 +666,7 @@ int ResourceManager::addAppropriateSourcesForDetection(const Common::FSList &fsl
 #ifdef ENABLE_SCI32
 	ResourceSource *sci21PatchMap = 0;
 	const Common::FSNode *sci21PatchRes = 0;
+	_multiDiscAudio = false;
 #endif
 
 	// First, find resource.map


Commit: 6b5e87683c4203ac180dffce384791da55d6adb0
    https://github.com/scummvm/scummvm/commit/6b5e87683c4203ac180dffce384791da55d6adb0
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-08-22T18:52:20+03:00

Commit Message:
SCI32: Reorder the SCI32 palette kernel call assignments

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 68611b0..acd1adf 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -294,16 +294,16 @@ static const SciKernelMapSubEntry kPalette_subops[] = {
 	{ SIG_SCI16,          1, MAP_CALL(PaletteSetFromResource),    "i(i)",                 NULL },
 	{ SIG_SCI16,          2, MAP_CALL(PaletteSetFlag),            "iii",                  NULL },
 	{ SIG_SCI16,          3, MAP_CALL(PaletteUnsetFlag),          "iii",                  kPaletteUnsetFlag_workarounds },
-#ifdef ENABLE_SCI32
-	{ SIG_SCI32,          1, MAP_CALL(PaletteSetFromResource32),  "i(i)",                 NULL },
-	{ SIG_SCI32,          2, MAP_CALL(PaletteSetFade),            "iii",                  NULL },
-	{ SIG_SCI32,          3, MAP_CALL(PaletteFindColor32),        "iii",                  NULL },
-#endif
 	{ SIG_SCI16,          4, MAP_CALL(PaletteSetIntensity),       "iii(i)",               NULL },
 	{ SIG_SCI16,          5, MAP_CALL(PaletteFindColor),          "iii",                  NULL },
 	{ SIG_SCI16,          6, MAP_CALL(PaletteAnimate),            "i*",                   NULL },
 	{ SIG_SCI16,          7, MAP_CALL(PaletteSave),               "",                     NULL },
 	{ SIG_SCI16,          8, MAP_CALL(PaletteRestore),            "[r0]",                 NULL },
+#ifdef ENABLE_SCI32
+	{ SIG_SCI32,          1, MAP_CALL(PaletteSetFromResource32),  "i(i)",                 NULL },
+	{ SIG_SCI32,          2, MAP_CALL(PaletteSetFade),            "iii",                  NULL },
+	{ SIG_SCI32,          3, MAP_CALL(PaletteFindColor32),        "iii",                  NULL },
+#endif
 	SCI_SUBOPENTRY_TERMINATOR
 };
 


Commit: 88cffa3220b7a0a2fa79a3315b4c7c4e31069a8e
    https://github.com/scummvm/scummvm/commit/88cffa3220b7a0a2fa79a3315b4c7c4e31069a8e
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-08-22T19:04:26+03:00

Commit Message:
SCI32: Add stubs for the kPlayVMDSetPreload and kPaletteSetGamma calls

These were introduced in SCI3, and are used by RAMA. We don't preload
videos, so we don't really need kPlayVMDSetPreload, but
kPaletteSetGamma may need an implementation.

With these two stubs, the main menu of RAMA is working again

Changed paths:
    engines/sci/engine/kernel.h
    engines/sci/engine/kernel_tables.h
    engines/sci/engine/kgraphics32.cpp



diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index 90f582c..45477e1 100644
--- a/engines/sci/engine/kernel.h
+++ b/engines/sci/engine/kernel.h
@@ -583,6 +583,7 @@ reg_t kSetScroll(EngineState *s, int argc, reg_t *argv);
 reg_t kPaletteSetFromResource32(EngineState *s, int argc, reg_t *argv);
 reg_t kPaletteFindColor32(EngineState *s, int argc, reg_t *argv);
 reg_t kPaletteSetFade(EngineState *s, int argc, reg_t *argv);
+reg_t kPaletteSetGamma(EngineState *s, int argc, reg_t *argv);
 
 reg_t kPalCycle(EngineState *s, int argc, reg_t *argv);
 reg_t kPalCycleSetCycle(EngineState *s, int argc, reg_t *argv);
diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index acd1adf..023a2c0 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -303,6 +303,7 @@ static const SciKernelMapSubEntry kPalette_subops[] = {
 	{ SIG_SCI32,          1, MAP_CALL(PaletteSetFromResource32),  "i(i)",                 NULL },
 	{ SIG_SCI32,          2, MAP_CALL(PaletteSetFade),            "iii",                  NULL },
 	{ SIG_SCI32,          3, MAP_CALL(PaletteFindColor32),        "iii",                  NULL },
+	{ SIG_SCI3,           4, MAP_CALL(PaletteSetGamma),           "i",                    NULL },
 #endif
 	SCI_SUBOPENTRY_TERMINATOR
 };
@@ -465,6 +466,7 @@ static const SciKernelMapSubEntry kPlayVMD_subops[] = {
 	{ SIG_SINCE_SCI21,    18, MAP_DUMMY(PlayVMDStopBlobs),         "",                     NULL },
 	{ SIG_SINCE_SCI21,    21, MAP_CALL(PlayVMDSetBlackoutArea),    "iiii",                 NULL },
 	{ SIG_SINCE_SCI21,    23, MAP_CALL(PlayVMDRestrictPalette),    "ii",                   NULL },
+	{ SIG_SCI3,           28, MAP_EMPTY(PlayVMDSetPreload),        "i",                    NULL },
 	SCI_SUBOPENTRY_TERMINATOR
 };
 
diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp
index 13a209e..f3eec59 100644
--- a/engines/sci/engine/kgraphics32.cpp
+++ b/engines/sci/engine/kgraphics32.cpp
@@ -901,6 +901,19 @@ reg_t kPaletteFindColor32(EngineState *s, int argc, reg_t *argv) {
 	return make_reg(0, g_sci->_gfxPalette32->matchColor(r, g, b));
 }
 
+/*
+ * Used in SCI3. SCI3 contains 6 gamma look-up tables, with the first
+ * table (gamma = 0) being the default one.
+ */
+reg_t kPaletteSetGamma(EngineState *s, int argc, reg_t *argv) {
+	const uint8 gamma = argv[0].toUint16();
+	assert(gamma >= 0 && gamma <= 6);
+
+	warning("TODO: kPaletteSetGamma(%d)", gamma);
+
+	return s->r_acc;
+}
+
 reg_t kPaletteSetFade(EngineState *s, int argc, reg_t *argv) {
 	uint16 fromColor = argv[0].toUint16();
 	uint16 toColor = argv[1].toUint16();


Commit: 39307d1f4da51d9adc78da70ba1eddec237ff48b
    https://github.com/scummvm/scummvm/commit/39307d1f4da51d9adc78da70ba1eddec237ff48b
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-08-22T19:48:56+03:00

Commit Message:
SCI: Return the correct platform in kPlatform for Mac versions

Changed paths:
    engines/sci/engine/kmisc.cpp



diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp
index 448d7bb..ff7370a 100644
--- a/engines/sci/engine/kmisc.cpp
+++ b/engines/sci/engine/kmisc.cpp
@@ -536,6 +536,7 @@ reg_t kMacPlatform(EngineState *s, int argc, reg_t *argv) {
 }
 
 enum kSciPlatforms {
+	kSciPlatformMacintosh = 0,
 	kSciPlatformDOS = 1,
 	kSciPlatformWindows = 2
 };
@@ -574,7 +575,12 @@ reg_t kPlatform(EngineState *s, int argc, reg_t *argv) {
 			return kMacPlatform(s, argc - 1, argv + 1);
 		// Otherwise, fall through
 	case kPlatformGetPlatform:
-		return make_reg(0, (isWindows) ? kSciPlatformWindows : kSciPlatformDOS);
+		if (isWindows)
+			return make_reg(0, kSciPlatformWindows);
+		else if (g_sci->getPlatform() == Common::kPlatformMacintosh)
+			return make_reg(0, kSciPlatformMacintosh);
+		else
+			return make_reg(0, kSciPlatformDOS);
 	case kPlatformUnknown5:
 		// This case needs to return the opposite of case 6 to get hires graphics
 		return make_reg(0, !isWindows);
@@ -606,6 +612,8 @@ reg_t kPlatform32(EngineState *s, int argc, reg_t *argv) {
 			return make_reg(0, kSciPlatformDOS);
 		case Common::kPlatformWindows:
 			return make_reg(0, kSciPlatformWindows);
+		case Common::kPlatformMacintosh:
+			return make_reg(0, kSciPlatformMacintosh);
 		default:
 			error("Unknown platform %d", g_sci->getPlatform());
 		}


Commit: ba8d6f6c0336b105127efb229989c6c76ad5e677
    https://github.com/scummvm/scummvm/commit/ba8d6f6c0336b105127efb229989c6c76ad5e677
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-08-22T19:56:06+03:00

Commit Message:
SCI32: Move the SCI32 Mac cursor handling code into GfxCursor32

This was left in the SCI16 code in commit 80d9182554

Changed paths:
    engines/sci/engine/kernel_tables.h
    engines/sci/engine/kmisc.cpp
    engines/sci/graphics/cursor.cpp
    engines/sci/graphics/cursor.h
    engines/sci/graphics/cursor32.cpp
    engines/sci/graphics/cursor32.h



diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index 023a2c0..3bfc6ef 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -711,6 +711,7 @@ static SciKernelMapEntry s_kernelMap[] = {
 	{ MAP_CALL(PicNotValid),       SIG_EVERYWHERE,           "(i)",                   NULL,            NULL },
 	{ MAP_CALL(Platform),          SIG_SCI16, SIGFOR_ALL,    "(.*)",                  NULL,            NULL },
 #ifdef ENABLE_SCI32
+	{ "Platform", kPlatform32,     SIG_SCI32, SIGFOR_MAC,    "(.*)",                  NULL,            NULL },
 	{ "Platform", kPlatform32,     SIG_SCI32, SIGFOR_ALL,    "(i)",                   NULL,            NULL },
 #endif
 	{ MAP_CALL(Portrait),          SIG_EVERYWHERE,           "i(.*)",                 NULL,            NULL }, // subop
@@ -752,6 +753,7 @@ static SciKernelMapEntry s_kernelMap[] = {
 	{ MAP_CALL(ShowMovie),         SIG_SCI16, SIGFOR_ALL,    "(.*)",                  NULL,            NULL },
 #ifdef ENABLE_SCI32
 	{ "ShowMovie", kShowMovie32,   SIG_SCI32, SIGFOR_DOS,    "ri(i)(i)",              NULL,            NULL },
+	{ "ShowMovie", kShowMovie32,   SIG_SCI32, SIGFOR_MAC,    "ri(i)(i)",              NULL,            NULL },
 	{ "ShowMovie", kShowMovieWin,  SIG_SCI32, SIGFOR_WIN,    "(.*)",                  kShowMovieWin_subops, NULL },
 #endif
 	{ MAP_CALL(Show),              SIG_EVERYWHERE,           "i",                     NULL,            NULL },
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp
index ff7370a..70a1d69 100644
--- a/engines/sci/engine/kmisc.cpp
+++ b/engines/sci/engine/kmisc.cpp
@@ -30,6 +30,9 @@
 #include "sci/engine/kernel.h"
 #include "sci/engine/gc.h"
 #include "sci/graphics/cursor.h"
+#ifdef ENABLE_SCI32
+#include "sci/graphics/cursor32.h"
+#endif
 #include "sci/graphics/maciconbar.h"
 #include "sci/console.h"
 
@@ -512,7 +515,7 @@ reg_t kMacPlatform(EngineState *s, int argc, reg_t *argv) {
 		// In SCI1.1, it's NOP
 		// In SCI32, it's used for remapping cursor ID's
 		if (getSciVersion() >= SCI_VERSION_2_1_EARLY) // Set Mac cursor remap
-			g_sci->_gfxCursor->setMacCursorRemapList(argc - 1, argv + 1);
+			g_sci->_gfxCursor32->setMacCursorRemapList(argc - 1, argv + 1);
 		else if (getSciVersion() != SCI_VERSION_1_1)
 			warning("Unknown SCI1 kMacPlatform(0) call");
 		break;
@@ -613,7 +616,11 @@ reg_t kPlatform32(EngineState *s, int argc, reg_t *argv) {
 		case Common::kPlatformWindows:
 			return make_reg(0, kSciPlatformWindows);
 		case Common::kPlatformMacintosh:
-			return make_reg(0, kSciPlatformMacintosh);
+			// For Mac versions, kPlatform(0) with other args has more functionality
+			if (argc > 1)
+				return kMacPlatform(s, argc - 1, argv + 1);
+			else
+				return make_reg(0, kSciPlatformMacintosh);
 		default:
 			error("Unknown platform %d", g_sci->getPlatform());
 		}
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index c322912..7cf9a57 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -512,32 +512,18 @@ void GfxCursor::kernelSetMacCursor(GuiResourceId viewNum, int loopNum, int celNu
 	// automatically. The view resources may exist, but none of the games actually
 	// use them.
 
-	if (_macCursorRemap.empty()) {
-		// QFG1/Freddy/Hoyle4 use a straight viewNum->cursor ID mapping
-		// KQ6 uses this mapping for its cursors
-		if (g_sci->getGameId() == GID_KQ6) {
-			if (viewNum == 990)      // Inventory Cursors
-				viewNum = loopNum * 16 + celNum + 2000;
-			else if (viewNum == 998) // Regular Cursors
-				viewNum = celNum + 1000;
-			else                     // Unknown cursor, ignored
-				return;
-		}
-		if (g_sci->hasMacIconBar())
-			g_sci->_gfxMacIconBar->setInventoryIcon(viewNum);
-	} else {
-		// If we do have the list, we'll be using a remap based on what the
-		// scripts have given us.
-		for (uint32 i = 0; i < _macCursorRemap.size(); i++) {
-			if (viewNum == _macCursorRemap[i]) {
-				viewNum = (i + 1) * 0x100 + loopNum * 0x10 + celNum;
-				break;
-			}
-
-			if (i == _macCursorRemap.size())
-				error("Unmatched Mac cursor %d", viewNum);
-		}
+	// QFG1/Freddy/Hoyle4 use a straight viewNum->cursor ID mapping
+	// KQ6 uses this mapping for its cursors
+	if (g_sci->getGameId() == GID_KQ6) {
+		if (viewNum == 990)      // Inventory Cursors
+			viewNum = loopNum * 16 + celNum + 2000;
+		else if (viewNum == 998) // Regular Cursors
+			viewNum = celNum + 1000;
+		else                     // Unknown cursor, ignored
+			return;
 	}
+	if (g_sci->hasMacIconBar())
+		g_sci->_gfxMacIconBar->setInventoryIcon(viewNum);
 
 	Resource *resource = _resMan->findResource(ResourceId(kResourceTypeCursor, viewNum), false);
 
@@ -568,9 +554,4 @@ void GfxCursor::kernelSetMacCursor(GuiResourceId viewNum, int loopNum, int celNu
 	kernelShow();
 }
 
-void GfxCursor::setMacCursorRemapList(int cursorCount, reg_t *cursors) {
-	for (int i = 0; i < cursorCount; i++)
-		_macCursorRemap.push_back(cursors[i].toUint16());
-}
-
 } // End of namespace Sci
diff --git a/engines/sci/graphics/cursor.h b/engines/sci/graphics/cursor.h
index c57d9da..36518ea 100644
--- a/engines/sci/graphics/cursor.h
+++ b/engines/sci/graphics/cursor.h
@@ -95,8 +95,6 @@ public:
 	void kernelSetPos(Common::Point pos);
 	void kernelMoveCursor(Common::Point pos);
 
-	void setMacCursorRemapList(int cursorCount, reg_t *cursors);
-
 private:
 	void purgeCache();
 
@@ -136,9 +134,6 @@ private:
 	// these instead and replace the game's gold cursors with their silver
 	// equivalents.
 	bool _useSilverSQ4CDCursors;
-
-	// Mac versions of games use a remap list to remap their cursors
-	Common::Array<uint16> _macCursorRemap;
 };
 
 } // End of namespace Sci
diff --git a/engines/sci/graphics/cursor32.cpp b/engines/sci/graphics/cursor32.cpp
index 014b617..88150db 100644
--- a/engines/sci/graphics/cursor32.cpp
+++ b/engines/sci/graphics/cursor32.cpp
@@ -22,7 +22,9 @@
 
 #include "common/rational.h"        // for Rational, operator*
 #include "common/system.h"          // for OSystem, g_system
+#include "common/memstream.h"
 #include "graphics/cursorman.h"     // for CursorMan
+#include "graphics/maccursor.h"
 #include "sci/graphics/celobj32.h"  // for CelObjView, CelInfo32, Ratio
 #include "sci/graphics/cursor32.h"
 #include "sci/graphics/frameout.h"  // for GfxFrameout
@@ -176,7 +178,7 @@ void GfxCursor32::setView(const GuiResourceId viewId, const int16 loopNo, const
 	_cursorInfo.loopNo = loopNo;
 	_cursorInfo.celNo = celNo;
 
-	if (viewId != -1) {
+	if (_macCursorRemap.empty() && viewId != -1) {
 		CelObjView view(viewId, loopNo, celNo);
 
 		_hotSpot = view._displace;
@@ -217,6 +219,50 @@ void GfxCursor32::setView(const GuiResourceId viewId, const int16 loopNo, const
 		} else {
 			view.draw(target, _cursor.rect, Common::Point(0, 0), false);
 		}
+	} else if (!_macCursorRemap.empty() && viewId != -1) {
+		// Mac cursor handling
+		GuiResourceId viewNum = viewId;
+
+		// Remap cursor view based on what the scripts have given us.
+		for (uint32 i = 0; i < _macCursorRemap.size(); i++) {
+			if (viewNum == _macCursorRemap[i]) {
+				viewNum = (i + 1) * 0x100 + loopNo * 0x10 + celNo;
+				break;
+			}
+
+			if (i == _macCursorRemap.size())
+				error("Unmatched Mac cursor %d", viewNum);
+		}
+
+		_cursorInfo.resourceId = viewNum;
+
+		Resource *resource = g_sci->getResMan()->findResource(ResourceId(kResourceTypeCursor, viewNum), false);
+
+		if (!resource) {
+			// The cursor resources often don't exist, this is normal behavior
+			debug(0, "Mac cursor %d not found", viewNum);
+			return;
+		}
+		Common::MemoryReadStream resStream(resource->data, resource->size);
+		Graphics::MacCursor *macCursor = new Graphics::MacCursor();
+
+		if (!macCursor->readFromStream(resStream)) {
+			warning("Failed to load Mac cursor %d", viewNum);
+			delete macCursor;
+			return;
+		}
+
+		_hotSpot = Common::Point(macCursor->getHotspotX(), macCursor->getHotspotY());
+		_width = macCursor->getWidth();
+		_height = macCursor->getHeight();
+
+		_cursor.data = (byte *)realloc(_cursor.data, _width * _height);
+		memcpy(_cursor.data, macCursor->getSurface(), _width * _height);
+		_cursor.rect = Common::Rect(_width, _height);
+		_cursor.skipColor = macCursor->getKeyColor();
+
+		// The cursor will be drawn on next refresh
+		delete macCursor;
 	} else {
 		_hotSpot = Common::Point(0, 0);
 		_width = _height = 1;
@@ -393,4 +439,10 @@ void GfxCursor32::move() {
 		drawToHardware(_drawBuff2);
 	}
 }
+
+void GfxCursor32::setMacCursorRemapList(int cursorCount, reg_t *cursors) {
+	for (int i = 0; i < cursorCount; i++)
+		_macCursorRemap.push_back(cursors[i].toUint16());
+}
+
 } // End of namespace Sci
diff --git a/engines/sci/graphics/cursor32.h b/engines/sci/graphics/cursor32.h
index d474553..88a75be 100644
--- a/engines/sci/graphics/cursor32.h
+++ b/engines/sci/graphics/cursor32.h
@@ -109,6 +109,8 @@ public:
 	 */
 	void clearRestrictedArea();
 
+	void setMacCursorRemapList(int cursorCount, reg_t *cursors);
+
 	virtual void saveLoadWithSerializer(Common::Serializer &ser);
 
 private:
@@ -203,6 +205,9 @@ private:
 	 */
 	bool _writeToVMAP;
 
+	// Mac versions of games use a remap list to remap their cursors
+	Common::Array<uint16> _macCursorRemap;
+
 	/**
 	 * Reads data from the output buffer or hardware
 	 * to the given draw region.


Commit: a10c18fd8bd91e35c709b7900b97cc990a758982
    https://github.com/scummvm/scummvm/commit/a10c18fd8bd91e35c709b7900b97cc990a758982
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-08-22T19:57:02+03:00

Commit Message:
SCI32: Add a workaround for kDoSoundPlay for GK1 Mac

Changed paths:
    engines/sci/engine/workarounds.cpp



diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index bc13908..c9b0001 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -519,6 +519,7 @@ const SciWorkaroundEntry kDoSoundPlay_workarounds[] = {
 	{ GID_LSL6HIRES,    -1,  64989,   0,          NULL,          "play",                    NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // always passes an extra null argument
 	{ GID_QFG4,         -1,  64989,   0,          NULL,          "play",                    NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // always passes an extra null argument
 	{ GID_PQ4,          -1,  64989,   0,          NULL,          "play",                    NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // always passes an extra null argument
+	{ GID_GK1,          -1,  64989,   0,          NULL,          "play",                    NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // Mac version always passes an extra null argument
 	SCI_WORKAROUNDENTRY_TERMINATOR
 };
 






More information about the Scummvm-git-logs mailing list