[Scummvm-cvs-logs] scummvm master -> 23d64724a9f342e6341bf11655217fa544a7e099

dreammaster dreammaster at scummvm.org
Sat Aug 24 17:20:45 CEST 2013


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
bfd7d71c5e TSAGE: Fixed playing of scanner tones when switching between characters
23d64724a9 TSAGE: Corrected usage of quinn and speaker classes across scenes


Commit: bfd7d71c5ebd8c1948be64411f0eb5bf7c383ffe
    https://github.com/scummvm/scummvm/commit/bfd7d71c5ebd8c1948be64411f0eb5bf7c383ffe
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2013-08-24T08:18:58-07:00

Commit Message:
TSAGE: Fixed playing of scanner tones when switching between characters

Changed paths:
    engines/tsage/ringworld2/ringworld2_dialogs.cpp



diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.cpp b/engines/tsage/ringworld2/ringworld2_dialogs.cpp
index 57fdef6..e2afa57 100644
--- a/engines/tsage/ringworld2/ringworld2_dialogs.cpp
+++ b/engines/tsage/ringworld2/ringworld2_dialogs.cpp
@@ -234,9 +234,9 @@ void CharacterDialog::show() {
 		SceneExt *scene = (SceneExt *)R2_GLOBALS._sceneManager._scene;
 		scene->saveCharacter(oldCharacter);
 
-		// Play a transition sound as the character is changed
+		// Play the correctfrequency, if any, of the character being switched to's scanner device 
 		if (R2_GLOBALS._player._characterScene[0] != 300) {
-			switch (R2_GLOBALS._scannerFrequencies[R2_GLOBALS._player._characterIndex]) {
+			switch (R2_GLOBALS._scannerFrequencies[R2_GLOBALS._player._characterIndex] - 1) {
 			case 0:
 				R2_GLOBALS._sound4.stop();
 				break;
@@ -256,7 +256,7 @@ void CharacterDialog::show() {
 				break;
 			}
 		} else if (R2_GLOBALS._scannerFrequencies[R2_GLOBALS._player._characterIndex] > 1) {
-			switch (R2_GLOBALS._scannerFrequencies[R2_GLOBALS._player._characterIndex]) {
+			switch (R2_GLOBALS._scannerFrequencies[R2_GLOBALS._player._characterIndex] - 1) {
 			case 2:
 				R2_GLOBALS._sound4.play(45);
 				break;
@@ -273,7 +273,7 @@ void CharacterDialog::show() {
 				break;
 			}
 		} else if ((R2_GLOBALS._player._characterScene[1] == 300) && (R2_GLOBALS._scannerFrequencies[1] != 1)) {
-			switch (R2_GLOBALS._scannerFrequencies[1]) {
+			switch (R2_GLOBALS._scannerFrequencies[1] - 1) {
 			case 2:
 				R2_GLOBALS._sound4.play(45);
 				break;
@@ -294,7 +294,7 @@ void CharacterDialog::show() {
 		} else if (R2_GLOBALS._scannerFrequencies[2] == 1) {
 			R2_GLOBALS._sound4.stop();
 		} else {
-			switch (R2_GLOBALS._scannerFrequencies[1]) {
+			switch (R2_GLOBALS._scannerFrequencies[1] - 1) {
 			case 2:
 				R2_GLOBALS._sound4.play(45);
 				break;


Commit: 23d64724a9f342e6341bf11655217fa544a7e099
    https://github.com/scummvm/scummvm/commit/23d64724a9f342e6341bf11655217fa544a7e099
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2013-08-24T08:19:30-07:00

Commit Message:
TSAGE: Corrected usage of quinn and speaker classes across scenes

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



diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.h b/engines/tsage/ringworld2/ringworld2_scenes0.h
index 6cf5610..fa20463 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes0.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes0.h
@@ -598,8 +598,8 @@ class Scene500: public SceneExt {
 public:
 	int _stripNumber;
 	byte _buffer[2710];
-	SpeakerSeeker _seekerSpeaker;
-	SpeakerQuinn _quinnSpeaker;
+	SpeakerSeeker500 _seekerSpeaker;
+	SpeakerQuinn500 _quinnSpeaker;
 	SceneHotspot _background, _item2;
 	ControlPanel _controlPanel;
 	SceneActor _object1;
diff --git a/engines/tsage/ringworld2/ringworld2_speakers.cpp b/engines/tsage/ringworld2/ringworld2_speakers.cpp
index cc60f97..e710982 100644
--- a/engines/tsage/ringworld2/ringworld2_speakers.cpp
+++ b/engines/tsage/ringworld2/ringworld2_speakers.cpp
@@ -1172,23 +1172,20 @@ SpeakerQuinn::SpeakerQuinn(): VisualSpeaker() {
 	_numFrames = 0;
 }
 
-void SpeakerQuinn::proc15() {
+void SpeakerQuinn300::proc15() {
 	int v = _speakerMode;
 
 	if (!_object2) {
-		if (R2_GLOBALS._player._characterIndex == R2_QUINN) {
+		if (R2_GLOBALS._player._characterIndex == 3) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
-			assert(R2_GLOBALS._sceneManager._sceneNumber == 500);
-			Scene500 *scene = (Scene500 *)R2_GLOBALS._sceneManager._scene;
-			_object2 = &scene->_seeker;
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 300);
+			Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene;
+			_object2 = &scene->_quinn;
 		}
 
 		_object2->hide();
-
 		_object1.postInit();
-		_object1._effect = _object2->_effect;
-		_object1._shade = _object2->_shade;
 		_object1.setPosition(_object2->_position);
 
 		if (_object2->_mover)
@@ -1197,19 +1194,25 @@ void SpeakerQuinn::proc15() {
 
 	if (v == 0) {
 		_object1.animate(ANIM_MODE_2, NULL);
+	} else if (v == 100) {
+		_numFrames = 0;
+		((SceneItem *)_action)->_sceneRegionId = 0;
+
+		_object1.setStrip(_object1._strip - 1);
+		_object1.setFrame(_object1.getFrameCount());
+		_object1.animate(ANIM_MODE_6, this);
 	} else {
 		((SceneItem *)_action)->_sceneRegionId = 0;
 
 		switch (_object2->_visage) {
 		case 10:
-			_object1.setup(4021, (v == 1) ? 5 : 7, 1);
+			_object1.setup((v - 1) / 4 + 4010, ((v - ((v - 1) / 4 * 4) - 1) % 8) * 2 + 1, 1);
 			break;
-
-		case 1500:
-			_object1.setup(4021, (v == 1) ? 1 : 3, 1);
+		case 302:
+			_object1.setup(308, (v - 1) % 8 + 1, 1);
 			break;
-
-		default:
+		case 308:
+			_object1.setup(308, 5, 1);
 			break;
 		}
 
@@ -1217,19 +1220,23 @@ void SpeakerQuinn::proc15() {
 	}
 }
 
-void SpeakerQuinn300::proc15() {
+void SpeakerQuinn500::proc15() {
 	int v = _speakerMode;
 
 	if (!_object2) {
-		if (R2_GLOBALS._player._characterIndex == 3) {
+		if (R2_GLOBALS._player._characterIndex == R2_QUINN) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
-			Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene;
-			_object2 = &scene->_quinn;
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 500);
+			Scene500 *scene = (Scene500 *)R2_GLOBALS._sceneManager._scene;
+			_object2 = &scene->_seeker;
 		}
 
 		_object2->hide();
+
 		_object1.postInit();
+		_object1._effect = _object2->_effect;
+		_object1._shade = _object2->_shade;
 		_object1.setPosition(_object2->_position);
 
 		if (_object2->_mover)
@@ -1238,25 +1245,19 @@ void SpeakerQuinn300::proc15() {
 
 	if (v == 0) {
 		_object1.animate(ANIM_MODE_2, NULL);
-	} else if (v == 100) {
-		_numFrames = 0;
-		((SceneItem *)_action)->_sceneRegionId = 0;
-
-		_object1.setStrip(_object1._strip - 1);
-		_object1.setFrame(_object1.getFrameCount());
-		_object1.animate(ANIM_MODE_6, this);
 	} else {
 		((SceneItem *)_action)->_sceneRegionId = 0;
 
 		switch (_object2->_visage) {
 		case 10:
-			_object1.setup((v - 1) / 4 + 4010, ((v - ((v - 1) / 4 * 4) - 1) % 8) * 2 + 1, 1);
+			_object1.setup(4021, (v == 1) ? 5 : 7, 1);
 			break;
-		case 302:
-			_object1.setup(308, (v - 1) % 8 + 1, 1);
+
+		case 1500:
+			_object1.setup(4021, (v == 1) ? 1 : 3, 1);
 			break;
-		case 308:
-			_object1.setup(308, 5, 1);
+
+		default:
 			break;
 		}
 
@@ -1274,6 +1275,7 @@ void SpeakerQuinn1100::proc15() {
 		if (R2_GLOBALS._player._characterIndex == 1) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 1100);
 			Scene1100 *scene = (Scene1100 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_seeker;
 		}
@@ -1319,6 +1321,7 @@ void SpeakerQuinn2435::proc15() {
 		if (R2_GLOBALS._player._characterIndex == 1) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 2435);
 			Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_actor1;
 		}
@@ -1345,6 +1348,7 @@ void SpeakerQuinn2450::proc15() {
 		if (R2_GLOBALS._player._characterIndex == 1) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 2435);
 			Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_actor1;
 		}
@@ -1988,23 +1992,20 @@ SpeakerSeeker::SpeakerSeeker(): VisualSpeaker() {
 	_numFrames = 0;
 }
 
-void SpeakerSeeker::proc15() {
+void SpeakerSeeker300::proc15() {
 	int v = _speakerMode;
 
 	if (!_object2) {
 		if (R2_GLOBALS._player._characterIndex == R2_SEEKER) {
 			_object2 = &R2_GLOBALS._player;
-		} else {
-			assert(R2_GLOBALS._sceneManager._sceneNumber == 500);
-			Scene500 *scene = (Scene500 *)R2_GLOBALS._sceneManager._scene;
+		} else {assert(R2_GLOBALS._sceneManager._sceneNumber == 300);
+			Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_seeker;
 		}
 
 		_object2->hide();
 		_object1.postInit();
-
-		_object1._effect = _object2->_effect;
-		_object1._shade = _object2->_shade;
+		_object1.fixPriority(140);
 		_object1.setPosition(_object2->_position);
 
 		if (_object2->_mover)
@@ -2013,32 +2014,37 @@ void SpeakerSeeker::proc15() {
 
 	if (v == 0) {
 		_object1.animate(ANIM_MODE_2, NULL);
-	} else {
+	} else if (v == 100) {
+		_numFrames = 0;
 		((SceneItem *)_action)->_sceneRegionId = 0;
 
-		if (v == 1)
-			_object1.setup(4041, 3, 1);
-		else
-			_object1.setup(4041, 1, 1);
-
+		_object1.setStrip(_object1._strip - 1);
+		_object1.setFrame(_object1.getFrameCount());
+		_object1.animate(ANIM_MODE_6, this);
+	} else {
+		((SceneItem *)_action)->_sceneRegionId = 0;
+		_object1.setup(306, v * 2 - 1, 1);
 		_object1.animate(ANIM_MODE_5, this);
 	}
 }
 
-void SpeakerSeeker300::proc15() {
+void SpeakerSeeker500::proc15() {
 	int v = _speakerMode;
 
 	if (!_object2) {
-		if (R2_GLOBALS._player._characterIndex == 2) {
+		if (R2_GLOBALS._player._characterIndex == R2_SEEKER) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
-			Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene;
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 500);
+			Scene500 *scene = (Scene500 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_seeker;
 		}
 
 		_object2->hide();
 		_object1.postInit();
-		_object1.fixPriority(140);
+
+		_object1._effect = _object2->_effect;
+		_object1._shade = _object2->_shade;
 		_object1.setPosition(_object2->_position);
 
 		if (_object2->_mover)
@@ -2047,16 +2053,14 @@ void SpeakerSeeker300::proc15() {
 
 	if (v == 0) {
 		_object1.animate(ANIM_MODE_2, NULL);
-	} else if (v == 100) {
-		_numFrames = 0;
-		((SceneItem *)_action)->_sceneRegionId = 0;
-
-		_object1.setStrip(_object1._strip - 1);
-		_object1.setFrame(_object1.getFrameCount());
-		_object1.animate(ANIM_MODE_6, this);
 	} else {
 		((SceneItem *)_action)->_sceneRegionId = 0;
-		_object1.setup(306, v * 2 - 1, 1);
+
+		if (v == 1)
+			_object1.setup(4041, 3, 1);
+		else
+			_object1.setup(4041, 1, 1);
+
 		_object1.animate(ANIM_MODE_5, this);
 	}
 }
@@ -2071,6 +2075,7 @@ void SpeakerSeeker1100::proc15() {
 		if (R2_GLOBALS._player._characterIndex == 2) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 1100);
 			Scene1100 *scene = (Scene1100 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_seeker;
 		}
@@ -2127,6 +2132,7 @@ void SpeakerSeeker1900::proc15() {
 		if (R2_GLOBALS._player._characterIndex == 2) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 1900);
 			Scene1900 *scene = (Scene1900 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_actor1;
 		}
@@ -2157,6 +2163,7 @@ void SpeakerSeeker2435::proc15() {
 		if (R2_GLOBALS._player._characterIndex == 2) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 2435);
 			Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_actor1;
 		}
@@ -2183,6 +2190,7 @@ void SpeakerSeeker2450::proc15() {
 		if (R2_GLOBALS._player._characterIndex == 2) {
 			_object2 = &R2_GLOBALS._player;
 		} else {
+			assert(R2_GLOBALS._sceneManager._sceneNumber == 2450);
 			Scene2450 *scene = (Scene2450 *)R2_GLOBALS._sceneManager._scene;
 			_object2 = &scene->_actor1;
 		}
diff --git a/engines/tsage/ringworld2/ringworld2_speakers.h b/engines/tsage/ringworld2/ringworld2_speakers.h
index e0618fb..4dfb500 100644
--- a/engines/tsage/ringworld2/ringworld2_speakers.h
+++ b/engines/tsage/ringworld2/ringworld2_speakers.h
@@ -274,7 +274,6 @@ class SpeakerQuinn : public VisualSpeaker {
 public:
 	SpeakerQuinn();
 	virtual Common::String getClassName() { return "SpeakerQuinn"; }
-	virtual void proc15();
 };
 
 class SpeakerQuinn300 : public SpeakerQuinn {
@@ -283,6 +282,12 @@ public:
 	virtual void proc15();
 };
 
+class SpeakerQuinn500 : public SpeakerQuinn {
+public:
+	virtual Common::String getClassName() { return "SpeakerQuinn500"; }
+	virtual void proc15();
+};
+
 class SpeakerQuinn1100 : public SpeakerQuinn {
 public:
 	virtual Common::String getClassName() { return "SpeakerQuinn1100"; }
@@ -413,7 +418,6 @@ class SpeakerSeeker : public VisualSpeaker {
 public:
 	SpeakerSeeker();
 	virtual Common::String getClassName() { return "SpeakerSeeker"; }
-	virtual void proc15();
 };
 
 class SpeakerSeeker300 : public SpeakerSeeker {
@@ -422,6 +426,12 @@ public:
 	virtual void proc15();
 };
 
+class SpeakerSeeker500 : public SpeakerSeeker {
+public:
+	virtual Common::String getClassName() { return "SpeakerSeeker500"; }
+	virtual void proc15();
+};
+
 class SpeakerSeeker1100 : public SpeakerSeeker {
 public:
 	virtual Common::String getClassName() { return "SpeakerSeeker1100"; }






More information about the Scummvm-git-logs mailing list