[Scummvm-git-logs] scummvm master -> 7077d8d124cea84e99e0b91a6ffc77995e5f8578

AndywinXp noreply at scummvm.org
Tue Oct 4 11:50:59 UTC 2022


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:
7077d8d124 SCUMM: Fix AmigaOS and NDS builds


Commit: 7077d8d124cea84e99e0b91a6ffc77995e5f8578
    https://github.com/scummvm/scummvm/commit/7077d8d124cea84e99e0b91a6ffc77995e5f8578
Author: AndywinXp (andywinxp at gmail.com)
Date: 2022-10-04T13:50:49+02:00

Commit Message:
SCUMM: Fix AmigaOS and NDS builds

Changed paths:
    engines/scumm/imuse_digi/dimuse_engine.cpp
    engines/scumm/imuse_digi/dimuse_engine.h
    engines/scumm/resource.cpp


diff --git a/engines/scumm/imuse_digi/dimuse_engine.cpp b/engines/scumm/imuse_digi/dimuse_engine.cpp
index f8423c15c1b..71be0ed3307 100644
--- a/engines/scumm/imuse_digi/dimuse_engine.cpp
+++ b/engines/scumm/imuse_digi/dimuse_engine.cpp
@@ -703,23 +703,25 @@ void IMuseDigital::fillStreamsWhileMusicCritical(int fillTimesAfter) {
 }
 
 bool IMuseDigital::isMusicStreamIdle() {
-	int bufSize, criticalSize, freeSpace, paused;
+	int32 bufSize, criticalSize, freeSpace;
+	int paused;
 	IMuseDigiSndBuffer *bufInfo = _filesHandler->getBufInfo(DIMUSE_BUFFER_MUSIC);
 
 	if (!queryNextSoundFile(bufSize, criticalSize, freeSpace, paused))
 		return true;
-	return paused || (bufSize - bufInfo->loadSize < freeSpace);
+	return (paused > 0) || (bufSize - bufInfo->loadSize < freeSpace);
 }
 
 bool IMuseDigital::isMusicCritical() {
-	int bufSize, criticalSize, freeSpace, paused;
+	int32 bufSize, criticalSize, freeSpace;
+	int paused;
 
 	if (!queryNextSoundFile(bufSize, criticalSize, freeSpace, paused))
 		return false;
-	return !paused && freeSpace <= criticalSize;
+	return (paused == 0) && freeSpace <= criticalSize;
 }
 
-bool IMuseDigital::queryNextSoundFile(int &bufSize, int &criticalSize, int &freeSpace, int &paused) {
+bool IMuseDigital::queryNextSoundFile(int32 &bufSize, int32 &criticalSize, int32 &freeSpace, int &paused) {
 	int soundId;
 	if (isFTSoundEngine()) {
 		soundId = diMUSEQueryStream(0, bufSize, criticalSize, freeSpace, paused);
diff --git a/engines/scumm/imuse_digi/dimuse_engine.h b/engines/scumm/imuse_digi/dimuse_engine.h
index 91d21eeb1b5..903f4b272b7 100644
--- a/engines/scumm/imuse_digi/dimuse_engine.h
+++ b/engines/scumm/imuse_digi/dimuse_engine.h
@@ -339,7 +339,7 @@ public:
 	void setSmushPlayer(SmushPlayer *splayer);
 	void floodMusicBuffer();
 	void fillStreamsWhileMusicCritical(int fillTimesAfter);
-	bool queryNextSoundFile(int &bufSize, int &criticalSize, int &freeSpace, int &paused);
+	bool queryNextSoundFile(int32 &bufSize, int32 &criticalSize, int32 &freeSpace, int &paused);
 
 	bool isFTSoundEngine(); // Used in the handlers to check if we're using the FT version of the engine
 
diff --git a/engines/scumm/resource.cpp b/engines/scumm/resource.cpp
index 38e8a806600..3eb18d2543b 100644
--- a/engines/scumm/resource.cpp
+++ b/engines/scumm/resource.cpp
@@ -622,7 +622,8 @@ void ScummEngine::ensureResourceLoaded(ResType type, ResId idx) {
 	_resourceAccessMutex.unlock();
 
 	if (_imuseDigital) {
-		int bufSize, criticalSize, freeSpace, paused;
+		int32 bufSize, criticalSize, freeSpace;
+		int paused;
 		if (_imuseDigital->isFTSoundEngine() && _imuseDigital->queryNextSoundFile(bufSize, criticalSize, freeSpace, paused)) {
 			_imuseDigital->fillStreamsWhileMusicCritical(5);
 		} else {




More information about the Scummvm-git-logs mailing list