diff options
-rw-r--r-- | engines/cge2/cge2.h | 1 | ||||
-rw-r--r-- | engines/cge2/cge2_main.cpp | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h index 7e92664352..bb49d0a692 100644 --- a/engines/cge2/cge2.h +++ b/engines/cge2/cge2.h @@ -89,6 +89,7 @@ public: void loadTab(); int newRandom(int range); void loadMap(int cav); + void openPocket(); void setEye(V3D &e); void setEye(const V2D& e2, int z = -kScrWidth); diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp index 9a84220299..07873c64aa 100644 --- a/engines/cge2/cge2_main.cpp +++ b/engines/cge2/cge2_main.cpp @@ -338,6 +338,9 @@ void CGE2Engine::caveUp(int cav) { _eye = _eyeTab[_now]; _mouseTop = V2D(this, V3D(0, 1, kScrDepth)).y; loadTab(); + _spare->takeCave(bakRef); + openPocket(); + _vga->update(); @@ -360,6 +363,15 @@ void CGE2Engine::loadMap(int cav) { warning("STUB: CGE2Engine::loadMap()"); } +void CGE2Engine::openPocket() { + for (int i = 0; i < 2; i++) { + for (int j = 0; j < kPocketMax + 1; j++) { + int ref = (_heroTab[i])->_pocket[j]->_ref; + _heroTab[i]->_pocket[j] = (ref == -1) ? nullptr : _vga->_showQ->locate(ref); + } + } +} + void CGE2Engine::runGame() { warning("STUB: CGE2Engine::runGame()"); } |