aboutsummaryrefslogtreecommitdiff
path: root/engines/sludge/freeze.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sludge/freeze.cpp')
-rw-r--r--engines/sludge/freeze.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/engines/sludge/freeze.cpp b/engines/sludge/freeze.cpp
index 3e8cdef0d0..9f55564502 100644
--- a/engines/sludge/freeze.cpp
+++ b/engines/sludge/freeze.cpp
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
+
#include "sludge/allfiles.h"
#include "sludge/cursors.h"
#include "sludge/backdrop.h"
@@ -30,12 +31,12 @@
#include "sludge/objtypes.h"
#include "sludge/people.h"
#include "sludge/region.h"
+#include "sludge/speech.h"
#include "sludge/sprites.h"
#include "sludge/sprbanks.h"
#include "sludge/sludge.h"
#include "sludge/sludger.h"
#include "sludge/statusba.h"
-#include "sludge/talk.h"
#include "sludge/zbuffer.h"
namespace Sludge {
@@ -43,7 +44,6 @@ namespace Sludge {
extern OnScreenPerson *allPeople;
extern ScreenRegion *allScreenRegions;
extern ScreenRegion *overRegion;
-extern SpeechStruct *speech;
void GraphicsManager::freezeGraphics() {
@@ -100,10 +100,7 @@ bool GraphicsManager::freeze() {
overRegion = NULL;
_vm->_cursorMan->freeze(newFreezer);
-
- newFreezer->speech = speech;
- initSpeech();
-
+ _vm->_speechMan->freeze(newFreezer);
_vm->_evtMan->freeze(newFreezer);
newFreezer->next = _frozenStuff;
@@ -168,19 +165,12 @@ void GraphicsManager::unfreeze(bool killImage) {
killParallax();
_parallaxStuff = _frozenStuff->parallaxStuff;
-
_vm->_cursorMan->resotre(_frozenStuff);
-
restoreBarStuff(_frozenStuff->frozenStatus);
-
_vm->_evtMan->restore(_frozenStuff);
+ _vm->_speechMan->restore(_frozenStuff);
- killAllSpeech();
- delete speech;
-
- speech = _frozenStuff->speech;
_frozenStuff = _frozenStuff->next;
-
overRegion = NULL;
// free current frozen screen struct