aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruruk2014-05-17 23:33:46 +0200
committeruruk2014-05-17 23:33:46 +0200
commite0d871530622c0618c9ef350fa63d6039b223f0e (patch)
tree97628a5266e185775a6b1a34a6e98b50d36f750a
parent997564d1f64559276b496b34be87ab947b0e1f1c (diff)
downloadscummvm-rg350-e0d871530622c0618c9ef350fa63d6039b223f0e.tar.gz
scummvm-rg350-e0d871530622c0618c9ef350fa63d6039b223f0e.tar.bz2
scummvm-rg350-e0d871530622c0618c9ef350fa63d6039b223f0e.zip
CGE2: Further implement caveUp(), implement openPocket().
-rw-r--r--engines/cge2/cge2.h1
-rw-r--r--engines/cge2/cge2_main.cpp12
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()");
}