This was not previously taking effect as the defining header was not
included in all used locations.
This causes GCC compiler warnings when -Wundef was passed.
The property saveMovieEnabled is set when a movie needs to be saved when
branching out from said movie.
Changes:
- saveMovie can have an optional filepath: set minArgs to 0
- call saveMovie when updateMovieEnabled is set and another movie is
opened
This applies to the Mac versions of Loom and The Secret of Monkey
Island. There was a regression some years ago that caused the channel
data to be saved twice, and the instrument data never.
Unfortunately, this does nothing to fix the savegames that were broken
by the regression.
When comparing an Object, i.e. FileIO instance, to an INT or STRING, the
Object is parsed as string and then compared. An Object's string is
<Object:hexcode>, e.g. <Object:794b8d0>. When compared to an INT, it's a
regular string compare.
This make saving and loading work again in Majestic.
Note: '#' < '0' due to ord '#' is 35 and ord '0' is 48.
Implemented changes:
- compare Object as STRING when it's an Object with INT or STRING
comparison,
- set Objects string to start with <Object,
- include lingo test and
- remove BUILDBOT notification on invalid comparion.
With INT and STRING comparisons:
- when the STRING can be parsed as an INT then it's an INT comparison,
otherwise
- the INT is parsed as STRING and it's an STRING comparison.
The previous workaround was introduced to fix fighting using the keypad
in Indy 3. It enforced genering a number on KEYCODE_KP# events even
when KBD_NUM is not set. The issue on AmigaOS is that SDL never reports
KBD_NUM as being set. Instead we get different keycodes depending if
numlock is on or off (e.g. KEYCODE_KP3 and KEYCODE_PAGEDOWN).
The new workaround is to set the KBD_NUM modifier whenever we receive
a KEYCODE_KP# event from SDL. This way we also generate a number, but
in addition this is consistent with the modifier and works with code
that checks the KDB_NUM modifier (such as the GUI code or the AGI
engine).
Set the right bytecode for the entity kTheType. kTheCursor was
defined for two bytecode operations.
This fixes a long standing bug in Majestic. A rectangle got its cursor
set instead of the type. Obsuring other rectangles which did should have
shown a cursor. Now all interactive objects are indicated by a cursor
change.