aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/neverhood/modules/module1400.cpp7
-rw-r--r--engines/neverhood/modules/module1400_sprites.cpp5
-rw-r--r--engines/neverhood/modules/module1400_sprites.h2
3 files changed, 8 insertions, 6 deletions
diff --git a/engines/neverhood/modules/module1400.cpp b/engines/neverhood/modules/module1400.cpp
index 551b6874ff..465ad5909a 100644
--- a/engines/neverhood/modules/module1400.cpp
+++ b/engines/neverhood/modules/module1400.cpp
@@ -709,13 +709,14 @@ Scene1405::Scene1405(NeverhoodEngine *vm, Module *parentModule)
void Scene1405::update() {
Scene::update();
+ // Check if the player chose a wrong tile, in which case the whole grid gets reset
if (_countdown != 0 && (--_countdown == 0)) {
_tilesLeft = 48;
- _tiles[_firstTileIndex]->hide();
- _tiles[_secondTileIndex]->hide();
+ _tiles[_firstTileIndex]->hide(true);
+ _tiles[_secondTileIndex]->hide(false);
for (uint32 i = 0; i < 48; i++) {
if (getSubVar(VA_IS_TILE_MATCH, i)) {
- _tiles[i]->hide();
+ _tiles[i]->hide(false);
setSubVar(VA_IS_TILE_MATCH, i, 0);
}
}
diff --git a/engines/neverhood/modules/module1400_sprites.cpp b/engines/neverhood/modules/module1400_sprites.cpp
index 30a5c340c9..99a2a314a7 100644
--- a/engines/neverhood/modules/module1400_sprites.cpp
+++ b/engines/neverhood/modules/module1400_sprites.cpp
@@ -873,10 +873,11 @@ void AsScene1405Tile::show() {
}
}
-void AsScene1405Tile::hide() {
+void AsScene1405Tile::hide(bool playClickSound) {
if (_isShowing) {
_isShowing = false;
- playSound(0);
+ if (playClickSound)
+ playSound(0);
setVisible(false);
}
}
diff --git a/engines/neverhood/modules/module1400_sprites.h b/engines/neverhood/modules/module1400_sprites.h
index fe0db66d27..e709193aab 100644
--- a/engines/neverhood/modules/module1400_sprites.h
+++ b/engines/neverhood/modules/module1400_sprites.h
@@ -155,7 +155,7 @@ class AsScene1405Tile : public AnimatedSprite {
public:
AsScene1405Tile(NeverhoodEngine *vm, Scene1405 *parentScene, uint32 tileIndex);
void show();
- void hide();
+ void hide(bool playClickSound);
protected:
Scene1405 *_parentScene;
bool _isShowing;