N64 improvements. Split N64 save files into eep, sra, fla, mpk and tpk files.
Add "wide" tag detection to database, auto-switches to widescreen if found.
Prioritize N64-database_user.txt, so that people can override games already in the regular database file.
Honor order that rpak, cpak and tpak are written in database, for p1 controller.
Reduce cost of setting video mode information when using
vsync_adjust=1/2 or vscale_mode=4/5 from 90ms to 5ms (worst case, most
instances are less than 1ms).
Split video initialization into video_init and video_set_mode.
video_init is called once, video_set_mode is called whenever the mode
changes.
Split hdmi_config into hdmi_config_init and hdmi_config_set_mode. Same
as video_, hdmi_config_init does the bulk of the initialization,
hdmi_config_set_mode is just for parameters that can change based on the
mode.
Load video filter data in loadScalerCfg and persist it.
Calculate a digest for scaler data and use that to determine whether new
data needs to be sent.
Only send gamma information if the filename has changed.
Offload fb module parameter writing to a separate thread via the new
offload system.
Reduce the amount of work being done in set_vrr_mode when vrr is
disabled.
Currently when you have two entries where one has a longer name ("foobar" and "foobar 2") it does the comparison up to the shorter of the lengths, and then if they match to that length, it does a date comparison instead. This exhibits behaviour different to what one would expect from most implementations.
This change puts the length comparison before the date comparison to make it more like the user would expect.
i.e "foobar" should always be above "foobar 2", and not move depending on the date code.
* Update to latest miniz (2.1.0). Use single file combined release as per miniz documentation
* revert back to using inflateReset instead of inflateInit (doesn't work otherwise)
Co-authored-by: Zakk <zakk@rsdio.com>
Added a new argument to ScanDirectory, a "filter" parameter. If it exists, it
will filter items regardless of where in the filename the filter appears (not
just in the beginning, as with the prefix). So if you type "ADV" as the filter,
both "Advance Wars" as well as "Ace Combat Advance" will pass through