diff options
author | Travis Howell | 2005-03-13 03:23:35 +0000 |
---|---|---|
committer | Travis Howell | 2005-03-13 03:23:35 +0000 |
commit | 10c09943934d2d2cdd3e99c0f2ee3e3afe6ca7dc (patch) | |
tree | 13828b9d3d40b17a7f22e2dd6733512a98e4fdf3 /scumm | |
parent | 82c354b9d4f1c5ca15a37fde10d6be88a90679db (diff) | |
download | scummvm-rg350-10c09943934d2d2cdd3e99c0f2ee3e3afe6ca7dc.tar.gz scummvm-rg350-10c09943934d2d2cdd3e99c0f2ee3e3afe6ca7dc.tar.bz2 scummvm-rg350-10c09943934d2d2cdd3e99c0f2ee3e3afe6ca7dc.zip |
Scripts flags difference in HE100 needed in a few more opcodes.
svn-id: r17111
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/intern.h | 2 | ||||
-rw-r--r-- | scumm/script_v100he.cpp | 29 |
2 files changed, 29 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 850001d83e..da8ec39872 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -1082,6 +1082,8 @@ protected: void o100_loadSBNG(); void o100_dim2dim2Array(); void o100_paletteOps(); + void o100_jumpToScriptUnk(); + void o100_startScriptUnk(); void o100_redimArray(); void o100_roomOps(); void o100_startSound(); diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp index 7b61949d78..e056fda5d7 100644 --- a/scumm/script_v100he.cpp +++ b/scumm/script_v100he.cpp @@ -152,8 +152,8 @@ void ScummEngine_v100he::setupOpcodes() { OPCODE(o6_printSystem), /* 58 */ OPCODE(o6_printCursor), - OPCODE(o90_jumpToScriptUnk), - OPCODE(o90_startScriptUnk), + OPCODE(o100_jumpToScriptUnk), + OPCODE(o100_startScriptUnk), OPCODE(o6_pseudoRoom), /* 5C */ OPCODE(o6_pushByte), @@ -1517,6 +1517,31 @@ void ScummEngine_v100he::o100_paletteOps() { debug(1, "o100_paletteOps stub (%d)", subOp); } +void ScummEngine_v100he::o100_jumpToScriptUnk() { + int args[25]; + int script, cycle; + byte flags; + + getStackList(args, ARRAYSIZE(args)); + cycle = pop(); + script = pop(); + flags = fetchScriptByte(); + stopObjectCode(); + runScript(script, (flags == 128 || flags == 129), (flags == 130 || flags == 129), args, cycle); +} + +void ScummEngine_v100he::o100_startScriptUnk() { + int args[25]; + int script, cycle; + byte flags; + + getStackList(args, ARRAYSIZE(args)); + cycle = pop(); + script = pop(); + flags = fetchScriptByte(); + runScript(script, (flags == 128 || flags == 129), (flags == 130 || flags == 129), args, cycle); +} + void ScummEngine_v100he::o100_redimArray() { int newX, newY; newY = pop(); |