While linear/anisotropic filtering introduces in previous commit looks
good at non-integer scales, using it at integer scales may make screen
look unnecessarily blurry. This commit introduces an option to use NN
scaling at integer values of scale.
This change allows to pass render quality hint to SDL in runtime. While
using hardware display, SDL can hint the renderer to use linear or
anisotropic filtering, which can deliver a better experience when using
non-integer scale value.
This commit makes sure config.ini gets created even when RCT2 path is
not selected.
This makes for a better out-of-box experience on Linux, where no
directory selector is provided yet, as we provide default config file
and state in the error message how to fix it.
- load and save highscores to new file format (highscores.dat)
- scan scenarios from RCT2 data and user data
- load highscores from legacy file (scores.dat)
- fix various issues with new scenario select window
- Added a new option under misc to automatically open shops and stalls
- Option is disabled by default
- When enabled, shops & stalls are automatically opened right after being placed on the map
This allows for NN-scaling of display, a much needed feature on highdpi
screens.
Scale can be set to positive integer value which will become a zoom
factor for whole rendered output.
safe_strncpy is similar to strncpy, but makes sure buffer is
null-terminated. Update most of project to use this updated function to
prevent illegal memory accesses.
The autosave system will now use frequencies based on wall-clock
time rather than in-game time, for example every 15 minutes. This
frequency is not affected by pausing the game or changing the game
speed. The default frequency is every 5 minutes.