diff options
author | Florian Kagerer | 2008-02-17 21:58:46 +0000 |
---|---|---|
committer | Florian Kagerer | 2008-02-17 21:58:46 +0000 |
commit | 2032965063c0f278d132ff10019bd2a25b4d7f5d (patch) | |
tree | e17927bf257f56eaec1921f8b056f53eaa083507 | |
parent | d2513eb5f5b45bb8d8d466cb06ba9ab9ee7880bd (diff) | |
download | scummvm-rg350-2032965063c0f278d132ff10019bd2a25b4d7f5d.tar.gz scummvm-rg350-2032965063c0f278d132ff10019bd2a25b4d7f5d.tar.bz2 scummvm-rg350-2032965063c0f278d132ff10019bd2a25b4d7f5d.zip |
scripting bug fix (npc scene startup scripts were executed twice)
svn-id: r30899
-rw-r--r-- | engines/kyra/kyra_v2.h | 1 | ||||
-rw-r--r-- | engines/kyra/script_v2.cpp | 5 | ||||
-rw-r--r-- | engines/kyra/text_v2.cpp | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/engines/kyra/kyra_v2.h b/engines/kyra/kyra_v2.h index f35efa1d8d..675947d2e7 100644 --- a/engines/kyra/kyra_v2.h +++ b/engines/kyra/kyra_v2.h @@ -666,7 +666,6 @@ protected: int _npcTalkDlgIndex; uint8 _newSceneDlgState[32]; int8 **_conversationState; - uint8 _npcTalkUNK; uint8 *_dlgBuffer; // tim sequence diff --git a/engines/kyra/script_v2.cpp b/engines/kyra/script_v2.cpp index 587115551d..6f7d5a91f9 100644 --- a/engines/kyra/script_v2.cpp +++ b/engines/kyra/script_v2.cpp @@ -455,9 +455,10 @@ int KyraEngine_v2::o2_enterNewSceneEx(ScriptState *script) { debugC(3, kDebugLevelScriptFuncs, "o2_enterNewSceneEx(%p) (%d, %d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4)); - enterNewScene(stackPos(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4)); + int skipNpcScript = stackPos(3); + enterNewScene(stackPos(0), stackPos(1), stackPos(2), skipNpcScript, stackPos(4)); - if (!stackPos(3)) + if (!skipNpcScript) runSceneScript4(0); _unk5 = 1; diff --git a/engines/kyra/text_v2.cpp b/engines/kyra/text_v2.cpp index 5857fdae66..c5252d78aa 100644 --- a/engines/kyra/text_v2.cpp +++ b/engines/kyra/text_v2.cpp @@ -642,7 +642,7 @@ void KyraEngine_v2::setNewDlgIndex(int dlgIndex) { memset(_newSceneDlgState, 0, 32); for (int i = 0; i < 19; i++) memset(_conversationState[i], -1, 14); - _npcTalkUNK = 0; + _unkFlag1 = false; _mainCharacter.dlgIndex = dlgIndex; } |