[Scummvm-cvs-logs] CVS: scummvm/scumm script_v6.cpp,1.453.2.5,1.453.2.6
Joost Peters
joostp at users.sourceforge.net
Mon Jan 23 11:29:01 CET 2006
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src os5_renderer.cpp,NONE,1.1 be_os5.cpp,1.5,1.6 be_os5.h,1.5,1.6 os5_event.cpp,1.3,1.4 os5_gfx.cpp,1.3,1.4 os5_mouse.cpp,1.3,1.4 os5_overlay.cpp,1.3,1.4 os5_sound.cpp,1.4,1.5
- Next message: [Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src be_os5ex.cpp,NONE,1.1 be_os5ex.h,NONE,1.1 os5ex_sound.cpp,NONE,1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20914/scumm
Modified Files:
Tag: branch-0-8-0
script_v6.cpp
Log Message:
Backport eriktorbjorn's patch for bug #1398195.
Even though I personally don't consider COMI playable/enjoyable on PSP with 0.8.* (speed-wise - it's considerably better with 0.9.0 due to the smooth scrolling optimisation and the increased size of maxHeapThreshold), someone with a high tolerance might actually play it, so I guess we should fix the hang here too.
Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.453.2.5
retrieving revision 1.453.2.6
diff -u -d -r1.453.2.5 -r1.453.2.6
--- script_v6.cpp 18 Jan 2006 18:07:32 -0000 1.453.2.5
+++ script_v6.cpp 23 Jan 2006 19:28:45 -0000 1.453.2.6
@@ -2255,6 +2255,18 @@
int num = getStackList(list, ARRAYSIZE(list));
_sound->soundKludge(list, num);
+
+ // WORKAROUND for bug #1398195: The room-11-2016 script contains a
+ // slight bug causing it to busy-wait for a sound to finish. Even under
+ // the best of circumstances, this will cause the game to hang briefly.
+ // On platforms where threading is cooperative, it will cause the game
+ // to hang indefinitely. We identify the buggy part of the script by
+ // looking for a soundKludge() opcode immediately followed by a jump.
+
+ if (_gameId == GID_CMI && _roomResource == 11 && vm.slot[_currentScript].number == 2016 && *_scriptPointer == 0x66) {
+ debug(3, "Working around script bug in room-11-2016");
+ o6_breakHere();
+ }
}
void ScummEngine_v6::o6_isAnyOf() {
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src os5_renderer.cpp,NONE,1.1 be_os5.cpp,1.5,1.6 be_os5.h,1.5,1.6 os5_event.cpp,1.3,1.4 os5_gfx.cpp,1.3,1.4 os5_mouse.cpp,1.3,1.4 os5_overlay.cpp,1.3,1.4 os5_sound.cpp,1.4,1.5
- Next message: [Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src be_os5ex.cpp,NONE,1.1 be_os5ex.h,NONE,1.1 os5ex_sound.cpp,NONE,1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list