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

dreammaster dreammaster at scummvm.org
Sun Aug 4 16:01:04 CEST 2013


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:
c92ffa95df TSAGE: Completed R2R starship cutscene


Commit: c92ffa95df999265f5a63d9e0f7843c97040643e
    https://github.com/scummvm/scummvm/commit/c92ffa95df999265f5a63d9e0f7843c97040643e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2013-08-04T07:00:10-07:00

Commit Message:
TSAGE: Completed R2R starship cutscene

Changed paths:
    engines/tsage/ringworld2/ringworld2_logic.cpp
    engines/tsage/ringworld2/ringworld2_logic.h
    engines/tsage/ringworld2/ringworld2_scenes0.cpp
    engines/tsage/ringworld2/ringworld2_scenes1.cpp



diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index c5f6dc9..0495834 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -108,7 +108,7 @@ Scene *Ringworld2Game::createScene(int sceneNumber) {
 	/* Scene group #1 */
 	//
 	case 1000:
-		// Cutscene: Ship moving
+		// Cutscene scene
 		return new Scene1000();
 	case 1010:
 		// Cutscene - trip in space
@@ -570,6 +570,13 @@ void SceneExt::scalePalette(int RFactor, int GFactor, int BFactor) {
 	}
 }
 
+void SceneExt::loadBlankScene() {
+	_backSurface.create(SCREEN_WIDTH, SCREEN_HEIGHT * 3 / 2);
+	_backSurface.fillRect(_backSurface.getBounds(), 0);
+
+	R2_GLOBALS._screenSurface.fillRect(R2_GLOBALS._screenSurface.getBounds(), 0);
+}
+
 /*--------------------------------------------------------------------------*/
 
 void SceneHandlerExt::postInit(SceneObjectList *OwnerList) {
@@ -1750,7 +1757,7 @@ AnimationPlayer::~AnimationPlayer() {
 
 void AnimationPlayer::synchronize(Serializer &s) {
 	EventHandler::synchronize(s);
-	warning("TODO AnimationPlayer::load");
+	warning("TODO AnimationPlayer::synchronize");
 }
 
 void AnimationPlayer::remove() {
diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h
index b740783..1b4b7fc 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.h
+++ b/engines/tsage/ringworld2/ringworld2_logic.h
@@ -108,6 +108,7 @@ public:
 	void fadeOut();
 	void clearScreen();
 	void scalePalette(int RFactor, int GFactor, int BFactor);
+	void loadBlankScene();
 };
 
 class SceneHandlerExt: public SceneHandler {
@@ -435,6 +436,7 @@ public:
 	virtual void changePane() {}
 	virtual void closing() {}
 
+
 	bool load(int animId, Action *endAction = NULL);
 	bool isCompleted();
 	void close();
diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp
index 53610ce..e37d5bf 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp
@@ -3080,10 +3080,10 @@ bool Scene300::Seeker::startAction(CursorType action, Event &event) {
 		} else {
 			R2_GLOBALS._player.disableControl();
 			scene->_stripId = 171;
-		}
 
-		scene->_sceneMode = 310;
-		scene->setAction(&scene->_sequenceManager1, scene, 310, &R2_GLOBALS._player, NULL);
+			scene->_sceneMode = 310;
+			scene->setAction(&scene->_sequenceManager1, scene, 310, &R2_GLOBALS._player, NULL);
+		}
 		return true;
 
 	case R2_READER:
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index a23db73..fa24658 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -30,7 +30,7 @@ namespace TsAGE {
 namespace Ringworld2 {
 
 /*--------------------------------------------------------------------------
- * Scene 1000 - Cutscene: Ship moving
+ * Scene 1000 - Cutscene scene
  *
  *--------------------------------------------------------------------------*/
 
@@ -42,6 +42,7 @@ Scene1000::Scene1000(): SceneExt() {
 }
 
 void Scene1000::postInit(SceneObjectList *OwnerList) {
+	loadBlankScene();
 	SceneExt::postInit();
 
 	_stripManager.addSpeaker(&_gameTextSpeaker);
@@ -85,6 +86,7 @@ void Scene1000::postInit(SceneObjectList *OwnerList) {
 		break;
 	}
 
+	R2_GLOBALS._uiElements._active = false;
 	setAction(&_sequenceManager1, this, 1, &R2_GLOBALS._player, NULL);
 }
 
@@ -98,7 +100,7 @@ void Scene1000::signal() {
 	ScenePalette scenePalette1, scenePalette2;
 	uint32 black = 0;
 	
-	switch (R2_GLOBALS._sceneManager._previousScene) {
+	switch (_sceneMode++) {
 	case 0:
 		// TODO: Sort out values
 		R2_GLOBALS._gfxColors.foreground = 191;
@@ -108,7 +110,7 @@ void Scene1000::signal() {
 
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
-		_animationPlayer.load(5);
+		_animationPlayer.load(5, this);
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
 
@@ -165,7 +167,7 @@ void Scene1000::signal() {
 
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(7);
+		_animationPlayer.load(7, this);
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
 
@@ -195,7 +197,7 @@ void Scene1000::signal() {
 	case 10:
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(6);
+		_animationPlayer.load(6, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -217,7 +219,7 @@ void Scene1000::signal() {
 	case 20:
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(8);
+		_animationPlayer.load(8, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -237,7 +239,7 @@ void Scene1000::signal() {
 	case 30:
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(17);
+		_animationPlayer.load(17, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -262,7 +264,7 @@ void Scene1000::signal() {
 	case 40:
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(18);
+		_animationPlayer.load(18, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -288,7 +290,7 @@ void Scene1000::signal() {
 
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(13);
+		_animationPlayer.load(13, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -310,7 +312,7 @@ void Scene1000::signal() {
 
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(14);
+		_animationPlayer.load(14, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -337,7 +339,7 @@ void Scene1000::signal() {
 
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(12);
+		_animationPlayer.load(12, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -362,7 +364,7 @@ void Scene1000::signal() {
 
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(9);
+		_animationPlayer.load(9, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -385,7 +387,7 @@ void Scene1000::signal() {
 	case 80:
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(10);
+		_animationPlayer.load(10, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -403,7 +405,7 @@ void Scene1000::signal() {
 	case 90:
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(11);
+		_animationPlayer.load(11, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -430,7 +432,7 @@ void Scene1000::signal() {
 
 		_animationPlayer._paletteMode = ANIMPALMODE_NONE;
 		_animationPlayer._objectMode = ANIMOBJMODE_2;
-		_animationPlayer.load(19);
+		_animationPlayer.load(19, this);
 
 		R2_GLOBALS._scenePalette.loadPalette(_animationPlayer._subData._palData, 0, 256);
 		R2_GLOBALS._sceneManager._hasPalette = false;
@@ -452,7 +454,20 @@ void Scene1000::signal() {
 }
 
 void Scene1000::dispatch() {
+	if (_fieldD2E) {
+		if (_animationPlayer.isCompleted()) {
+			_fieldD2E = 0;
+			_animationPlayer.close();
+			_animationPlayer.remove();
+
+			if (_sceneMode == 52)
+				_endHandler = this;
+		} else {
+			_animationPlayer.dispatch();
+		}
+	}
 
+	Scene::dispatch();
 }
 
 






More information about the Scummvm-git-logs mailing list