diff options
author | johndoe123 | 2011-07-03 19:26:27 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:30:58 +0200 |
commit | 1285b37b321850a3584ce1bbdba58462e0b8fbe3 (patch) | |
tree | 9a9afbfc48564cae64a7f84215b2a9f0526c3017 /engines/neverhood/scene.cpp | |
parent | 44ab81eab83189bfa0693fca564543227d423799 (diff) | |
download | scummvm-rg350-1285b37b321850a3584ce1bbdba58462e0b8fbe3.tar.gz scummvm-rg350-1285b37b321850a3584ce1bbdba58462e0b8fbe3.tar.bz2 scummvm-rg350-1285b37b321850a3584ce1bbdba58462e0b8fbe3.zip |
NEVERHOOD: Start with the Background and DirtyBackground classes
- Also make related changes in other code
- Call the game module's draw method in the main loop
- Add some more debug output in resource load functions
Diffstat (limited to 'engines/neverhood/scene.cpp')
-rw-r--r-- | engines/neverhood/scene.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/engines/neverhood/scene.cpp b/engines/neverhood/scene.cpp index f1209318ec..6c3aae1e29 100644 --- a/engines/neverhood/scene.cpp +++ b/engines/neverhood/scene.cpp @@ -39,7 +39,7 @@ Scene::Scene(NeverhoodEngine *vm, Module *parentModule, bool clearHitRects) // TODO _playerSprite = NULL; // TODO _mouseSprite = NULL; _palette = NULL; - // TODO _background = NULL; + _background = NULL; // TODO _field_8E = -1; if (clearHitRects) { // TODO g_Class700->setHitRects(NULL, 0); @@ -53,7 +53,7 @@ Scene::Scene(NeverhoodEngine *vm, Module *parentModule, bool clearHitRects) _messageListFlag = true; _surfaceFlag = false; _messageList2 = NULL; - // TODO _smackerPlayer = NULL; + _smackerPlayer = NULL; _smkFileHash = 0; _messageListFlag2 = false; _messageValue = -1; @@ -78,26 +78,25 @@ Scene::~Scene() { } void Scene::draw() { + debug("Scene::draw()"); //**ALL TODO -#if 0 if (_smackerPlayer) { if (_surfaceFlag) { - g_screen->resetDirtyRects(); - g_screen->copyDirtyRects(); - g_screen->addDirtyRects(); + // TODO g_screen->resetDirtyRects(); + // TODO g_screen->copyDirtyRects(); + // TODO g_screen->addDirtyRects(); } - _smackerPlayer->_surface->draw(); + // TODO _smackerPlayer->_surface->draw(); } else { if (_surfaceFlag) { - g_screen->copyDirtyRects(); + // TODO g_screen->copyDirtyRects(); for (Common::Array<BaseSurface*>::iterator iter = _surfaces.begin(); iter != _surfaces.end(); iter++) (*iter)->addDirtyRect(); - g_screen->addDirtyRects(); + // TODO g_screen->addDirtyRects(); } for (Common::Array<BaseSurface*>::iterator iter = _surfaces.begin(); iter != _surfaces.end(); iter++) (*iter)->draw(); } -#endif } void Scene::addEntity(Entity *entity) { @@ -170,6 +169,12 @@ void Scene::deleteSprite(Sprite **sprite) { *sprite = NULL; } +Background *Scene::addBackground(Background *background) { + addEntity(background); + addSurface(background->getSurface()); + return background; +} + void Scene::update() { if (_smkFileHash != 0) { |