[Scummvm-cvs-logs] CVS: tools descumm.cpp,1.90,1.91
Max Horn
fingolfin at users.sourceforge.net
Mon Aug 2 13:56:48 CEST 2004
Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1334
Modified Files:
descumm.cpp
Log Message:
don't duplicate code; fix get_ascii; add workaround for bug #985948
Index: descumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm.cpp,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- descumm.cpp 24 Jul 2004 11:15:05 -0000 1.90
+++ descumm.cpp 2 Aug 2004 20:55:05 -0000 1.91
@@ -563,9 +563,17 @@
break;
buf = putascii(buf, i);
if (i == 255) {
- buf = putascii(buf, get_byte());
- buf = putascii(buf, get_byte());
- buf = putascii(buf, get_byte());
+ i = get_byte();
+ buf = putascii(buf, i);
+
+ // Workaround for a script bug in Indy3
+ if (i == 46 && scriptVersion == 3 && IndyFlag)
+ continue;
+
+ if (i != 1 && i != 2 && i != 3 && i != 8) {
+ buf = putascii(buf, get_byte());
+ buf = putascii(buf, get_byte());
+ }
}
} while (1);
@@ -1571,22 +1579,9 @@
buf = do_tok(buf, "PlayCDTrack", ((opcode & 0x80) ? A1V : A1W) | ((opcode & 0x40) ? A2V : A2W));
break;
case 0xF:{
- buf = strecpy(buf, "Text(\"");
- while (1) {
- i = get_byte();
- if (!i)
- break;
- buf = putascii(buf, i);
- if (i == 255) {
- i = get_byte();
- buf = putascii(buf, i);
- if (i == 0 || i != 2 && i != 3 && i != 8) {
- buf = putascii(buf, get_byte());
- buf = putascii(buf, get_byte());
- }
- }
- }
- buf = strecpy(buf, "\")");
+ buf = strecpy(buf, "Text(");
+ buf = get_ascii(buf);
+ buf = strecpy(buf, ")");
}
goto exit_proc;
default:
More information about the Scummvm-git-logs
mailing list