aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/script_v8.cpp')
-rw-r--r--scumm/script_v8.cpp51
1 files changed, 43 insertions, 8 deletions
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