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 | |
| 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
| -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) | 
