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
This commit is contained in:
Nicola Mettifogo 2008-06-24 13:21:22 +00:00
parent 0b58aea011
commit 28e32bb7cb
4 changed files with 15 additions and 3 deletions

View File

@ -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");

View File

@ -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");

View File

@ -548,6 +548,9 @@ private:
ZonePtr _moveSarcExaZones[5];
AnimationPtr _rightHandAnim;
bool _inTestResult;
// common callables
void _c_play_boogie(void*);
void _c_startIntro(void*);

View File

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