[Scummvm-cvs-logs] scummvm master -> 58b082bcb1ad23df30ae92adf6f672a753d35611

Strangerke Strangerke at scummvm.org
Tue Nov 8 23:42:54 CET 2011


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:
58b082bcb1 TSAGE: R2R - Intro(?) (50): partial implementation.


Commit: 58b082bcb1ad23df30ae92adf6f672a753d35611
    https://github.com/scummvm/scummvm/commit/58b082bcb1ad23df30ae92adf6f672a753d35611
Author: Strangerke (strangerke at scummvm.org)
Date: 2011-11-08T14:41:45-08:00

Commit Message:
TSAGE: R2R - Intro(?) (50): partial implementation.

Some missing core functions still have to be implemented.

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



diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp
index b82d4bc..dfdc3e0 100644
--- a/engines/tsage/globals.cpp
+++ b/engines/tsage/globals.cpp
@@ -376,6 +376,7 @@ void Ringworld2Globals::reset() {
 	_v5657C = 0;
 	_v565F5 = 0;
 	_v57C2C = 0;
+	_v58CE2 = 0;
 	Common::set_to(&_v565F1[0], &_v565F1[MAX_CHARACTERS], 0);
 
 	_player._characterIndex = 1;
@@ -390,6 +391,7 @@ void Ringworld2Globals::synchronize(Serializer &s) {
 	s.syncAsSint16LE(_v5657C);
 	s.syncAsSint16LE(_v565F5);
 	s.syncAsSint16LE(_v57C2C);
+	s.syncAsSint16LE(_v58CE2);
 	for (int i = 0; i < MAX_CHARACTERS; ++i)
 		s.syncAsSint16LE(_v565F1[i]);
 }
diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h
index 6d61ce6..3280d70 100644
--- a/engines/tsage/globals.h
+++ b/engines/tsage/globals.h
@@ -247,6 +247,7 @@ public:
 	int _v565F5;
 	int _v5657C;
 	int _v57C2C;
+	int _v58CE2;
 	int _v565F1[4];
 
 	virtual void reset();
diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index ee52073..94aa8c5 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -36,7 +36,7 @@ Scene *Ringworld2Game::createScene(int sceneNumber) {
 	switch (sceneNumber) {
 	/* Scene group #0 */
 	//
-	case 50: error("Scene number %d - Not yet implemented", sceneNumber);
+	case 50: return new Scene50();
 	// Quinn's room
 	case 100: return new Scene100();
 	// Computer console
diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp
index 2062f6f..cbe1fc7 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp
@@ -29,6 +29,48 @@ namespace TsAGE {
 
 namespace Ringworld2 {
 
+void Scene50::Action1::signal() {
+	switch (_actionIndex++) {
+	case 0:
+		setDelay(2);
+		break;
+	case 1:
+		setDelay(180);
+		break;
+	case 2:
+		R2_GLOBALS._sceneManager.changeScene(100);
+		break;
+	default:
+		break;
+	}
+}
+
+void Scene50::postInit(SceneObjectList *OwnerList) {
+	SceneExt::postInit(OwnerList);
+	loadScene(110);
+
+	R2_GLOBALS._v58CE2 = 0;
+	R2_GLOBALS._scenePalette.loadPalette(0);
+
+	R2_GLOBALS._sound2.play(10);
+	R2_GLOBALS._player.disableControl();
+
+	setAction(&_action1);
+}
+
+void Scene50::process(Event &event) {
+	if ((event.eventType != EVENT_BUTTON_DOWN) && (event.eventType != EVENT_KEYPRESS) && (event.eventType == 27)) {
+		event.handled = true;
+		warning("TODO: incomplete Scene50::process()");
+		// CursorType _oldCursorId = _cursorId;
+		g_globals->_events.setCursor(R2_2);
+		// _cursorManager.sub_1D474(2, 0);
+		// sub_5566A(1);
+		// _cursorManager._fieldE = _oldCursorId;
+		R2_GLOBALS._sceneManager.changeScene(100);
+	}
+}
+
 /*--------------------------------------------------------------------------
  * Scene 100 - Quinn's Room
  *
diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.h b/engines/tsage/ringworld2/ringworld2_scenes0.h
index 9b83d03..38710a7 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes0.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes0.h
@@ -38,6 +38,20 @@ namespace Ringworld2 {
 
 using namespace TsAGE;
 
+class Scene50: public SceneExt {
+
+	class Action1: public Action {
+	public:
+		void signal();
+	};
+	
+public:
+	Action1 _action1;	
+
+	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	virtual void process(Event &event);
+};
+
 class Scene100: public SceneExt {
 	/* Objects */
 	class Door: public SceneActorExt {






More information about the Scummvm-git-logs mailing list