aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/scene.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-07-03 19:26:27 +0000
committerWillem Jan Palenstijn2013-05-08 20:30:58 +0200
commit1285b37b321850a3584ce1bbdba58462e0b8fbe3 (patch)
tree9a9afbfc48564cae64a7f84215b2a9f0526c3017 /engines/neverhood/scene.cpp
parent44ab81eab83189bfa0693fca564543227d423799 (diff)
downloadscummvm-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.cpp25
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) {