The `cfg(target_os)` for the build script contains the name of the OS on which the build takes place (the OS of the host machine). Because of this, the build of the Android port on Windows is broken, as an attempt to add the Windows resource file fails. Probably the build for Windows on Linux, for Linux on Windows, etc., is also broken.
Therefore, in the build script, we must rely only on the values of the `TARGET` environment variable, which contains the target triple of the platform for which the build is performing. `cfg(target_os)` should only be used to include platform-specific dependencies (e.g. `winres` for Windows).
The engine would previously use the upscaled spritesheet for the headbands since the "original_textures" setting is only used with the Nicalis releases.
SDL generates ControllerDeviceAdded events for controllers that are
already plugged in at the start of the game, but only if those are
recognized as game controllers at the time that we run SDL_Init.
Unfortunately, rust-sdl2 requires initializing SDL before we can call
load_mappings_from_read.
doukutsu-rs ships with this nice gamecontrollerdb.txt file built-into
the binary and loads it at startup, but previously it would not work for
controllers already plugged in before the game started because of the
above. This change works around the ordering issues between recognizing
devices as game controllers and event generation. Instead of using the
ControllerDeviceAdded events, we now use JoyDeviceAdded events. We still
check that the device is a supported game controller, and if it's not
supported then we skip it.
- Add application category and description
- Hide system navigation bar
- Change documents provider name to application name
- Disable multi-window mode support because touch controls don't work in this mode