Ticket #8781: hofTownsAudioFix.patch

File hofTownsAudioFix.patch, 1.3 KB (added by athrxx, 16 years ago)
  • sound.cpp

     
    469469        //      XXX
    470470        //}
    471471       
    472         assert(command*2+1 < _trackMapSize);
    473         if (_curMusicTheme != _trackMap[command*2]) {
    474                 if (_trackMap[command*2] != -1 && _trackMap[command*2] != -2)
    475                         snd_playTheme(_trackMap[command*2]);
    476         }
     472        if (_flags.platform == Common::kPlatformPC) {
     473                assert(command*2+1 < _trackMapSize);
     474                if (_curMusicTheme != _trackMap[command*2]) {
     475                        if (_trackMap[command*2] != -1 && _trackMap[command*2] != -2)
     476                                snd_playTheme(_trackMap[command*2]);
     477                }
    477478
    478         if (command != 1) {
    479                 if (_lastMusicCommand != command) {
     479                if (command != 1) {
     480                        if (_lastMusicCommand != command) {
     481                                _sound->haltTrack();
     482                                _sound->playTrack(_trackMap[command*2+1]);
     483                        }
     484                } else {
     485                        _sound->beginFadeOut();
     486                }
     487
     488        } else if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98) {
     489                if (command == -1)
    480490                        _sound->haltTrack();
    481                         _sound->playTrack(_trackMap[command*2+1]);
     491                if (_trackMap[command*2] == -2)
     492                        return;
     493                if (command != _lastMusicCommand) {
     494                        _sound->haltTrack();
     495                        _sound->playTrack(command);
    482496                }
    483         } else {
    484                 _sound->beginFadeOut();
    485         }
     497        }
    486498
    487499        _lastMusicCommand = command;
    488500}