aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/cge2/cge2_main.cpp5
-rw-r--r--engines/cge2/snail.cpp14
2 files changed, 13 insertions, 6 deletions
diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp
index 2940833deb..5d4a97fd80 100644
--- a/engines/cge2/cge2_main.cpp
+++ b/engines/cge2/cge2_main.cpp
@@ -807,7 +807,10 @@ void CGE2Engine::releasePocket(Sprite *spr) {
}
void CGE2Engine::checkSaySwitch() {
- warning("STUB: CGE2Engine::checkSaySwitch()");
+// if (SNDDrvInfo.DDEV == DEV_QUIET)
+// _sayVox = !(_sayCap = true);
+ _commandHandlerTurbo->addCommand(kCmdSeq, 129, _sayVox, nullptr);
+ _commandHandlerTurbo->addCommand(kCmdSeq, 128, _sayCap, nullptr);
}
void CGE2Engine::loadTab() {
diff --git a/engines/cge2/snail.cpp b/engines/cge2/snail.cpp
index 5ec62746f9..49041bb272 100644
--- a/engines/cge2/snail.cpp
+++ b/engines/cge2/snail.cpp
@@ -592,15 +592,18 @@ void CGE2Engine::snNNext(Sprite *spr, Action act, int val) {
}
void CGE2Engine::snRNNext(Sprite *spr, int val) {
- warning("STUB: CGE2Engine::snRNNext()");
+ if (spr)
+ spr->_actionCtrl[kNear]._ptr += val;
}
void CGE2Engine::snRMTNext(Sprite *spr, int val) {
- warning("STUB: CGE2Engine::snRMTNext()");
+ if (spr)
+ spr->_actionCtrl[kMTake]._ptr += val;
}
-void CGE2Engine::snRFTNext(Sprite *spr, int val) {
- warning("STUB: CGE2Engine::snRFTNext()");
+void CGE2Engine::snRFTNext(Sprite * spr, int val) {
+ if (spr)
+ spr->_actionCtrl[kFTake]._ptr += val;
}
void CGE2Engine::snRmNear(Sprite *spr) {
@@ -614,7 +617,8 @@ void CGE2Engine::snRmMTake(Sprite *spr) {
}
void CGE2Engine::snRmFTake(Sprite *spr) {
- warning("STUB: CGE2Engine::snRmFTake()");
+ if (spr)
+ spr->_actionCtrl[kFTake]._cnt = 0;
}
void CGE2Engine::snFlag(int ref, int val) {