Windows subsystem does not work like console subsystem which makes it almost impossible to obtain `stdout` until the application has finished. This adds a `--console` switch to make the game either attach to an existing console or show a new one and redirect the C streams to it.
- With this change screenshot file names have the following pattern:
save file name + + YYYY-MM-DD hh-mm-ss + .png
- To get the correct date and time the method platform_get_time and platform_get_date are rewritten and to a version for UTC and a version for local time. This change gave the opportunity to simplify the code generating file names for autosaves.
- SOUND_WINDOW_OPEN is now the new "shutter" sound when taking screenshot.
This enables breakpad Windows support **only**.
The scope of this was limited to allow for inclusion into 0.0.4 release.
Breakpad for now is a Windows-only functionality, as this platform has
largest audience and is the only one that has no system-provided stack
tracing utility.
Upon crash, breakpad will try to create a dump and save current game,
present user with some vital information, then open explorer on the
created files for user convenience, asking him/her to create a new
issue with OpenRCT2 on Github.
This makes sure that shared library built with MinGW toolchain is linked
statically to *all* its dependencies, including libc, libstdc++, libsdl2
and all the others. This allows producing of working `openrct2.dll` by
cross-compiling.
I hit a bug with libcrypto, a dependency of libssl, which in turn is a
dependency of curl, which creates a `DllMain` entrypoint for static lib
too, but since we don't do anything in ours, this should be safe.
I have only had chance to try it out when cross-compiling, ideally it
should be tested under Cygwin/MSYS too, but it is too bothersome to
setup for me.