SCUMM: Add practice mode box for Mac Loom
Unlike the PC version, the practice mode box appears to be hard-coded in the Mac version. The script that draws the box in the PC version just sets variables in the Mac version. This implementation is based on screenshots. To keep things a bit saner, I've split out the Mac-specific drawing to its own file.
This commit is contained in:
parent
620d885eac
commit
cdfe9b5b4c
7 changed files with 150 additions and 48 deletions
|
@ -651,6 +651,23 @@ void ScummEngine::writeVar(uint var, int value) {
|
|||
|
||||
_scummVars[var] = value;
|
||||
|
||||
// Unlike the PC version, the Macintosh version of Loom appears
|
||||
// to hard-code the drawing of the practice mode box. This is
|
||||
// handled by script 27 in both versions, but wherease the PC
|
||||
// version draws the notes, the the Mac version this just sets
|
||||
// variables 50 and 54.
|
||||
//
|
||||
// In this script, the variables are set to the same value but
|
||||
// it appears that only variable 50 is cleared when the box is
|
||||
// supposed to disappear. I don't know what the purpose of
|
||||
// variable 54 is.
|
||||
|
||||
if (_game.id == GID_LOOM && _game.platform == Common::kPlatformMacintosh) {
|
||||
if (VAR(128) == 0 && var == 50) {
|
||||
mac_drawLoomPracticeMode();
|
||||
}
|
||||
}
|
||||
|
||||
if ((_varwatch == (int)var || _varwatch == 0) && _currentScript < NUM_SCRIPT_SLOT) {
|
||||
if (vm.slot[_currentScript].number < 100)
|
||||
debug(1, "vars[%d] = %d (via script-%d)", var, value, vm.slot[_currentScript].number);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue