TUCKER: Actually implement mof opcode

When the 'mof' opcode was added in commit 1946dead77 it was implemented
as a NOOP, but what it actually should do is disable the mouse (set
_cursorState to kCursorStateDisabledHidden).
This is used in at least the Spanish and Polish versions of the game to
work around an earlier script bug which allowed the player to use the
mouse while freeing the professor in part two.

This commit fixes the 'mof' instruction so that the original script works
as intended in those versions that ship with the fix.

TODO: Add a workaround for those game versions which don't do the 'mof'
themselves.
This commit is contained in:
Adrian Frühwirth 2018-03-18 23:24:29 +01:00
parent 99f5b3cfb2
commit 23fd97c99a

View File

@ -3391,7 +3391,7 @@ int TuckerEngine::executeTableInstruction() {
_nextLocationNum = readTableInstructionParam(2);
return 1;
case kCode_mof:
// TODO: Unknown opcode in Spanish version. Identify if this has any function.
setCursorState(kCursorStateDisabledHidden);
return 0;
case kCode_opt:
_conversationOptionsCount = readTableInstructionParam(2);