diff options
Diffstat (limited to 'engines/engine.cpp')
| -rw-r--r-- | engines/engine.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/engines/engine.cpp b/engines/engine.cpp index 0790c19a1b..c2b01ac715 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -26,32 +26,31 @@ #include "common/timer.h" #include "common/savefile.h" #include "common/system.h" -#include "sound/mixer.h" #include "gui/message.h" +#include "sound/mixer.h" #ifdef _WIN32_WCE extern bool isSmartphone(void); #endif -/* FIXME - BIG HACK for MidiEmu */ +// FIXME - BIG HACK for MidiEmu & error() Engine *g_engine = 0; + Engine::Engine(OSystem *syst) : _system(syst), + _mixer(_system->getMixer()), + _timer(_system->getTimerManager()), + _saveFileMan(_system->getSavefileManager()), _gameDataPath(ConfMan.get("path")), - _targetName(ConfMan.getActiveDomainName()){ - g_engine = this; - _mixer = new Audio::Mixer(); - - _timer = Common::g_timer; - - _saveFileMan = _system->getSavefileManager(); + _targetName(ConfMan.getActiveDomainName()) { + g_engine = this; _autosavePeriod = ConfMan.getInt("autosave_period"); } Engine::~Engine() { - delete _mixer; + _mixer->stopAll(true); delete _saveFileMan; g_engine = NULL; |
