diff options
author | uruk | 2014-06-22 13:05:24 +0200 |
---|---|---|
committer | uruk | 2014-06-22 13:05:24 +0200 |
commit | fc5c92b5d0b46c0728a5642e43b06741871f8ec7 (patch) | |
tree | e17b0db067a6679248df09e699a9ce6e7431904e /engines | |
parent | f1b14c6d31b1f7eafe4720302460c6265fb87025 (diff) | |
download | scummvm-rg350-fc5c92b5d0b46c0728a5642e43b06741871f8ec7.tar.gz scummvm-rg350-fc5c92b5d0b46c0728a5642e43b06741871f8ec7.tar.bz2 scummvm-rg350-fc5c92b5d0b46c0728a5642e43b06741871f8ec7.zip |
CGE2: Implement snGive() and snRmNear().
Diffstat (limited to 'engines')
-rw-r--r-- | engines/cge2/snail.cpp | 14 |
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) { |