From 6abd63b804de6d4edd503a750cf89e96a9bfebe3 Mon Sep 17 00:00:00 2001 From: Thierry Crozat Date: Thu, 27 Oct 2011 21:49:33 +0100 Subject: SWORD1: Fix crash when using cutscene subtitles with mac version It might have been simpler to add a bool to Text::makeTextSprite() to tell it to not byteswap the frame size when called from the movie player but I was not sure it was a good idea to have frames with different endianness stored in Text depending where they came from. --- engines/sword1/logic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/sword1/logic.cpp') diff --git a/engines/sword1/logic.cpp b/engines/sword1/logic.cpp index d1c69c80ff..9d92a29a63 100644 --- a/engines/sword1/logic.cpp +++ b/engines/sword1/logic.cpp @@ -959,7 +959,7 @@ int Logic::fnPlaySequence(Object *cpt, int32 id, int32 sequenceId, int32 d, int3 // meantime, we don't want any looping sound effects still playing. _sound->quitScreen(); - MoviePlayer *player = makeMoviePlayer(sequenceId, _vm, _textMan, _mixer, _system); + MoviePlayer *player = makeMoviePlayer(sequenceId, _vm, _textMan, _resMan, _mixer, _system); if (player) { _screen->clearScreen(); if (player->load(sequenceId)) -- cgit v1.2.3 From 5e4ee6d07792a976280cb00e01d3cb0f64be4f04 Mon Sep 17 00:00:00 2001 From: Thierry Crozat Date: Mon, 31 Oct 2011 21:02:59 +0000 Subject: SWORD1: Fix bug #3430793 Freeze before meeting with police --- engines/sword1/logic.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engines/sword1/logic.cpp') diff --git a/engines/sword1/logic.cpp b/engines/sword1/logic.cpp index 9d92a29a63..8e04861edf 100644 --- a/engines/sword1/logic.cpp +++ b/engines/sword1/logic.cpp @@ -520,7 +520,7 @@ int Logic::interpretScript(Object *compact, int id, Header *scriptModule, int sc case IT_PUSHVARIABLE: debug(9, "IT_PUSHVARIABLE: ScriptVar[%d] => %d", scriptCode[pc], _scriptVars[scriptCode[pc]]); varNum = scriptCode[pc++]; - if (SwordEngine::_systemVars.isDemo && SwordEngine::isPc()) { + if (SwordEngine::_systemVars.isDemo && SwordEngine::isWindows()) { if (varNum >= 397) // BS1 Demo has different number of script variables varNum++; if (varNum >= 699) @@ -611,7 +611,7 @@ int Logic::interpretScript(Object *compact, int id, Header *scriptModule, int sc case IT_POPVAR: // pop a variable debug(9, "IT_POPVAR: ScriptVars[%d] = %d", scriptCode[pc], stack[stackIdx - 1]); varNum = scriptCode[pc++]; - if (SwordEngine::_systemVars.isDemo && SwordEngine::isPc()) { + if (SwordEngine::_systemVars.isDemo && SwordEngine::isWindows()) { if (varNum >= 397) // BS1 Demo has different number of script variables varNum++; if (varNum >= 699) -- cgit v1.2.3