diff options
| author | Florian Kagerer | 2010-10-30 18:37:15 +0000 | 
|---|---|---|
| committer | Florian Kagerer | 2010-10-30 18:37:15 +0000 | 
| commit | a04b4e6517adf73d2738e9efdc70e8c5af355e1b (patch) | |
| tree | a89a0d48f2709fe93fc0d8707b4b37d573242abc | |
| parent | 14d8d589e24c64370ed2ba8fb5254066b7ab1d47 (diff) | |
| download | scummvm-rg350-a04b4e6517adf73d2738e9efdc70e8c5af355e1b.tar.gz scummvm-rg350-a04b4e6517adf73d2738e9efdc70e8c5af355e1b.tar.bz2 scummvm-rg350-a04b4e6517adf73d2738e9efdc70e8c5af355e1b.zip  | |
LOL: workaround for bug #3098935
(Vaelan's Cube can be duplicated at Scotia's Barrier)
This is a bug in the game data of early unpatched floppy versions.
This can also be fixed by applying the official patch (ftp://ftp.westwood.com/pub/lands1/updates/lolus123.exe).
svn-id: r53954
| -rw-r--r-- | engines/kyra/detection_tables.h | 17 | ||||
| -rw-r--r-- | engines/kyra/script_lol.cpp | 6 | 
2 files changed, 23 insertions, 0 deletions
diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h index 84e0f343a7..5c97df8895 100644 --- a/engines/kyra/detection_tables.h +++ b/engines/kyra/detection_tables.h @@ -1146,6 +1146,23 @@ const KYRAGameDescription adGameDescs[] = {  			"lol",  			"Extracted",  			{ +				{ "GENERAL.PAK", 0, "d119e3b57f8e5edcbb90980ca6f4215a", -1 }, +				{ "CHAPTER7.PAK", 0, "71a3d3cb1554294646a389e5c345cf28", -1 }, +				{ 0, 0, 0, 0 } +			}, +			Common::EN_ANY, +			Common::kPlatformPC, +			ADGF_NO_FLAGS, +			Common::GUIO_NOSPEECH | Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM | Common::GUIO_MIDIPCSPK +		}, +		LOL_FLOPPY_FLAGS +	}, + +	{ +		{ +			"lol", +			"Extracted", +			{  				{ "GENERAL.PAK", 0, "996e66e81054d36249907a1d8158da3d", -1 },  				{ "CHAPTER7.PAK", 0, "cabee57f00d6d84b65a732b6868a4959", -1 },  				{ 0, 0, 0, 0 } diff --git a/engines/kyra/script_lol.cpp b/engines/kyra/script_lol.cpp index 864b6c39c7..33fa16a22c 100644 --- a/engines/kyra/script_lol.cpp +++ b/engines/kyra/script_lol.cpp @@ -267,6 +267,12 @@ int LoLEngine::olol_setItemProperty(EMCState *script) {  	tmp->nameStringId = stackPos(1);  	tmp->shpIndex = stackPos(2);  	tmp->type = stackPos(3); + +	// WORKAROUND for unpatched early floppy versions. +	// The Vaelan's cube should not be able to be equipped in a weapon slot. +	if (stackPos(0) == 264 && tmp->type == 5) +		tmp->type = 0; +  	tmp->itemScriptFunc = stackPos(4);  	tmp->might = stackPos(5);  	tmp->skill = stackPos(6);  | 
