[Scummvm-git-logs] scummvm master -> 0c1a04a23cabcb5d8976f12b85576b663ec1524e

bluegr bluegr at gmail.com
Sun Nov 3 12:22:18 CET 2019


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:
0c1a04a23c STARTREK: Remove sound function wrappers out of StarTrekEngine


Commit: 0c1a04a23cabcb5d8976f12b85576b663ec1524e
    https://github.com/scummvm/scummvm/commit/0c1a04a23cabcb5d8976f12b85576b663ec1524e
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-11-03T13:21:41+02:00

Commit Message:
STARTREK: Remove sound function wrappers out of StarTrekEngine

Changed paths:
    engines/startrek/actors.cpp
    engines/startrek/awaymission.cpp
    engines/startrek/intro.cpp
    engines/startrek/menu.cpp
    engines/startrek/room.cpp
    engines/startrek/sound.cpp
    engines/startrek/sound.h
    engines/startrek/startrek.cpp
    engines/startrek/startrek.h
    engines/startrek/textbox.cpp


diff --git a/engines/startrek/actors.cpp b/engines/startrek/actors.cpp
index a0c6b9c..24434eb 100644
--- a/engines/startrek/actors.cpp
+++ b/engines/startrek/actors.cpp
@@ -1253,7 +1253,7 @@ exitWithoutSelection:
 		removeNextEvent();
 	}
 
-	playSoundEffectIndex(0x10);
+	_sound->playSoundEffectIndex(0x10);
 	if (lastItemIndex >= 0)
 		drawMenuButtonOutline(itemSprites[lastItemIndex].bitmap, 0);
 
diff --git a/engines/startrek/awaymission.cpp b/engines/startrek/awaymission.cpp
index d05cc35..0f5f8a8 100644
--- a/engines/startrek/awaymission.cpp
+++ b/engines/startrek/awaymission.cpp
@@ -153,7 +153,7 @@ void StarTrekEngine::initAwayCrewPositions(int warpEntryIndex) {
 		_kirkActor->triggerActionWhenAnimFinished = true;
 		_kirkActor->finishedAnimActionParam = 0xff;
 		_awayMission.disableInput = true;
-		playSoundEffectIndex(0x09);
+		_sound->playSoundEffectIndex(0x09);
 		_warpHotspotsActive = false;
 		break;
 	case 5: // Crew spawns in directly at a position.
@@ -364,7 +364,7 @@ void StarTrekEngine::awayMissionSelectAction(bool openActionMenu) {
 		if (_awayMission.disableInput)
 			return;
 		hideInventoryIcons();
-		playSoundEffectIndex(SND_07);
+		_sound->playSoundEffectIndex(SND_07);
 		_awayMission.activeAction = showActionMenu();
 	}
 
diff --git a/engines/startrek/intro.cpp b/engines/startrek/intro.cpp
index cb0b096..02d7642 100644
--- a/engines/startrek/intro.cpp
+++ b/engines/startrek/intro.cpp
@@ -123,7 +123,7 @@ void StarTrekEngine::playIntro() {
 		switch (frame) {
 		case 0:
 			starfieldZoomSpeed = 10;
-			playMidiMusicTracks(MIDITRACK_0, -1);
+			_sound->playMidiMusicTracks(MIDITRACK_0, -1);
 			_byte_45b3c = 0;
 			break;
 
diff --git a/engines/startrek/menu.cpp b/engines/startrek/menu.cpp
index 09528ce..f973f9a 100644
--- a/engines/startrek/menu.cpp
+++ b/engines/startrek/menu.cpp
@@ -469,7 +469,7 @@ lookupNextAction:
 		}
 	}
 
-	playSoundEffectIndex(SND_SELECTION);
+	_sound->playSoundEffectIndex(SND_SELECTION);
 
 	menuSprite.dontDrawNextFrame();
 	_gfx->drawAllSprites();
@@ -656,12 +656,12 @@ int StarTrekEngine::handleMenuEvents(uint32 ticksUntilClickingEnabled, bool inTe
 			case TREKEVENT_LBUTTONDOWN:
 lclick:
 				if (_activeMenu->selectedButton != -1) {
-					playSoundEffectIndex(SND_SELECTION);
+					_sound->playSoundEffectIndex(SND_SELECTION);
 					return _activeMenu->retvals[_activeMenu->selectedButton];
 				} else {
 					Common::Point mouse = _gfx->getMousePos();
 					if (getMenuButtonAt(_activeMenu->sprites, _activeMenu->numButtons, mouse.x, mouse.y) == -1) {
-						playSoundEffectIndex(SND_SELECTION);
+						_sound->playSoundEffectIndex(SND_SELECTION);
 						return MENUEVENT_LCLICK_OFFBUTTON;
 					}
 				}
@@ -669,7 +669,7 @@ lclick:
 
 			case TREKEVENT_RBUTTONDOWN:
 rclick:
-				playSoundEffectIndex(SND_SELECTION);
+				_sound->playSoundEffectIndex(SND_SELECTION);
 				if (_activeMenu->selectedButton == -1)
 					return MENUEVENT_RCLICK_OFFBUTTON;
 				else
@@ -686,13 +686,13 @@ rclick:
 					case Common::KEYCODE_RETURN:
 					case Common::KEYCODE_KP_ENTER:
 					case Common::KEYCODE_F1:
-						playSoundEffectIndex(SND_SELECTION);
+						_sound->playSoundEffectIndex(SND_SELECTION);
 						return TEXTBUTTON_CONFIRM;
 
 					case Common::KEYCODE_SPACE:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_NEXTCHOICE))
 						        && _activeMenu->sprites[TEXTBUTTON_NEXTCHOICE].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_NEXTCHOICE;
 						}
 						break;
@@ -701,7 +701,7 @@ rclick:
 					case Common::KEYCODE_KP7:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_SCROLLUP))
 						        && _activeMenu->sprites[TEXTBUTTON_SCROLLUP].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_GOTO_TOP;
 						}
 						break;
@@ -710,7 +710,7 @@ rclick:
 					case Common::KEYCODE_KP8:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_SCROLLUP))
 						        && _activeMenu->sprites[TEXTBUTTON_SCROLLUP].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_SCROLLUP_ONELINE;
 						}
 						break;
@@ -719,7 +719,7 @@ rclick:
 					case Common::KEYCODE_KP9:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_SCROLLUP))
 						        && _activeMenu->sprites[TEXTBUTTON_SCROLLUP].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_SCROLLUP;
 						}
 						break;
@@ -728,7 +728,7 @@ rclick:
 					case Common::KEYCODE_KP4:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_PREVCHOICE))
 						        && _activeMenu->sprites[TEXTBUTTON_PREVCHOICE].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_PREVCHOICE;
 						}
 						break;
@@ -737,7 +737,7 @@ rclick:
 					case Common::KEYCODE_KP6:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_NEXTCHOICE))
 						        && _activeMenu->sprites[TEXTBUTTON_NEXTCHOICE].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_NEXTCHOICE;
 						}
 						break;
@@ -746,7 +746,7 @@ rclick:
 					case Common::KEYCODE_KP1:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_SCROLLDOWN))
 						        && _activeMenu->sprites[TEXTBUTTON_SCROLLDOWN].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_GOTO_BOTTOM;
 						}
 						break;
@@ -755,7 +755,7 @@ rclick:
 					case Common::KEYCODE_KP2:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_SCROLLDOWN))
 						        && _activeMenu->sprites[TEXTBUTTON_SCROLLDOWN].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_SCROLLDOWN_ONELINE;
 						}
 						break;
@@ -764,7 +764,7 @@ rclick:
 					case Common::KEYCODE_KP3:
 						if (!(_activeMenu->disabledButtons & (1 << TEXTBUTTON_SCROLLDOWN))
 						        && _activeMenu->sprites[TEXTBUTTON_SCROLLDOWN].drawMode == 2) {
-							playSoundEffectIndex(SND_SELECTION);
+							_sound->playSoundEffectIndex(SND_SELECTION);
 							return TEXTBUTTON_SCROLLDOWN;
 						}
 						break;
diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index 9c308eb..a34af48 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -630,11 +630,11 @@ int16 Room::getRandomWordInRange(int start, int end) {
 }
 
 void Room::playSoundEffectIndex(int soundEffect) {
-	_vm->playSoundEffectIndex(soundEffect);
+	_vm->_sound->playSoundEffectIndex(soundEffect);
 }
 
 void Room::playMidiMusicTracks(int startTrack, int loopTrack) {
-	_vm->playMidiMusicTracks(startTrack, loopTrack);
+	_vm->_sound->playMidiMusicTracks(startTrack, loopTrack);
 }
 
 void Room::endMission(int16 score, int16 arg1, int16 arg2) {
diff --git a/engines/startrek/sound.cpp b/engines/startrek/sound.cpp
index c448126..7976d05 100644
--- a/engines/startrek/sound.cpp
+++ b/engines/startrek/sound.cpp
@@ -281,6 +281,62 @@ void Sound::stopPlayingSpeech() {
 	}
 }
 
+void Sound::playSoundEffectIndex(int index) {
+	if (!(_vm->getFeatures() & GF_CDROM))
+		playMidiTrack(index);
+	else {
+		switch (index) {
+		case 0x04:
+			playVoc("tricorde");
+			break;
+		case 0x05:
+			playVoc("STDOOR1");
+			break;
+		case 0x06:
+			playVoc("PHASSHOT");
+			break;
+		case 0x07:
+			playMidiTrack(index);
+			break;
+		case 0x08:
+			playVoc("TRANSDEM");
+			break;
+		case 0x09: // Beaming in?
+			playVoc("TRANSMAT");
+			break;
+		case 0x0a: // Beaming out?
+			playVoc("TRANSENE");
+			break;
+		case 0x10: // Menu selection sound
+			playMidiTrack(index);
+			break;
+		case 0x22:
+			playVoc("HAILING");
+			break;
+		case 0x24:
+			playVoc("PHASSHOT");
+			break;
+		case 0x25:
+			playVoc("PHOTSHOT");
+			break;
+		case 0x26:
+			playVoc("HITSHIEL");
+			break;
+		case 0x27:
+			playMidiTrack(index);
+			break;
+		case 0x28:
+			playVoc("REDALERT");
+			break;
+		case 0x29:
+			playVoc("WARP");
+			break;
+		default:
+			debugC(kDebugSound, 6, "Unmapped sound 0x%x", index);
+			break;
+		}
+	}
+}
 
 void Sound::setMusicEnabled(bool enable) {
 	if (!_vm->_musicWorking || _vm->_musicEnabled == enable)
diff --git a/engines/startrek/sound.h b/engines/startrek/sound.h
index 5df02bc..732d781 100644
--- a/engines/startrek/sound.h
+++ b/engines/startrek/sound.h
@@ -69,6 +69,7 @@ public:
 	void playSpeech(const Common::String &basename);
 	void stopAllVocSounds();
 	void stopPlayingSpeech();
+	void playSoundEffectIndex(int index);
 	void setMusicEnabled(bool enable);
 	void setSfxEnabled(bool enable);
 	void checkLoopMusic();
diff --git a/engines/startrek/startrek.cpp b/engines/startrek/startrek.cpp
index 4266462..3c82ea2 100644
--- a/engines/startrek/startrek.cpp
+++ b/engines/startrek/startrek.cpp
@@ -300,12 +300,12 @@ void StarTrekEngine::runTransportSequence(const Common::String &name) {
 	_gfx->drawAllSprites();
 	_gfx->fadeinScreen();
 
-	playSoundEffectIndex(0x0a);
+	_sound->playSoundEffectIndex(0x0a);
 
 	if (name.equalsIgnoreCase("teled"))
-		playSoundEffectIndex(0x08);
+		_sound->playSoundEffectIndex(0x08);
 	else
-		playSoundEffectIndex(0x09);
+		_sound->playSoundEffectIndex(0x09);
 
 	while (_actorList[0].field62 == 0) {
 		TrekEvent event;
@@ -327,75 +327,6 @@ void StarTrekEngine::runTransportSequence(const Common::String &name) {
 	initActors();
 }
 
-void StarTrekEngine::playSoundEffectIndex(int index) {
-	if (!(getFeatures() & GF_CDROM))
-		_sound->playMidiTrack(index);
-	else {
-		switch (index) {
-		case 0x04:
-			_sound->playVoc("tricorde");
-			break;
-		case 0x05:
-			_sound->playVoc("STDOOR1");
-			break;
-		case 0x06:
-			_sound->playVoc("PHASSHOT");
-			break;
-		case 0x07:
-			_sound->playMidiTrack(index);
-			break;
-		case 0x08:
-			_sound->playVoc("TRANSDEM");
-			break;
-		case 0x09: // Beaming in?
-			_sound->playVoc("TRANSMAT");
-			break;
-		case 0x0a: // Beaming out?
-			_sound->playVoc("TRANSENE");
-			break;
-		case 0x10: // Menu selection sound
-			_sound->playMidiTrack(index);
-			break;
-		case 0x22:
-			_sound->playVoc("HAILING");
-			break;
-		case 0x24:
-			_sound->playVoc("PHASSHOT");
-			break;
-		case 0x25:
-			_sound->playVoc("PHOTSHOT");
-			break;
-		case 0x26:
-			_sound->playVoc("HITSHIEL");
-			break;
-		case 0x27:
-			_sound->playMidiTrack(index);
-			break;
-		case 0x28:
-			_sound->playVoc("REDALERT");
-			break;
-		case 0x29:
-			_sound->playVoc("WARP");
-			break;
-		default:
-			debugC(kDebugSound, 6, "Unmapped sound 0x%x", index);
-			break;
-		}
-	}
-}
-
-void StarTrekEngine::playMidiMusicTracks(int startTrack, int loopTrack) {
-	_sound->playMidiMusicTracks(startTrack, loopTrack);
-}
-
-void StarTrekEngine::playSpeech(const Common::String &filename) {
-	_sound->playSpeech(filename.c_str());
-}
-
-void StarTrekEngine::stopPlayingSpeech() {
-	_sound->stopPlayingSpeech();
-}
-
 /**
  * TODO:
  *   - Should return nullptr on failure to open a file?
diff --git a/engines/startrek/startrek.h b/engines/startrek/startrek.h
index a55b59e..1e4e330 100644
--- a/engines/startrek/startrek.h
+++ b/engines/startrek/startrek.h
@@ -243,12 +243,6 @@ public:
 	void initBridge(bool b) {}; // TODO
 	void cleanupBridge() {}; // TODO
 
-	// Running the game
-	void playSoundEffectIndex(int index);
-	void playMidiMusicTracks(int startTrack, int loopTrack);
-	void playSpeech(const Common::String &filename);
-	void stopPlayingSpeech();
-
 	Common::MemoryReadStreamEndian *loadFile(Common::String filename, int fileIndex = 0);
 	/**
 	 * TODO: Figure out what the extra parameters are, and if they're important.
diff --git a/engines/startrek/textbox.cpp b/engines/startrek/textbox.cpp
index 542df25..007ab8f 100644
--- a/engines/startrek/textbox.cpp
+++ b/engines/startrek/textbox.cpp
@@ -240,7 +240,7 @@ String StarTrekEngine::playTextAudio(const String &str) {
 	}
 
 	soundFile[len] = '\0';
-	playSpeech(soundFile);
+	_sound->playSpeech(soundFile);
 
 	return String(text + 1);
 }
@@ -462,7 +462,7 @@ readjustScroll:
 	}
 
 	_textboxVar2 = _frameIndex;
-	stopPlayingSpeech();
+	_sound->stopPlayingSpeech();
 
 	return choiceIndex;
 }





More information about the Scummvm-git-logs mailing list