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

Strangerke Strangerke at scummvm.org
Mon Jan 23 12:42:34 CET 2012


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:
aec3a92377 TSAGE: R2R - Implement several missing functions in scene1550


Commit: aec3a92377c4c1467407e92b472da169d61b10b9
    https://github.com/scummvm/scummvm/commit/aec3a92377c4c1467407e92b472da169d61b10b9
Author: Strangerke (strangerke at scummvm.org)
Date: 2012-01-23T03:42:04-08:00

Commit Message:
TSAGE: R2R - Implement several missing functions in scene1550

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



diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index 38aeee6..bc4a31c 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -2497,8 +2497,73 @@ void Scene1550::UnkArea1550::remove() {
 		scene->setAction(&scene->_sequenceManager1, scene, 1562, &R2_GLOBALS._player, NULL);
 	}
 }
+
+void Scene1550::UnkArea1550::process(Event &event) {
+// This is a copy of Scene1200::Area1::process
+	if (_field20 != R2_GLOBALS._insetUp)
+		return;
+
+	CursorType cursor = R2_GLOBALS._events.getCursor();
+
+	if (_areaActor._bounds.contains(event.mousePos.x + g_globals->gfxManager()._bounds.left , event.mousePos.y)) {
+		if (cursor == _cursorNum)
+			warning("TODO: _cursorState = ???");
+			R2_GLOBALS._events.setCursor(_savedCursorNum); //, _cursorState);
+	} else if (event.mousePos.y < 168) {
+		if (cursor != _cursorNum) {
+			_savedCursorNum = cursor;
+			warning("TODO: _cursorState = ???");
+			R2_GLOBALS._events.setCursor(CURSOR_INVALID);
+		}
+		if (event.eventType == EVENT_BUTTON_DOWN) {
+			event.handled = true;
+			warning("TODO: _cursorState = ???");
+			R2_GLOBALS._events.setCursor(_savedCursorNum); //, _cursorState);
+			remove();
+		}
+	}
+}
+
 void Scene1550::UnkArea1550::proc12(int visage, int stripFrameNum, int frameNum, int posX, int posY) {
-	warning("Scene1550::UnkArea1550::proc12() should be based on Scene1550::UnkArea1200::proc12()");
+	// UnkArea1200::proc12();
+	Scene1550 *scene = (Scene1550 *)R2_GLOBALS._sceneManager._scene;
+
+	_areaActor.postInit();
+	_areaActor.setup(visage, stripFrameNum, frameNum);
+	_areaActor.setPosition(Common::Point(posX, posY));
+	_areaActor.fixPriority(250);
+	_cursorNum = CURSOR_INVALID;
+	scene->_sceneAreas.push_front(this);
+	++R2_GLOBALS._insetUp;
+	_field20 = R2_GLOBALS._insetUp;
+	//
+
+	proc13(1550, 67, -1, -1);
+	_unkObj155031.postInit();
+	_unkObj155031._fieldA4 = 1;
+	if (scene->_actor4._frame == 1)
+		_unkObj155031.setup(1559, 3, 1);
+	else
+		_unkObj155031.setup(1559, 3, 2);
+	_unkObj155031.setPosition(Common::Point(142, 79));
+	_unkObj155031.fixPriority(251);
+	_unkObj155031.setDetails(1550, 68, -1, -1, 2, (SceneItem *) NULL);
+
+	_unkObj155032.postInit();
+	_unkObj155032._numFrames = 5;
+	_unkObj155032._fieldA4 = 2;
+	if (scene->_actor13._frame == 1)
+		_unkObj155032.setup(1559, 2, 1);
+	else
+		_unkObj155032.setup(1559, 2, 2);
+	_unkObj155032.setPosition(Common::Point(156, 103));
+	_unkObj155032.fixPriority(251);
+	_unkObj155032.setDetails(1550, 69, -1, -1, 2, (SceneItem *) NULL);
+}
+
+void Scene1550::UnkArea1550::proc13(int resNum, int lookLineNum, int talkLineNum, int useLineNum) {
+	// Copy of Scene1200::Area1::proc13
+	_areaActor.setDetails(resNum, lookLineNum, talkLineNum, useLineNum, 2, (SceneItem *) NULL);
 }
 
 bool Scene1550::Hotspot1::startAction(CursorType action, Event &event) {
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h
index 52fb365..3f2399a 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.h
@@ -275,7 +275,9 @@ class Scene1550 : public SceneExt {
 		UnkObj15503 _unkObj155032;
 
 		virtual void remove();
+		virtual void process(Event &event);
 		virtual void proc12(int visage, int stripFrameNum, int frameNum, int posX, int posY);
+		virtual void proc13(int resNum, int lookLineNum, int talkLineNum, int useLineNum);
 	};
 
 	class Hotspot1 : public NamedHotspot {
@@ -796,6 +798,7 @@ public:
 	virtual void remove();
 	virtual void signal();
 };
+
 } // End of namespace Ringworld2
 } // End of namespace TsAGE
 






More information about the Scummvm-git-logs mailing list