[Scummvm-git-logs] scummvm master -> ffe539ffe41a175ecd24d3a08e82b2bcb09c38f3
criezy
noreply at scummvm.org
Wed Dec 31 21:23:39 UTC 2025
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
c825e2e619 BUILD: MACOSX: Ensure shaders and license files have proper permissions in bundle
ffe539ffe4 TESTBED: Add event processing when using delay in speech tests
Commit: c825e2e619eab4adcaab4d54d7f2d15f22eca9fb
https://github.com/scummvm/scummvm/commit/c825e2e619eab4adcaab4d54d7f2d15f22eca9fb
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2025-12-31T22:19:40+01:00
Commit Message:
BUILD: MACOSX: Ensure shaders and license files have proper permissions in bundle
Changed paths:
ports.mk
diff --git a/ports.mk b/ports.mk
index 0387936c096..536cbe317bb 100644
--- a/ports.mk
+++ b/ports.mk
@@ -203,8 +203,10 @@ ifdef DYNAMIC_MODULES
endif
chmod 644 $(bundle_name)/Contents/Resources/*
chmod 755 $(bundle_name)/Contents/Resources/licenses
+ chmod 644 $(bundle_name)/Contents/Resources/licenses/*
ifneq ($(DIST_FILES_SHADERS),)
chmod 755 $(bundle_name)/Contents/Resources/shaders
+ chmod 644 $(bundle_name)/Contents/Resources/shaders/*
endif
cp scummvm-static $(bundle_name)/Contents/MacOS/scummvm
chmod 755 $(bundle_name)/Contents/MacOS/scummvm
Commit: ffe539ffe41a175ecd24d3a08e82b2bcb09c38f3
https://github.com/scummvm/scummvm/commit/ffe539ffe41a175ecd24d3a08e82b2bcb09c38f3
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2025-12-31T22:20:49+01:00
Commit Message:
TESTBED: Add event processing when using delay in speech tests
This more closely mimic what engines would do and may fix issues
with TTS implementation that rely on events being processed (as is
the case on macOS).
Changed paths:
engines/testbed/speech.cpp
engines/testbed/speech.h
diff --git a/engines/testbed/speech.cpp b/engines/testbed/speech.cpp
index ad4430a2c9c..2fda729e916 100644
--- a/engines/testbed/speech.cpp
+++ b/engines/testbed/speech.cpp
@@ -35,6 +35,16 @@ void Speechtests::waitForSpeechEnd(Common::TextToSpeechManager *ttsMan) {
}
}
+void Speechtests::delaySeconds(int sec) {
+ Common::Event event;
+ int loop = sec * 10;
+ while (loop) {
+ g_system->delayMillis(100);
+ g_system->getEventManager()->pollEvent(event);
+ --loop;
+ }
+}
+
TestExitStatus Speechtests::testMale() {
Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager();
ttsMan->setLanguage("en");
@@ -128,11 +138,11 @@ TestExitStatus Speechtests::testStop() {
}
ttsMan->say("Testing text to speech, the speech should stop after approximately a second after it started, so it shouldn't have the time to read this.");
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->stop();
// It is allright if the voice isn't available right away, but a second should be
// enough for the TTS to recover and get ready.
- g_system->delayMillis(1000);
+ delaySeconds(1);
if (!ttsMan->isReady()) {
Testsuite::logDetailedPrintf("TTS stop failed\n");
return kTestFailed;
@@ -164,7 +174,7 @@ TestExitStatus Speechtests::testStopAndSpeak() {
}
ttsMan->say("Testing text to speech, the speech should stop after approximately a second after it started, so it shouldn't have the time to read this.");
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->stop();
ttsMan->say("Now starting the second sentence.", Common::TextToSpeechManager::QUEUE);
ttsMan->say("You should hear that one in totality.", Common::TextToSpeechManager::QUEUE);
@@ -201,14 +211,14 @@ TestExitStatus Speechtests::testPauseResume() {
}
ttsMan->say("Testing text to speech, the speech should pause after a second");
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->pause();
if (!ttsMan->isPaused()) {
Testsuite::logDetailedPrintf("TTS pause failed\n");
return kTestFailed;
}
ttsMan->say("and then resume again", Common::TextToSpeechManager::QUEUE);
- g_system->delayMillis(3000);
+ delaySeconds(3);
if (!ttsMan->isPaused()) {
Testsuite::logDetailedPrintf("TTS pause failed\n");
return kTestFailed;
@@ -426,7 +436,7 @@ TestExitStatus Speechtests::testInterrupting() {
}
ttsMan->say("A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z");
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->say("Speech interrupted", Common::TextToSpeechManager::INTERRUPT);
waitForSpeechEnd(ttsMan);
Common::String prompt = "Did you hear a voice saying the engilsh alphabet, but it got interrupted and said: \"Speech interrupted\" instead?";
@@ -486,13 +496,13 @@ TestExitStatus Speechtests::testInterruptNoRepeat() {
ttsMan->say("This is the first sentence, this should get interrupted");
ttsMan->say("Failure", Common::TextToSpeechManager::QUEUE);
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->say("This is the second sentence, it should play only once", Common::TextToSpeechManager::INTERRUPT_NO_REPEAT);
ttsMan->say("Failure", Common::TextToSpeechManager::QUEUE);
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->say("This is the second sentence, it should play only once", Common::TextToSpeechManager::INTERRUPT_NO_REPEAT);
ttsMan->say("Failure", Common::TextToSpeechManager::QUEUE);
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->say("This is the second sentence, it should play only once", Common::TextToSpeechManager::INTERRUPT_NO_REPEAT);
waitForSpeechEnd(ttsMan);
Common::String prompt = "Did you hear a voice say: \"This is the first sentence, this should get interrupted\", but it got interrupted and \"This is the second sentence, it should play only once.\" got said instead?";
@@ -523,11 +533,11 @@ TestExitStatus Speechtests::testQueueNoRepeat() {
ttsMan->say("This is the first sentence.");
ttsMan->say("This is the first sentence.", Common::TextToSpeechManager::QUEUE_NO_REPEAT);
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->say("This is the first sentence.", Common::TextToSpeechManager::QUEUE_NO_REPEAT);
ttsMan->say("This is the second sentence.", Common::TextToSpeechManager::QUEUE_NO_REPEAT);
ttsMan->say("This is the second sentence.", Common::TextToSpeechManager::QUEUE_NO_REPEAT);
- g_system->delayMillis(1000);
+ delaySeconds(1);
ttsMan->say("This is the second sentence.", Common::TextToSpeechManager::QUEUE_NO_REPEAT);
waitForSpeechEnd(ttsMan);
Common::String prompt = "Did you hear a voice say: \"This is the first sentence. This the second sentence\" and nothing else?";
diff --git a/engines/testbed/speech.h b/engines/testbed/speech.h
index f043f565f7f..ea63fbee71a 100644
--- a/engines/testbed/speech.h
+++ b/engines/testbed/speech.h
@@ -52,6 +52,7 @@ TestExitStatus testQueueEmptyString();
// Utility function to avoid dupplicated code
void waitForSpeechEnd(Common::TextToSpeechManager *);
+void delaySeconds(int);
} // End of namespace Speechtests
More information about the Scummvm-git-logs
mailing list