diff options
Diffstat (limited to 'engines/simon/items.cpp')
-rw-r--r-- | engines/simon/items.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/simon/items.cpp b/engines/simon/items.cpp index 5097467ac6..8aa4b74e4a 100644 --- a/engines/simon/items.cpp +++ b/engines/simon/items.cpp @@ -332,6 +332,7 @@ void SimonEngine::setupOpcodes() { opcode_table[134] = &SimonEngine::o3_listSaveGames; opcode_table[135] = &SimonEngine::o3_checkCD; opcode_table[161] = &SimonEngine::o3_screenTextBox; + opcode_table[165] = &SimonEngine::o3_isAdjNoun; opcode_table[171] = &SimonEngine::o3_hyperLinkOn; opcode_table[172] = &SimonEngine::o3_hyperLinkOff; opcode_table[173] = &SimonEngine::o3_checkPaths; @@ -1956,6 +1957,18 @@ void SimonEngine::o3_screenTextBox() { tl->width = getVarOrWord(); } +void SimonEngine::o3_isAdjNoun() { + // 165: item unk1 unk2 is + Item *item = getNextItemPtr(); + int16 a = getNextWord(), b = getNextWord(); + if (item->adjective == a && item->noun == b) + setScriptCondition(true); + else if (a == -1 && item->noun == b) + setScriptCondition(true); + else + setScriptCondition(false); +} + void SimonEngine::o3_hyperLinkOn() { // 171: oracle hyperlink on hyperLinkOn(getVarOrWord()); |