[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