aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/neverhood.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-07-01 13:20:46 +0000
committerWillem Jan Palenstijn2013-05-08 20:30:57 +0200
commit3c82668fe4267b34a9e3c7fe88f0d2a0fcfc4c4b (patch)
tree1a98104a53fb813e0093405a813a42d74d6bfeb5 /engines/neverhood/neverhood.cpp
parentf01f9343c831cda618dabd2dcda7be77b2948ecc (diff)
downloadscummvm-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.cpp91
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