It appears a lot, and these casts are intentional and look safe.
Example:
../scummvm/engines/glk/alan3/actor.cpp: In function 'Glk::Alan3::ScriptEntry* Glk::Alan3::scriptOf(int)':
../scummvm/engines/glk/alan3/lists.h:35:52: warning: converting a packed 'Glk::Alan3::ScriptEntry' pointer (alignment 1) to a 'Glk::Alan3::Aword' {aka 'unsigned int'} pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member]
35 | #define isEndOfArray(x) implementationOfIsEndOfList((Aword *) (x))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
../scummvm/engines/glk/alan3/actor.cpp:38:84: note: in expansion of macro 'isEndOfArray'
38 | for (scr = (ScriptEntry *) pointerTo(header->scriptTableAddress); !isEndOfArray(scr); scr++)
| ^~~~~~~~~~~~
In file included from ../scummvm/engines/glk/alan3/actor.h:25,
from ../scummvm/engines/glk/alan3/actor.cpp:22:
../scummvm/engines/glk/alan3/acode.h:453:8: note: defined here
453 | struct ScriptEntry { /* SCRIPT TABLE */
| ^~~~~~~~~~~
Unlike the 8-disk version, this one has proper MT-32 resources (see
commit 655afcdf55 for more context).
Reported by a French player owning this (rare?) release.
The French VGA floppy version of Monkey 1 (and, apparently, this version
alone) is missing the usual 'roland' room, and the index references an
invalid DISK00.LEC file, although the game scripts didn't disable the
MT-32 feature itself. This causes a fatal error when trying to run this
game with MT-32 support, even with the original interpreter (while it
does work with the English and Spanish VGA floppy versions).
We can't do much about this, since many resources appear to be missing,
but we can detect this version and warn the user before going back to
Adlib mode. Otherwise, some users can be confused by the fatal error
about the DISK00.LEC file.
The talkie version was silently killed while we completed the support for the regular Mac version.
Also cleanup all the LOK static resources a bit (remove garbage offsets).
Add the GameController framework to the project and enable support for
controller user interaction in the Info.plist file. This allows for
Game Controller compatible devices to notify the application when
connected.
Add GameController framework to configure and ports.mk if not using
Xcode to build the target.