diff options
author | Strangerke | 2013-08-04 10:39:34 +0200 |
---|---|---|
committer | Strangerke | 2013-08-04 10:39:34 +0200 |
commit | 134532090bac167979b3114b8caccb25f3a8dc86 (patch) | |
tree | 07ccaaeb443a5224819c37d265fcad5945892d5e /engines/mortevielle/utils.cpp | |
parent | 870a583c8b93eb560dca37add3cf9d98f21d594a (diff) | |
download | scummvm-rg350-134532090bac167979b3114b8caccb25f3a8dc86.tar.gz scummvm-rg350-134532090bac167979b3114b8caccb25f3a8dc86.tar.bz2 scummvm-rg350-134532090bac167979b3114b8caccb25f3a8dc86.zip |
MORTEVIELLE: Implement music in intro screen
Diffstat (limited to 'engines/mortevielle/utils.cpp')
-rw-r--r-- | engines/mortevielle/utils.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/engines/mortevielle/utils.cpp b/engines/mortevielle/utils.cpp index af2c4868de..b729d5951e 100644 --- a/engines/mortevielle/utils.cpp +++ b/engines/mortevielle/utils.cpp @@ -2201,13 +2201,15 @@ void MortevielleEngine::music() { if (!f.open("mort.img")) error("Missing file - mort.img"); - free(_compMusicBuf2); int size = f.size(); - _compMusicBuf2 = (byte *)malloc(sizeof(byte) * size); - f.read(_compMusicBuf2, size); + byte *compMusicBuf = (byte *)malloc(sizeof(byte) * size); + byte *musicBuf = (byte *)malloc(sizeof(byte) * size * 2); + f.read(compMusicBuf, size); f.close(); - _soundManager.decodeMusic(_compMusicBuf2, &_mem[kAdrMusic * 16], size / 128); + _soundManager.decodeMusic(compMusicBuf, musicBuf, size); + free(compMusicBuf); + _addFix = (float)((kTempoMusic - 8)) / 256; _speechManager.cctable(_speechManager._tbi); @@ -2215,12 +2217,14 @@ void MortevielleEngine::music() { int k = 0; do { fin = keyPressed(); - _soundManager.musyc(_speechManager._tbi, 9958, kTempoMusic); + _soundManager.playSong(musicBuf, size * 2); ++k; fin = fin | keyPressed() | (k >= 5); } while (!fin); while (keyPressed()) getChar(); + + free(musicBuf); } /** |