From 7bf1b77f3c700cd6b791adf8e10173f889af47fa Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 12 Nov 2007 10:09:33 +0000 Subject: removeSounds was being called too early - it was setting the current area to that of the room being left, rather than the one being entered svn-id: r29482 --- engines/lure/game.cpp | 2 -- engines/lure/room.cpp | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/engines/lure/game.cpp b/engines/lure/game.cpp index 8b7c7cdb20..c8abff2b92 100644 --- a/engines/lure/game.cpp +++ b/engines/lure/game.cpp @@ -330,8 +330,6 @@ void Game::playerChangeRoom() { delayList.clear(); - Sound.removeSounds(); - RoomData *roomData = res.getRoom(roomNum); assert(roomData); roomData->flags |= HOTSPOTFLAG_FOUND; diff --git a/engines/lure/room.cpp b/engines/lure/room.cpp index b74d3bf849..12e58a1be6 100644 --- a/engines/lure/room.cpp +++ b/engines/lure/room.cpp @@ -28,6 +28,7 @@ #include "lure/events.h" #include "lure/strings.h" #include "lure/scripts.h" +#include "lure/sound.h" namespace Lure { @@ -502,6 +503,8 @@ void Room::setRoomNumber(uint16 newRoomNumber, bool showOverlay) { // disk cursor as a room changes _screen.paletteFadeOut(GAME_COLOURS - 1); leaveRoom(); + + Sound.removeSounds(); } _screen.empty(); -- cgit v1.2.3