diff options
author | Nicola Mettifogo | 2008-06-24 13:21:22 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2008-06-24 13:21:22 +0000 |
commit | 28e32bb7cb6df6610e137500c0187d4ba36d8bdf (patch) | |
tree | cfcf720267b1cccc04bfeb39ec4525ba7ffbdc02 /engines/parallaction | |
parent | 0b58aea011b248e35236c3e6c24858f5f2071c42 (diff) | |
download | scummvm-rg350-28e32bb7cb6df6610e137500c0187d4ba36d8bdf.tar.gz scummvm-rg350-28e32bb7cb6df6610e137500c0187d4ba36d8bdf.tar.bz2 scummvm-rg350-28e32bb7cb6df6610e137500c0187d4ba36d8bdf.zip |
Fix for bug #2001193. Character confirmation screen didn't appear and game crashed because too many strings were added to the draw list.
svn-id: r32762
Diffstat (limited to 'engines/parallaction')
-rw-r--r-- | engines/parallaction/callables_ns.cpp | 5 | ||||
-rw-r--r-- | engines/parallaction/gui_ns.cpp | 2 | ||||
-rw-r--r-- | engines/parallaction/parallaction.h | 3 | ||||
-rw-r--r-- | engines/parallaction/parallaction_ns.cpp | 8 |
4 files changed, 15 insertions, 3 deletions
diff --git a/engines/parallaction/callables_ns.cpp b/engines/parallaction/callables_ns.cpp index 68e6a70ffb..36f5b00c5b 100644 --- a/engines/parallaction/callables_ns.cpp +++ b/engines/parallaction/callables_ns.cpp @@ -417,6 +417,11 @@ void Parallaction_ns::_c_ridux(void *parm) { } void Parallaction_ns::_c_testResult(void *parm) { + if (_inTestResult) { + return; + } + _inTestResult = true; + _gfx->updateScreen(); _disk->selectArchive("disk1"); diff --git a/engines/parallaction/gui_ns.cpp b/engines/parallaction/gui_ns.cpp index 1d4d44fa46..9c48586dbc 100644 --- a/engines/parallaction/gui_ns.cpp +++ b/engines/parallaction/gui_ns.cpp @@ -166,6 +166,8 @@ void Parallaction_ns::guiStart() { } void Parallaction_ns::selectStartLocation() { + _inTestResult = false; + int character = guiSelectCharacter(); if (character == -1) error("invalid character selected from menu screen"); diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h index 5ae1386378..f9c2c86a1b 100644 --- a/engines/parallaction/parallaction.h +++ b/engines/parallaction/parallaction.h @@ -548,6 +548,9 @@ private: ZonePtr _moveSarcExaZones[5]; AnimationPtr _rightHandAnim; + bool _inTestResult; + + // common callables void _c_play_boogie(void*); void _c_startIntro(void*); diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp index f346a278f7..59b9465d0a 100644 --- a/engines/parallaction/parallaction_ns.cpp +++ b/engines/parallaction/parallaction_ns.cpp @@ -147,6 +147,8 @@ int Parallaction_ns::init() { num_foglie = 0; + _inTestResult = false; + _location._animations.push_front(_char._ani); Parallaction::init(); @@ -156,7 +158,7 @@ int Parallaction_ns::init() { Parallaction_ns::~Parallaction_ns() { freeFonts(); - + delete _locationParser; delete _programParser; delete _mouseComposedArrow; @@ -235,10 +237,10 @@ int Parallaction_ns::go() { _globalTable = _disk->loadTable("global"); guiStart(); - + if (_engineFlags & kEngineQuit) return 0; - + changeLocation(_location._name); if (_engineFlags & kEngineQuit) |