[Scummvm-git-logs] scummvm master -> 1985b8363d36c6c23b71ab93b6358652d939ca46
mgerhardy
noreply at scummvm.org
Thu Dec 2 09:21:55 UTC 2021
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:
1985b8363d TWINE: Adeline software jingle keeps looping through the startup screens
Commit: 1985b8363d36c6c23b71ab93b6358652d939ca46
https://github.com/scummvm/scummvm/commit/1985b8363d36c6c23b71ab93b6358652d939ca46
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-12-02T06:11:23+01:00
Commit Message:
TWINE: Adeline software jingle keeps looping through the startup screens
https://bugs.scummvm.org/ticket/11989
Changed paths:
engines/twine/audio/music.cpp
engines/twine/audio/music.h
engines/twine/renderer/screens.cpp
engines/twine/scene/gamestate.cpp
diff --git a/engines/twine/audio/music.cpp b/engines/twine/audio/music.cpp
index 67c812e6b1..c55b9acc8f 100644
--- a/engines/twine/audio/music.cpp
+++ b/engines/twine/audio/music.cpp
@@ -75,7 +75,7 @@ TwinEMidiPlayer::TwinEMidiPlayer(TwinEEngine* engine) : _engine(engine) {
}
}
-void TwinEMidiPlayer::play(byte *buf, int size) {
+void TwinEMidiPlayer::play(byte *buf, int size, bool loop) {
if (_parser == nullptr) {
if (_engine->_cfgfile.MidiType == MIDIFILE_DOS) {
_parser = MidiParser::createParser_XMIDI();
@@ -95,8 +95,7 @@ void TwinEMidiPlayer::play(byte *buf, int size) {
syncVolume();
- // All the tracks are supposed to loop
- _isLooping = true;
+ _isLooping = loop;
_isPlaying = true;
}
@@ -263,7 +262,7 @@ bool Music::playMidiMusic(int32 midiIdx, int32 loop) {
return false;
}
debug("Play midi file for index %i", midiIdx);
- _midiPlayer.play(midiPtr, midiSize);
+ _midiPlayer.play(midiPtr, midiSize, loop == 0 || loop > 1);
return true;
}
diff --git a/engines/twine/audio/music.h b/engines/twine/audio/music.h
index e0e8109198..6c732549a6 100644
--- a/engines/twine/audio/music.h
+++ b/engines/twine/audio/music.h
@@ -36,7 +36,7 @@ private:
TwinEEngine *_engine;
public:
TwinEMidiPlayer(TwinEEngine *engine);
- void play(byte *buf, int size);
+ void play(byte *buf, int size, bool loop);
};
class Music {
@@ -80,7 +80,7 @@ public:
* @param midiIdx music index under mini_mi_win.hqr
* @note valid indices for lba1 are [1-32]
*/
- bool playMidiMusic(int32 midiIdx, int32 loop = 0);
+ bool playMidiMusic(int32 midiIdx, int32 loop = 1);
/** Stop MIDI music */
void stopMidiMusic();
diff --git a/engines/twine/renderer/screens.cpp b/engines/twine/renderer/screens.cpp
index 54eef328e6..e3e96a1201 100644
--- a/engines/twine/renderer/screens.cpp
+++ b/engines/twine/renderer/screens.cpp
@@ -32,7 +32,7 @@
namespace TwinE {
bool Screens::adelineLogo() {
- _engine->_music->playMidiMusic(31, 1);
+ _engine->_music->playMidiMusic(31);
return loadImageDelay(_engine->_resources->adelineLogo(), 7);
}
diff --git a/engines/twine/scene/gamestate.cpp b/engines/twine/scene/gamestate.cpp
index f185f97432..36d496cae1 100644
--- a/engines/twine/scene/gamestate.cpp
+++ b/engines/twine/scene/gamestate.cpp
@@ -512,7 +512,7 @@ void GameState::processGameoverAnimation() {
}
const int32 avg = _engine->_collision->getAverageValue(40000, 3200, 500, _engine->_lbaTime - startLbaTime);
- const int32 cdot = _engine->_screens->lerp(1, 1024, 100, (_engine->_lbaTime - startLbaTime) % 100);
+ const int32 cdot = _engine->_screens->lerp(1, ANGLE_360, 100, (_engine->_lbaTime - startLbaTime) % 100);
_engine->blitWorkToFront(rect);
_engine->_renderer->setCameraAngle(0, 0, 0, 0, -cdot, 0, avg);
More information about the Scummvm-git-logs
mailing list