[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.409,1.410 vga.cpp,1.109,1.110
Travis Howell
kirben at users.sourceforge.net
Thu Jan 1 02:43:02 CET 2004
Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1:/tmp/cvs-serv8667/simon
Modified Files:
simon.cpp vga.cpp
Log Message:
Add work around for bug in French version of Simon the Sorcerer 1
Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.409
retrieving revision 1.410
diff -u -d -r1.409 -r1.410
--- simon.cpp 1 Jan 2004 09:00:40 -0000 1.409
+++ simon.cpp 1 Jan 2004 10:42:10 -0000 1.410
@@ -2579,6 +2579,16 @@
void SimonEngine::add_vga_timer(uint num, byte *code_ptr, uint cur_sprite, uint cur_file) {
VgaTimerEntry *vte;
+ // When Simon talks to the Golum about stew in French version of
+ // Simon the Sorcerer 1 the code_ptr is at wrong location for
+ // sprite 200. This was a bug in the original game, which
+ // caused several glitches in this scene.
+ // We work around the problem by correcting the code_ptr for sprite
+ // 200 in this scene, if it is wrong.
+ if (!(_game & GF_SIMON2) && (_language == 2) &&
+ (code_ptr - _vga_buffer_pointers[cur_file].vgaFile1 == 4) && (cur_sprite == 200) && (cur_file == 2))
+ code_ptr += 0x66;
+
_lock_word |= 1;
for (vte = _vga_timer_list; vte->delay; vte++) {
Index: vga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/vga.cpp,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- vga.cpp 1 Jan 2004 05:13:17 -0000 1.109
+++ vga.cpp 1 Jan 2004 10:42:10 -0000 1.110
@@ -128,14 +128,6 @@
opcode = *_vc_ptr++;
}
- // HACK Stop ScummVM error when Simon talks to Golum about Stew
- // in French version of Simon the Sorcerer 1. This was a bug in
- // the original game, which just ignored the invalid opcodes.
- // Unfortunately causes no subtitles and a stack of wait timeouts,
- // which also occured in original game.
- if (!(_game & GF_SIMON2) && (_language == 2) && opcode == 207)
- return;
-
if (opcode >= NUM_VIDEO_OP_CODES)
error("Invalid VGA opcode '%d' encountered", opcode);
More information about the Scummvm-git-logs
mailing list