diff options
Diffstat (limited to 'engines/titanic/sound/music_handler.cpp')
-rw-r--r-- | engines/titanic/sound/music_handler.cpp | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/engines/titanic/sound/music_handler.cpp b/engines/titanic/sound/music_handler.cpp index 41545347b8..9ef5ffaa5a 100644 --- a/engines/titanic/sound/music_handler.cpp +++ b/engines/titanic/sound/music_handler.cpp @@ -29,12 +29,29 @@ namespace Titanic { CMusicHandler::CMusicHandler(CProjectItem *project, CSoundManager *soundManager) : _project(project), _soundManager(soundManager), _field124(0) { - + Common::fill(&_musicWaves[0], &_musicWaves[4], (CMusicWave *)nullptr); } -CMusicWave *CMusicHandler::createMusicWave(int v1, int v2) { - // TODO - return nullptr; +CMusicWave *CMusicHandler::createMusicWave(int waveIndex, int count) { + switch (waveIndex) { + case 0: + _musicWaves[waveIndex] = new CMusicWave(_project, _soundManager, 2); + break; + case 1: + _musicWaves[waveIndex] = new CMusicWave(_project, _soundManager, 3); + break; + case 2: + _musicWaves[waveIndex] = new CMusicWave(_project, _soundManager, 0); + break; + case 3: + _musicWaves[waveIndex] = new CMusicWave(_project, _soundManager, 1); + break; + default: + return nullptr; + } + + _musicWaves[waveIndex]->setSize(count); + return _musicWaves[waveIndex]; } bool CMusicHandler::isBusy() { |