[Scummvm-cvs-logs] SF.net SVN: scummvm: [25807] scummvm/trunk/engines/agos
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Fri Feb 23 11:18:15 CET 2007
Revision: 25807
http://scummvm.svn.sourceforge.net/scummvm/?rev=25807&view=rev
Author: kirben
Date: 2007-02-23 02:18:14 -0800 (Fri, 23 Feb 2007)
Log Message:
-----------
Fix bug #1600999 - SIMON2: Crash while talking to Bingo Bongo. A regression due to the work around for extra long strings been broken, when support for the Feeble Files was added in the past.
Modified Paths:
--------------
scummvm/trunk/engines/agos/res.cpp
scummvm/trunk/engines/agos/res_snd.cpp
scummvm/trunk/engines/agos/script.cpp
scummvm/trunk/engines/agos/script_e2.cpp
Modified: scummvm/trunk/engines/agos/res.cpp
===================================================================
--- scummvm/trunk/engines/agos/res.cpp 2007-02-23 02:35:01 UTC (rev 25806)
+++ scummvm/trunk/engines/agos/res.cpp 2007-02-23 10:18:14 UTC (rev 25807)
@@ -658,12 +658,13 @@
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) {
Modified: scummvm/trunk/engines/agos/res_snd.cpp
===================================================================
--- scummvm/trunk/engines/agos/res_snd.cpp 2007-02-23 02:35:01 UTC (rev 25806)
+++ scummvm/trunk/engines/agos/res_snd.cpp 2007-02-23 10:18:14 UTC (rev 25807)
@@ -191,6 +191,7 @@
} 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)
Modified: scummvm/trunk/engines/agos/script.cpp
===================================================================
--- scummvm/trunk/engines/agos/script.cpp 2007-02-23 02:35:01 UTC (rev 25806)
+++ scummvm/trunk/engines/agos/script.cpp 2007-02-23 10:18:14 UTC (rev 25807)
@@ -614,7 +614,7 @@
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 &&
Modified: scummvm/trunk/engines/agos/script_e2.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e2.cpp 2007-02-23 02:35:01 UTC (rev 25806)
+++ scummvm/trunk/engines/agos/script_e2.cpp 2007-02-23 10:18:14 UTC (rev 25807)
@@ -281,7 +281,7 @@
// 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;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list