summaryrefslogtreecommitdiff
path: root/src/music/win32_m.cpp
diff options
context:
space:
mode:
authorNiels Martin Hansen <nielsm@indvikleren.dk>2018-06-06 20:58:06 +0200
committerMichael Lutz <michi@icosahedron.de>2018-06-15 23:09:17 +0200
commita1b7812c7e5e7a25a9eb51fd397b19606451f8e6 (patch)
tree5c226ff9e73dc4c0cd9ddc2ea4989f84960f0d97 /src/music/win32_m.cpp
parent11a846e3d517c367112287f797065341e5e5c158 (diff)
downloadopenttd-a1b7812c7e5e7a25a9eb51fd397b19606451f8e6.tar.xz
Change: Improved looping of title song
Diffstat (limited to 'src/music/win32_m.cpp')
-rw-r--r--src/music/win32_m.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/music/win32_m.cpp b/src/music/win32_m.cpp
index 3c059ebed..a32318db1 100644
--- a/src/music/win32_m.cpp
+++ b/src/music/win32_m.cpp
@@ -302,8 +302,8 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DW
/* end? */
if (_midi.current_block == _midi.current_file.blocks.size()) {
if (_midi.current_segment.loop) {
- _midi.current_block = 0;
- _midi.playback_start_time = timeGetTime();
+ _midi.current_block = _midi.current_segment.start_block;
+ _midi.playback_start_time = timeGetTime() - _midi.current_file.blocks[_midi.current_block].realtime / 1000;
} else {
_midi.do_stop = true;
}
@@ -322,7 +322,7 @@ void MusicDriver_Win32::PlaySong(const MusicSongInfo &song)
_midi.next_segment.start = song.override_start;
_midi.next_segment.end = song.override_end;
- _midi.next_segment.loop = false;
+ _midi.next_segment.loop = song.loop;
DEBUG(driver, 2, "Win32-MIDI: PlaySong: setting flag");
_midi.do_stop = _midi.playing;