diff options
author | Travis Howell | 2009-03-05 21:38:17 +0000 |
---|---|---|
committer | Travis Howell | 2009-03-05 21:38:17 +0000 |
commit | e75178f383edd20ad8ab1b74dead78b2199f9476 (patch) | |
tree | a2527fe4740043845bb789d0890b5b8bf0cdb46c /engines/agos/script_e1.cpp | |
parent | 05b4370c21b3abf7a1ff6aa83194cf95ab73579c (diff) | |
download | scummvm-rg350-e75178f383edd20ad8ab1b74dead78b2199f9476.tar.gz scummvm-rg350-e75178f383edd20ad8ab1b74dead78b2199f9476.tar.bz2 scummvm-rg350-e75178f383edd20ad8ab1b74dead78b2199f9476.zip |
Add minor verb code differences in Elvira 1/2.
svn-id: r39136
Diffstat (limited to 'engines/agos/script_e1.cpp')
-rw-r--r-- | engines/agos/script_e1.cpp | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/engines/agos/script_e1.cpp b/engines/agos/script_e1.cpp index 15fea99a93..ddc57bac45 100644 --- a/engines/agos/script_e1.cpp +++ b/engines/agos/script_e1.cpp @@ -327,7 +327,7 @@ void AGOSEngine_Elvira1::setupOpcodes() { OPCODE(o_closeWindow), OPCODE(oe1_menu), OPCODE(o_invalid), - OPCODE(o_addBox), + OPCODE(oe1_addBox), /* 236 */ OPCODE(o_delBox), OPCODE(o_enableBox), @@ -755,6 +755,40 @@ void AGOSEngine_Elvira1::oe1_menu() { drawMenuStrip(a, b); } +void AGOSEngine_Elvira1::oe1_addBox() { + // 235: add item box + uint flags = 0; + uint id = getVarOrWord(); + uint params = id / 1000; + uint x, y, w, h, verb; + Item *item; + + id = id % 1000; + + if (params & 1) + flags |= kBFInvertTouch; + if (params & 2) + flags |= kBFInvertSelect; + if (params & 4) + flags |= kBFBoxItem; + if (params & 8) + flags |= kBFToggleBox; + if (params & 16) + flags |= kBFDragBox; + + x = getVarOrWord(); + y = getVarOrWord(); + w = getVarOrWord(); + h = getVarOrWord(); + item = getNextItemPtrStrange(); + verb = getVarOrWord(); + if (x >= 1000) { + verb += 0x4000; + x -= 1000; + } + defineBox(id, x, y, w, h, flags, verb, item); +} + void AGOSEngine_Elvira1::oe1_bitClear() { // 251: set bit off int var = getVarOrWord(); |