[Scummvm-cvs-logs] scummvm master -> 420ecf38a64869ffd89f5b08d99dcddc73d987ad

dreammaster dreammaster at scummvm.org
Sat Oct 8 00:23:07 CEST 2011


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

Summary:
e651f36d43 TSAGE: Implemented Blue Force scene 280 - Bedroom Flashback cut-scene
5d409006e4 TSAGE: Implemented Blue Force scene 810 - Lyle's Office
420ecf38a6 TSAGE: Fix compiler warning


Commit: e651f36d435decfecf9c0b7b30eee68e9421f8b1
    https://github.com/scummvm/scummvm/commit/e651f36d435decfecf9c0b7b30eee68e9421f8b1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-07T15:14:16-07:00

Commit Message:
TSAGE: Implemented Blue Force scene 280 - Bedroom Flashback cut-scene

Changed paths:
    engines/tsage/blue_force/blueforce_logic.cpp
    engines/tsage/blue_force/blueforce_scenes2.cpp
    engines/tsage/blue_force/blueforce_scenes2.h



diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index 247fc4b..614d116 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -101,7 +101,8 @@ Scene *BlueForceGame::createScene(int sceneNumber) {
 		// Living Room & Kitchen #2
 		return new Scene271();
 	case 280:
-		error("Scene group 2 not implemented");
+		// Bedroom Flashback cut-scene
+		return new Scene280();
 	case 300:
 		// Outside Police Station
 		return new Scene300();
diff --git a/engines/tsage/blue_force/blueforce_scenes2.cpp b/engines/tsage/blue_force/blueforce_scenes2.cpp
index 7d66c7a..05833e8 100644
--- a/engines/tsage/blue_force/blueforce_scenes2.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes2.cpp
@@ -1653,6 +1653,8 @@ void Scene271::signal() {
 		_sceneMode = 13;
 		addFader((const byte *)&black, 2, this);
 		break;
+	default:
+		break;
 	}
 }
 
@@ -1715,6 +1717,123 @@ void Scene271::dispatch() {
 	SceneExt::dispatch();
 }
 
+/*--------------------------------------------------------------------------
+ * Scene 280 - Bedroom Flashback cut-scene
+ *
+ *--------------------------------------------------------------------------*/
+
+void Scene280::Action1::signal() {
+	Scene280 *scene = (Scene280 *)BF_GLOBALS._sceneManager._scene;
+	static uint32 black = 0;
+
+	switch (_actionIndex++) {
+	case 0:
+		scene->_jake.postInit();
+		scene->_jake.setVisage(283);
+		scene->_jake.setPosition(Common::Point(331, 200));
+		scene->_jake.animate(ANIM_MODE_1, NULL);
+		scene->_jake.setStrip(1);
+		ADD_MOVER(scene->_jake, 189, 131);
+		break;
+	case 1:
+		scene->_jake.setStrip(2);
+		scene->_jake.setFrame(1);
+		scene->_jake.animate(ANIM_MODE_8, NULL);
+		scene->_jake._numFrames = 5;
+		
+		scene->_stripManager.start(2800, this);
+		break;
+	case 2:
+		scene->_jake.animate(ANIM_MODE_5, NULL);
+		scene->_dad.animate(ANIM_MODE_5, this);
+		break;
+	case 3:
+		scene->_jake.setStrip(4);
+		scene->_jake.setFrame(1);
+		scene->_dad.setStrip(2);
+		scene->_jake.setFrame(1);
+		scene->_dad.animate(ANIM_MODE_5, this);
+		break;
+	case 4:
+		scene->_dad.setStrip(3);
+		scene->_dad.setFrame(1);
+		scene->_dad.animate(ANIM_MODE_5, this);
+		break;
+	case 5:
+		scene->_object4.hide();
+		scene->_dad.setVisage(282);
+		scene->_dad.setStrip(1);
+		scene->_dad.setFrame(1);
+		scene->_dad._numFrames = 5;
+		scene->_dad.animate(ANIM_MODE_5, this);
+		break;
+	case 6:
+		scene->_stripManager.start(2801, this);
+		break;
+	case 7:
+		scene->_mum.postInit();
+		scene->_mum.setVisage(282);
+		scene->_mum.setStrip(2);
+		scene->_mum.setFrame(1);
+		scene->_mum.fixPriority(1);
+		scene->_mum.setPosition(Common::Point(160, 138));
+
+		scene->_jake.setStrip(3);
+		scene->_jake.setFrame(1);
+		scene->_jake.animate(ANIM_MODE_5, this);
+
+		scene->_dad._numFrames = 10;
+		scene->_dad.setVisage(284);
+		scene->_dad.setStrip(1);
+		scene->_dad.fixPriority(-1);
+		scene->_dad.setPosition(Common::Point(174, 136));
+		scene->_dad.setFrame(1);
+		scene->_dad.animate(ANIM_MODE_1, NULL);
+		ADD_MOVER(scene->_dad, 438, 320);
+		break;
+	case 8:
+		scene->_mum.animate(ANIM_MODE_4, 5, 1, this);
+		break;
+	case 9:
+		scene->_sceneMode = 2;
+		BF_GLOBALS._sound1.fadeOut2(NULL);
+		scene->addFader((const byte *)&black, 2, scene);
+
+		scene->_jake.remove();
+		scene->_mum.animate(ANIM_MODE_5, NULL);
+		break;
+	}
+}
+
+/*--------------------------------------------------------------------------*/
+
+void Scene280::postInit(SceneObjectList *OwnerList) {
+	PalettedScene::postInit();
+	BF_GLOBALS._interfaceY = SCREEN_HEIGHT;
+	loadScene(280);
+
+	_stripManager.addSpeaker(&_gameTextSpeaker);
+
+	_dad.postInit();
+	_dad.setVisage(281);
+	_dad.setPosition(Common::Point(160, 138));
+	_dad.fixPriority(1);
+
+	_object4.postInit();
+	_object4.setVisage(280);
+	_object4.setPosition(Common::Point(139, 141));
+
+	const uint32 black = 0;
+	add2Faders((const byte *)&black, 2, 280, this);
+	_sceneMode = 1;
+	setAction(&_action1);
+}
+
+void Scene280::signal() {
+	if (_sceneMode == 2)
+		BF_GLOBALS._sceneManager.changeScene(271);
+}
+
 } // End of namespace BlueForce
 
 } // End of namespace TsAGE
diff --git a/engines/tsage/blue_force/blueforce_scenes2.h b/engines/tsage/blue_force/blueforce_scenes2.h
index 2ec939b..17e749d 100644
--- a/engines/tsage/blue_force/blueforce_scenes2.h
+++ b/engines/tsage/blue_force/blueforce_scenes2.h
@@ -276,6 +276,20 @@ public:
 	virtual void dispatch();
 };
 
+class Scene280: public PalettedScene {
+	/* Actions */
+	class Action1: public ActionExt {
+	public:
+		virtual void signal();
+	};
+public:
+	Action1 _action1;
+	SpeakerGameText _gameTextSpeaker;
+	NamedObject _jake, _dad, _mum, _object4;
+
+	void postInit(SceneObjectList *OwnerList);
+	virtual void signal();
+};
 
 } // End of namespace BlueForce
 


Commit: 5d409006e48d92923479ba301320410094dba40c
    https://github.com/scummvm/scummvm/commit/5d409006e48d92923479ba301320410094dba40c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-07T15:14:17-07:00

Commit Message:
TSAGE: Implemented Blue Force scene 810 - Lyle's Office

Changed paths:
    engines/tsage/blue_force/blueforce_logic.cpp
    engines/tsage/blue_force/blueforce_scenes8.cpp
    engines/tsage/blue_force/blueforce_scenes8.h



diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index 614d116..f7f0284 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -190,6 +190,8 @@ Scene *BlueForceGame::createScene(int sceneNumber) {
 		// Jamison & Ryan
 		return new Scene800();
 	case 810:
+		// Lyle's Office
+		return new Scene810();
 	case 820:
 		error("Scene group 8 not implemented");
 	case 830:
diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp
index 49de0be..55274c6 100644
--- a/engines/tsage/blue_force/blueforce_scenes8.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes8.cpp
@@ -357,6 +357,946 @@ void Scene800::dispatch() {
 }
 
 /*--------------------------------------------------------------------------
+ * Scene 810 - Lyle's Office
+ *
+ *--------------------------------------------------------------------------*/
+
+void Scene810::Action1::signal() {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (_actionIndex++) {
+	case 0:
+		if (scene->_lyle._position.x == 115) {
+			ADD_PLAYER_MOVER(174, 142);
+		} else if (scene->_lyle._position.x < 160) {
+			ADD_PLAYER_MOVER(scene->_lyle._position.x + 20, scene->_lyle._position.y + 15);
+		} else {
+			ADD_PLAYER_MOVER(scene->_lyle._position.x - 20, scene->_lyle._position.y + 15);
+		}
+		break;
+	case 1:
+		BF_GLOBALS._player.updateAngle(scene->_lyle._position);
+		scene->_stripManager.start(scene->_sceneMode, this);
+		break;
+	case 2:
+		if (BF_GLOBALS.getFlag(shownFax) && (BF_GLOBALS._dayNumber == 3) && !BF_GLOBALS.getFlag(fWithLyle))
+			BF_GLOBALS.setFlag(showMugAround);
+
+		BF_GLOBALS._player.enableControl();
+		remove();
+		break;
+	default:
+		break;
+	}
+}
+
+void Scene810::Action2::signal() {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (_actionIndex++) {
+	case 0:
+		if (!BF_GLOBALS.getFlag(shownLyleCrate1Day1))
+			BF_GLOBALS._uiElements.addScore(30);
+
+		if (scene->_lyle._position.x == 115) {
+			ADD_PLAYER_MOVER(174, 142);
+		} else {
+			ADD_PLAYER_MOVER(193, 105);
+		}
+		break;
+	case 1:
+		BF_GLOBALS._player.setStrip(8);
+		if (scene->_lyle._position.x != 115)
+			_actionIndex = 3;
+
+		if (BF_GLOBALS.getFlag(shownLyleCrate1Day1)) {
+			if (BF_GLOBALS.getFlag(onDuty)) {
+				scene->_stripManager.start(8138, this);
+			} else {
+				scene->_stripManager.start((BF_GLOBALS._dayNumber == 3) ? 8110 : 8126, this);
+			}
+		} else if (BF_GLOBALS._dayNumber >= 3) {
+			scene->_stripManager.start(8110, this);
+		} else {
+			scene->_stripManager.start(BF_GLOBALS.getFlag(onDuty) ? 8140 : 8128, this);
+		}
+		break;
+	case 2:
+		scene->setAction(&scene->_sequenceManager1, this, 8117, &scene->_lyle, &scene->_chair, NULL);
+		break;
+	case 3:
+		BF_GLOBALS._walkRegions.proc2(4);
+		ADD_PLAYER_MOVER_THIS(scene->_lyle, 27, 124);
+		break;
+	case 4:
+		scene->_lyle.setVisage(813);
+		scene->_lyle.setStrip(2);
+		scene->_lyle.setFrame(1);
+		
+		ADD_PLAYER_MOVER(84, 113);
+		break;
+	case 5:
+		BF_GLOBALS._player.setStrip(8);
+		scene->_lyle.animate(ANIM_MODE_4, 5, 1, this);
+		break;
+	case 6:
+		scene->_lyle.animate(ANIM_MODE_5, NULL);
+		scene->_stripManager.start(8111, this);
+		break;
+	case 7:
+		scene->_lyle.setVisage(845);
+		scene->_lyle.setStrip(1);
+		scene->_lyle.setFrame(1);
+		scene->_lyle.animate(ANIM_MODE_1, NULL);
+
+		scene->_stripManager.start(BF_GLOBALS.getFlag(onDuty) ? 8137 : 8112, this);
+		break;
+	case 8:
+		BF_GLOBALS._walkRegions.proc1(13);
+		BF_GLOBALS._player.enableControl();
+		remove();
+		break;
+	default:
+		break;
+	}
+}
+
+/*--------------------------------------------------------------------------*/
+
+bool Scene810::Lyle::startAction(CursorType action, Event &event) {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 26);
+		return true;
+
+	case CURSOR_TALK:
+		BF_GLOBALS._player.disableControl();
+		BF_GLOBALS._player.updateAngle(_position);
+
+		switch (BF_GLOBALS._dayNumber) {
+		case 4:
+			scene->_sceneMode = (BF_INVENTORY.getObjectScene(INV_AUTO_RIFLE) == 810) ? 8001 : 8123;
+			break;
+		case 2:
+			if (BF_GLOBALS.getFlag(shownFax))
+				scene->_sceneMode = 8151;
+			else if (BF_GLOBALS.getFlag(onDuty)) {
+				if (BF_GLOBALS.getFlag(shownLyleCrate1)) {
+					scene->_sceneMode = BF_GLOBALS.getFlag(shownLyleCrate1Day1) ? 8145 : 8154;
+				} else if (BF_GLOBALS.getFlag(shownLyleRapsheet) || BF_GLOBALS.getFlag(shownLylePO)) {
+					scene->_sceneMode = 8145;
+				} else if (!_flag) {
+					++_flag;
+					scene->_sceneMode = 8139;
+				} else {
+					scene->_sceneMode = 8152;
+				}
+			} else {
+				if (BF_GLOBALS.getFlag(shownLyleCrate1)) {
+					scene->_sceneMode = BF_GLOBALS.getFlag(shownLyleCrate1Day1) ? 8133 : 8153;
+				} else if (BF_GLOBALS.getFlag(shownLyleRapsheet) || BF_GLOBALS.getFlag(shownLylePO)) {
+					scene->_sceneMode = 8133;
+				} else if (!_flag) {
+					++_flag;
+					scene->_sceneMode = 8127;
+				} else {
+					scene->_sceneMode = 8152;
+				}
+			}
+			break;
+		default:
+			if (BF_GLOBALS.getFlag(shownFax))
+				scene->_sceneMode = 8146;
+			else if (BF_GLOBALS.getFlag(shownLylePO) || BF_GLOBALS.getFlag(shownLyleRapsheet) || BF_GLOBALS.getFlag(shownLyleCrate1))
+				scene->_sceneMode = 8108;
+			else if (BF_INVENTORY.getObjectScene(INV_COBB_RAP) == 1)
+				scene->_sceneMode = 8107;
+			else
+				scene->_sceneMode = 8155;
+			break;
+		}
+
+		scene->setAction(&scene->_action1);
+		return true;
+
+	case INV_FOREST_RAP:
+		if (BF_GLOBALS.getFlag(shownLyleRapsheet))
+			scene->_sceneMode = 8148;
+		else {
+			BF_GLOBALS.setFlag(shownLyleRapsheet);
+			if (BF_GLOBALS._dayNumber != 2) {
+				scene->_sceneMode = BF_GLOBALS.getFlag(shownLylePO) ? 8122 : 8101;
+			} else if (BF_GLOBALS.getFlag(onDuty)) {
+				scene->_sceneMode = BF_GLOBALS.getFlag(shownLylePO) ? 8142 : 8143;
+			} else {
+				scene->_sceneMode = BF_GLOBALS.getFlag(shownLylePO) ? 8130 : 8131;
+			}
+		}
+		BF_GLOBALS._player.disableControl();
+		scene->setAction(&scene->_action1);
+		return true;
+
+	case INV_COBB_RAP:
+		if (BF_GLOBALS.getFlag(shownFax)) {
+			scene->_sceneMode = 8151;
+		} else {
+			BF_GLOBALS.setFlag(shownFax);
+			scene->_sceneMode = 8118;
+		}
+
+		BF_GLOBALS._player.disableControl();
+		scene->setAction(&scene->_action1);
+		return true;
+
+	case INV_AUTO_RIFLE:
+		BF_INVENTORY.setObjectScene(INV_AUTO_RIFLE, 810);
+		BF_GLOBALS._player.disableControl();
+		scene->_sceneMode = 8116;
+		scene->setAction(&scene->_sequenceManager1, scene, 8116, &BF_GLOBALS._player, NULL);
+		return true;
+
+	case INV_PRINT_OUT:
+		if (BF_GLOBALS.getFlag(shownLylePO)) {
+			scene->_sceneMode = 8149;
+		} else if (!BF_GLOBALS.getFlag(shownLylePO)) {
+			if (!BF_GLOBALS.getFlag(shownFax)) {
+				// WORKAROUND: Original did not do a 'not', but I think this is correct
+				BF_GLOBALS.setFlag(shownFax);
+				scene->_sceneMode = 8125;
+			} else if (BF_GLOBALS.getFlag(shownLyleRapsheet)) {
+				scene->_sceneMode = 8104;
+			} else {
+				scene->_sceneMode = 8121;
+			}
+		} else if (BF_GLOBALS.getFlag(onDuty)) {
+			scene->_sceneMode = 8141;
+		} else {
+			if (BF_GLOBALS.getFlag(shownLyleRapsheet) || BF_GLOBALS.getFlag(shownLyleCrate1))
+				scene->_sceneMode = 8129;
+			else
+				scene->_sceneMode = 8121;
+		}
+		BF_GLOBALS._player.disableControl();
+		scene->setAction(&scene->_action1);
+		return true;
+
+	case INV_CRATE1:
+		if (BF_GLOBALS.getFlag(shownLyleCrate1)) {
+			BF_GLOBALS._player.disableControl();
+			scene->_sceneMode = 8147;
+			scene->setAction(&scene->_action1);
+		} else {
+			BF_GLOBALS.setFlag(shownLyleCrate1);
+			BF_GLOBALS._player.disableControl();
+			scene->setAction(&scene->_action2);
+		}
+		return true;
+
+	default:
+		return NamedObjectExt::startAction(action, event);
+	}
+}		
+
+bool Scene810::Chair::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 28);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 29);
+		return true;
+	default:
+		return NamedObject::startAction(action, event);
+	}
+}
+
+bool Scene810::Object3::startAction(CursorType action, Event &event) {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 30);
+		return true;
+	case CURSOR_USE:
+		if (!BF_GLOBALS.getFlag(seenFolder)) {
+			BF_GLOBALS.setFlag(seenFolder);
+			BF_GLOBALS._player.disableControl();
+			scene->_sceneMode = 8104;
+			scene->setAction(&scene->_sequenceManager1, scene, 8104, &BF_GLOBALS._player, this, NULL);
+		} else if (BF_INVENTORY.getObjectScene(INV_MICROFILM) == 810) {
+			BF_GLOBALS._player.disableControl();
+			scene->_sceneMode = 8114;
+			scene->setAction(&scene->_sequenceManager1, scene, 8114, &BF_GLOBALS._player, NULL);
+		} else {
+			SceneItem::display2(810, 38);
+		}
+		return true;
+	default:
+		return NamedObject::startAction(action, event);
+	}
+}
+
+bool Scene810::Object4::startAction(CursorType action, Event &event) {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (action) {
+	case CURSOR_WALK:
+		return true;
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 32);
+		return true;
+	case CURSOR_USE:
+		if (scene->_rect3.contains(event.mousePos)) {
+			if (BF_INVENTORY.getObjectScene(INV_PRINT_OUT) == 811) {
+				BF_GLOBALS._uiElements.addScore(50);
+				scene->_sound1.play(77);
+				BF_GLOBALS._player.disableControl();
+
+				scene->_sceneMode = 8109;
+				scene->setAction(&scene->_sequenceManager1, scene, 8109, &BF_GLOBALS._player,
+					&scene->_object6, &scene->_object5, NULL);
+				scene->_fieldA70 = 1;
+				scene->_fieldA74 = 1;
+				remove();
+			} else {
+				SceneItem::display2(810, 39);
+			}
+		}
+
+		if (scene->_rect1.contains(event.mousePos) || scene->_rect2.contains(event.mousePos)) {
+			if (BF_INVENTORY.getObjectScene(INV_PRINT_OUT) == 811) {
+				scene->_sound1.play(77);
+				BF_GLOBALS._player.disableControl();
+
+				scene->_sceneMode = 8109;
+				scene->setAction(&scene->_sequenceManager1, scene, 8109, &BF_GLOBALS._player,
+					&scene->_object6, &scene->_object5, NULL);
+				scene->_fieldA74 = 1;
+				remove();
+			} else {
+				SceneItem::display2(810, 39);
+			}
+		}
+		return true;
+	default:
+		return NamedObject::startAction(action, event);
+	}
+}
+
+bool Scene810::Object5::startAction(CursorType action, Event &event) {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 33);
+		return true;
+	case CURSOR_USE: {
+		scene->_sceneMode = 8195;
+		BF_GLOBALS._player.disableControl();
+		
+		PlayerMover *mover = new PlayerMover();
+		Common::Point destPos(67, 111);
+		BF_GLOBALS._player.addMover(mover, &destPos, scene);
+		return true;
+	}
+	default:
+		return NamedObject::startAction(action, event);
+	}
+}
+
+bool Scene810::Object7::startAction(CursorType action, Event &event) {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (action) {
+	case CURSOR_LOOK:
+	case CURSOR_USE:
+		BF_GLOBALS._player.disableControl();
+		scene->_sceneMode = 8113;
+		scene->setAction(&scene->_sequenceManager1, scene, 8113, &BF_GLOBALS._player, NULL);
+		return true;
+	default:
+		return NamedObject::startAction(action, event);
+	}
+}
+
+/*--------------------------------------------------------------------------*/
+
+bool Scene810::Map::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 0);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 1);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Window::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 2);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 3);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Bookcase::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 4);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 5);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::FaxMachine::startAction(CursorType action, Event &event) {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 6);
+		return true;
+	case CURSOR_USE:
+		if (scene->_fieldA74 == 1) {
+			scene->_object5.startAction(action, event);
+		} else {
+			BF_GLOBALS._player.disableControl();
+			scene->_sceneMode = 8105;
+			ADD_PLAYER_MOVER(67, 111);
+		}
+		return true;
+	case INV_PRINT_OUT:
+		BF_INVENTORY.setObjectScene(INV_PRINT_OUT, 811);
+		BF_GLOBALS._player.disableControl();
+		scene->_sceneMode = 811;
+
+		if (BF_GLOBALS._sceneObjects->contains(&scene->_lyle)) {
+			scene->setAction(&scene->_sequenceManager1, scene, BF_GLOBALS.getFlag(onDuty) ? 8108 : 8105,
+				&scene->_object6, NULL);
+		} else {
+			scene->setAction(&scene->_sequenceManager1, scene, 8111, &BF_GLOBALS._player, &scene->_object6, NULL);
+		}
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::GarbageCan::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 8);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 9);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::FileCabinets::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 10);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 11);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::CoffeeMaker::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 12);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 13);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Shelves::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 14);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 15);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::MicroficheReader::startAction(CursorType action, Event &event) {
+	Scene810 *scene = (Scene810 *)BF_GLOBALS._sceneManager._scene;
+
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 16);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 17);
+		return true;
+	case INV_MICROFILM:
+		BF_GLOBALS._player.disableControl();
+		scene->_sceneMode = 8106;
+		scene->setAction(&scene->_sequenceManager1, scene, 8106, &BF_GLOBALS._player, NULL);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Item10::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 18);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 19);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Pictures::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 20);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 21);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Item12::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 22);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 23);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Background::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 24);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Desk::startAction(CursorType action, Event &event) {
+	switch (action) {
+	case CURSOR_LOOK:
+		SceneItem::display2(810, 36);
+		return true;
+	case CURSOR_USE:
+		SceneItem::display2(810, 37);
+		return true;
+	default:
+		return SceneHotspot::startAction(action, event);
+	}
+}
+
+bool Scene810::Exit::startAction(CursorType action, Event &event) {
+	ADD_PLAYER_MOVER(event.mousePos.x, event.mousePos.y);
+	return true;
+}
+
+/*--------------------------------------------------------------------------*/
+
+Scene810::Scene810(): SceneExt() {
+	_fieldA70 = _fieldA74 = 0;
+	_rect1 = Rect(68, 12, 120, 22);
+	_rect2 = Rect(59, 27, 117, 37);
+	_rect3 = Rect(49, 43, 112, 54);
+}
+
+void Scene810::synchronize(Serializer &s) {
+	SceneExt::synchronize(s);
+	s.syncAsSint16LE(_fieldA70);
+	s.syncAsSint16LE(_fieldA72);
+	s.syncAsSint16LE(_fieldA74);
+}
+
+void Scene810::postInit(SceneObjectList *OwnerList) {
+	SceneExt::postInit();
+	loadScene(810);
+	setZoomPercents(90, 80, 135, 100);
+	if (BF_GLOBALS._sceneManager._previousScene != 820)
+		BF_GLOBALS._sound1.fadeSound(76);
+
+	_stripManager.addSpeaker(&_gameTextSpeaker);
+	_stripManager.addSpeaker(&_jakeJacketSpeaker);
+	_stripManager.addSpeaker(&_jakeUniformSpeaker);
+	_stripManager.addSpeaker(&_lyleHatSpeaker);
+
+	BF_GLOBALS._player.postInit();
+	BF_GLOBALS._player.setVisage(BF_GLOBALS.getFlag(onDuty) ? 361 : 368);
+	BF_GLOBALS._player.animate(ANIM_MODE_1, NULL);
+	BF_GLOBALS._player.setObjectWrapper(new SceneObjectWrapper());
+	BF_GLOBALS._player.changeZoom(-1);
+	BF_GLOBALS._player._moveDiff = Common::Point(5, 3);
+	BF_GLOBALS._player.enableControl();
+
+	if (BF_GLOBALS._dayNumber == 2)
+		BF_GLOBALS.setFlag(beenToJRDay2);
+
+	if (BF_GLOBALS._dayNumber == 3) {
+		_object3.postInit();
+		_object3.setVisage(810);
+		_object3.setStrip(3);
+		_object3.setPosition(Common::Point(154, 97));
+		_object3.fixPriority(128);
+		BF_GLOBALS._sceneItems.push_back(&_object3);
+	}
+
+	if (BF_GLOBALS._dayNumber == 4) {
+		BF_INVENTORY.setObjectScene(INV_FOREST_RAP, 0);
+		BF_INVENTORY.setObjectScene(INV_COBB_RAP, 0);
+		BF_INVENTORY.setObjectScene(INV_PRINT_OUT, 0);
+		BF_INVENTORY.setObjectScene(INV_CRATE1, 0);
+	}
+
+	_desk._sceneRegionId = 12;
+	BF_GLOBALS._sceneItems.push_back(&_desk);
+
+	_lyle.postInit();
+	_lyle.setVisage(812);
+	_lyle.setPosition(Common::Point(115, 112));
+	_lyle._moveDiff = Common::Point(4, 2);
+	_lyle.changeZoom(-1);
+	_lyle._flag = 0;
+	BF_GLOBALS._sceneItems.push_back(&_lyle);
+
+	_chair.postInit();
+	_chair.setVisage(810);
+	_chair.setStrip(2);
+	_chair.setPosition(Common::Point(113, 126));
+	_chair.hide();
+	BF_GLOBALS._sceneItems.push_back(&_chair);
+
+	_object6.postInit();
+	_object6.setVisage(810);
+	_object6.setStrip(6);
+	_object6.setPosition(Common::Point(51, 65));
+	_object6._numFrames = 3;
+	_object6.hide();
+
+	_object5.postInit();
+	_object5.setVisage(810);
+	_object5.setStrip(5);
+	_object5.setPosition(Common::Point(58, 82));
+	_object5._numFrames = 3;
+	_object5.fixPriority(108);
+	_object5.hide();
+
+	if (BF_INVENTORY.getObjectScene(INV_PRINT_OUT) == 811) {
+		_object5.show();
+		BF_GLOBALS._sceneItems.push_back(&_object5);
+	}
+
+	if ((BF_GLOBALS._dayNumber == 4) && (BF_GLOBALS._bookmark < bEndDayThree)) {
+		_lyle.remove();
+		_chair.show();
+	}
+
+	switch (BF_GLOBALS._sceneManager._previousScene) {
+	case 820:
+		BF_GLOBALS._player.setStrip(7);
+		BF_GLOBALS._player.setPosition(Common::Point(278, 116));
+		
+		_lyle.setVisage(845);
+		_lyle.setPosition(Common::Point(340, 175));
+		_lyle.setObjectWrapper(new SceneObjectWrapper());
+		_lyle.animate(ANIM_MODE_1, NULL);
+		
+		_chair.show();
+
+		BF_GLOBALS._player.disableControl();
+		_sceneMode = 8107;
+		setAction(&_sequenceManager1, this, 8107, &BF_GLOBALS._player, &_lyle, NULL);
+		break;
+	case 935:
+		BF_GLOBALS._v51C44 = 1;
+		BF_GLOBALS._scenePalette.loadPalette(2);
+		_lyle.remove();
+
+		BF_GLOBALS._player.setPosition(Common::Point(174, 142));
+		BF_GLOBALS._player.setStrip(8);
+		BF_GLOBALS._player.enableControl();
+
+		_chair.remove();
+		break;
+	default:
+		BF_GLOBALS._player.setPosition(Common::Point(340, 180));
+		BF_GLOBALS._player.disableControl();
+		_sceneMode = 8100;
+
+		if (BF_GLOBALS.getFlag(fWithLyle)) {
+			_lyle.setVisage(845);
+			_lyle.setPosition(Common::Point(340, 175));
+			_lyle.setObjectWrapper(new SceneObjectWrapper());
+			_lyle.animate(ANIM_MODE_1, NULL);
+
+			_chair.show();
+			_sceneMode = 8196;
+			setAction(&_sequenceManager1, NULL, 8100, &BF_GLOBALS._player, NULL);
+			_lyle.setAction(&_sequenceManager2, this, 8107, &BF_GLOBALS._player, &_lyle, NULL);
+		} else {
+			setAction(&_sequenceManager1, this, 8100, &BF_GLOBALS._player, NULL);
+		}
+		break;
+	}
+
+	_exit.setDetails(Rect(315, 117, 320, 154), 810, -1, -1, -1, 1, NULL);
+	_map.setBounds(Rect(10, 10, 81, 52));
+	_window.setBounds(Rect(96, 10, 155, 49));
+	_bookcase.setBounds(Rect(5, 70, 74, 105));
+	_garbageCan.setBounds(Rect(84, 118, 101, 142));
+	_fileCabinets.setBounds(Rect(203, 41, 255, 100));
+	_coffeeMaker.setBounds(Rect(182, 54, 202, 89));
+	_shelves.setBounds(Rect(265, 10, 319, 41));
+	_microficheReader.setBounds(Rect(283, 47, 314, 73));
+
+	_faxMachine._sceneRegionId = 8;
+	BF_GLOBALS._sceneItems.push_back(&_faxMachine);
+	_item10._sceneRegionId = 9;
+	BF_GLOBALS._sceneItems.push_back(&_item10);
+	_pictures._sceneRegionId = 10;
+	BF_GLOBALS._sceneItems.push_back(&_pictures);
+	_item12._sceneRegionId = 8;
+	BF_GLOBALS._sceneItems.push_back(&_item12);
+
+	BF_GLOBALS._sceneItems.addItems(&_microficheReader, &_map, &_window, &_bookcase, &_garbageCan, 
+		&_fileCabinets, &_coffeeMaker, &_shelves, &_background, NULL);
+	_background.setBounds(Rect(0, 0, SCREEN_WIDTH, BF_INTERFACE_Y));
+}
+
+void Scene810::signal() {
+	switch (_sceneMode) {
+	case 811:
+	case 8105:
+		_object4.postInit();
+		_object4.setVisage(810);
+		_object4.setPosition(Common::Point(77, 94));
+		_object4.setStrip(8);
+		_object4.fixPriority(250);
+		BF_GLOBALS._sceneItems.push_back(&_object4);
+		break;
+	case 8100:
+		if (BF_GLOBALS.getFlag(examinedFile810)) {
+			if ((BF_GLOBALS._dayNumber == 4) && BF_GLOBALS._sceneObjects->contains(&_lyle)) {
+				_sceneMode = 8115;
+				setAction(&_sequenceManager1, this, 8115, &BF_GLOBALS._player, NULL);
+			} else {
+				BF_GLOBALS._player.enableControl();
+			}
+		} else {
+			if ((BF_GLOBALS._dayNumber == 3) && BF_GLOBALS._sceneObjects->contains(&_lyle)) {
+				_sceneMode = 8103;
+				setAction(&_sequenceManager1, this, 8103, &BF_GLOBALS._player, &_lyle, &_chair, NULL);
+			} else if (BF_GLOBALS.getFlag(shownLyleCrate1Day1) && !BF_GLOBALS.getFlag(shownLyleCrate1)) {
+				BF_GLOBALS.setFlag(shownLyleCrate1);
+				setAction(&_action2);
+			} else {
+				BF_GLOBALS._player.enableControl();
+			}
+		}
+		break;
+	case 8101:
+		BF_GLOBALS._sound1.fadeOut2(NULL);
+		BF_GLOBALS._sceneManager.changeScene(800);
+		break;
+	case 8103:
+		_lyle.remove();
+		BF_GLOBALS._player.enableControl();
+		break;
+	case 8104:
+		BF_GLOBALS.setFlag(examinedFile810);
+		_object7.postInit();
+		_object7.setVisage(810);
+		_object7.setPosition(Common::Point(54, 101));
+		_object7.fixPriority(200);
+		BF_GLOBALS._sceneItems.push_front(&_object7);
+		BF_GLOBALS._player.enableControl();
+		break;
+	case 8106:
+		BF_GLOBALS._uiElements.addScore(30);
+		BF_INVENTORY.setObjectScene(INV_MICROFILM, 820);
+		BF_GLOBALS._sceneManager.changeScene(820);
+		break;
+	case 8107:
+		if (BF_GLOBALS.getFlag(shownFax)) {
+			BF_GLOBALS.setFlag(showMugAround);
+		} else {
+			BF_GLOBALS._walkRegions.proc1(4);
+			BF_GLOBALS._player.enableControl();
+		}
+		break;
+	case 8109:
+		_object6.setFrame(1);
+		BF_GLOBALS._sceneItems.push_front(&_object5);
+		BF_GLOBALS._player.enableControl();
+		break;
+	case 8110:
+	case 8115:
+		BF_GLOBALS._player.enableControl();
+		break;
+	case 8112:
+		BF_GLOBALS.setFlag(fWithLyle);
+		BF_GLOBALS._sceneManager.changeScene(800);
+		break;
+	case 8113:
+		BF_GLOBALS._sound1.fadeOut2(NULL);
+		BF_GLOBALS._sceneManager.changeScene(935);
+		break;
+	case 8114:
+		BF_GLOBALS._uiElements.addScore(10);
+		BF_INVENTORY.setObjectScene(INV_MICROFILM, 1);
+		BF_GLOBALS._player.enableControl();
+		break;
+	case 8116:
+		BF_GLOBALS._bookmark = bDoneWithIsland;
+		BF_GLOBALS._player.enableControl();
+		break;
+	case 8195:
+		BF_GLOBALS._player.setStrip(8);
+		BF_INVENTORY.setObjectScene(INV_PRINT_OUT, 1);
+		if (_fieldA70 == 1) {
+			BF_INVENTORY.setObjectScene(INV_COBB_RAP, 1);
+			_sceneMode = 8110;
+			if (BF_GLOBALS._sceneObjects->contains(&_lyle)) {
+				_sceneMode = 8198;
+				BF_GLOBALS.setFlag(shownFax);
+				_stripManager.start(BF_GLOBALS.getFlag(onDuty) ? 8135 : 8106, this);
+			} else {
+				_stripManager.start(8117, this);
+			}
+		} else {
+			SceneItem::display2(810, 34);
+			BF_GLOBALS._player.enableControl();
+		}
+
+		_fieldA74 = 0;
+		_object5.hide();
+		_object5.setFrame(1);
+		break;
+	case 8196:
+		BF_GLOBALS._walkRegions.proc1(4);
+		BF_GLOBALS._player.enableControl();
+		break;
+	case 8198:
+		if (BF_GLOBALS._dayNumber == 3) {
+			BF_GLOBALS.setFlag(showMugAround);
+		} else {
+			BF_GLOBALS._player.enableControl();
+		}
+		break;
+	default:
+		break;
+	}
+}
+
+void Scene810::process(Event &event) {
+	if (BF_GLOBALS._player._enabled && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+		// Check if the cursor is on an exit
+		if (_exit.contains(event.mousePos)) {
+			GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_E);
+			BF_GLOBALS._events.setCursor(surface);
+		} else {
+			// In case an exit cursor was being shown, restore the previously selected cursor
+			CursorType cursorId = BF_GLOBALS._events.getCursor();
+			BF_GLOBALS._events.setCursor(cursorId);
+		}
+	}
+
+	if (!event.handled)
+		SceneExt::process(event);
+}
+
+void Scene810::dispatch() {
+	SceneExt::dispatch();
+
+	if (BF_GLOBALS._sceneObjects->contains(&_lyle) && (BF_GLOBALS._player._position.x != 115) && !_lyle._mover) {
+		_lyle.updateAngle(BF_GLOBALS._player._position);
+	}
+
+	if (BF_GLOBALS._sceneObjects->contains(&_object4) && (BF_GLOBALS._player._position.x != 67) && 
+			(BF_GLOBALS._player._position.y != 111)) {
+		_object4.remove();
+	}
+
+	if (!_action) {
+		if (BF_GLOBALS.getFlag(showMugAround)) {
+			if (_lyle._position.y == 115) {
+				BF_GLOBALS._player.disableControl();
+
+				_sceneMode = 8110;
+				setAction(&_sequenceManager1, this, 8117, &_lyle, &_chair, NULL);
+			} else {
+				BF_GLOBALS.clearFlag(showMugAround);
+				BF_GLOBALS._player.disableControl();
+				BF_GLOBALS._walkRegions.proc2(4);
+				BF_GLOBALS._walkRegions.proc2(13);
+
+				_sceneMode = 8112;
+				setAction(&_sequenceManager1, this, 8112, &BF_GLOBALS._player,  &_lyle, NULL);
+			}
+		}
+
+		if (BF_GLOBALS._player._position.x >= 318) {
+			BF_GLOBALS._player.disableControl();
+
+			if ((BF_GLOBALS._dayNumber == 3) && !BF_GLOBALS.getFlag(examinedFile810)) {
+				SceneItem::display2(810, 35);
+				_sceneMode = 8100;
+				setAction(&_sequenceManager1, this, 8100, &BF_GLOBALS._player, NULL);
+			} else if (BF_GLOBALS.getFlag(fWithLyle)) {
+				BF_GLOBALS._walkRegions.proc2(4);
+				BF_GLOBALS._walkRegions.proc2(13);
+
+				ADD_MOVER_NULL(_lyle, 320, 155);
+
+				_sceneMode = 8101;
+				setAction(&_sequenceManager1, this, 8101, &BF_GLOBALS._player, NULL);
+			}
+		}
+	}
+}
+
+/*--------------------------------------------------------------------------
  * Scene 830 - Outside Boat Rentals
  *
  *--------------------------------------------------------------------------*/
diff --git a/engines/tsage/blue_force/blueforce_scenes8.h b/engines/tsage/blue_force/blueforce_scenes8.h
index 84a1180..db106c0 100644
--- a/engines/tsage/blue_force/blueforce_scenes8.h
+++ b/engines/tsage/blue_force/blueforce_scenes8.h
@@ -99,6 +99,146 @@ public:
 	virtual void dispatch();
 };
 
+class Scene810: public SceneExt {
+	/* Actions */
+	class Action1: public Action {
+	public:
+		virtual void signal();
+	};
+	class Action2: public Action {
+	public:
+		virtual void signal();
+	};
+
+	/* Items */
+	class Map: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Window: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Bookcase: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class FaxMachine: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class GarbageCan: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class FileCabinets: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class CoffeeMaker: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Shelves: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class MicroficheReader: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Item10: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Pictures: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Item12: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Background: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Desk: public SceneHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Exit: public NamedHotspot {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+
+	/* Objects */
+	class Lyle: public NamedObjectExt {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Chair: public NamedObject {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Object3: public NamedObject {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Object4: public NamedObject {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Object5: public NamedObject {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+	class Object7: public NamedObject {
+	public:
+		virtual bool startAction(CursorType action, Event &event);
+	};
+public:
+	Action1 _action1;
+	Action2 _action2;
+	SequenceManager _sequenceManager1, _sequenceManager2;
+	SpeakerGameText _gameTextSpeaker;
+	SpeakerJakeJacket _jakeJacketSpeaker;
+	SpeakerJakeUniform _jakeUniformSpeaker;
+	SpeakerLyleHat _lyleHatSpeaker;
+	Lyle _lyle;
+	Chair _chair;
+	Object3 _object3;
+	Object4 _object4;
+	Object5 _object5;
+	NamedObject _object6;
+	Object7 _object7;
+	Map _map;
+	Window _window;
+	Bookcase _bookcase;
+	FaxMachine _faxMachine;
+	GarbageCan _garbageCan;
+	FileCabinets _fileCabinets;
+	CoffeeMaker _coffeeMaker;
+	Shelves _shelves;
+	MicroficheReader _microficheReader;
+	Item10 _item10;
+	Pictures _pictures;
+	Item12 _item12;
+	Background _background;
+	Desk _desk;
+	Exit _exit;
+	ASoundExt _sound1;
+	Rect _rect1, _rect2, _rect3;
+	int _fieldA70, _fieldA72, _fieldA74;
+
+	Scene810();
+	virtual void synchronize(Serializer &s);
+	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	virtual void signal();
+	virtual void process(Event &event);
+	virtual void dispatch();
+};
+
 class Scene830: public PalettedScene {
 	/* Items */
 	class SouthEastExit: public NamedHotspot {


Commit: 420ecf38a64869ffd89f5b08d99dcddc73d987ad
    https://github.com/scummvm/scummvm/commit/420ecf38a64869ffd89f5b08d99dcddc73d987ad
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-10-07T15:14:17-07:00

Commit Message:
TSAGE: Fix compiler warning

Changed paths:
    engines/tsage/blue_force/blueforce_scenes6.cpp



diff --git a/engines/tsage/blue_force/blueforce_scenes6.cpp b/engines/tsage/blue_force/blueforce_scenes6.cpp
index 0d6587d..86e64aa 100644
--- a/engines/tsage/blue_force/blueforce_scenes6.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes6.cpp
@@ -66,7 +66,7 @@ void Scene600::Action1::signal() {
 		scene->_object3.remove();
 
 		for (int percent = 100; percent >= 0; percent -= 5) {
-			BF_GLOBALS._scenePalette.fade((byte *)&black, false, percent);
+			BF_GLOBALS._scenePalette.fade((const byte *)&black, false, percent);
 			g_system->delayMillis(10);
 		}
 






More information about the Scummvm-git-logs mailing list