aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-07-06 23:19:03 +0000
committerPaweł Kołodziejski2003-07-06 23:19:03 +0000
commit1ec23e5f3a9b5d287fcc98bd66217c50dd8a62f3 (patch)
tree705d3c9adecc404f45f74635017b3009ca09d511 /scumm
parent297aaa9f4e9c991aa7923aa7c427e8585cf6aed2 (diff)
downloadscummvm-rg350-1ec23e5f3a9b5d287fcc98bd66217c50dd8a62f3.tar.gz
scummvm-rg350-1ec23e5f3a9b5d287fcc98bd66217c50dd8a62f3.tar.bz2
scummvm-rg350-1ec23e5f3a9b5d287fcc98bd66217c50dd8a62f3.zip
implemented missing puttputt actor opcode 218. this opcode is strange (based of disassembly)
svn-id: r8821
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script_v6.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 8bf1759730..cd4602fc93 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -1742,8 +1742,26 @@ void Scumm_v6::o6_actorOps() {
a->initActor(2);
break;
case 218:
- // TODO: this opcode is used in the putt-putt fun pack, in 'checkers" mini game
- warning("o6_actorOps(): unimplemented opcode 218");
+ {
+ // TODO: this opcode is used in the putt-putt fun pack, in 'checkers" mini game
+ warning("o6_actorOps(): unimplemented opcode 218");
+
+ int top_actor = a->top;
+ int bottom_actor = a->bottom;
+// a->_zbuf = 1; ???
+ a->needRedraw = 1;
+ a->drawActorCostume();
+// a->_zbuf = 0; ???
+ a->needRedraw = 0;
+ a->drawActorCostume();
+
+ if (a->top > top_actor) {
+ a->bottom = top_actor;
+ }
+ if (a->bottom > bottom_actor) {
+ a->bottom = bottom_actor;
+ }
+ }
break;
case 227: /* actor_layer */
a->layer = pop();