Add opcode for Spy Fox 2 mini game.

svn-id: r17026
This commit is contained in:
Travis Howell 2005-03-07 10:21:23 +00:00
parent 8cc18e6797
commit 214742783e
2 changed files with 26 additions and 1 deletions

View File

@ -1038,6 +1038,7 @@ protected:
void o90_getPolygonOverlap();
void o90_cond();
void o90_dim2dim2Array();
void o90_redim2dimArray();
void o90_sortArray();
void o90_getObjectData();
void o90_getPaletteData();

View File

@ -111,7 +111,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o90_cond),
OPCODE(o90_dim2dim2Array),
/* 38 */
OPCODE(o6_invalid),
OPCODE(o90_redim2dimArray),
OPCODE(o6_invalid),
OPCODE(o90_sortArray),
OPCODE(o6_invalid),
@ -1821,6 +1821,30 @@ void ScummEngine_v90he::o90_dim2dim2Array() {
defineArray(fetchScriptWord(), data, dim2start, dim2end, dim1start, dim1end);
}
void ScummEngine_v90he::o90_redim2dimArray() {
int a, b, c, d;
d = pop();
c = pop();
b = pop();
a = pop();
byte subOp = fetchScriptByte();
switch (subOp) {
case 4:
redimArray(fetchScriptWord(), a, b, c, d, kByteArray);
break;
case 5:
redimArray(fetchScriptWord(), a, b, c, d, kIntArray);
break;
case 6:
redimArray(fetchScriptWord(), a, b, c, d, kDwordArray);
break;
default:
error("o90_redim2dimArray: default type %d", subOp);
}
}
void ScummEngine_v90he::o90_sortArray() {
// Sorts array via qsort
byte subOp = fetchScriptByte();