diff options
author | Torbjörn Andersson | 2006-04-26 19:49:13 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2006-04-26 19:49:13 +0000 |
commit | 5dd3ef077f876a195a2f9378326f3849ef16db3b (patch) | |
tree | bb70a401cb81cecee196aae562d2e78b06abb00e | |
parent | bdf790e294e2b3f05d590238bc36e10210c3c2af (diff) | |
download | scummvm-rg350-5dd3ef077f876a195a2f9378326f3849ef16db3b.tar.gz scummvm-rg350-5dd3ef077f876a195a2f9378326f3849ef16db3b.tar.bz2 scummvm-rg350-5dd3ef077f876a195a2f9378326f3849ef16db3b.zip |
Add FF difference in isAdjNoun opcode. This makes it possible to get past the
SAM / PEG puzzle, but do not ask me what, exactly, was wrong. I haven't a clue.
svn-id: r22186
-rw-r--r-- | engines/simon/items.cpp | 13 | ||||
-rw-r--r-- | engines/simon/simon.h | 1 |
2 files changed, 14 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()); diff --git a/engines/simon/simon.h b/engines/simon/simon.h index 144f4cfa41..501e6801e4 100644 --- a/engines/simon/simon.h +++ b/engines/simon/simon.h @@ -994,6 +994,7 @@ public: void o3_listSaveGames(); void o3_checkCD(); void o3_screenTextBox(); + void o3_isAdjNoun(); void o3_hyperLinkOn(); void o3_hyperLinkOff(); void o3_checkPaths(); |