Original code did assume that AGI volume level is 0-15
(0 for silence, 15 for maximum volume). It actually is the
other way. 0 is maximum, 15 is silence.
Fixed that. Also implemented sync with ScummVM settings dialog.
In case "mute" is enabled by the user, any volume changes done by
scripts are ignored.
Fixes Manhunter 1 Apple IIgs not getting sound anymore since the
VM Var cleanup (the script volume change by the scripts didn't
reach us before)
in game timer is now updated, when scripts read in game timer
VM variables and during main loop. ScummVM total play time feature
is used for it. Game cycle syncing is done at the same time.
renamed getflag() to getFlag()
renamed setflag() to setFlag()
renamed flipflag() to flipFlag()
preagi: renamed setFlag for this engine to setWinnieFlag
Don't access variables directly, but through method
Shouldn't include any functional differences
Also changed several hardcoded values to the corresponding enums.
Caused issues with mouse support (that AGI on DOS never had).
e.g. KQ1/KQ2 on end of mouse click move Graham automatically falls
into water.
The check was added in AGI3 only, but maybe non-DOS interpreters
had it before. Or maybe mouse support was actually implemented
differently. Needs more investigating.
Also make it possible to somewhat easily have hotkeys within
the button text itself and not just having to use the very first
button text character as hotkey.
- Keep a non-lowercased user input copy for copying out words
- Check for user input word end after matching a dictionary word
- Fix detection of "a" and "i" words
load/saving via ScummVM menu
Mixed up mother goose has an endless script loop, when no user name
was entered, which means restoring while in there would result
in us staying in the inner loop until the user entered something
This was originally added in cbd867329e to
support this LucasArts game hotkey. However, Alt-x is used by other
engines as hotkey. Most notably AGI's Leisure Suit Larry in the Land of the
Lounge Lizards uses it to skip the age protection. Since we handle Alt-x
internally in SCUMM now there is no need to keep this around in our backend
code.
This includes a TODO to check which SCUMM games actually exhibit this behavior
originally. cbd867329e added this behavior to our
backend code initially.