Add Missing pop

svn-id: r15088
This commit is contained in:
Travis Howell 2004-09-13 05:25:35 +00:00
parent 6611493a56
commit 4b1ba6a7ed
3 changed files with 42 additions and 4 deletions

View File

@ -738,6 +738,7 @@ protected:
void o72_dimArray();
void o72_dim2dimArray();
void o72_unknownC1();
void o72_unknownCF();
void o72_drawWizImage();
void o72_shuffle();
void o72_jumpToScript();
@ -829,6 +830,7 @@ protected:
void o90_unknown34();
void o90_unknown36();
void o90_unknown37();
void o90_unknown3A();
void o90_unknown9E();
};

View File

@ -303,7 +303,7 @@ void ScummEngine_v72he::setupOpcodes() {
OPCODE(o6_pickOneOfDefault),
OPCODE(o6_stampObject),
OPCODE(o72_drawWizImage),
OPCODE(o6_invalid),
OPCODE(o72_unknownCF),
/* D0 */
OPCODE(o6_getDateTime),
OPCODE(o6_stopTalking),
@ -1405,6 +1405,22 @@ void ScummEngine_v72he::o72_drawWizImage() {
}
}
void ScummEngine_v72he::o72_unknownCF() {
//ArrayHeader *ah;
byte string[255];
copyScriptString(string);
int len = resStrLen(string) + 1;
writeVar(0, 0);
//ah = defineArray(0, kStringArray, 0, 0, 0, len);
defineArray(0, kStringArray, 0, 0, 0, len);
writeArray(0, 0, 0, 0);
//memcpy(ah->data, string, len);
push(readVar(0));
}
void ScummEngine_v72he::shuffleArray(int num, int minIdx, int maxIdx) {
int range = maxIdx - minIdx;
int count = range * 2;
@ -1964,10 +1980,11 @@ void ScummEngine_v72he::o72_unknownF6() {
}
void ScummEngine_v72he::o72_unknownF8() {
int a = fetchScriptByte();
int id = pop();
byte subOp = fetchScriptByte();
push(1);
debug(1,"stub o72_unknownF8(%d)", a);
debug(1,"stub o72_unknownF8: subOp %d, id %d", subOp, id);
}
void ScummEngine_v72he::o72_setFilePath() {

View File

@ -117,7 +117,7 @@ void ScummEngine_v90he::setupOpcodes() {
/* 38 */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o90_unknown3A),
OPCODE(o6_invalid),
/* 3C */
OPCODE(o6_invalid),
@ -887,6 +887,25 @@ void ScummEngine_v90he::o90_unknown37() {
debug(1,"o90_unknown37 stub");
}
void ScummEngine_v90he::o90_unknown3A() {
// Array related
int subOp = fetchScriptByte();
switch (subOp) {
case 129:
fetchScriptWord();
pop();
pop();
pop();
pop();
pop();
break;
default:
error("o90_unknown3A: Unknown case %d", subOp);
}
debug(1,"o90_unknown3A stub (%d)", subOp);
}
void ScummEngine_v90he::o90_unknown9E() {
int subOp = fetchScriptByte();
subOp -= 57;