more opcodes (we see graphics again, albeit only briefly before it crashes)

svn-id: r6106
This commit is contained in:
Max Horn 2002-12-25 00:04:12 +00:00
parent 13518c3d36
commit 702de7424c
2 changed files with 49 additions and 8 deletions

View File

@ -418,6 +418,7 @@ protected:
void o8_printCursor(); void o8_printCursor();
void o8_printDebug(); void o8_printDebug();
void o8_printSystem(); void o8_printSystem();
void o8_blastText();
void o8_cursorCommand(); void o8_cursorCommand();
void o8_resourceRoutines(); void o8_resourceRoutines();
@ -430,6 +431,11 @@ protected:
void o8_system(); void o8_system();
void o8_kludge(); void o8_kludge();
void o8_kludge2(); void o8_kludge2();
void o8_getObjectImageX();
void o8_getObjectImageY();
void o8_getObjectImageWidth();
void o8_getObjectImageHeight();
}; };

View File

@ -214,9 +214,9 @@ void Scumm_v8::setupOpcodes()
OPCODE(o6_setState), OPCODE(o6_setState),
OPCODE(o6_setOwner), OPCODE(o6_setOwner),
/* 8C */ /* 8C */
OPCODE(o6_invalid), OPCODE(o6_panCameraTo),
OPCODE(o6_invalid), OPCODE(o6_actorFollowCamera),
OPCODE(o6_invalid), OPCODE(o6_setCameraAt),
OPCODE(o6_invalid), OPCODE(o6_invalid),
/* 90 */ /* 90 */
OPCODE(o6_invalid), OPCODE(o6_invalid),
@ -227,7 +227,7 @@ void Scumm_v8::setupOpcodes()
OPCODE(o8_printCursor), OPCODE(o8_printCursor),
OPCODE(o8_printDebug), OPCODE(o8_printDebug),
OPCODE(o8_printSystem), OPCODE(o8_printSystem),
OPCODE(o6_invalid), OPCODE(o8_blastText),
/* 98 */ /* 98 */
OPCODE(o6_invalid), OPCODE(o6_invalid),
OPCODE(o6_invalid), OPCODE(o6_invalid),
@ -339,10 +339,10 @@ void Scumm_v8::setupOpcodes()
OPCODE(o6_distObjectObject), OPCODE(o6_distObjectObject),
OPCODE(o6_distPtPt), OPCODE(o6_distPtPt),
/* F0 */ /* F0 */
OPCODE(o6_invalid), OPCODE(o8_getObjectImageX),
OPCODE(o6_invalid), OPCODE(o8_getObjectImageY),
OPCODE(o6_invalid), OPCODE(o8_getObjectImageWidth),
OPCODE(o6_invalid), OPCODE(o8_getObjectImageHeight),
/* F4 */ /* F4 */
OPCODE(o6_invalid), OPCODE(o6_invalid),
OPCODE(o6_invalid), OPCODE(o6_invalid),
@ -645,24 +645,34 @@ void Scumm_v8::o8_arrayOps()
void Scumm_v8::o8_printLine() void Scumm_v8::o8_printLine()
{ {
// FIXME
decodeParseString(0, 0); decodeParseString(0, 0);
} }
void Scumm_v8::o8_printCursor() void Scumm_v8::o8_printCursor()
{ {
// FIXME
decodeParseString(1, 0); decodeParseString(1, 0);
} }
void Scumm_v8::o8_printDebug() void Scumm_v8::o8_printDebug()
{ {
// FIXME
decodeParseString(2, 0); decodeParseString(2, 0);
} }
void Scumm_v8::o8_printSystem() void Scumm_v8::o8_printSystem()
{ {
// FIXME
decodeParseString(3, 0); decodeParseString(3, 0);
} }
void Scumm_v8::o8_blastText()
{
// FIXME
decodeParseString(2, 0);
}
void Scumm_v8::o8_cursorCommand() void Scumm_v8::o8_cursorCommand()
{ {
// TODO // 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 From http://scummrev.mixnmojo.com/specs/CMIOpcodes.shtml