[Scummvm-cvs-logs] scummvm master -> c0df1248b5a73f4b0f02d0712907878aa265dff4

dreammaster dreammaster at scummvm.org
Sat Mar 14 02:55:40 CET 2015


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c0df1248b5 MADS: Properly handle reloading scenes when closing dialogs


Commit: c0df1248b5a73f4b0f02d0712907878aa265dff4
    https://github.com/scummvm/scummvm/commit/c0df1248b5a73f4b0f02d0712907878aa265dff4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-03-13T21:54:20-04:00

Commit Message:
MADS: Properly handle reloading scenes when closing dialogs

Changed paths:
    engines/mads/nebular/dialogs_nebular.cpp
    engines/mads/nebular/nebular_scenes.cpp
    engines/mads/nebular/nebular_scenes1.cpp
    engines/mads/nebular/nebular_scenes2.cpp
    engines/mads/nebular/nebular_scenes3.cpp
    engines/mads/nebular/nebular_scenes4.cpp
    engines/mads/nebular/nebular_scenes5.cpp
    engines/mads/nebular/nebular_scenes6.cpp
    engines/mads/nebular/nebular_scenes7.cpp
    engines/mads/nebular/nebular_scenes8.cpp
    engines/mads/scene.h



diff --git a/engines/mads/nebular/dialogs_nebular.cpp b/engines/mads/nebular/dialogs_nebular.cpp
index 23aef6b..6c57c85 100644
--- a/engines/mads/nebular/dialogs_nebular.cpp
+++ b/engines/mads/nebular/dialogs_nebular.cpp
@@ -344,7 +344,7 @@ void DialogsNebular::showDialog() {
 
 void DialogsNebular::showScummVMSaveDialog() {
 	Nebular::GameNebular &game = *(Nebular::GameNebular *)_vm->_game;
-	Scene *scene = &(game._scene);
+	Scene &scene = game._scene;
 	GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Save game:"), _("Save"), true);
 
 	int slot = dialog->runModalWithCurrentTarget();
@@ -356,24 +356,31 @@ void DialogsNebular::showScummVMSaveDialog() {
 			desc = dialog->createDefaultSaveDescription(slot);
 		}
 
-		scene->_spriteSlots.reset();
-		scene->loadScene(scene->_currentSceneId, game._aaName, true);
-		scene->_userInterface.noInventoryAnim();
+		scene._spriteSlots.reset();
+		scene.loadScene(scene._currentSceneId, game._aaName, true);
+		scene._userInterface.noInventoryAnim();
 		game._scene.drawElements(kTransitionFadeIn, false);
 
 		game.saveGame(slot, desc);
 	}
+
+	// Flag for scene loading that we're returning from a dialog
+	scene._currentSceneId = RETURNING_FROM_DIALOG;
 }
 
 void DialogsNebular::showScummVMRestoreDialog() {
 	Nebular::GameNebular &game = *(Nebular::GameNebular *)_vm->_game;
 	GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Restore game:"), _("Restore"), false);
+	Scene &scene = game._scene;
 
 	int slot = dialog->runModalWithCurrentTarget();
 	if (slot >= 0) {
 		game._loadGameSlot = slot;
-		game._scene._currentSceneId = -1;
+		game._scene._currentSceneId = RETURNING_FROM_LOADING;
 		game._currentSectionNumber = -1;
+	} else {
+		// Flag for scene loading that we're returning from a dialog
+		scene._currentSceneId = RETURNING_FROM_DIALOG;
 	}
 }
 
@@ -637,6 +644,7 @@ void GameDialog::display() {
 
 GameDialog::~GameDialog() {
 	_vm->_screen.resetClipBounds();
+	_vm->_game->_scene._currentSceneId = RETURNING_FROM_DIALOG;
 }
 
 void GameDialog::clearLines() {
diff --git a/engines/mads/nebular/nebular_scenes.cpp b/engines/mads/nebular/nebular_scenes.cpp
index 72073b1..14cf71d 100644
--- a/engines/mads/nebular/nebular_scenes.cpp
+++ b/engines/mads/nebular/nebular_scenes.cpp
@@ -538,7 +538,7 @@ void SceneTeleporter::teleporterEnter() {
 	_curMessageId        = -1;
 	_msgText = "_";
 
-	if (_scene->_priorSceneId == -2)
+	if (_scene->_priorSceneId == RETURNING_FROM_DIALOG)
 		_scene->_priorSceneId = _globals[kTeleporterDestination];
 
 	if (_scene->_priorSceneId < 101)
diff --git a/engines/mads/nebular/nebular_scenes1.cpp b/engines/mads/nebular/nebular_scenes1.cpp
index d505bb3..dc2eb1f 100644
--- a/engines/mads/nebular/nebular_scenes1.cpp
+++ b/engines/mads/nebular/nebular_scenes1.cpp
@@ -188,13 +188,13 @@ void Scene101::enter() {
 	_scene->_hotspots.activate(NOUN_SHIELD_MODULATOR, false);
 	_panelOpened = false;
 
-	if (_scene->_priorSceneId != -1)
+	if (_scene->_priorSceneId != RETURNING_FROM_LOADING)
 		_globals[kNeedToStandUp] = false;
 
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(100, 152);
 
-	if ((_scene->_priorSceneId == 112) || ((_scene->_priorSceneId == -2) && _sittingFl )) {
+	if ((_scene->_priorSceneId == 112) || ((_scene->_priorSceneId == RETURNING_FROM_DIALOG) && _sittingFl )) {
 		_game._player._visible = false;
 		_sittingFl = true;
 		_game._player._playerPos = Common::Point(161, 123);
@@ -721,7 +721,7 @@ void Scene102::enter() {
 		_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
 	} else if (_scene->_priorSceneId == 103)
 		_game._player._playerPos = Common::Point(47, 152);
-	else if (_scene->_priorSceneId != -2) {
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._facing = FACING_NORTHWEST;
 		_game._player._playerPos = Common::Point(32, 129);
 	}
@@ -1342,7 +1342,7 @@ void Scene103::enter() {
 		_scene->_hotspots.activate(362, false);
 	}
 
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(237, 74);
 
 	if (_scene->_priorSceneId == 102) {
@@ -1625,7 +1625,7 @@ void Scene104::enter() {
 
 	if (_scene->_priorSceneId == 105)
 		_game._player._playerPos = Common::Point(302, 107);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(160, 134);
 
 	_loseFl = false;
@@ -1847,7 +1847,7 @@ void Scene105::enter() {
 
 	if (_scene->_priorSceneId == 104)
 		_game._player._playerPos = Common::Point(13, 97);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(116, 147);
 
 	_game.loadQuoteSet(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
@@ -2021,7 +2021,7 @@ void Scene106::enter() {
 		_game._player._stepEnabled = false;
 		_game._player._facing = FACING_EAST;
 		_game._player._playerPos = Common::Point(106, 69);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		if (_scene->_priorSceneId == 107) {
 			_game._player._playerPos = Common::Point(319, 84);
 			_game._player._facing = _game._player._prepareWalkFacing = FACING_WEST;
@@ -2240,7 +2240,7 @@ void Scene107::enter() {
 		_game._player._playerPos = Common::Point(132, 47);
 	else if (_scene->_priorSceneId == 106)
 		_game._player._playerPos = Common::Point(20, 91);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(223, 151);
 
 	if (((_scene->_priorSceneId == 105) || (_scene->_priorSceneId == 106)) && (_vm->getRandomNumber(1, 3) == 1)) {
@@ -2352,7 +2352,7 @@ void Scene108::enter() {
 
 	if (_scene->_priorSceneId == 107)
 		_game._player._playerPos = Common::Point(138, 58);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(305, 98);
 
 	_game.loadQuoteSet(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
@@ -2459,7 +2459,7 @@ void Scene109::enter() {
 	if (_scene->_priorSceneId == 110) {
 		_game._player._playerPos = Common::Point(248, 38);
 		_globals[kHoovicSated] = 2;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(20, 68);
 		_game._player._facing = FACING_EAST;
 	}
@@ -2865,7 +2865,7 @@ void Scene110::enter() {
 		_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
 		idx = _scene->_dynamicHotspots.add(91, 348, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
 		_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(194, 23);
 		_game._player._facing = FACING_SOUTH;
 		_game._player._visible = false;
@@ -3008,7 +3008,7 @@ void Scene111::enter() {
 	_launched2Fl = false;
 	_stampedFl = false;
 
-	if ((_scene->_priorSceneId < 201) && (_scene->_priorSceneId != -2)) {
+	if ((_scene->_priorSceneId < 201) && (_scene->_priorSceneId != RETURNING_FROM_DIALOG)) {
 		_game._player._stepEnabled = false;
 		_game._player._visible = false;
 		_scene->loadAnimation(Resources::formatName(111, 'A', 0, EXT_AA, ""), 70);
@@ -3019,7 +3019,7 @@ void Scene111::enter() {
 		_launched2Fl = true;
 
 		_vm->_sound->command(36);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(300, 130);
 		_game._player._facing = FACING_WEST;
 	}
diff --git a/engines/mads/nebular/nebular_scenes2.cpp b/engines/mads/nebular/nebular_scenes2.cpp
index d624970..84910c4 100644
--- a/engines/mads/nebular/nebular_scenes2.cpp
+++ b/engines/mads/nebular/nebular_scenes2.cpp
@@ -152,7 +152,7 @@ void Scene201::enter() {
 	int idx = _scene->_dynamicHotspots.add(NOUN_BIRDS, 209, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
 	_scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 81), FACING_NORTH);
 
-	if ((_scene->_priorSceneId == 202) || (_scene->_priorSceneId == -1)) {
+	if ((_scene->_priorSceneId == 202) || (_scene->_priorSceneId == RETURNING_FROM_LOADING)) {
 		_game._player._playerPos = Common::Point(165, 152);
 	} else {
 		_game._player._playerPos = Common::Point(223, 149);
@@ -430,7 +430,7 @@ void Scene202::enter() {
 	if (_scene->_priorSceneId == 201) {
 		_game._player._playerPos = Common::Point(190, 91);
 		_game._player._facing = FACING_SOUTH;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(178, 152);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -446,7 +446,7 @@ void Scene202::enter() {
 	_game.loadQuoteSet(0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x62, 0x63, 0x64, 0x65, 0x66, 0x61, 0);
 	_activeMsgFl = false;
 
-	if (_scene->_priorSceneId == -2) {
+	if (_scene->_priorSceneId == RETURNING_FROM_DIALOG) {
 		if (_waitingMeteoFl) {
 			_globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
 			_game._player._visible = false;
@@ -1044,7 +1044,7 @@ void Scene203::enter() {
 	} else if (_scene->_priorSceneId == 209) {
 		_game._player._playerPos = Common::Point(308, 117);
 		_game._player._facing = FACING_WEST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(155, 152);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -1222,7 +1222,7 @@ void Scene205::enter() {
 			Common::Rect(195, 99, 264, 134), 13, 2, 0xFDFC, 60,
 			108, 108, 109, 109, 110, 110, 111, 108, 0);
 
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(99, 152);
 
 	if (_globals[kSexOfRex] != SEX_MALE) {
@@ -1516,7 +1516,7 @@ void Scene207::enter() {
 	} else if (_scene->_priorSceneId == 214) {
 		_game._player._playerPos = Common::Point(164, 117);
 		_game._player._facing = FACING_SOUTH;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(305, 131);
 	}
 
@@ -1728,7 +1728,7 @@ void Scene208::enter() {
 	} else if (_scene->_priorSceneId == 209) {
 		_game._player._playerPos = Common::Point(307, 123);
 		_game._player._facing = FACING_WEST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(162, 149);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -2856,7 +2856,7 @@ void Scene209::enter() {
 	if (_scene->_priorSceneId == 208) {
 		_game._player._playerPos = Common::Point(11, 121);
 		_game._player._facing = FACING_EAST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(28, 121);
 		_game._player._facing = FACING_SOUTH;
 	}
@@ -4173,7 +4173,7 @@ void Scene210::enter() {
 		_game._player._playerPos = Common::Point(168, 128);
 		_game._player._facing = FACING_SOUTH;
 		_globals[kCurtainOpen] = true;
-	} else if (_scene->_priorSceneId != -2)
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(308, 132);
 
 	if (!_globals[kCurtainOpen]) {
@@ -4210,7 +4210,7 @@ void Scene210::enter() {
 	_twinkleAnimationType = 0;
 	_twinklesCurrentFrame = 0;
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_shouldMoveHead = false;
 		_shouldFaceRex = false;
 		_shouldTalk = false;
@@ -4647,7 +4647,7 @@ void Scene211::enter() {
 		_game._player._visible = false;
 		_scene->loadAnimation(formAnimName('A', -1), 100);
 		_scene->_activeAnimation->setCurrentFrame(169);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(310, 31);
 		_game._player._facing = FACING_SOUTHWEST;
 	}
@@ -4905,7 +4905,7 @@ void Scene212::enter() {
 	if (_scene->_priorSceneId == 208) {
 		_game._player._playerPos = Common::Point(195, 85);
 		_game._player._facing = FACING_SOUTH;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(67, 117);
 		_game._player._facing = FACING_NORTHEAST;
 	}
@@ -5061,7 +5061,7 @@ void Scene214::enter() {
 		_scene->_hotspots.activate(NOUN_BLOWGUN, false);
 	}
 
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(191, 152);
 
 	sceneEntrySound();
@@ -5257,7 +5257,7 @@ void Scene215::enter() {
 		_game._player._stepEnabled = false;
 		_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
 		_scene->_sequences.addTimer(120, 70);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(204, 152);
 		_game._player._facing = FACING_NORTH;
 	}
diff --git a/engines/mads/nebular/nebular_scenes3.cpp b/engines/mads/nebular/nebular_scenes3.cpp
index 0b22aa7..1a477c3 100644
--- a/engines/mads/nebular/nebular_scenes3.cpp
+++ b/engines/mads/nebular/nebular_scenes3.cpp
@@ -769,7 +769,7 @@ void Scene307::enter() {
 		_dialog2.write(0x11E, true);
 
 
-	if (_scene->_priorSceneId == -2) {
+	if (_scene->_priorSceneId == RETURNING_FROM_DIALOG) {
 		if (_grateOpenedFl)
 			_vm->_sound->command(10);
 		else
@@ -1618,7 +1618,7 @@ void Scene311::enter() {
 	else if (_scene->_priorSceneId == 320) {
 		_game._player._playerPos = Common::Point(129, 113);
 		_game._player._facing = FACING_SOUTH;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._visible = false;
 		_game._player._stepEnabled = false;
 		_scene->loadAnimation(formAnimName('a', -1), 70);
@@ -1896,7 +1896,7 @@ void Scene313::enter() {
 	} else if (_scene->_priorSceneId == 388) {
 		_game._player._playerPos = Common::Point(199, 70);
 		_game._player._facing = FACING_WEST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(234, 70);
 		_game._player._facing = FACING_WEST;
 	}
@@ -2215,7 +2215,7 @@ void Scene316::enter() {
 		_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[spriteIdx], false, 6, 1, 0, 0);
 		_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
 		_scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
-	} else if (_scene->_priorSceneId != -2)
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(291, 126);
 
 	sceneEntrySound();
@@ -2617,7 +2617,7 @@ void Scene318::enter() {
 
 	if (_scene->_priorSceneId == 357)
 		_game._player._playerPos = Common::Point(15, 110);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(214, 152);
 
 	_dialog1.setup(0x47, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19A, 0x19B, 0x19C, 0x19D, 0);
@@ -2638,7 +2638,7 @@ void Scene318::enter() {
 	_lastFrame = 0;
 	_scene->_hotspots.activate(NOUN_INTERN, false);
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_dialogFl = false;
 		_internWalkingFl = false;
 		_counter= 0;
@@ -2655,7 +2655,8 @@ void Scene318::enter() {
 		0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3,
 		0x190, 0x19D, 0);
 
-	if ((_scene->_priorSceneId== -2) || (((_scene->_priorSceneId == 318) || (_scene->_priorSceneId == -1)) && (!_globals[kAfterHavoc]))) {
+	if ((_scene->_priorSceneId == RETURNING_FROM_DIALOG) || (((_scene->_priorSceneId == 318) || 
+			(_scene->_priorSceneId == RETURNING_FROM_LOADING)) && (!_globals[kAfterHavoc]))) {
 		if (!_globals[kAfterHavoc]) {
 			_game._player._visible = false;
 			_globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('g', -1));
@@ -3119,7 +3120,7 @@ void Scene319::enter() {
 	_dialog2.setup(0x44, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0);
 	_dialog3.setup(0x45, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0);
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_dialog1.set(0x165, 0x166, 0x167, 0x168, 0);
 		_dialog2.set(0x171, 0x172, 0x173, 0x174, 0);
 		_dialog3.set(0x17D, 0x17E, 0x17F, 0x180, 0);
@@ -3142,7 +3143,7 @@ void Scene319::enter() {
 
 	_scene->loadAnimation(formAnimName('b', 0));
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_animMode = 1;
 		_nextAction1 = 2;
 		_nextAction2 = 2;
@@ -3981,7 +3982,7 @@ void Scene351::enter() {
 
 	if (_scene->_priorSceneId == 352)
 		_game._player._playerPos = Common::Point(148, 152);
-	else if (_scene->_priorSceneId != -2) {
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(207, 81);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -4266,7 +4267,7 @@ void Scene352::enter() {
 
 	_vaultOpenFl = false;
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_mustPutArmDownFl = false;
 		if (!_game._visitedScenes._sceneRevisited)
 			_globals[kHaveYourStuff] = false;
@@ -4281,7 +4282,7 @@ void Scene352::enter() {
 
 	if (_scene->_priorSceneId == 353)
 		_game._player._playerPos = Common::Point(171, 155);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(116, 107);
 
 	sceneEntrySound();
@@ -4750,7 +4751,7 @@ void Scene354::enter() {
 		_game._player._facing = FACING_NORTH;
 	} else if (_scene->_priorSceneId == 316)
 		_game._player._playerPos = Common::Point(71, 107);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(167, 57);
 
 	sceneEntrySound();
@@ -4817,7 +4818,7 @@ void Scene357::enter() {
 		_game._player._playerPos = Common::Point(298, 142);
 	else if (_scene->_priorSceneId == 313)
 		_game._player._playerPos = Common::Point(127, 101);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(15, 148);
 
 	sceneEntrySound();
@@ -4881,7 +4882,7 @@ void Scene358::enter() {
 
 	if (_scene->_priorSceneId == 357)
 		_game._player._playerPos = Common::Point(305, 142);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(12, 141);
 
 	sceneEntrySound();
@@ -4957,7 +4958,7 @@ void Scene359::enter() {
 
 	if (_scene->_priorSceneId == 358)
 		_game._player._playerPos = Common::Point(301, 141);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(15, 148);
 
 	sceneEntrySound();
@@ -5080,7 +5081,7 @@ void Scene360::enter() {
 
 	if (_scene->_priorSceneId == 359)
 		_game._player._playerPos = Common::Point(304, 143);
-	else if (_scene->_priorSceneId != -2)
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(13, 141);
 
 	sceneEntrySound();
@@ -5346,7 +5347,7 @@ void Scene361::enter() {
 	else if (_scene->_priorSceneId == 320) {
 		_game._player._playerPos = Common::Point(129, 113);
 		_game._player._facing = FACING_SOUTH;
-	} else if (_scene->_priorSceneId != -2)
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(13, 145);
 
 	_game.loadQuoteSet(0xFB, 0xFC, 0);
diff --git a/engines/mads/nebular/nebular_scenes4.cpp b/engines/mads/nebular/nebular_scenes4.cpp
index 9db597c..29b17c4 100644
--- a/engines/mads/nebular/nebular_scenes4.cpp
+++ b/engines/mads/nebular/nebular_scenes4.cpp
@@ -113,7 +113,7 @@ void Scene401::setup() {
 }
 
 void Scene401::enter() {
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_northFl = false;
 
 	_timer = 0;
@@ -125,7 +125,7 @@ void Scene401::enter() {
 		_game._player._playerPos = Common::Point(149, 90);
 		_game._player._facing = FACING_SOUTH;
 		_northFl = true;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(142, 131);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -718,7 +718,7 @@ void Scene402::enter() {
 		_roxOnStool = false;
 		_bartenderDialogNode = 1;
 		_conversationFl = false;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(160, 150);
 		_game._player._facing = FACING_NORTH;
 		_game._objects.addToInventory(OBJ_CREDIT_CHIP);
@@ -2411,7 +2411,7 @@ void Scene405::enter() {
 	} else if (_scene->_priorSceneId == 413) {
 		_game._player._playerPos = Common::Point(284, 109);
 		_game._player._facing = FACING_SOUTH;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(23, 123);
 		_game._player._facing = FACING_EAST;
 	}
@@ -2587,7 +2587,7 @@ void Scene406::enter() {
 	} else if (_scene->_priorSceneId == 411) {
 		_game._player._playerPos = Common::Point(153, 108);
 		_game._player._facing = FACING_SOUTH;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(15, 129);
 		_game._player._facing = FACING_EAST;
 	}
@@ -2791,14 +2791,14 @@ void Scene407::setup() {
 }
 
 void Scene407::enter() {
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_fromNorth = false;
 
 	if (_scene->_priorSceneId == 318) {
 		_game._player._playerPos = Common::Point(172, 92);
 		_game._player._facing = FACING_SOUTH;
 		_fromNorth = true;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(172, 132);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -3118,7 +3118,7 @@ void Scene410::enter() {
 	else
 		_scene->_hotspots.activate(NOUN_CHARGE_CASES, false);
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(155, 150);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -3646,7 +3646,7 @@ void Scene411::enter() {
 		_scene->_dynamicHotspots.setPosition(idx, Common::Point(220, 121), FACING_NORTHEAST);
 	}
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(60, 146);
 		_game._player._facing = FACING_NORTHEAST;
 	}
@@ -4058,7 +4058,7 @@ void Scene413::enter() {
 		_game._player._playerPos = Common::Point(142, 146);
 		_game._player._facing = FACING_NORTH;
 		_game._player._visible = true;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		if (_globals[kSexOfRex] == REX_MALE) {
 			_scene->loadAnimation(Resources::formatName(413, 'd', 1, EXT_AA, ""), 78);
 			_vm->_sound->command(30);
diff --git a/engines/mads/nebular/nebular_scenes5.cpp b/engines/mads/nebular/nebular_scenes5.cpp
index 98efeba..e6ab658 100644
--- a/engines/mads/nebular/nebular_scenes5.cpp
+++ b/engines/mads/nebular/nebular_scenes5.cpp
@@ -199,7 +199,7 @@ void Scene501::enter() {
 		_game._player._playerPos = Common::Point(317, 102);
 		_game._player._facing = FACING_SOUTHWEST;
 		_scene->_sequences.addTimer(15, 80);
-	} else if (_scene->_priorSceneId != -2)
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(299, 131);
 
 	if (_scene->_roomChanged) {
@@ -563,7 +563,7 @@ void Scene503::enter() {
 		_scene->_dynamicHotspots.setPosition(_detonatorHotspotId, Common::Point(254, 135), FACING_SOUTH);
 	}
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(191, 152);
 		_game._player._facing = FACING_NORTHWEST;
 	}
@@ -709,7 +709,7 @@ void Scene504::enter() {
 		_globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('a', 3));
 		_carAnimationMode = 1;
 		_scene->loadAnimation(formAnimName('A', -1));
-		if ((_scene->_priorSceneId != -2) && (_scene->_priorSceneId != 505))
+		if ((_scene->_priorSceneId != RETURNING_FROM_DIALOG) && (_scene->_priorSceneId != 505))
 			_globals[kHoverCarLocation] = _scene->_priorSceneId;
 
 		_globals._sequenceIndexes[7] = _scene->_sequences.startCycle(_globals._spriteIndexes[7], false, 1);
@@ -912,7 +912,7 @@ void Scene505::enter() {
 	_globals._spriteIndexes[11] = _scene->_sprites.addSprites(formAnimName('t', -1));
 	_globals._spriteIndexes[12] = _scene->_sprites.addSprites(formAnimName('e', -1));
 
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_globals._sequenceIndexes[12] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[12], false, 6, 1, 0, 0);
 
 	_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 6, 1, 120, 0);
@@ -934,7 +934,7 @@ void Scene505::enter() {
 	for (int i = 0; i < 9; i++) {
 		if (_globals[kHoverCarLocation] == _carLocations[i]) {
 			_homeSelectedId = i;
-			if (_scene->_priorSceneId != -2)
+			if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 				_selectedId = i;
 		}
 	}
@@ -1222,7 +1222,7 @@ void Scene506::enter() {
 		_game._player._facing = FACING_SOUTHEAST;
 		_scene->_sequences.addTimer(60, 80);
 		_game._player._stepEnabled = false;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(138, 116);
 		_game._player._facing = FACING_NORTHEAST;
 		_game._player._visible = false;
@@ -1471,7 +1471,7 @@ void Scene507::enter() {
 		_scene->_dynamicHotspots.setPosition(_penlightHotspotId, Common::Point(233, 152), FACING_SOUTHEAST);
 	}
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(121, 147);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -1630,7 +1630,7 @@ void Scene508::enter() {
 	if (_scene->_priorSceneId == 515) {
 		_game._player._playerPos = Common::Point(57, 116);
 		_game._player._facing = FACING_NORTHEAST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(289, 139);
 		_game._player._facing = FACING_WEST;
 	}
@@ -1868,7 +1868,7 @@ void Scene511::enter() {
 	_globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('c', 0));
 	_globals._spriteIndexes[4] = _scene->_sprites.addSprites("*RXCD_6");
 
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_handingLine = false;
 
 	if (_globals[kBoatRaised]) {
@@ -1923,7 +1923,7 @@ void Scene511::enter() {
 	if (_scene->_priorSceneId == 512) {
 		_game._player._playerPos = Common::Point(60, 112);
 		_game._player._facing = FACING_SOUTHEAST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(55, 152);
 		_game._player._facing = FACING_NORTHWEST;
 		_game._player._visible = false;
@@ -2242,7 +2242,7 @@ void Scene512::enter() {
 	} else
 		_scene->_hotspots.activate(NOUN_PADLOCK_KEY, false);
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(144, 152);
 		_game._player._facing = FACING_NORTHEAST;
 	}
@@ -2510,7 +2510,7 @@ void Scene513::enter() {
 		_game._player._facing = FACING_WEST;
 		_game._player._stepEnabled = false;
 		_scene->_sequences.addTimer(15, 80);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(63, 149);
 		_game._player._facing = FACING_NORTHEAST;
 		_game._player._visible = false;
@@ -2744,7 +2744,7 @@ void Scene551::enter() {
 
 	if (_scene->_priorSceneId == 501)
 		_game._player._playerPos = Common::Point(18, 130);
-	else if (_scene->_priorSceneId != -2) {
+	else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(124, 119);
 		_game._player._facing = FACING_NORTH;
 	}
diff --git a/engines/mads/nebular/nebular_scenes6.cpp b/engines/mads/nebular/nebular_scenes6.cpp
index bcf7d73..046782b 100644
--- a/engines/mads/nebular/nebular_scenes6.cpp
+++ b/engines/mads/nebular/nebular_scenes6.cpp
@@ -112,7 +112,7 @@ void Scene601::enter() {
 		_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, -2);
 		_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 3);
 		_scene->loadAnimation(formAnimName('R', 1), 70);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(229, 129);
 		_game._player._facing = FACING_SOUTHWEST;
 	}
@@ -293,7 +293,7 @@ void Scene602::enter() {
 	if (_scene->_priorSceneId == 603) {
 		_game._player._playerPos = Common::Point(228, 126);
 		_game._player._facing = FACING_WEST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(50, 127);
 		_game._player._facing = FACING_EAST;
 	}
@@ -585,7 +585,7 @@ void Scene603::enter() {
 		_scene->_dynamicHotspots.setPosition(_noteHotspotId, Common::Point(242, 118), FACING_NORTHEAST);
 	}
 
-	if (_scene->_priorSceneId != -2)
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
 		_game._player._playerPos = Common::Point(113, 134);
 
 	sceneEntrySound();
@@ -750,7 +750,7 @@ void Scene604::enter() {
 	_vm->_palette->setEntry(253, 45, 24, 17);
 	_animationActiveFl = false;
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(72, 149);
 		_game._player._facing = FACING_NORTHEAST;
 		_game._player._visible = false;
@@ -1106,7 +1106,7 @@ void Scene607::enter() {
 	if (_scene->_priorSceneId == 608) {
 		_game._player._playerPos = Common::Point(297, 50);
 		_game._player._facing = FACING_SOUTHEAST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(40, 104);
 		_game._player._facing = FACING_SOUTHEAST;
 		_game._player._visible = false;
@@ -1778,7 +1778,7 @@ void Scene608::enter() {
 	_vm->_palette->setEntry(252, 63, 44, 30);
 	_vm->_palette->setEntry(253, 63, 20, 22);
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(46, 132);
 		_game._player._facing = FACING_EAST;
 		if (_game._difficulty == DIFFICULTY_HARD) {
@@ -2535,7 +2535,7 @@ void Scene609::enter() {
 		_game._player._facing = FACING_EAST;
 		_scene->_sequences.addTimer(60, 60);
 		_game._player._stepEnabled = false;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(86, 136);
 		_game._player._facing = FACING_NORTHEAST;
 		_game._player._visible = false;
@@ -2884,7 +2884,7 @@ void Scene610::enter() {
 	if (_scene->_roomChanged && _game._difficulty != DIFFICULTY_EASY)
 		_game._objects.addToInventory(OBJ_PENLIGHT);
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(175, 152);
 		_game._player._facing = FACING_NORTHWEST;
 	}
@@ -3948,7 +3948,7 @@ void Scene611::enter() {
 	_alreadyTalkingFl = false;
 	_startTradingFl = false;
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(22, 132);
 		_game._player._facing = FACING_EAST;
 		_duringDialogFl = false;
@@ -4560,7 +4560,7 @@ void Scene612::enter() {
 	_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, _cycleIndex);
 	_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
 
-	if (_scene->_priorSceneId != -2) {
+	if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(280, 75);
 		_game._player._facing = FACING_SOUTHWEST;
 		_game._player._visible = false;
diff --git a/engines/mads/nebular/nebular_scenes7.cpp b/engines/mads/nebular/nebular_scenes7.cpp
index 96e56b6..7be6667 100644
--- a/engines/mads/nebular/nebular_scenes7.cpp
+++ b/engines/mads/nebular/nebular_scenes7.cpp
@@ -194,7 +194,7 @@ void Scene701::enter() {
 		_game._player._stepEnabled = false;
 		_scene->loadAnimation(formAnimName('B', 1), 80);
 		_vm->_sound->command(28);
-	} else if (_scene->_priorSceneId != -2 && _scene->_priorSceneId != 620) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG && _scene->_priorSceneId != 620) {
 		_game._player._playerPos = Common::Point(22, 131);
 		_game._player._facing = FACING_EAST;
 		_game._player._stepEnabled = false;
@@ -463,7 +463,7 @@ void Scene702::enter() {
 	if (_scene->_priorSceneId == 701) {
 		_game._player._playerPos = Common::Point(13, 145);
 		_game._player._facing = FACING_EAST;
-	} else if (_scene->_priorSceneId != -2 && _scene->_priorSceneId != 620) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG && _scene->_priorSceneId != 620) {
 		_game._player._playerPos = Common::Point(289, 138);
 		_game._player.walk(Common::Point(262, 148), FACING_WEST);
 		_game._player._facing = FACING_WEST;
@@ -697,7 +697,7 @@ void Scene703::enter() {
 		_monsterMode = 0;
 		_scene->loadAnimation(formAnimName('A', -1));
 		_scene->_activeAnimation->setCurrentFrame(34);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._stepEnabled = false;
 		_boatDir = 1;
 		if (_globals[kMonsterAlive]) {
@@ -1244,7 +1244,7 @@ void Scene704::enter() {
 		_boatDirection = 2;
 		_scene->loadAnimation(formAnimName('A', -1));
 		_scene->_activeAnimation->setCurrentFrame(36);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._stepEnabled = false;
 		_boatDirection = 1;
 		_scene->loadAnimation(formAnimName('A', -1));
@@ -1570,7 +1570,7 @@ void Scene705::enter() {
 		_globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
 		_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 4);
 		_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._stepEnabled = false;
 		_scene->_sequences.addTimer(1, 80);
 		_vm->_sound->command(28);
@@ -1857,7 +1857,7 @@ void Scene706::enter() {
 	if (_scene->_priorSceneId == 707) {
 		_game._player._playerPos = Common::Point(277, 103);
 		_game._player._facing = FACING_SOUTHWEST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(167, 152);
 		_game._player._facing = FACING_NORTH;
 	}
@@ -2216,7 +2216,7 @@ void Scene751::enter() {
 		_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, -2);
 		_scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(155, 129));
 		_scene->_sequences.addTimer(15, 70);
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(22, 131);
 		_game._player._facing = FACING_EAST;
 		_game._player._stepEnabled = false;
@@ -2530,7 +2530,7 @@ void Scene752::enter() {
 	if (_scene->_priorSceneId == 751) {
 		_game._player._playerPos = Common::Point(13, 145);
 		_game._player._facing = FACING_EAST;
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(289, 138);
 		_game._player.walk(Common::Point(262, 148), FACING_WEST);
 		_game._player._facing = FACING_WEST;
diff --git a/engines/mads/nebular/nebular_scenes8.cpp b/engines/mads/nebular/nebular_scenes8.cpp
index e18dfc6..8ce559b 100644
--- a/engines/mads/nebular/nebular_scenes8.cpp
+++ b/engines/mads/nebular/nebular_scenes8.cpp
@@ -121,7 +121,7 @@ void Scene801::enter() {
 		_game._player._playerPos = Common::Point(307, 111);
 		_game._player.walk(Common::Point(270, 118), FACING_WEST);
 		_game._player._visible = true;
-	} else if ((_scene->_priorSceneId != -2) && !_globals[kTeleporterCommand]) {
+	} else if ((_scene->_priorSceneId != RETURNING_FROM_DIALOG) && !_globals[kTeleporterCommand]) {
 		_game._player._playerPos = Common::Point(8, 117);
 		_game._player.walk(Common::Point(41, 115), FACING_EAST);
 		_game._player._visible = true;
@@ -346,7 +346,7 @@ void Scene802::enter() {
 		_game._player._playerPos = Common::Point(303, 119);
 		_game._player._facing = FACING_WEST;
 
-	} else if (_scene->_priorSceneId != -2) {
+	} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 		_game._player._playerPos = Common::Point(15, 129);
 		_game._player._facing = FACING_EAST;
 	}
@@ -557,7 +557,7 @@ void Scene803::enter() {
 
 	if (!_globals[kFromCockpit]) {
 		if (!_globals[kReturnFromCut]) {
-			if (_scene->_priorSceneId != -2) {
+			if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
 				_game._player._playerPos = Common::Point(15, 130);
 				_game._player._facing = FACING_EAST;
 			}
diff --git a/engines/mads/scene.h b/engines/mads/scene.h
index 05053c3..5927f4e 100644
--- a/engines/mads/scene.h
+++ b/engines/mads/scene.h
@@ -40,6 +40,8 @@
 
 namespace MADS {
 
+enum { RETURNING_FROM_DIALOG = -2, RETURNING_FROM_LOADING = -1 };
+
 class Scene {
 private:
 	/**






More information about the Scummvm-git-logs mailing list