More HE100 corrections.
svn-id: r15500
This commit is contained in:
parent
3ddc6b8cbb
commit
38f8de858e
3 changed files with 27 additions and 6 deletions
|
@ -934,6 +934,7 @@ protected:
|
||||||
void o100_wizImageOps();
|
void o100_wizImageOps();
|
||||||
void o100_dim2dim2Array();
|
void o100_dim2dim2Array();
|
||||||
void o100_paletteOps();
|
void o100_paletteOps();
|
||||||
|
void o100_redimArray();
|
||||||
void o100_roomOps();
|
void o100_roomOps();
|
||||||
void o100_startSound();
|
void o100_startSound();
|
||||||
void o100_unknown26();
|
void o100_unknown26();
|
||||||
|
|
|
@ -169,7 +169,7 @@ void ScummEngine_v100he::setupOpcodes() {
|
||||||
OPCODE(o6_putActorAtXY),
|
OPCODE(o6_putActorAtXY),
|
||||||
OPCODE(o6_invalid),
|
OPCODE(o6_invalid),
|
||||||
/* 64 */
|
/* 64 */
|
||||||
OPCODE(o72_redimArray),
|
OPCODE(o100_redimArray),
|
||||||
OPCODE(o60_rename),
|
OPCODE(o60_rename),
|
||||||
OPCODE(o6_stopObjectCode),
|
OPCODE(o6_stopObjectCode),
|
||||||
OPCODE(o6_invalid),
|
OPCODE(o6_invalid),
|
||||||
|
@ -224,7 +224,7 @@ void ScummEngine_v100he::setupOpcodes() {
|
||||||
OPCODE(o6_walkActorToObj),
|
OPCODE(o6_walkActorToObj),
|
||||||
OPCODE(o6_walkActorTo),
|
OPCODE(o6_walkActorTo),
|
||||||
/* 90 */
|
/* 90 */
|
||||||
OPCODE(o60_writeFile),
|
OPCODE(o72_writeFile),
|
||||||
OPCODE(o72_writeINI),
|
OPCODE(o72_writeINI),
|
||||||
OPCODE(o80_writeConfigFile),
|
OPCODE(o80_writeConfigFile),
|
||||||
OPCODE(o6_abs),
|
OPCODE(o6_abs),
|
||||||
|
@ -306,8 +306,8 @@ void ScummEngine_v100he::setupOpcodes() {
|
||||||
/* D0 */
|
/* D0 */
|
||||||
OPCODE(o6_getRandomNumber),
|
OPCODE(o6_getRandomNumber),
|
||||||
OPCODE(o6_getRandomNumberRange),
|
OPCODE(o6_getRandomNumberRange),
|
||||||
OPCODE(o60_readFile),
|
|
||||||
OPCODE(o6_invalid),
|
OPCODE(o6_invalid),
|
||||||
|
OPCODE(o72_readFile),
|
||||||
/* D4 */
|
/* D4 */
|
||||||
OPCODE(o72_readINI),
|
OPCODE(o72_readINI),
|
||||||
OPCODE(o80_readConfigFile),
|
OPCODE(o80_readConfigFile),
|
||||||
|
@ -596,8 +596,6 @@ void ScummEngine_v100he::o100_arrayOps() {
|
||||||
ah = defineArray(array, kStringArray, 0, 0, 0, len);
|
ah = defineArray(array, kStringArray, 0, 0, 0, len);
|
||||||
memcpy(ah->data, string, len);
|
memcpy(ah->data, string, len);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case 77: // SO_ASSIGN_STRING
|
case 77: // SO_ASSIGN_STRING
|
||||||
copyScriptString(string);
|
copyScriptString(string);
|
||||||
len = resStrLen(string) + 1;
|
len = resStrLen(string) + 1;
|
||||||
|
@ -626,7 +624,6 @@ void ScummEngine_v100he::o100_arrayOps() {
|
||||||
writeArray(array, 0, b + c, pop());
|
writeArray(array, 0, b + c, pop());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 130:
|
case 130:
|
||||||
len = getStackList(list, ARRAYSIZE(list));
|
len = getStackList(list, ARRAYSIZE(list));
|
||||||
dim1end = pop();
|
dim1end = pop();
|
||||||
|
@ -1105,6 +1102,27 @@ void ScummEngine_v100he::o100_paletteOps() {
|
||||||
debug(0,"o100_paletteOps stub (%d)", subOp);
|
debug(0,"o100_paletteOps stub (%d)", subOp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ScummEngine_v100he::o100_redimArray() {
|
||||||
|
int newX, newY;
|
||||||
|
newY = pop();
|
||||||
|
newX = pop();
|
||||||
|
|
||||||
|
byte subOp = fetchScriptByte();
|
||||||
|
switch (subOp) {
|
||||||
|
case 42:
|
||||||
|
redimArray(fetchScriptWord(), 0, newX, 0, newY, kIntArray);
|
||||||
|
break;
|
||||||
|
case 43:
|
||||||
|
redimArray(fetchScriptWord(), 0, newX, 0, newY, kDwordArray);
|
||||||
|
break;
|
||||||
|
case 45:
|
||||||
|
redimArray(fetchScriptWord(), 0, newX, 0, newY, kByteArray);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
error("o100_redimArray: default type %d", subOp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ScummEngine_v100he::o100_roomOps() {
|
void ScummEngine_v100he::o100_roomOps() {
|
||||||
int a, b, c, d, e;
|
int a, b, c, d, e;
|
||||||
byte op;
|
byte op;
|
||||||
|
|
|
@ -2104,9 +2104,11 @@ void ScummEngine_v72he::o72_getPixel() {
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (subOp) {
|
switch (subOp) {
|
||||||
|
case 9: // HE 100
|
||||||
case 218:
|
case 218:
|
||||||
area = *vs->getBackPixels(x, y - vs->topline);
|
area = *vs->getBackPixels(x, y - vs->topline);
|
||||||
break;
|
break;
|
||||||
|
case 8: // HE 100
|
||||||
case 219:
|
case 219:
|
||||||
area = *vs->getPixels(x, y - vs->topline);
|
area = *vs->getPixels(x, y - vs->topline);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue