diff options
| author | Christopher Page | 2008-06-25 01:41:40 +0000 | 
|---|---|---|
| committer | Christopher Page | 2008-06-25 01:41:40 +0000 | 
| commit | e37b0745d362945a017d71e420284021667132f5 (patch) | |
| tree | 9f505e72c0ec6830ca7dd6aeac3df515cd386dbc | |
| parent | 6e3474896cec0e42c2f5ac7ccb5783981d746fcc (diff) | |
| download | scummvm-rg350-e37b0745d362945a017d71e420284021667132f5.tar.gz scummvm-rg350-e37b0745d362945a017d71e420284021667132f5.tar.bz2 scummvm-rg350-e37b0745d362945a017d71e420284021667132f5.zip | |
Parallaction now uses the new _quit flag
svn-id: r32773
| -rw-r--r-- | engines/parallaction/dialogue.cpp | 8 | ||||
| -rw-r--r-- | engines/parallaction/exec_ns.cpp | 6 | ||||
| -rw-r--r-- | engines/parallaction/gui_br.cpp | 2 | ||||
| -rw-r--r-- | engines/parallaction/input.cpp | 2 | ||||
| -rw-r--r-- | engines/parallaction/parallaction.cpp | 12 | ||||
| -rw-r--r-- | engines/parallaction/parallaction.h | 1 | ||||
| -rw-r--r-- | engines/parallaction/parallaction_br.cpp | 10 | ||||
| -rw-r--r-- | engines/parallaction/parallaction_ns.cpp | 16 | ||||
| -rw-r--r-- | engines/parallaction/saveload.cpp | 8 | 
9 files changed, 33 insertions, 32 deletions
| diff --git a/engines/parallaction/dialogue.cpp b/engines/parallaction/dialogue.cpp index b9dea60dc0..fe5b61b4ed 100644 --- a/engines/parallaction/dialogue.cpp +++ b/engines/parallaction/dialogue.cpp @@ -105,7 +105,7 @@ uint16 DialogueManager::askPassword() {  		if (g_system->getEventManager()->pollEvent(e)) {  			if (e.type == Common::EVENT_QUIT) { -				_engineFlags |= kEngineQuit; +				_vm->_quit = true;  				break;  			} @@ -230,7 +230,7 @@ void DialogueManager::run() {  		displayQuestion(); -		if (_engineFlags & kEngineQuit) +		if (_vm->_quit)  			return;  		if (_q->_answers[0] == NULL) break; @@ -239,7 +239,7 @@ void DialogueManager::run() {  			if (!displayAnswers()) break;  			answer = getAnswer(); -			if (_engineFlags & kEngineQuit) +			if (_vm->_quit)  				return;  			cmdlist = &_q->_answers[answer]->_commands; @@ -272,7 +272,7 @@ int16 DialogueManager::selectAnswer() {  	uint32 event;  	Common::Point p; -	while (_engineFlags & kEngineQuit == 0) { +	while (!_vm->_quit) {  		_vm->_input->readInput();  		_vm->_input->getCursorPos(p); diff --git a/engines/parallaction/exec_ns.cpp b/engines/parallaction/exec_ns.cpp index bd2d54c0a0..32945d2204 100644 --- a/engines/parallaction/exec_ns.cpp +++ b/engines/parallaction/exec_ns.cpp @@ -297,7 +297,7 @@ DECLARE_COMMAND_OPCODE(drop){  DECLARE_COMMAND_OPCODE(quit) { -	_engineFlags |= kEngineQuit; +	_vm->_quit = true;  } @@ -427,7 +427,7 @@ void Parallaction::runCommands(CommandList& list, ZonePtr z) {  		CommandPtr cmd = *it;  		uint32 v8 = getLocationFlags(); -		if (_engineFlags & kEngineQuit) +		if (_vm->_quit)  			break;  		if (cmd->_flagsOn & kFlagsGlobal) { @@ -519,7 +519,7 @@ uint16 Parallaction::runZone(ZonePtr z) {  	case kZoneSpeak:  		runDialogue(z->u.speak); -		if (_engineFlags & kEngineQuit) +		if (_vm->_quit)  			return 0;  		break; diff --git a/engines/parallaction/gui_br.cpp b/engines/parallaction/gui_br.cpp index c515299a34..239c071058 100644 --- a/engines/parallaction/gui_br.cpp +++ b/engines/parallaction/gui_br.cpp @@ -50,7 +50,7 @@ void Parallaction_br::guiStart() {  	int option = guiShowMenu();  	switch (option) {  	case kMenuQuit: -		_engineFlags |= kEngineQuit; +		_vm->_quit = true;  		break;  	case kMenuLoadGame: diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp index e758bbd41c..0fc00ce03b 100644 --- a/engines/parallaction/input.cpp +++ b/engines/parallaction/input.cpp @@ -80,7 +80,7 @@ uint16 Input::readInput() {  			break;  		case Common::EVENT_QUIT: -			_engineFlags |= kEngineQuit; +			_vm->_quit = true;  			return KeyDown;  		default: diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp index 25ebe4263d..957a160c34 100644 --- a/engines/parallaction/parallaction.cpp +++ b/engines/parallaction/parallaction.cpp @@ -331,7 +331,7 @@ void Parallaction::processInput(InputData *data) {  		break;  	case kEvQuitGame: -		_engineFlags |= kEngineQuit; +		_vm->_quit = true;  		break;  	case kEvSaveGame: @@ -358,19 +358,19 @@ void Parallaction::runGame() {  		processInput(data);  	} -	if (_engineFlags & kEngineQuit) +	if (_vm->_quit)  		return;  	runPendingZones(); -	if (_engineFlags & kEngineQuit) +	if (_vm->_quit)  		return;  	if (_engineFlags & kEngineChangeLocation) {  		changeLocation(_location._name);  	} -	if (_engineFlags & kEngineQuit) +	if (_vm->_quit)  		return;  	_gfx->beginFrame(); @@ -466,7 +466,7 @@ ZonePtr Parallaction::findZone(const char *name) {  void Parallaction::freeZones() { -	debugC(2, kDebugExec, "freeZones: kEngineQuit = %i", _engineFlags & kEngineQuit); +	debugC(2, kDebugExec, "freeZones: _vm->_quit = %i", _vm->_quit);  	ZoneList::iterator it = _location._zones.begin(); @@ -475,7 +475,7 @@ void Parallaction::freeZones() {  		// NOTE : this condition has been relaxed compared to the original, to allow the engine  		// to retain special - needed - zones that were lost across location switches.  		ZonePtr z = *it; -		if (((z->_top == -1) || (z->_left == -2)) && ((_engineFlags & kEngineQuit) == 0)) { +		if (((z->_top == -1) || (z->_left == -2)) && ((_vm->_quit) == 0)) {  			debugC(2, kDebugExec, "freeZones preserving zone '%s'", z->_name);  			it++;  		} else { diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h index 5ae1386378..dcb91aaa8f 100644 --- a/engines/parallaction/parallaction.h +++ b/engines/parallaction/parallaction.h @@ -98,7 +98,6 @@ enum {  };  enum EngineFlags { -	kEngineQuit			= (1 << 0),  	kEnginePauseJobs	= (1 << 1),  	kEngineInventory	= (1 << 2),  	kEngineWalking		= (1 << 3), diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp index b22e1b0f2d..347457f680 100644 --- a/engines/parallaction/parallaction_br.cpp +++ b/engines/parallaction/parallaction_br.cpp @@ -105,17 +105,17 @@ int Parallaction_br::go() {  	guiSplash("dyna");  	guiSplash("core"); -	while ((_engineFlags & kEngineQuit) == 0) { +	while (_vm->_quit == 0) {  		guiStart(); -		if (_engineFlags & kEngineQuit) -			return 0; +		if (_vm->_quit) +			return _rtl;  //		initCharacter();  		_input->_inputMode = Input::kInputModeGame; -		while ((_engineFlags & (kEngineReturn | kEngineQuit)) == 0) { +		while (((_engineFlags & kEngineReturn) == 0) && (!_vm->_quit)) {  			runGame();  		}  		_engineFlags &= ~kEngineReturn; @@ -125,7 +125,7 @@ int Parallaction_br::go() {  	} -	return 0; +	return _rtl;  } diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp index f346a278f7..fb9e51ee26 100644 --- a/engines/parallaction/parallaction_ns.cpp +++ b/engines/parallaction/parallaction_ns.cpp @@ -236,20 +236,20 @@ int Parallaction_ns::go() {  	guiStart(); -	if (_engineFlags & kEngineQuit) -		return 0; +	if (_vm->_quit) +		return _rtl;  	changeLocation(_location._name); -	if (_engineFlags & kEngineQuit) -		return 0; +	if (_vm->_quit) +		return _rtl;  	_input->_inputMode = Input::kInputModeGame; -	while ((_engineFlags & kEngineQuit) == 0) { +	while (!_vm->_quit) {  		runGame();  	} -	return 0; +	return _rtl;  }  void Parallaction_ns::switchBackground(const char* background, const char* mask) { @@ -454,13 +454,13 @@ void Parallaction_ns::cleanupGame() {  	memset(_locationNames, 0, sizeof(_locationNames));  	// this flag tells freeZones to unconditionally remove *all* Zones -	_engineFlags |= kEngineQuit; +	_vm->_quit = true;  	freeZones();  	freeAnimations();  	// this dangerous flag can now be cleared -	_engineFlags &= ~kEngineQuit; +	_vm->_quit = false;  	// main character animation is restored  	_location._animations.push_front(_char._ani); diff --git a/engines/parallaction/saveload.cpp b/engines/parallaction/saveload.cpp index 002295315d..86700d6bb1 100644 --- a/engines/parallaction/saveload.cpp +++ b/engines/parallaction/saveload.cpp @@ -132,11 +132,13 @@ void Parallaction_ns::doLoadGame(uint16 slot) {  	// TODO (LIST): unify (and parametrize) calls to freeZones.  	// We aren't calling freeAnimations because it is not needed, since  	// kChangeLocation will trigger a complete deletion. Anyway, we still -	// need to invoke freeZones here with kEngineQuit set, because the +	// need to invoke freeZones here with _quit set, because the  	// call in changeLocation preserve certain zones. -	_engineFlags |= kEngineQuit; +	_quit = true; +  	freeZones(); -	_engineFlags &= ~kEngineQuit; + +	_quit = false;  	_numLocations = atoi(s); | 
