diff options
author | Travis Howell | 2005-01-30 07:00:50 +0000 |
---|---|---|
committer | Travis Howell | 2005-01-30 07:00:50 +0000 |
commit | a05b4a5e2dbd540a637c022fd0d9317e0386dbe0 (patch) | |
tree | 8a4a45df27757ee77c12b17e285de83736b14e52 /scumm | |
parent | f23cf81ace8456ddf8a3d5aff223ffdaabe2680c (diff) | |
download | scummvm-rg350-a05b4a5e2dbd540a637c022fd0d9317e0386dbe0.tar.gz scummvm-rg350-a05b4a5e2dbd540a637c022fd0d9317e0386dbe0.tar.bz2 scummvm-rg350-a05b4a5e2dbd540a637c022fd0d9317e0386dbe0.zip |
Add missing cases/corrections
svn-id: r16704
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script_v100he.cpp | 143 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 9 |
2 files changed, 142 insertions, 10 deletions
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp index 8fa632a042..28851fb69c 100644 --- a/scumm/script_v100he.cpp +++ b/scumm/script_v100he.cpp @@ -971,7 +971,7 @@ void ScummEngine_v100he::o100_resourceRoutines() { } void ScummEngine_v100he::o100_wizImageOps() { - // Incomplete + int a, b; byte subOp = fetchScriptByte(); switch (subOp) { @@ -982,11 +982,19 @@ void ScummEngine_v100he::o100_wizImageOps() { _wizParams.remapNum = 0; _wizParams.img.flags = 0; break; + case 2: + _wizParams.processFlags |= 0x10; + _wizParams.angle = pop(); + break; case 6: _wizParams.processFlags |= 1; _wizParams.img.y1 = pop(); _wizParams.img.x1 = pop(); break; + case 7: + _wizParams.processFlags |= 0x80000; + pop(); + break; case 11: _wizParams.processFlags |= 0x300; _wizParams.processMode = 2; @@ -996,16 +1004,56 @@ void ScummEngine_v100he::o100_wizImageOps() { _wizParams.box.left = pop(); _wizParams.compType = pop(); break; + case 18: + _wizParams.processFlags |= 0x200; + _wizParams.box.bottom = pop(); + _wizParams.box.right = pop(); + _wizParams.box.top = pop(); + _wizParams.box.left = pop(); + break; + case 21: + b = pop(); + a = pop(); + _wizParams.processFlags |= 0x40; + _wizParams.processMode = 6; + if (_wizParams.remapNum == 0) { + memset(_wizParams.remapIndex, 0, sizeof(_wizParams.remapIndex)); + } else { + assert(_wizParams.remapNum < ARRAYSIZE(_wizParams.remapIndex)); + _wizParams.remapIndex[_wizParams.remapNum] = a; + _wizParams.remapColor[a] = b; + ++_wizParams.remapNum; + } + break; case 29: _wizParams.processMode = 1; break; + case 36: + _wizParams.box.bottom = pop(); + _wizParams.box.right = pop(); + _wizParams.box.top = pop(); + _wizParams.box.left = pop(); + break; + case 37: + pop(); + break; case 39: - _wizParams.processFlags |= 0x40; + _wizParams.processFlags |= 0x4000; pop(); break; + case 47: + _wizParams.processFlags |= 0x800; + _wizParams.processMode = 3; + copyScriptString(_wizParams.filename); + break; case 53: _wizParams.processMode = 8; break; + case 54: + _wizParams.processFlags |= 0x10000; + pop(); + pop(); + break; case 55: _wizParams.img.flags = pop(); _wizParams.img.state = pop(); @@ -1014,21 +1062,108 @@ void ScummEngine_v100he::o100_wizImageOps() { _wizParams.img.resNum = pop(); displayWizImage(&_wizParams.img); break; + case 57: + _wizParams.processFlags |= 0x8000; + pop(); + break; + case 58: + _wizParams.processFlags |= 0x1102; + _wizParams.processMode = 7; + pop(); + pop(); + _wizParams.compType = pop(); + case 64: + _wizParams.processFlags |= 0x800; + _wizParams.processMode = 4; + copyScriptString(_wizParams.filename); + _wizParams.unk_14C = pop(); + break; + case 65: + _wizParams.processFlags |= 8; + _wizParams.zoom = pop(); + break; case 67: _wizParams.processFlags |= 0x20; _wizParams.img.flags = pop(); break; + case 68: + _wizParams.processFlags |= 0x23; + _wizParams.img.flags |= 0x40; + _wizParams.unk_160 = _wizParams.img.y1 = _wizParams.img.x1 = pop(); + break; + case 70: + _wizParams.processFlags |= 4; + _wizParams.unk_15C = pop(); + break; + case 73: + _wizParams.processFlags |= 0x400; + _wizParams.img.state = pop(); + break; case 84: - _wizParams.processFlags |= 0x20; - _wizParams.img.flags = pop(); + _wizParams.processFlags |= 0x2000; + pop(); break; case 92: processWizImage(&_wizParams); break; + case 128: + pop(); + pop(); + pop(); + pop(); + //copyScriptString(?.filename); + _wizParams.processMode = 15; + break; + case 129: + _wizParams.processMode = 14; + break; + case 130: + _wizParams.processMode = 16; + pop(); + pop(); + //copyScriptString(?.filename); + break; + case 131: + _wizParams.processMode = 13; + break; + case 133: + _wizParams.processMode = 16; + pop(); + pop(); + pop(); + pop(); + pop(); + pop(); + pop(); + pop(); + break; + case 134: + _wizParams.processFlags |= 0x60000; + _wizParams.processMode = 12; + pop(); + pop(); + pop(); + break; case 135: _wizParams.processFlags |= 0x10000; pop(); break; + case 136: + _wizParams.processFlags |= 0x60000; + _wizParams.processMode = 10; + pop(); + pop(); + pop(); + pop(); + pop(); + break; + case 137: + _wizParams.processFlags |= 0x60000; + _wizParams.processMode = 11; + pop(); + pop(); + pop(); + break; case 138: _wizParams.processFlags |= 0x60000; _wizParams.processMode = 9; diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index f43f09df30..fcffa3dd51 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -480,11 +480,11 @@ void ScummEngine_v90he::o90_wizImageOps() { switch (subOp) { case -14: // HE99+ - _wizParams.processFlags |= 0x20; + _wizParams.processFlags |= 0x2000; pop(); break; case -13: // HE99+ - _wizParams.processFlags |= 0x40; + _wizParams.processFlags |= 0x4000; pop(); break; case 0: @@ -577,11 +577,8 @@ void ScummEngine_v90he::o90_wizImageOps() { _wizParams.box.top = pop(); _wizParams.box.left = pop(); break; - case 31: // HE99+ - _wizParams.processFlags |= 2; - break; case 40: // HE99+ - _wizParams.processFlags |= 0x80; + _wizParams.processFlags |= 0x8000; pop(); break; case 46: |