Ticket #8084: simon.diff

File simon.diff, 3.1 KB (added by eriktorbjorn, 22 years ago)

Patch against an October 8 CVS snapshot

  • scummvm/common/engine.cpp

    diff -ur ScummVM-cvs20021008/scummvm/common/engine.cpp ScummVM-cvs20021008+hack/scummvm/common/engine.cpp
    old new  
    8484
    8585        if (detector->_gameId >= GID_SIMON_FIRST && detector->_gameId <= GID_SIMON_LAST) {
    8686                // Simon the Sorcerer
    87                 detector->_gameId -= GID_SIMON_FIRST;
     87                detector->_gameId2 = detector->_gameId - GID_SIMON_FIRST;
    8888                engine = new SimonState(detector, syst);
    8989        } else {
    9090                // Some kind of Scumm game
  • scummvm/common/engine.h

    diff -ur ScummVM-cvs20021008/scummvm/common/engine.h ScummVM-cvs20021008+hack/scummvm/common/engine.h
    old new  
    3030class SoundMixer;
    3131class GameDetector;
    3232
    33 /* FIXME - BIG HACK for MidiEmu */
     33/* FIXME - BIG HACK for MidiEmu and error() */
    3434extern OSystem *g_system;
    3535extern SoundMixer *g_mixer;
    3636
  • scummvm/common/gameDetector.cpp

    diff -ur ScummVM-cvs20021008/scummvm/common/gameDetector.cpp ScummVM-cvs20021008+hack/scummvm/common/gameDetector.cpp
    old new  
    590590        /*        preference */
    591591        if (drv == MD_AUTO) {
    592592                _use_adlib = true;
     593
     594                // Neither MD_ALSA nor MD_SEQ work for Simon, and there is no
     595                // MIDI -> AdLib converter for it. But we can't return NULL
     596                // here because that'll cause ScummVM to crash.
     597                if (_gameId >= GID_SIMON_FIRST && _gameId <= GID_SIMON_LAST)
     598                        return MidiDriver_NULL_create();
     599
    593600                return NULL;
    594601        }
    595602#endif
  • scummvm/common/gameDetector.h

    diff -ur ScummVM-cvs20021008/scummvm/common/gameDetector.h ScummVM-cvs20021008+hack/scummvm/common/gameDetector.h
    old new  
    5252        const char *getGameName(void);
    5353
    5454        bool _fullScreen;
    55         byte _gameId;
     55        byte _gameId, _gameId2;
    5656
    5757        bool _use_adlib;
    5858
  • scummvm/scumm/scummvm.cpp

    diff -ur ScummVM-cvs20021008/scummvm/scumm/scummvm.cpp ScummVM-cvs20021008+hack/scummvm/scumm/scummvm.cpp
    old new  
    13351335        }
    13361336       
    13371337        // Finally exit. quit() will terminate the program
    1338         g_scumm->_system->quit();
     1338        g_system->quit();
    13391339       
    13401340       
    13411341        // This point should never be reached. However, since virtual methods (like quit() is)
  • scummvm/simon/simon.cpp

    diff -ur ScummVM-cvs20021008/scummvm/simon/simon.cpp ScummVM-cvs20021008+hack/scummvm/simon/simon.cpp
    old new  
    124124        /* Setup midi driver */
    125125        midi.set_driver(driver);
    126126
    127         _game = detector->_gameId;
     127        _game = detector->_gameId2;
    128128
    129129        /* Setup mixer */
    130130        if (!_mixer->bindToSystem(syst))