diff options
author | Max Horn | 2002-12-25 00:04:12 +0000 |
---|---|---|
committer | Max Horn | 2002-12-25 00:04:12 +0000 |
commit | 702de7424c1c49ab99494fa5ac0c0268ce1369a0 (patch) | |
tree | 547e2ded94be8d0c09a353828a9e9c64120974bf | |
parent | 13518c3d362f105a3d0e224c17de9ddc662f978b (diff) | |
download | scummvm-rg350-702de7424c1c49ab99494fa5ac0c0268ce1369a0.tar.gz scummvm-rg350-702de7424c1c49ab99494fa5ac0c0268ce1369a0.tar.bz2 scummvm-rg350-702de7424c1c49ab99494fa5ac0c0268ce1369a0.zip |
more opcodes (we see graphics again, albeit only briefly before it crashes)
svn-id: r6106
-rw-r--r-- | scumm/intern.h | 6 | ||||
-rw-r--r-- | scumm/script_v8.cpp | 51 |
2 files changed, 49 insertions, 8 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 30ce168d00..4ec16ea0ab 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -418,6 +418,7 @@ protected: void o8_printCursor(); void o8_printDebug(); void o8_printSystem(); + void o8_blastText(); void o8_cursorCommand(); void o8_resourceRoutines(); @@ -430,6 +431,11 @@ protected: void o8_system(); void o8_kludge(); void o8_kludge2(); + + void o8_getObjectImageX(); + void o8_getObjectImageY(); + void o8_getObjectImageWidth(); + void o8_getObjectImageHeight(); }; diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp index bff070757f..a1326158b4 100644 --- a/scumm/script_v8.cpp +++ b/scumm/script_v8.cpp @@ -214,9 +214,9 @@ void Scumm_v8::setupOpcodes() OPCODE(o6_setState), OPCODE(o6_setOwner), /* 8C */ - OPCODE(o6_invalid), - OPCODE(o6_invalid), - OPCODE(o6_invalid), + OPCODE(o6_panCameraTo), + OPCODE(o6_actorFollowCamera), + OPCODE(o6_setCameraAt), OPCODE(o6_invalid), /* 90 */ OPCODE(o6_invalid), @@ -227,7 +227,7 @@ void Scumm_v8::setupOpcodes() OPCODE(o8_printCursor), OPCODE(o8_printDebug), OPCODE(o8_printSystem), - OPCODE(o6_invalid), + OPCODE(o8_blastText), /* 98 */ OPCODE(o6_invalid), OPCODE(o6_invalid), @@ -339,10 +339,10 @@ void Scumm_v8::setupOpcodes() OPCODE(o6_distObjectObject), OPCODE(o6_distPtPt), /* F0 */ - OPCODE(o6_invalid), - OPCODE(o6_invalid), - OPCODE(o6_invalid), - OPCODE(o6_invalid), + OPCODE(o8_getObjectImageX), + OPCODE(o8_getObjectImageY), + OPCODE(o8_getObjectImageWidth), + OPCODE(o8_getObjectImageHeight), /* F4 */ OPCODE(o6_invalid), OPCODE(o6_invalid), @@ -645,24 +645,34 @@ void Scumm_v8::o8_arrayOps() void Scumm_v8::o8_printLine() { + // FIXME decodeParseString(0, 0); } void Scumm_v8::o8_printCursor() { + // FIXME decodeParseString(1, 0); } void Scumm_v8::o8_printDebug() { + // FIXME decodeParseString(2, 0); } void Scumm_v8::o8_printSystem() { + // FIXME decodeParseString(3, 0); } +void Scumm_v8::o8_blastText() +{ + // FIXME + decodeParseString(2, 0); +} + void Scumm_v8::o8_cursorCommand() { // TODO @@ -1170,6 +1180,31 @@ void Scumm_v8::o8_kludge2() } } +void Scumm_v8::o8_getObjectImageX() +{ + int i = getObjectIndex(pop()); + push(_objs[i].x_pos); +} + +void Scumm_v8::o8_getObjectImageY() +{ + int i = getObjectIndex(pop()); + push(_objs[i].y_pos); +} + +void Scumm_v8::o8_getObjectImageWidth() +{ + int i = getObjectIndex(pop()); + push(_objs[i].width); +} + +void Scumm_v8::o8_getObjectImageHeight() +{ + int i = getObjectIndex(pop()); + push(_objs[i].height); +} + + /* From http://scummrev.mixnmojo.com/specs/CMIOpcodes.shtml |