MSVC builds now use the CONSOLE subsystem by default,
just like all our other Windows builds.
--use-windows-subsystem is now available to generate
projects with the WINDOWS subsystem.
Changes the following warnings to errors:
C4701: potential use of uninitialized local variable
C4703: potential use of uninitialized local pointer
C4456: declaration hides previous local declaration
C4003: not enough arguments for function-like macro invocation
C4840: use of non-trivial class as an argument to a variadic function
C4805: unsafe mix of bool and int in a numeric operation or comparison
C4305: truncation of double to float or int to bool
C4366: address taken of unaligned field and used as an aligned pointer
C4315: object constructed into an unaligned field with a constructor that expects it to be aligned
Additional include and library directories can now be added.
This is most useful to Xcode Mac projects where a vanilla Homebrew setup
requires manually adding five directories through the Xcode UI and then
repeating that every time the project needs to be regenerated.
Now create_project can be scripted to regenerate a working Mac project
without any extra Xcode steps.
This fixes an OpenGL renderer issue for builds with MSYS2/Mingw64 or MSYS2/Mingw32
The issue pertains to MSYS2 adding a default manifest file (default-manifest.o) to the executable
The bug is for PC systems with GPU drivers that were not properly supported for Windows 10
systems, like Intel HD Graphics series 1st and 2nd generations. In those systems, launching a
game in ScummVM (built with MSYS2/Mingw) with the OpenGL renderer would cause the game
screen to be a white blank image, and various warnings would be output to the console, eg.
"WARNING: GL ERROR: GL_INVALID_ENUM on glTexSubImage2D(0x0DE1, 0, 0, area.top, src.w, area.height(), _glFormat, _glType, src.gere.cpp:167)!"
This was due to MSYS2/Mingw builds trying to load the (poorly supported) GPU driver while advertising support for Windows 10 in their
embedded default Manifest file. Hence, the GPU driver DLL (eg ig4icd64.dll) would be unloaded, causing the bug.
More information is available in the following links:
https://github.com/pal1000/save-legacy-intel-graphicshttps://github.com/LWJGL/lwjgl/issues/119https://github.com/msys2/MSYS2-packages/issues/454https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69880
Credits to sluicebox for the VS GenerateManifest flag