diff options
author | uruk | 2014-05-19 17:56:19 +0200 |
---|---|---|
committer | uruk | 2014-05-19 17:56:19 +0200 |
commit | 06ed289509f7d9d164bddebee0c1ef85b864deef (patch) | |
tree | 118c6673d07a48e03d7ae6aded8460fad7edd8a8 /engines/cge2/spare.cpp | |
parent | 63e57b2eb62c7c3fe2a1b4d878da5941648b6603 (diff) | |
download | scummvm-rg350-06ed289509f7d9d164bddebee0c1ef85b864deef.tar.gz scummvm-rg350-06ed289509f7d9d164bddebee0c1ef85b864deef.tar.bz2 scummvm-rg350-06ed289509f7d9d164bddebee0c1ef85b864deef.zip |
CGE2: Revise Spare::takeCave().
Diffstat (limited to 'engines/cge2/spare.cpp')
-rw-r--r-- | engines/cge2/spare.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/engines/cge2/spare.cpp b/engines/cge2/spare.cpp index 4c66e96285..dbd8425eed 100644 --- a/engines/cge2/spare.cpp +++ b/engines/cge2/spare.cpp @@ -48,10 +48,16 @@ Sprite *Spare::locate(int ref) { return nullptr; } -void Spare::takeCave(int ref) { - Sprite *spr = locate(ref); - if (spr != nullptr) - _vm->_vga->_showQ->insert(spr); +void Spare::takeCave(int cav) { + int bakRef = cav << 8; + Common::Array<Sprite*> tempCont = _container; + for (int i = 0; i < tempCont.size(); i++) { + Sprite *spr = tempCont[i]; + int c = spr->_scene; + if ((c == _vm->_now || c == 0) && spr->_ref != bakRef) { + _vm->_vga->_showQ->insert(spr); + } + } } void Spare::store(Sprite *spr) { |