diff options
author | johndoe123 | 2011-07-01 13:20:46 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:30:57 +0200 |
commit | 3c82668fe4267b34a9e3c7fe88f0d2a0fcfc4c4b (patch) | |
tree | 1a98104a53fb813e0093405a813a42d74d6bfeb5 /engines/neverhood/neverhood.cpp | |
parent | f01f9343c831cda618dabd2dcda7be77b2948ecc (diff) | |
download | scummvm-rg350-3c82668fe4267b34a9e3c7fe88f0d2a0fcfc4c4b.tar.gz scummvm-rg350-3c82668fe4267b34a9e3c7fe88f0d2a0fcfc4c4b.tar.bz2 scummvm-rg350-3c82668fe4267b34a9e3c7fe88f0d2a0fcfc4c4b.zip |
NEVERHOOD: More work on Module1500
- Implement Scene1501 (with yet unimpelemented stuff commented out)
- Add preliminary main loop to test stuff/updates
- Add dummy SoundResource
- And fix a mean bug/typo in some initializer lists...
(The intro now "runs" but doesn't show anything yet since the actual display code and other classes are not yet implemented yet.)
Diffstat (limited to 'engines/neverhood/neverhood.cpp')
-rw-r--r-- | engines/neverhood/neverhood.cpp | 91 |
1 files changed, 51 insertions, 40 deletions
diff --git a/engines/neverhood/neverhood.cpp b/engines/neverhood/neverhood.cpp index 2f27fca2df..ac89a3e658 100644 --- a/engines/neverhood/neverhood.cpp +++ b/engines/neverhood/neverhood.cpp @@ -38,6 +38,7 @@ #include "neverhood/neverhood.h" #include "neverhood/blbarchive.h" +#include "neverhood/gamemodule.h" #include "neverhood/graphics.h" #include "neverhood/resourceman.h" #include "neverhood/resource.h" @@ -123,55 +124,65 @@ Common::Error NeverhoodEngine::run() { } #endif -#if 1 +#if 0 { // Create a new scope AnimResource r(this); r.load(0x000540B0); } #endif - - delete _res; - return Common::kNoError; -} + _gameModule = new GameModule(this); -void NeverhoodEngine::updateEvents() { - Common::Event event; - Common::EventManager *eventMan = _system->getEventManager(); - - while (eventMan->pollEvent(event)) { - switch (event.type) { - case Common::EVENT_KEYDOWN: - _keyState = event.kbd.keycode; - break; - case Common::EVENT_KEYUP: - _keyState = Common::KEYCODE_INVALID; - break; - case Common::EVENT_MOUSEMOVE: - _mouseX = event.mouse.x; - _mouseY = event.mouse.y; - break; - /* - case Common::EVENT_LBUTTONDOWN: - _buttonState |= kLeftButton; - break; - case Common::EVENT_LBUTTONUP: - _buttonState &= ~kLeftButton; - break; - case Common::EVENT_RBUTTONDOWN: - _buttonState |= kRightButton; - break; - case Common::EVENT_RBUTTONUP: - _buttonState &= ~kRightButton; - break; - case Common::EVENT_QUIT: - _system->quit(); - break; - */ - default: - break; + while (1) { + Common::Event event; + Common::EventManager *eventMan = _system->getEventManager(); + + while (eventMan->pollEvent(event)) { + switch (event.type) { + case Common::EVENT_KEYDOWN: + _keyState = event.kbd.keycode; + break; + case Common::EVENT_KEYUP: + _keyState = Common::KEYCODE_INVALID; + break; + case Common::EVENT_MOUSEMOVE: + _mouseX = event.mouse.x; + _mouseY = event.mouse.y; + break; + /* + case Common::EVENT_LBUTTONDOWN: + _buttonState |= kLeftButton; + break; + case Common::EVENT_LBUTTONUP: + _buttonState &= ~kLeftButton; + break; + case Common::EVENT_RBUTTONDOWN: + _buttonState |= kRightButton; + break; + case Common::EVENT_RBUTTONUP: + _buttonState &= ~kRightButton; + break; + case Common::EVENT_QUIT: + _system->quit(); + break; + */ + default: + break; + } } + + _gameModule->handleUpdate(); + _system->updateScreen(); + } + + delete _gameModule; + + delete _res; + + debug("Ok."); + + return Common::kNoError; } } // End of namespace Neverhood |