[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