[Scummvm-git-logs] scummvm master -> 13310e555e75a080a95718a3956f3d62a4d1b52a

a-yyg 76591232+a-yyg at users.noreply.github.com
Fri Aug 6 23:22:09 UTC 2021


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

Summary:
45945c989b SAGA2: Fix interval between sound samples
86108fbd9e SAGA2: Implement play voice command
13310e555e SAGA2: Fix stillDoingVoice


Commit: 45945c989b89e3e3ddcd6b70eaeb9603abc33be3
    https://github.com/scummvm/scummvm/commit/45945c989b89e3e3ddcd6b70eaeb9603abc33be3
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-08-07T07:54:46+09:00

Commit Message:
SAGA2: Fix interval between sound samples

Changed paths:
    engines/saga2/audio.cpp


diff --git a/engines/saga2/audio.cpp b/engines/saga2/audio.cpp
index 712fbf90e5..2fa416e99b 100644
--- a/engines/saga2/audio.cpp
+++ b/engines/saga2/audio.cpp
@@ -580,7 +580,7 @@ void audioInterface::playMe(void) {
 		delete stream;
 	}
 
-	if (_sfxQueue.size() > 0 && !_mixer->isSoundHandleActive(_sfxSoundHandle)) {
+	if (_sfxQueue.size() > 0) {
 		SoundInstance si = _sfxQueue.pop();
 
 		Common::SeekableReadStream *stream = loadResourceToStream(soundRes, si.seg, "sound data");


Commit: 86108fbd9e66713950171e24771200d379707028
    https://github.com/scummvm/scummvm/commit/86108fbd9e66713950171e24771200d379707028
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-08-07T08:00:12+09:00

Commit Message:
SAGA2: Implement play voice command

Changed paths:
    engines/saga2/console.cpp
    engines/saga2/console.h


diff --git a/engines/saga2/console.cpp b/engines/saga2/console.cpp
index eb6608e68a..f3a9221c25 100644
--- a/engines/saga2/console.cpp
+++ b/engines/saga2/console.cpp
@@ -86,6 +86,8 @@ Console::Console(Saga2Engine *vm) : GUI::Debugger() {
 	registerCmd("dump_map", WRAP_METHOD(Console, cmdDumpMap));
 
 	registerCmd("play_music", WRAP_METHOD(Console, cmdPlayMusic));
+
+	registerCmd("play_voice", WRAP_METHOD(Console, cmdPlayVoice));
 }
 
 Console::~Console() {
@@ -404,11 +406,22 @@ bool Console::cmdPlayMusic(int argc, const char **argv) {
 	if (argc != 2)
 		debugPrintf("Usage: %s <Music Index>\n", argv[0]);
 	else {
-		int currentID = atoi(argv[1]);
+		int32 currentID = atoi(argv[1]);
 		playMusic(MKTAG('X', 'M', 'I', currentID));
 	}
 
 	return true;
 }
 
+bool Console::cmdPlayVoice(int argc, const char **argv) {
+	if (argc != 2)
+		debugPrintf("Usage: %s <Voice ID>\n", argv[0]);
+	else {
+		int32 soundID = READ_BE_INT32(argv[1]);
+		playVoice(soundID);
+	}
+
+	return true;
+}
+
 }
diff --git a/engines/saga2/console.h b/engines/saga2/console.h
index 8574389ef7..1601bc2036 100644
--- a/engines/saga2/console.h
+++ b/engines/saga2/console.h
@@ -82,6 +82,8 @@ private:
 	bool cmdDumpMap(int argc, const char **argv);
 
 	bool cmdPlayMusic(int argc, const char **argv);
+
+	bool cmdPlayVoice(int argc, const char **argv);
 };
 
 }


Commit: 13310e555e75a080a95718a3956f3d62a4d1b52a
    https://github.com/scummvm/scummvm/commit/13310e555e75a080a95718a3956f3d62a4d1b52a
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-08-07T08:21:00+09:00

Commit Message:
SAGA2: Fix stillDoingVoice

Changed paths:
    engines/saga2/annoy.h
    engines/saga2/audio.cpp
    engines/saga2/speech.cpp


diff --git a/engines/saga2/annoy.h b/engines/saga2/annoy.h
index 293e0e37a3..4db4e948a7 100644
--- a/engines/saga2/annoy.h
+++ b/engines/saga2/annoy.h
@@ -86,6 +86,7 @@ void writeConfig(void);
 
 void audioEventLoop(void);
 bool stillDoingVoice(uint32 sampno);
+bool stillDoingVoice(uint32 s[]);
 
 //-----------------------------------------------------------------------
 //	environmental sounds
diff --git a/engines/saga2/audio.cpp b/engines/saga2/audio.cpp
index 2fa416e99b..ce3f3557a9 100644
--- a/engines/saga2/audio.cpp
+++ b/engines/saga2/audio.cpp
@@ -461,6 +461,16 @@ bool stillDoingVoice(uint32 sampno) {
 	return result;
 }
 
+bool stillDoingVoice(uint32 s[]) {
+	uint32 *p = s;
+
+	while (*p) {
+		if (audio->saying(*p++))
+			return true;
+	}
+
+	return false;
+}
 
 /* ===================================================================== *
    SAGA compatible audio playback routines
diff --git a/engines/saga2/speech.cpp b/engines/saga2/speech.cpp
index 97a9c4a844..0a3796c887 100644
--- a/engines/saga2/speech.cpp
+++ b/engines/saga2/speech.cpp
@@ -575,7 +575,7 @@ void updateSpeech(void) {
 
 bool Speech::longEnough(void) {
 	if (speechFlags & spHasVoice)
-		return (!stillDoingVoice(sampleID[0]));
+		return (!stillDoingVoice(sampleID));
 	else
 		return (selectedButton != 0 || speechFinished.check());
 }




More information about the Scummvm-git-logs mailing list