[Scummvm-cvs-logs] CVS: scummvm/scumm string.cpp,1.193.2.8,1.193.2.9 script.cpp,1.149.2.4,1.149.2.5
Max Horn
fingolfin at users.sourceforge.net
Fri Aug 13 02:09:01 CEST 2004
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm script_v2.cpp,2.230.2.5,2.230.2.6 script_v5.cpp,1.226.2.4,1.226.2.5 intern.h,2.138.2.5,2.138.2.6
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm resource.h,1.9,1.9.2.1 script_v6.cpp,1.293.2.21,1.293.2.22 script_v6he.cpp,2.15.2.7,2.15.2.8 script_v8.cpp,2.229.2.8,2.229.2.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16846
Modified Files:
Tag: branch-0-6-0
string.cpp script.cpp
Log Message:
Backported Indy3&COMI workarounds, as well as one speech fix
Index: string.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v
retrieving revision 1.193.2.8
retrieving revision 1.193.2.9
diff -u -d -r1.193.2.8 -r1.193.2.9
--- string.cpp 13 Aug 2004 02:43:05 -0000 1.193.2.8
+++ string.cpp 13 Aug 2004 09:08:26 -0000 1.193.2.9
@@ -216,6 +216,14 @@
_keepText = false;
break;
}
+
+ // FIXME: This is a workaround for bug #864030: In COMI, some text
+ // contains ASCII character 11 = 0xB. It's not quite clear what it is
+ // good for; so for now we just ignore it, which seems to match the
+ // original engine (BTW, traditionally, this is a 'vertical tab').
+ if (c == 0x0B)
+ continue;
+
if (c == 13) {
newLine:;
_charset->_nextLeft = _string[0].xpos;
@@ -424,10 +432,7 @@
// A better name for _blitAlso might be _imprintOnBackground
if (_string[a].no_talk_anim == false) {
- // Sam and Max seems to blitAlso 32 a lot, which does
- // nothing anyway. So just hide that one for brevity.
- if (c != 32)
- debug(1, "Would have set _charset->_blitAlso = true (wanted to print '%c' = %d)", c, c);
+ //warning("Would have set _charset->_blitAlso = true (wanted to print '%c' = %d)", c, c);
_charset->_blitAlso = true;
}
}
@@ -445,7 +450,6 @@
_charset->_nextTop = _charset->_top;
}
-
_string[a].xpos = _charset->_str.right + 8; // Indy3: Fixes Grail Diary text positioning
if (_version >= 7) {
@@ -485,6 +489,15 @@
break;
if (chr == 0xFF) {
chr = src[num++];
+
+ // WORKAROUND for bug #985948, a script bug in Indy3. Apparently,
+ // a german 'sz' was encoded incorrectly as 0xFF2E. We replace
+ // this by the correct encoding here. See also ScummEngine::resStrLen().
+ if (_gameId == GID_INDY3 && chr == 0x2E) {
+ *dst++ = 0xE1;
+ continue;
+ }
+
if (chr == 1 || chr == 2 || chr == 3 || chr == 8) {
// Simply copy these special codes
*dst++ = 0xFF;
@@ -844,6 +857,7 @@
strcat(pointer, ".IMX");
_sound->stopTalkSound();
+ _imuseDigital->stopSound(kTalkSoundID);
_imuseDigital->startVoice(kTalkSoundID, pointer);
_sound->talkSound(0, 0, 2, -1);
}
Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script.cpp,v
retrieving revision 1.149.2.4
retrieving revision 1.149.2.5
diff -u -d -r1.149.2.4 -r1.149.2.5
--- script.cpp 3 Aug 2004 10:36:12 -0000 1.149.2.4
+++ script.cpp 13 Aug 2004 09:08:26 -0000 1.149.2.5
@@ -1017,6 +1017,12 @@
chr = *src++;
num++;
+ // WORKAROUND for bug #985948, a script bug in Indy3. See also
+ // the corresponding code in ScummEngine::addMessageToStack().
+ if (_gameId == GID_INDY3 && chr == 0x2E) {
+ continue;
+ }
+
if (chr != 1 && chr != 2 && chr != 3 && chr != 8) {
if (_version == 8) {
src += 4;
@@ -1113,7 +1119,7 @@
fetchScriptByte();
fetchScriptWord();
- // FIXME: why is this here? it doesn't seem to belong here?
+ // This is based on disassembly
VAR(VAR_OVERRIDE) = 0;
}
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm script_v2.cpp,2.230.2.5,2.230.2.6 script_v5.cpp,1.226.2.4,1.226.2.5 intern.h,2.138.2.5,2.138.2.6
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm resource.h,1.9,1.9.2.1 script_v6.cpp,1.293.2.21,1.293.2.22 script_v6he.cpp,2.15.2.7,2.15.2.8 script_v8.cpp,2.229.2.8,2.229.2.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list