aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/cge2/cge2.h4
-rw-r--r--engines/cge2/snail.cpp12
2 files changed, 10 insertions, 6 deletions
diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h
index 380e7da04c..336d727787 100644
--- a/engines/cge2/cge2.h
+++ b/engines/cge2/cge2.h
@@ -232,8 +232,8 @@ public:
void snGoto(Sprite *spr, int val);
void snMove(Sprite *spr, V3D pos);
void snSlave(Sprite *spr, int val);
- void snTrans(Sprite *spr, int val);
- void snPort(Sprite *spr, int val);
+ void snTrans(Sprite *spr, int trans);
+ void snPort(Sprite *spr, int port);
void snMouse(bool on);
void snNNext(Sprite *spr, Action act, int val);
void snRNNext(Sprite *spr, int val);
diff --git a/engines/cge2/snail.cpp b/engines/cge2/snail.cpp
index aebe1f0778..4ba8348817 100644
--- a/engines/cge2/snail.cpp
+++ b/engines/cge2/snail.cpp
@@ -579,12 +579,16 @@ void CGE2Engine::snSlave(Sprite *spr, int val) {
warning("STUB: CGE2Engine::snSlave()");
}
-void CGE2Engine::snTrans(Sprite *spr, int val) {
- warning("STUB: CGE2Engine::snTrans()");
+void CGE2Engine::snTrans(Sprite *spr, int trans) {
+ if (spr) {
+ spr->_flags._tran = (trans < 0) ? !spr->_flags._tran : (trans != 0);
+ }
}
-void CGE2Engine::snPort(Sprite *spr, int val) {
- warning("STUB: CGE2Engine::snPort()");
+void CGE2Engine::snPort(Sprite *spr, int port) {
+ if (spr) {
+ spr->_flags._port = (port < 0) ? !spr->_flags._port : (port != 0);
+ }
}
void CGE2Engine::snMouse(bool on) {