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_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();
};

View File

@ -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