aboutsummaryrefslogtreecommitdiff
path: root/engines/cge2/snail.cpp
diff options
context:
space:
mode:
authoruruk2014-06-22 13:05:24 +0200
committeruruk2014-06-22 13:05:24 +0200
commitfc5c92b5d0b46c0728a5642e43b06741871f8ec7 (patch)
treee17b0db067a6679248df09e699a9ce6e7431904e /engines/cge2/snail.cpp
parentf1b14c6d31b1f7eafe4720302460c6265fb87025 (diff)
downloadscummvm-rg350-fc5c92b5d0b46c0728a5642e43b06741871f8ec7.tar.gz
scummvm-rg350-fc5c92b5d0b46c0728a5642e43b06741871f8ec7.tar.bz2
scummvm-rg350-fc5c92b5d0b46c0728a5642e43b06741871f8ec7.zip
CGE2: Implement snGive() and snRmNear().
Diffstat (limited to 'engines/cge2/snail.cpp')
-rw-r--r--engines/cge2/snail.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/cge2/snail.cpp b/engines/cge2/snail.cpp
index b7731aebb8..824d4e3c1d 100644
--- a/engines/cge2/snail.cpp
+++ b/engines/cge2/snail.cpp
@@ -505,7 +505,16 @@ void CGE2Engine::snKeep(Sprite *spr, int stp) {
}
void CGE2Engine::snGive(Sprite *spr, int val) {
- warning("STUB: CGE2Engine::snGive()");
+ if (spr) {
+ int p = findActivePocket(spr->_ref);
+ if (p >= 0) {
+ releasePocket(spr);
+ spr->setScene(_now);
+ if (val >= 0)
+ spr->step(val);
+ }
+ }
+ selectPocket(-1);
}
void CGE2Engine::snGoto(Sprite *spr, int val) {
@@ -562,7 +571,8 @@ void CGE2Engine::snRFTNext(Sprite *spr, int val) {
}
void CGE2Engine::snRmNear(Sprite *spr) {
- warning("STUB: CGE2Engine::snRmNear()");
+ if (spr)
+ spr->_actionCtrl[kNear]._cnt = 0;
}
void CGE2Engine::snRmMTake(Sprite *spr) {