[Scummvm-git-logs] scummvm branch-2-5 -> b78976ea595204ac1f8b91fd57041f5f86d4c681
dreammaster
noreply at scummvm.org
Fri Dec 3 04:01:51 UTC 2021
This automated email contains information about 9 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
deafe94153 SHERLOCK: Fix missing Rose Tattoo talk animations
621be0efc4 NEWS: Mention Rose Tattoo character animation
4754bd059a XEEN: remove dead code
3baef8fa3b XEEN: remove dead code
73ac4d662a XEEN: fix some sounds not being correctly muted when Efx is off
11cf3c44fe XEEN: fix missing music when loading a save from the main menu
8ef94393d8 XEEN: fix toggling music back on
d79b8eddd0 XEEN: fix sound settings not getting saved
b78976ea59 NEWS: Mention various Xeen sound fixes
Commit: deafe94153e669a75e6276245609cd69f0143014
https://github.com/scummvm/scummvm/commit/deafe94153e669a75e6276245609cd69f0143014
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2021-12-02T20:01:25-08:00
Commit Message:
SHERLOCK: Fix missing Rose Tattoo talk animations
We were comparing the wrong object name in the Rose Tattoo-specific
code, so the speaker was never found. It's not clear to me if this only
affected Watson, or if other NPCs were affected as well.
And while it may not make any difference, make sure that the "portrait"
string we compare against is also no more than four characters long,
since that's what the original engine did.
Changed paths:
engines/sherlock/people.cpp
engines/sherlock/tattoo/tattoo_people.cpp
diff --git a/engines/sherlock/people.cpp b/engines/sherlock/people.cpp
index 2b282c35b0..61f8a46285 100644
--- a/engines/sherlock/people.cpp
+++ b/engines/sherlock/people.cpp
@@ -261,10 +261,8 @@ int People::findSpeaker(int speaker) {
Object &obj = scene._bgShapes[idx];
if (obj._type == ACTIVE_BG_SHAPE) {
- Common::String name(obj._name.c_str(), obj._name.c_str() + 4);
-
- if (name.equalsIgnoreCase(portrait)
- && obj._name[4] >= '0' && obj._name[4] <= '9')
+ if (scumm_strnicmp(portrait, obj._name.c_str(), 4) == 0
+ && Common::isDigit(obj._name[4]))
return idx;
}
}
diff --git a/engines/sherlock/tattoo/tattoo_people.cpp b/engines/sherlock/tattoo/tattoo_people.cpp
index 0eecfe05c4..f862b65fab 100644
--- a/engines/sherlock/tattoo/tattoo_people.cpp
+++ b/engines/sherlock/tattoo/tattoo_people.cpp
@@ -1380,9 +1380,8 @@ int TattooPeople::findSpeaker(int speaker) {
TattooPerson &p = (*this)[idx];
if (p._type == CHARACTER) {
- Common::String name(p._name.c_str(), p._name.c_str() + 4);
-
- if (name.equalsIgnoreCase(portrait) && p._npcName[4] >= '0' && p._npcName[4] <= '9')
+ if (scumm_strnicmp(portrait, p._npcName.c_str(), 4) == 0
+ && Common::isDigit(p._npcName[4]))
return idx + CHARACTERS_INDEX;
}
}
Commit: 621be0efc468f03c585ef29d4e55ea788dcd888a
https://github.com/scummvm/scummvm/commit/621be0efc468f03c585ef29d4e55ea788dcd888a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-12-02T20:01:25-08:00
Commit Message:
NEWS: Mention Rose Tattoo character animation
Changed paths:
NEWS.md
diff --git a/NEWS.md b/NEWS.md
index c2fe232792..747a958a56 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -33,6 +33,7 @@ For a more comprehensive changelog of the latest experimental code, see:
Sherlock:
- Fix crash using matches on lab table
+ - Fix character animation in Rose Tattoo
TwinE:
- Numerous bugfixes and stability improvements.
Commit: 4754bd059ab2aa9cccc2d2048e17b66840a52052
https://github.com/scummvm/scummvm/commit/4754bd059ab2aa9cccc2d2048e17b66840a52052
Author: Benoit Pierre (benoit.pierre at gmail.com)
Date: 2021-12-02T20:01:25-08:00
Commit Message:
XEEN: remove dead code
`Sound::playSong(const byte *data)` and `Sound::restartSong()` are never used.
Changed paths:
engines/xeen/sound.h
diff --git a/engines/xeen/sound.h b/engines/xeen/sound.h
index 613299c6dc..d8b23f2a94 100644
--- a/engines/xeen/sound.h
+++ b/engines/xeen/sound.h
@@ -86,11 +86,6 @@ public:
*/
void stopSong() { songCommand(STOP_SONG); }
- /**
- * Restart a previously playing song (which must still be loaded)
- */
- void restartSong() { songCommand(RESTART_SONG); }
-
/**
* Sets the in-game music volume percent. This is separate from the ScummVM volume
*/
@@ -106,13 +101,6 @@ public:
*/
void playSong(const Common::String &name, int param = 0);
- /**
- * Plays a song
- */
- void playSong(const byte *data) {
- _SoundDriver->playSong(data);
- }
-
/**
* Returns true if music is playing
*/
Commit: 3baef8fa3bd8271904d43a1f04f6dce5198445df
https://github.com/scummvm/scummvm/commit/3baef8fa3bd8271904d43a1f04f6dce5198445df
Author: Benoit Pierre (benoit.pierre at gmail.com)
Date: 2021-12-02T20:01:26-08:00
Commit Message:
XEEN: remove dead code
There's no need for `Sound::_priorMusic`.
Changed paths:
engines/xeen/sound.cpp
engines/xeen/sound.h
diff --git a/engines/xeen/sound.cpp b/engines/xeen/sound.cpp
index 0b7540e75a..f16e076f10 100644
--- a/engines/xeen/sound.cpp
+++ b/engines/xeen/sound.cpp
@@ -193,7 +193,6 @@ void Sound::playSong(Common::SeekableReadStream &stream) {
}
void Sound::playSong(const Common::String &name, int param) {
- _priorMusic = _currentMusic;
_currentMusic = name;
Common::File mf;
diff --git a/engines/xeen/sound.h b/engines/xeen/sound.h
index d8b23f2a94..ba4096dfe5 100644
--- a/engines/xeen/sound.h
+++ b/engines/xeen/sound.h
@@ -59,7 +59,7 @@ private:
public:
bool _fxOn;
bool _musicOn;
- Common::String _currentMusic, _priorMusic;
+ Common::String _currentMusic;
int _musicSide;
bool _subtitles;
public:
Commit: 73ac4d662a2577b7f8e9716bed07cbc061df6f07
https://github.com/scummvm/scummvm/commit/73ac4d662a2577b7f8e9716bed07cbc061df6f07
Author: Benoit Pierre (benoit.pierre at gmail.com)
Date: 2021-12-02T20:01:26-08:00
Commit Message:
XEEN: fix some sounds not being correctly muted when Efx is off
Changed paths:
engines/xeen/sound.cpp
diff --git a/engines/xeen/sound.cpp b/engines/xeen/sound.cpp
index f16e076f10..d12f6eba06 100644
--- a/engines/xeen/sound.cpp
+++ b/engines/xeen/sound.cpp
@@ -77,13 +77,13 @@ void Sound::playSound(const Common::String &name, int ccNum, int unused) {
}
void Sound::playVoice(const Common::String &name, int ccMode) {
+ stopSound();
+ if (!_fxOn)
+ return;
File f;
bool result = (ccMode == -1) ? f.open(name) : f.open(name, ccMode);
if (!result)
error("Could not open sound - %s", name.c_str());
-
- stopSound();
-
Common::SeekableReadStream *srcStream = f.readStream(f.size());
Audio::SeekableAudioStream *stream = Audio::makeVOCStream(srcStream,
Audio::FLAG_UNSIGNED, DisposeAfterUse::YES);
@@ -148,6 +148,8 @@ void Sound::loadEffectsData() {
void Sound::playFX(uint effectId) {
stopFX();
+ if (!_fxOn)
+ return;
loadEffectsData();
if (effectId < _effectsOffsets.size()) {
Commit: 11cf3c44fe69a9c9a43f4ce08de242eb37e196c2
https://github.com/scummvm/scummvm/commit/11cf3c44fe69a9c9a43f4ce08de242eb37e196c2
Author: Benoit Pierre (benoit.pierre at gmail.com)
Date: 2021-12-02T20:01:26-08:00
Commit Message:
XEEN: fix missing music when loading a save from the main menu
Changed paths:
engines/xeen/map.cpp
engines/xeen/sound.cpp
diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp
index 1dc700ac73..c623e994a5 100644
--- a/engines/xeen/map.cpp
+++ b/engines/xeen/map.cpp
@@ -901,8 +901,7 @@ void Map::load(int mapId) {
} else {
musName = "outdoors.m";
}
- if (musName != sound._currentMusic)
- sound.playSong(musName, 207);
+ sound.playSong(musName, 207);
// Load sprite sets needed for scene rendering
_groundSprites.load("water.out");
@@ -938,8 +937,7 @@ void Map::load(int mapId) {
} else {
musName = Res.MUSIC_FILES1[MUS_INDEXES[_mazeData->_wallKind]];
}
- if (musName != sound._currentMusic)
- sound.playSong(musName, 207);
+ sound.playSong(musName, 207);
// Load sprite sets needed for scene rendering
_skySprites[1].load(Common::String::format("%s.sky",
diff --git a/engines/xeen/sound.cpp b/engines/xeen/sound.cpp
index d12f6eba06..b72bbbe63e 100644
--- a/engines/xeen/sound.cpp
+++ b/engines/xeen/sound.cpp
@@ -195,6 +195,8 @@ void Sound::playSong(Common::SeekableReadStream &stream) {
}
void Sound::playSong(const Common::String &name, int param) {
+ if (isMusicPlaying() && name == _currentMusic)
+ return;
_currentMusic = name;
Common::File mf;
Commit: 8ef94393d8dddd7f37d436ce3ff9b650b81125d0
https://github.com/scummvm/scummvm/commit/8ef94393d8dddd7f37d436ce3ff9b650b81125d0
Author: Benoit Pierre (benoit.pierre at gmail.com)
Date: 2021-12-02T20:01:26-08:00
Commit Message:
XEEN: fix toggling music back on
Changed paths:
engines/xeen/sound.cpp
diff --git a/engines/xeen/sound.cpp b/engines/xeen/sound.cpp
index b72bbbe63e..ca4f7aedb1 100644
--- a/engines/xeen/sound.cpp
+++ b/engines/xeen/sound.cpp
@@ -235,6 +235,8 @@ void Sound::updateSoundSettings() {
_musicOn = !ConfMan.getBool("music_mute");
if (!_musicOn)
stopSong();
+ else if (!_currentMusic.empty())
+ playSong(_currentMusic);
_subtitles = ConfMan.hasKey("subtitles") ? ConfMan.getBool("subtitles") : true;
_musicVolume = CLIP(ConfMan.getInt("music_volume"), 0, 255);
Commit: d79b8eddd0850e9571145f9d58e499abf72e0261
https://github.com/scummvm/scummvm/commit/d79b8eddd0850e9571145f9d58e499abf72e0261
Author: Benoit Pierre (benoit.pierre at gmail.com)
Date: 2021-12-02T20:01:26-08:00
Commit Message:
XEEN: fix sound settings not getting saved
Changed paths:
engines/xeen/sound.cpp
diff --git a/engines/xeen/sound.cpp b/engines/xeen/sound.cpp
index ca4f7aedb1..7bace45ca8 100644
--- a/engines/xeen/sound.cpp
+++ b/engines/xeen/sound.cpp
@@ -109,6 +109,7 @@ void Sound::setFxOn(bool isOn) {
ConfMan.setBool("sfx_mute", !isOn);
if (isOn)
ConfMan.setBool("mute", false);
+ ConfMan.flushToDisk();
g_vm->syncSoundSettings();
}
@@ -212,6 +213,7 @@ void Sound::setMusicOn(bool isOn) {
ConfMan.setBool("music_mute", !isOn);
if (isOn)
ConfMan.setBool("mute", false);
+ ConfMan.flushToDisk();
g_vm->syncSoundSettings();
}
Commit: b78976ea595204ac1f8b91fd57041f5f86d4c681
https://github.com/scummvm/scummvm/commit/b78976ea595204ac1f8b91fd57041f5f86d4c681
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-12-02T20:01:26-08:00
Commit Message:
NEWS: Mention various Xeen sound fixes
Changed paths:
NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 747a958a56..95e4fcbf70 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -46,6 +46,7 @@ For a more comprehensive changelog of the latest experimental code, see:
- Fix crash on startup loading constants from xeen.ccs.
- Fix spell selection aborting when characters were switched.
- Fixed some bad memory accesses.
+ - Various sound fixes.
#### 2.5.0 "Twenty years ago today..." (2021-10-09)
More information about the Scummvm-git-logs
mailing list