Fixed a few opcodes...
svn-id: r3592
This commit is contained in:
parent
ab021d8b3c
commit
224b744e58
1 changed files with 16 additions and 3 deletions
|
@ -84,7 +84,7 @@ void Scumm::setupOpcodes() {
|
||||||
&Scumm::o5_cursorCommand,
|
&Scumm::o5_cursorCommand,
|
||||||
&Scumm::o5_putActorInRoom,
|
&Scumm::o5_putActorInRoom,
|
||||||
&Scumm::o5_delay,
|
&Scumm::o5_delay,
|
||||||
&Scumm::o5_badOpcode,
|
&Scumm::o5_getObjectState,
|
||||||
/* 30 */
|
/* 30 */
|
||||||
&Scumm::o5_matrixOps,
|
&Scumm::o5_matrixOps,
|
||||||
&Scumm::o5_getInventoryCount,
|
&Scumm::o5_getInventoryCount,
|
||||||
|
@ -1293,8 +1293,15 @@ void Scumm::o5_getObjectOwner() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scumm::o5_getObjectState() {
|
void Scumm::o5_getObjectState() {
|
||||||
|
if(_features & GF_SMALL_HEADER) {
|
||||||
|
if((getState(getVarOrDirectWord(0x80)) &0x0F >>4) != getVarOrDirectByte(0x40))
|
||||||
|
o5_jumpRelative();
|
||||||
|
else
|
||||||
|
ignoreScriptWord();
|
||||||
|
} else {
|
||||||
getResultPos();
|
getResultPos();
|
||||||
setResult(getState(getVarOrDirectWord(0x80)));
|
setResult(getState(getVarOrDirectWord(0x80)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scumm::o5_getRandomNr() {
|
void Scumm::o5_getRandomNr() {
|
||||||
|
@ -1476,6 +1483,12 @@ void Scumm::o5_loadRoomWithEgo() {
|
||||||
void Scumm::o5_matrixOps() {
|
void Scumm::o5_matrixOps() {
|
||||||
int a,b;
|
int a,b;
|
||||||
|
|
||||||
|
if(_features & GF_OLD256) { /* FIXME: missing function call*/
|
||||||
|
a=getVarOrDirectByte(0x80);
|
||||||
|
b=fetchScriptByte();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_opcode = fetchScriptByte();
|
_opcode = fetchScriptByte();
|
||||||
switch(_opcode & 0x1F) {
|
switch(_opcode & 0x1F) {
|
||||||
case 1:
|
case 1:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue