Script flags are different in HE100

svn-id: r17034
This commit is contained in:
Travis Howell 2005-03-08 04:17:45 +00:00
parent d2dab23510
commit b9393bc819
2 changed files with 27 additions and 2 deletions

View File

@ -1079,6 +1079,7 @@ protected:
void o100_setSpriteGroupInfo();
void o100_resourceRoutines();
void o100_wizImageOps();
void o100_jumpToScript();
void o100_loadSBNG();
void o100_dim2dim2Array();
void o100_paletteOps();
@ -1086,6 +1087,7 @@ protected:
void o100_roomOps();
void o100_startSound();
void o100_setSpriteInfo();
void o100_startScript();
void o100_quitPauseRestart();
void o100_cursorCommand();
void o100_wait();

View File

@ -62,7 +62,7 @@ void ScummEngine_v100he::setupOpcodes() {
OPCODE(o6_panCameraTo),
/* 10 */
OPCODE(o6_invalid),
OPCODE(o72_jumpToScript),
OPCODE(o100_jumpToScript),
OPCODE(o6_setClass),
OPCODE(o60_closeFile),
/* 14 */
@ -196,7 +196,7 @@ void ScummEngine_v100he::setupOpcodes() {
OPCODE(o6_stampObject),
OPCODE(o72_startObject),
/* 7C */
OPCODE(o72_startScript),
OPCODE(o100_startScript),
OPCODE(o6_startScriptQuick),
OPCODE(o80_setState),
OPCODE(o6_stopObjectScript),
@ -715,6 +715,18 @@ void ScummEngine_v100he::o100_arrayOps() {
}
}
void ScummEngine_v100he::o100_jumpToScript() {
int args[25];
int script;
byte flags;
getStackList(args, ARRAYSIZE(args));
script = pop();
flags = fetchScriptByte();
stopObjectCode();
runScript(script, (flags == 128 || flags == 129), (flags == 130 || flags == 129), args);
}
void ScummEngine_v100he::o100_loadSBNG() {
// Loads SBNG sound resource
byte subOp = fetchScriptByte();
@ -1971,6 +1983,17 @@ void ScummEngine_v100he::o100_setSpriteInfo() {
}
}
void ScummEngine_v100he::o100_startScript() {
int args[25];
int script;
byte flags;
getStackList(args, ARRAYSIZE(args));
script = pop();
flags = fetchScriptByte();
runScript(script, (flags == 128 || flags == 129), (flags == 130 || flags == 129), args);
}
void ScummEngine_v100he::o100_quitPauseRestart() {
byte subOp = fetchScriptByte();
subOp -= 61;