Version in README file is purely informational.
Other strings are hardcoded to some platform-specific format and scheme,
where we can't use version derived from autoconf.
Change copyright strings to "dosbox-staging team" (we are not "DOSBox
Team"), change relevant copyright years (this meta has no real legal
meaning - unlike COPYING file and license inside source files, so use
only current year in there).
Two notable changes:
1. Eliminates the joystick setup from SDLmain, allowing
the mapper's QueryJoysticks() function to be the sole
setup and configuration point for both the SDL Joystick
subsystem and DOSBox's internal configuration of the
joysticks.
2. SDLmain's event loop previously perform some joystick-
specific timing and always called the Mapper's UpdateJoysticks
function; neither of which are needed if the user has disabled
joystick support or if joysticks aren't physically present.
This update now make this entire process conditional on both
of the latter (which is set by the Mapper's QueryJoysticks).
There's no reason to having a different name for .conf file on every
platform, it only makes things more difficult from user and developer
perspective.
Windows and macOS config files are left as they were, this change
affects mostly Linux users.
Users are not forced to migrate, but visible warning is being issued if
they aren't. Majority of users probably won't notice it, as the stable
release should generate newly named .conf file.
Change X11 Window WM_CLASS to 'dosbox-staging' to avoid conflicts with
upstream DOSBox, which might be provided by package manager.
Update .desktop file to specify WMClass to be correlated with
dosbox-staging process (even if executable file conflicts with dosbox
upstream).
Update contrib/icons/Makefile to generate 'hicolor' directory structure.
This is dosbox-staging icon (see contrib/icons/), rendered to size
128x128 with rsvg-convert (128x128 is recommended for various Linux DEs,
as this icon will mostly see usage on Linux - macOS and Windows have
icons in their native formats). Data dump created with GIMP with
following settings:
- Use 1 byte Run-Length-Encoding
- Save alpha channel
This way it's more obvious to the reader, what given parameter does
(instead of non-descriptive 'false/true'.
Create alias 'FIXED_SIZE' for 'false' meaning "non-resizable" window. It's a
constexpr bool global variable, so compiler will remind us when it'll
be time to remove it.
This call was useful during development and testing with
output=opengl, but now it's no longer necessary. This call causes
output=texture to go into initialization loop, which falls back to
surface, which we definitely do not want.
'resizable' option turns on resizable window if all the prerequisites
are met (OpenGL and compatible shader). Right now only shader 'sharp' was
tested as compatible, but other built-in shaders might be whitelisted in
the future as well (e.g. 'advmame*' shaders seem like good candidates).
Using incompatible shader does not cause any particular problems for the
users, but it looks really ugly - shader implementations clearly were
implemented only for a fixed window size.
'default' option acts as 'resizable' on Linux and 'original' everywhere
else. It also gives as an option to tweak available windowresolution
settings without causing too much disruption to end users.
It's necessary for usecase when game changes resolution while in game.
We don't want to resize the window in such case, just change minimum
size (SDL might decide to update the window size in the result, if new
resolution is higher than current window size).