From fc5c92b5d0b46c0728a5642e43b06741871f8ec7 Mon Sep 17 00:00:00 2001 From: uruk Date: Sun, 22 Jun 2014 13:05:24 +0200 Subject: CGE2: Implement snGive() and snRmNear(). --- engines/cge2/snail.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'engines/cge2/snail.cpp') 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) { -- cgit v1.2.3