From e34113a94cf3762880fc33694b61af4d18f5fb8c Mon Sep 17 00:00:00 2001 From: uruk Date: Fri, 30 May 2014 12:48:58 +0200 Subject: CGE2: Fix assignments and deinitialization of _eye and _eyeTab. --- engines/cge2/cge2.cpp | 5 +---- engines/cge2/cge2.h | 2 +- engines/cge2/cge2_main.cpp | 8 ++++---- 3 files changed, 6 insertions(+), 9 deletions(-) (limited to 'engines/cge2') diff --git a/engines/cge2/cge2.cpp b/engines/cge2/cge2.cpp index 273c9dac0d..d0d5740e7a 100644 --- a/engines/cge2/cge2.cpp +++ b/engines/cge2/cge2.cpp @@ -124,12 +124,9 @@ void CGE2Engine::deinit() { for (int i = 0; i < 2; i++) delete _heroTab[i]; for (int i = 0; i < kCaveMax; i++) { - if (_eye == _eyeTab[i]) - _eye = nullptr; delete _eyeTab[i]; } - if (_eye != nullptr) - delete _eye; + delete _eye; delete _spare; delete _sprite; delete _commandHandler; diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h index 66bcd911e9..c7c16d4224 100644 --- a/engines/cge2/cge2.h +++ b/engines/cge2/cge2.h @@ -139,7 +139,7 @@ public: void releasePocket(Sprite *spr); void switchHero(bool sex); - void setEye(V3D &e); + void setEye(const V3D &e); void setEye(const V2D& e2, int z = -kScrWidth); void setEye(const char *s); diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp index 9e9d6da76a..f468d15d66 100644 --- a/engines/cge2/cge2_main.cpp +++ b/engines/cge2/cge2_main.cpp @@ -361,7 +361,7 @@ void CGE2Engine::caveUp(int cav) { if (_music) _midiPlayer->loadMidi(bakRef); showBak(bakRef); - _eye = _eyeTab[_now]; + *_eye = *(_eyeTab[_now]); _mouseTop = V2D(this, V3D(0, 1, kScrDepth)).y; _spare->takeCave(_now); openPocket(); @@ -598,7 +598,7 @@ void CGE2Engine::qGame() { void CGE2Engine::loadTab() { setEye(_text->getText(240)); for (int i = 0; i < kCaveMax; i++) - _eyeTab[i] = _eye; + *(_eyeTab[i]) = *_eye; if (_resman->exist(kTabName)) { EncryptedStream f(this, kTabName); @@ -660,8 +660,8 @@ char *CGE2Engine::mergeExt(char *buf, const char *name, const char *ext) { return buf; } -void CGE2Engine::setEye(V3D &e) { - _eye = &e; +void CGE2Engine::setEye(const V3D &e) { + *_eye = e; } void CGE2Engine::setEye(const V2D& e2, int z) { -- cgit v1.2.3