diff options
author | Robert Göffringmann | 2003-06-22 21:42:59 +0000 |
---|---|---|
committer | Robert Göffringmann | 2003-06-22 21:42:59 +0000 |
commit | f891aceee307fa614fcd312b6f567792f1b95ae1 (patch) | |
tree | 90d90d5dfff3ce150c793cd534ddab6e63b012e2 /sky/sky.cpp | |
parent | 8595f30740beb3ed9d975f895578b19e18d2c223 (diff) | |
download | scummvm-rg350-f891aceee307fa614fcd312b6f567792f1b95ae1.tar.gz scummvm-rg350-f891aceee307fa614fcd312b6f567792f1b95ae1.tar.bz2 scummvm-rg350-f891aceee307fa614fcd312b6f567792f1b95ae1.zip |
native mt32 support and basic control panel (incomplete)
doesn't work with all versions, probably file numbers were changed
svn-id: r8632
Diffstat (limited to 'sky/sky.cpp')
-rw-r--r-- | sky/sky.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sky/sky.cpp b/sky/sky.cpp index 846e78fce2..666699f6f0 100644 --- a/sky/sky.cpp +++ b/sky/sky.cpp @@ -141,6 +141,10 @@ void SkyState::go() { while (1) { delay(50); + if ((_key_pressed == 27) || (_key_pressed == 63)) { // 27 = escape, 63 = F5 + _key_pressed = 0; + _skyControl->doControlPanel(); + } _skyMouse->mouseEngine((uint16)_sdl_mouse_x, (uint16)_sdl_mouse_y); _skyLogic->engine(); _skyScreen->recreate(); @@ -152,8 +156,6 @@ void SkyState::go() { void SkyState::initialise(void) { - //initialise_memory(); - _skyDisk = new SkyDisk(_gameDataPath); _skySound = new SkySound(_mixer, _skyDisk); @@ -164,7 +166,10 @@ void SkyState::initialise(void) { _skyMusic = new SkyAdlibMusic(_mixer, _skyDisk); } else { _systemVars.systemFlags |= SF_ROLAND; - _skyMusic = new SkyGmMusic(_detector->createMidi(), _skyDisk); + if (_detector->_native_mt32) + _skyMusic = new SkyMT32Music(_detector->createMidi(), _skyDisk); + else + _skyMusic = new SkyGmMusic(_detector->createMidi(), _skyDisk); } _systemVars.systemFlags |= SF_PLAY_VOCS; @@ -174,14 +179,14 @@ void SkyState::initialise(void) { initVirgin(); initItemList(); - //initScript(); - //initialiseRouter(); loadFixedItems(); _skyLogic = new SkyLogic(_skyScreen, _skyDisk, _skyText, _skyMusic, _skyMouse, _skySound); _skyMouse->useLogicInstance(_skyLogic); _timer = Engine::_timer; // initialize timer *after* _skyScreen has been initialized. _timer->installProcedure(&timerHandler, 1000000 / 50); //call 50 times per second + + _skyControl = new SkyControl(_skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _system, getSavePath()); } void SkyState::initItemList() { |