aboutsummaryrefslogtreecommitdiff
path: root/engines/cge2
diff options
context:
space:
mode:
authoruruk2014-05-18 11:04:30 +0200
committeruruk2014-05-18 11:04:30 +0200
commit3e97ade38842b29e01692c00c452c30afe4ea67f (patch)
tree692875077750ef13c73af01c7092c5f276f6fb11 /engines/cge2
parent28357ab6cb4cf432baa7e5c26af76e79c6c7abde (diff)
downloadscummvm-rg350-3e97ade38842b29e01692c00c452c30afe4ea67f.tar.gz
scummvm-rg350-3e97ade38842b29e01692c00c452c30afe4ea67f.tar.bz2
scummvm-rg350-3e97ade38842b29e01692c00c452c30afe4ea67f.zip
CGE2: Revise takeCave().
Diffstat (limited to 'engines/cge2')
-rw-r--r--engines/cge2/spare.cpp6
-rw-r--r--engines/cge2/spare.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/engines/cge2/spare.cpp b/engines/cge2/spare.cpp
index 451cf21f9f..aff61b3f28 100644
--- a/engines/cge2/spare.cpp
+++ b/engines/cge2/spare.cpp
@@ -48,10 +48,10 @@ Sprite *Spare::locate(int ref) {
return nullptr;
}
-void Spare::takeCave(int cav) {
- int ref = cav << 8;
+void Spare::takeCave(int ref) {
Sprite *spr = locate(ref);
- _vm->_vga->_showQ->insert(spr);
+ if (spr != nullptr)
+ _vm->_vga->_showQ->insert(spr);
}
void Spare::store(Sprite *spr) {
diff --git a/engines/cge2/spare.h b/engines/cge2/spare.h
index e1689c3d99..54683b9c65 100644
--- a/engines/cge2/spare.h
+++ b/engines/cge2/spare.h
@@ -40,7 +40,7 @@ public:
~Spare() { clear(); }
void store(Sprite *spr);
Sprite *locate(int ref);
- void takeCave(int cav);
+ void takeCave(int ref); // Note that it takes the ref of the sprite now, not the number of the scene, like the original!
void dispose(Sprite *spr);
void dispose(int ref);
void dispose();