[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