aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v90he.cpp
diff options
context:
space:
mode:
authorGregory Montoir2005-10-18 19:17:19 +0000
committerGregory Montoir2005-10-18 19:17:19 +0000
commita38bc21581abedbeb30f371ed079c85cefa98596 (patch)
tree689d3b7bd76032b5f295e904abd259948f0ddb6e /scumm/script_v90he.cpp
parente7c8dc025acde517dce149c97a314ae874e213dd (diff)
downloadscummvm-rg350-a38bc21581abedbeb30f371ed079c85cefa98596.tar.gz
scummvm-rg350-a38bc21581abedbeb30f371ed079c85cefa98596.tar.bz2
scummvm-rg350-a38bc21581abedbeb30f371ed079c85cefa98596.zip
Added flood fill support. Pajama2 puzzle seems to be ok now
svn-id: r19158
Diffstat (limited to 'scumm/script_v90he.cpp')
-rw-r--r--scumm/script_v90he.cpp35
1 files changed, 17 insertions, 18 deletions
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index 88763d883d..33c9e7784b 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -98,7 +98,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o90_jumpToScriptUnk),
OPCODE(o90_videoOps),
OPCODE(o90_getVideoData),
- OPCODE(o90_floodState),
+ OPCODE(o90_floodFill),
/* 30 */
OPCODE(o90_mod),
OPCODE(o90_shl),
@@ -1760,41 +1760,40 @@ void ScummEngine_v90he::o90_getWizData() {
}
}
-void ScummEngine_v90he::o90_floodState() {
+void ScummEngine_v90he::o90_floodFill() {
byte subOp = fetchScriptByte();
subOp -= 54;
switch (subOp) {
case 0:
- _floodStateParams.field_1C = pop();
+ _floodFillParams.unk1C = pop();
break;
case 3:
- memset(&_floodStateParams, 0, sizeof(_floodStateParams));
- _floodStateParams.box.left = 0;
- _floodStateParams.box.top = 0;
- _floodStateParams.box.right = 640;
- _floodStateParams.box.bottom = 480;
+ memset(&_floodFillParams, 0, sizeof(_floodFillParams));
+ _floodFillParams.box.left = 0;
+ _floodFillParams.box.top = 0;
+ _floodFillParams.box.right = 639;
+ _floodFillParams.box.bottom = 479;
break;
case 11:
- _floodStateParams.field_14 = pop();
- _floodStateParams.field_10 = pop();
+ _floodFillParams.y = pop();
+ _floodFillParams.x = pop();
break;
case 12:
- _floodStateParams.field_18 = pop();
+ _floodFillParams.flags = pop();
break;
case 13:
- _floodStateParams.box.bottom = pop();
- _floodStateParams.box.right = pop();
- _floodStateParams.box.top = pop();
- _floodStateParams.box.left = pop();
+ _floodFillParams.box.bottom = pop();
+ _floodFillParams.box.right = pop();
+ _floodFillParams.box.top = pop();
+ _floodFillParams.box.left = pop();
break;
case 201:
- //floodState(_floodStateParams);
+ floodFill(&_floodFillParams, this);
break;
default:
- error("o90_floodState: Unknown case %d", subOp);
+ error("o90_floodFill: Unknown case %d", subOp);
}
- debug(1, "o90_floodState stub (%d)", subOp);
}
void ScummEngine_v90he::o90_shl() {