diff options
| author | James Brown | 2002-11-02 08:18:21 +0000 |
|---|---|---|
| committer | James Brown | 2002-11-02 08:18:21 +0000 |
| commit | 1c975ba92ed9bec19de6f2652888aa1df9808a94 (patch) | |
| tree | bc320794f211b2263bfdd10406fc497c73cb4b82 | |
| parent | 35678731d91410c60a9f00bce0d037b252e45044 (diff) | |
| download | scummvm-rg350-1c975ba92ed9bec19de6f2652888aa1df9808a94.tar.gz scummvm-rg350-1c975ba92ed9bec19de6f2652888aa1df9808a94.tar.bz2 scummvm-rg350-1c975ba92ed9bec19de6f2652888aa1df9808a94.zip | |
Correct that FT opcode - it's bitwise or, not logical
svn-id: r5373
| -rw-r--r-- | scumm/script_v2.cpp | 24 | ||||
| -rw-r--r-- | scumm/scumm.h | 4 |
2 files changed, 22 insertions, 6 deletions
diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 838fb0dff6..df5c0cb286 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -302,8 +302,8 @@ void Scumm::setupOpcodes2() /* D4 */ &Scumm::o6_invalid, &Scumm::o6_jumpToScript, - &Scumm::o6_land, - &Scumm::o6_lor, + &Scumm::o6_band, + &Scumm::o6_bor, /* D8 */ &Scumm::o6_isRoomScriptRunning, &Scumm::o6_invalid, @@ -625,8 +625,8 @@ void Scumm::setupOpcodes2() /* D4 */ "o6_invalid", "o6_jumpToScript", - "o6_land", - "o6_lor", + "o6_band", + "o6_bor", /* D8 */ "o6_isRoomScriptRunning", "o6_invalid", @@ -889,18 +889,30 @@ void Scumm::o6_div() push(pop() / a); } -void Scumm::o6_land() +void Scumm::o6_land() // Logical And { int a = pop(); push(pop() && a); } -void Scumm::o6_lor() +void Scumm::o6_lor() // Logical Or { int a = pop(); push(pop() || a); } +void Scumm::o6_bor() // Bitwise Or +{ + int a = pop(); + push(pop() | a); +} + +void Scumm::o6_band() // Bitwise And +{ + int a = pop(); + push(pop() | a); +} + void Scumm::o6_kill() { pop(); diff --git a/scumm/scumm.h b/scumm/scumm.h index 9117c44d7a..f800ceb2b7 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -541,6 +541,7 @@ public: void runAllScripts(); void setupOpcodes(); void setupOpcodes2(); + //void setupOpcodes3(); void cutscene(int16 *args); void endCutscene(); void exitCutscene(); @@ -1224,6 +1225,9 @@ public: void o6_drawBlastObject(); void o6_getActorPriority(); void o6_unknownCD(); + void o6_bor(); + void o6_band(); + // void o7_userfaceOps(); /* Scumm Vars */ byte VAR_EGO; |
