- rewrote code for using the FontConfig library.
- Match fonts in the following order:
- Match font fullname (FC_FULLNAME) and current language (FC_LANG)
- Match font fullname only
- Match font family name (FC_FAMILY) and current language (FC_LANG)
- Match font family name only
- When we can't find a default font, fallback to the first TrueType font
found by FontConfig, preferably that supports the current language
- Also renamed the files in config/language/ to match language identifiers
used by FontConfig
- .ini files named after a valid romlist field are now supported for
putting custom values into those fields. So for example a file named
"AltRomname.ini" can be used to provide custom "AltRomname" values
in an imported romlist
- Add FreeBSD detection and conditional compilation in Makefile
- Make GameSWF library changes conditional for FreeBSD compatibility
- Use portable shebang in changelog script
- All changes are conditional - no impact on Linux/macOS builds
Two changes to FeOverlay::event_loop():
- In the event of a mouse move, reset the mouse position to the
middle of the window if it strays outside the mouse capture area.
- Do not wrap around the selected menu item if the first or last
menu item was reached by a mouse move event.
This makes overlay menus easier to navigate using a trackball or
rotary spinner that presents as a mouse device.
The exit command can cause Attract-Mode to be terminated by the
operating system before it can gracefully exit on its own, such
as when the exit command shuts down the system. In particular,
feSettings.save_state() may get skipped or aborted with a half-
written attract.am.
Instead, run the exit command as the final act of main() after
exiting the main loop and cleaning up resources. And pass the
command's exit code through as Attract-Mode's exit code.
- Fixed usage of fontconfig on linux/unix systems so that we
get exact matches of the fonts that are asked for
- Various fixes related to the initial 'select language' dialog
- When user changes the language in config mode, and if they don't
also set the default font at that time, we now override the
default font to one we know will work with the newly selected
language
- correctly update filter list after playing a game if list is sorted
on playcount or playtime, including by repositioning current selection
if necessary
- switch statistics to be kept per game and emulator instead of per game
and romlist
- added lazier loading of play stats, only load them if/when necessary
Allows use of [name] in rompath. This is necessary when using subdirectories and multiple extensions are in use. For example:
rompath $HOME/roms/psx/[name]
romext .cue;.m3u;.CUE;.M3U