SCUMM: ZAKFM Add script bug workaround, fixes bug #5624
Due to poor translation of the v2 script to v5 an if statement jumps in the middle of a cutscene causing a endCutscene() without a begin cutscene() Previous "fixes" do improve the code, but do not fix this cutscene issue. See also https://bugs.scummvm.org/ticket/3099 https://bugs.scummvm.org/ticket/5624 and commits1d40f78499
Fixes the mistranslation of getState08(465) into classOfIs(465,[0]) at 001A0725be325f
Fixes several mistranslations of setClass
This commit is contained in:
parent
e7e4da04a0
commit
34df7b9891
1 changed files with 9 additions and 1 deletions
|
@ -1524,8 +1524,16 @@ void ScummEngine::endCutscene() {
|
|||
vm.cutSceneScript[vm.cutSceneStackPointer] = 0;
|
||||
vm.cutScenePtr[vm.cutSceneStackPointer] = 0;
|
||||
|
||||
if (0 == vm.cutSceneStackPointer)
|
||||
if (0 == vm.cutSceneStackPointer) {
|
||||
// WORKAROUND bug #5624: Due to poor translation of the v2 script to
|
||||
// v5 an if statement jumps in the middle of a cutscene causing a
|
||||
// endCutscene() without a begin cutscene()
|
||||
if (_game.id == GID_ZAK && _game.platform == Common::kPlatformFMTowns &&
|
||||
vm.slot[_currentScript].number == 205 && _currentRoom == 185) {
|
||||
return;
|
||||
}
|
||||
error("Cutscene stack underflow");
|
||||
}
|
||||
vm.cutSceneStackPointer--;
|
||||
|
||||
if (VAR(VAR_CUTSCENE_END_SCRIPT))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue