aboutsummaryrefslogtreecommitdiff
path: root/sky/music/gmmusic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sky/music/gmmusic.cpp')
-rw-r--r--sky/music/gmmusic.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/sky/music/gmmusic.cpp b/sky/music/gmmusic.cpp
index e1ee2fe7e1..07c021a0c5 100644
--- a/sky/music/gmmusic.cpp
+++ b/sky/music/gmmusic.cpp
@@ -20,6 +20,7 @@
*/
#include "sky/music/gmmusic.h"
+#include "sky/sky.h"
void SkyGmMusic::passTimerFunc(void *param) {
@@ -69,8 +70,13 @@ void SkyGmMusic::timerCall(void) {
void SkyGmMusic::setupPointers(void) {
- _musicDataLoc = (_musicData[0x7DD] << 8) | _musicData[0x7DC];
- _sysExSequence = ((_musicData[0x7E1] << 8) | _musicData[0x7E0]) + _musicData;
+ if (SkyState::_systemVars.gameVersion == 109) {
+ _musicDataLoc = (_musicData[0x79C] << 8) | _musicData[0x79B];
+ _sysExSequence = _musicData + 0x1EF2;
+ } else {
+ _musicDataLoc = (_musicData[0x7DD] << 8) | _musicData[0x7DC];
+ _sysExSequence = ((_musicData[0x7E1] << 8) | _musicData[0x7E0]) + _musicData;
+ }
}
void SkyGmMusic::setupChannels(uint8 *channelData) {