diff options
Diffstat (limited to 'engines/kyra/sound_towns.cpp')
-rw-r--r-- | engines/kyra/sound_towns.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp index 9fe502e2c2..d30098d5f7 100644 --- a/engines/kyra/sound_towns.cpp +++ b/engines/kyra/sound_towns.cpp @@ -4049,6 +4049,22 @@ bool SoundPC98::init() { return _driver->init(); } +void SoundPC98::loadSoundFile(uint file) { + delete[] _sfxTrackData; + + int tmpSize; + const uint8 *tmp = _vm->staticres()->loadRawData((int) file, tmpSize); + + if (!tmp) { + warning("Failed to load static sound data with id %d.", file); + _sfxTrackData = 0; + return; + } + + _sfxTrackData = new uint8[tmpSize]; + memcpy(_sfxTrackData, tmp, tmpSize); +} + void SoundPC98::loadSoundFile(Common::String file) { delete[] _sfxTrackData; _sfxTrackData = _vm->resource()->fileData(file.c_str(), 0); |