diff options
| -rw-r--r-- | engines/agos/res.cpp | 7 | ||||
| -rw-r--r-- | engines/agos/res_snd.cpp | 1 | ||||
| -rw-r--r-- | engines/agos/script.cpp | 2 | ||||
| -rw-r--r-- | engines/agos/script_e2.cpp | 2 | 
4 files changed, 7 insertions, 5 deletions
| diff --git a/engines/agos/res.cpp b/engines/agos/res.cpp index e1a4129fb1..a7da0fb8d7 100644 --- a/engines/agos/res.cpp +++ b/engines/agos/res.cpp @@ -658,12 +658,13 @@ void AGOSEngine::loadVGAVideoFile(uint id, uint type) {  	uint32 file, offs, srcSize, dstSize;  	uint extraBuffer = 0; -	if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) { -		// !!! HACK !!! +	if ((getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) && +		id == 2 && type == 2) { +		// WORKAROUND: For the exta long strings in foreign languages  		// Allocate more space for text to cope with foreign languages that use  		// up more space than english. I hope 6400 bytes are enough. This number  		// is base on: 2 (lines) * 320 (screen width) * 10 (textheight) -- olki -		extraBuffer = (id == 5 ? 6400 : 0); +		extraBuffer += 6400;  	}  	if (getFeatures() & GF_ZLIBCOMP) { diff --git a/engines/agos/res_snd.cpp b/engines/agos/res_snd.cpp index a236047333..292eb06a80 100644 --- a/engines/agos/res_snd.cpp +++ b/engines/agos/res_snd.cpp @@ -191,6 +191,7 @@ void AGOSEngine::loadMusic(uint music) {  		} else if (getPlatform() == Common::kPlatformAmiga) {  			loadModule(music);  		} else if (getFeatures() & GF_TALKIE) { +			// WORKAROUND: For a script bug in the CD versions  			// We skip this music resource, as it was replaced by  			// a sound effect, and the script was never updated.  			if (music == 35) diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp index 279b5a4b48..8396ee9143 100644 --- a/engines/agos/script.cpp +++ b/engines/agos/script.cpp @@ -614,7 +614,7 @@ void AGOSEngine::o_picture() {  	uint vga_res = getVarOrWord();  	uint mode = getVarOrByte(); -	// Work around a script bug in the Amiga AGA/CD32 versions +	// WORKAROUND: For a script bug in the Amiga AGA/CD32 versions  	// When selecting locations on the magical map, the script looks  	// for vga_res 12701, but only vga_res 12700 exists.  	if (getGameType() == GType_SIMON1 && getPlatform() == Common::kPlatformAmiga && diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp index 31d524fee3..b8a8d8dc34 100644 --- a/engines/agos/script_e2.cpp +++ b/engines/agos/script_e2.cpp @@ -281,7 +281,7 @@ void AGOSEngine::oe2_bNotZero() {  	// 156: is bit set  	uint bit = getVarWrapper(); -	// WORKAROUND: Fix for glitch in some versions +	// WORKAROUND: For for script glitch in some versions  	if (getGameType() == GType_SIMON1 && _subroutine == 2962 && bit == 63) {  		bit = 50;  	} | 
