diff options
Diffstat (limited to 'gob/inter.cpp')
-rw-r--r-- | gob/inter.cpp | 151 |
1 files changed, 139 insertions, 12 deletions
diff --git a/gob/inter.cpp b/gob/inter.cpp index 28a10d1064..437bdad056 100644 --- a/gob/inter.cpp +++ b/gob/inter.cpp @@ -318,11 +318,13 @@ void inter_clearCursorAnim(void) { } void inter_drawOperations(void) { - char cmd; + byte cmd; int16 i; cmd = *inter_execPtr++; + debug(4, "inter_drawOperations(%d)", cmd); + switch (cmd) { case 0: inter_loadMult(); @@ -413,24 +415,46 @@ void inter_drawOperations(void) { break; case 32: - // Used in gob1 CD - inter_evalExpr(0); - cd_startTrack(inter_resStr); + if (_vm->_features & GF_GOB1) { + // Used in gob1 CD + inter_evalExpr(0); + cd_startTrack(inter_resStr); + } else { + } break; case 33: - // Used in gob1 CD - { - int pos = cd_getTrackPos(); - if (pos == -1) - pos = 32767; - WRITE_VAR(5, pos); + if (_vm->_features & GF_GOB1) { + // Used in gob1 CD + int pos = cd_getTrackPos(); + if (pos == -1) + pos = 32767; + WRITE_VAR(5, pos); + } else { } break; case 34: - // Used in gob1 CD - cd_stopPlaying(); + if (_vm->_features & GF_GOB1) { + // Used in gob1 CD + cd_stopPlaying(); + } else { + } + break; + + case 35: + if (_vm->_features & GF_GOB2) { + } + break; + + case 36: + if (_vm->_features & GF_GOB2) { + } + break; + + case 37: + if (_vm->_features & GF_GOB2) { + } break; case 48: @@ -449,6 +473,106 @@ void inter_drawOperations(void) { draw_fontToSprite[i].height = -1; break; + case 64: + if (_vm->_features & GF_GOB2) { + } + break; + + case 65: + if (_vm->_features & GF_GOB2) { + } + break; + + case 66: + if (_vm->_features & GF_GOB2) { + } + break; + + case 67: + if (_vm->_features & GF_GOB2) { + } + break; + + case 80: + if (_vm->_features & GF_GOB2) { + } + break; + + case 81: + if (_vm->_features & GF_GOB2) { + } + break; + + case 82: + if (_vm->_features & GF_GOB2) { + } + break; + + case 83: + if (_vm->_features & GF_GOB2) { + } + break; + + case 84: + if (_vm->_features & GF_GOB2) { + } + break; + + case 85: + if (_vm->_features & GF_GOB2) { + } + break; + + case 86: + if (_vm->_features & GF_GOB2) { + } + break; + + case 128: + if (_vm->_features & GF_GOB2) { + } + break; + + case 129: + if (_vm->_features & GF_GOB2) { + } + break; + + case 130: + if (_vm->_features & GF_GOB2) { + } + break; + + case 131: + if (_vm->_features & GF_GOB2) { + } + break; + + case 132: + if (_vm->_features & GF_GOB2) { + } + break; + + case 133: + if (_vm->_features & GF_GOB2) { + } + break; + + case 134: + if (_vm->_features & GF_GOB2) { + } + break; + + case 135: + if (_vm->_features & GF_GOB2) { + } + break; + + case 136: + if (_vm->_features & GF_GOB2) { + } + break; + default: warning("unimplemented drawOperation: %d", cmd); } @@ -1166,6 +1290,9 @@ void inter_funcBlock(int16 retFlag) { inter_execPtr++; counter++; + + debug(4, "inter_funcBlock(%d, %d)", cmd2, cmd); + switch (cmd2) { case 0: switch (cmd >> 4) { |