[Scummvm-cvs-logs] scummvm master -> 44b3120b81526f214818c4cdbed83a7260a1d60b

Strangerke Strangerke at scummvm.org
Tue Jan 3 15:40:24 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:
44b3120b81 TSAGE: R2R - Add missing custom VisualSpeaker in scene 3600


Commit: 44b3120b81526f214818c4cdbed83a7260a1d60b
    https://github.com/scummvm/scummvm/commit/44b3120b81526f214818c4cdbed83a7260a1d60b
Author: Strangerke (strangerke at scummvm.org)
Date: 2012-01-03T06:39:16-08:00

Commit Message:
TSAGE: R2R - Add missing custom VisualSpeaker in scene 3600

Changed paths:
    engines/tsage/ringworld2/ringworld2_scenes3.h
    engines/tsage/ringworld2/ringworld2_speakers.cpp
    engines/tsage/ringworld2/ringworld2_speakers.h



diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.h b/engines/tsage/ringworld2/ringworld2_scenes3.h
index cd8ebc8..1630087 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes3.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes3.h
@@ -600,7 +600,7 @@ public:
 	SpeakerSeeker3600 _seekerSpeaker;
 	SpeakerMiranda3600 _mirandaSpeaker;
 	SpeakerTeal3600 _tealSpeaker;
-	VisualSpeaker _protectorSpeaker;
+	SpeakerProtector3600 _protectorSpeaker;
 	NamedHotspot _item1;
 	NamedHotspot _item2;
 	NamedHotspot _item3;
diff --git a/engines/tsage/ringworld2/ringworld2_speakers.cpp b/engines/tsage/ringworld2/ringworld2_speakers.cpp
index b6fed88..26ed818 100644
--- a/engines/tsage/ringworld2/ringworld2_speakers.cpp
+++ b/engines/tsage/ringworld2/ringworld2_speakers.cpp
@@ -923,6 +923,67 @@ void SpeakerPrivate3210::proc15() {
 }
 
 //----------------------------------------------------------------------------
+// Classes related to PROTECTOR
+//----------------------------------------------------------------------------
+
+SpeakerProtector3600::SpeakerProtector3600() {
+	_speakerName = "Protector";
+	_color1 = 170;
+	_color2 = 0;
+	_fieldF6 = 0;
+	_textWidth = 300;
+	_hideObjects = false;
+	_object2 = NULL;
+	_displayMode = 7;
+	_numFrames = 0;
+}
+
+void SpeakerProtector3600::proc15() {
+	int v = _fieldF6;
+	Scene3600 *scene = (Scene3600 *)R2_GLOBALS._sceneManager._scene;
+
+	if (!_object2) {
+		_object2 = &scene->_actor13;
+		_object2->hide();
+		_object1.postInit();
+		_object1.setPosition(_object2->_position);
+		_object1._numFrames = 7;
+		_object1._effect = 1;
+		_object1.changeZoom(-1);
+
+		R2_GLOBALS._player.disableControl();
+		R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS);
+
+		if (_object2->_mover) 
+			_object2->addMover(NULL);
+	}
+
+	_object1.setPosition(_object2->_position);
+
+	switch (v) {
+	case 0:
+		_object1.animate(ANIM_MODE_2, NULL);
+		break;
+	case 1:
+		((SceneItem *)_action)->_sceneRegionId = 0;
+		if (scene->_sceneMode != 3324) {
+			_object1.setup(4125, 3, 1);
+			_object1.animate(ANIM_MODE_5, this);
+		} else {
+			_object1.setup(3258, 6, 1);
+			_object1.animate(ANIM_MODE_2, NULL);
+			_object1.hide();
+			_object2->setup(3258, 6, 1);
+			_object2->show();
+		}
+		break;
+	default:
+		signal();
+		break;
+	}
+}
+
+//----------------------------------------------------------------------------
 // Classes related to QUINN
 //----------------------------------------------------------------------------
 
diff --git a/engines/tsage/ringworld2/ringworld2_speakers.h b/engines/tsage/ringworld2/ringworld2_speakers.h
index a4c93a1..cbd440e1 100644
--- a/engines/tsage/ringworld2/ringworld2_speakers.h
+++ b/engines/tsage/ringworld2/ringworld2_speakers.h
@@ -229,6 +229,16 @@ public:
 	virtual void proc15();
 };
 
+// Classes related to Protector
+
+class SpeakerProtector3600 : public VisualSpeaker {
+public:
+	SpeakerProtector3600();
+
+	virtual Common::String getClassName() { return "SpeakerProtector3600"; }
+	virtual void proc15();
+};
+
 // Classes related to Quinn
 
 class SpeakerQuinn : public VisualSpeaker {






More information about the Scummvm-git-logs mailing list