aboutsummaryrefslogtreecommitdiff
path: root/engines/cge2
diff options
context:
space:
mode:
authoruruk2014-05-30 12:48:58 +0200
committeruruk2014-05-30 12:48:58 +0200
commite34113a94cf3762880fc33694b61af4d18f5fb8c (patch)
tree976d0ead18b6f36159786fea740e0a8b2cc74183 /engines/cge2
parentbb2f8dd68e1d6b2b30b07f60c0cd4e125b47ea4d (diff)
downloadscummvm-rg350-e34113a94cf3762880fc33694b61af4d18f5fb8c.tar.gz
scummvm-rg350-e34113a94cf3762880fc33694b61af4d18f5fb8c.tar.bz2
scummvm-rg350-e34113a94cf3762880fc33694b61af4d18f5fb8c.zip
CGE2: Fix assignments and deinitialization of _eye and _eyeTab.
Diffstat (limited to 'engines/cge2')
-rw-r--r--engines/cge2/cge2.cpp5
-rw-r--r--engines/cge2/cge2.h2
-rw-r--r--engines/cge2/cge2_main.cpp8
3 files changed, 6 insertions, 9 deletions
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) {