Vkd3d doesn't seem to like to be be built as a PE. When it tries to look
for the vulkan library it does so by trying a very naive program that
defines `char vkGetInstanceProcAddr()`. This misses both being marked as
stdcall and the correct number of parameters to link against
Vulkan-Loader in PE32 mode.
This used to work with binutils pre 2.41 because it wasn't including the
@NUM part in the export libs but since that was fixed we have to be
explicit to skip the check.
If the -dist target were created after a file was uploaded to the
server, it wouldn't be rebuilt after downloading, because the
timestamp on the downloaded file would be newer than the -dist
file. Using a local timestamp to download prevents this.
Note: as described in bug report, this change is necessary to avoid
potential duplicate when searching inside several Proton tree for
an image used in a minidump.
CW-Bug-Id: #22341
Due to how we handle building and compilation flags we end up with a lot
of warnings that are normally hidden. Let's introudce an option to
suppress them for CI builds to generate smaller, more searchable logs.
The fake Arial already distributed with Python is based on Liberation fonts.
It is metrically compatible with the original Arial, but it doesn't support
all its glyphs (specifically, it misses Arabic).
The new one is based on Noto fonts. It support all the Arial glyphs
(I think), but it is not metrically compatible. It is enabled based
on SteamGameId when glyph coverage is considered more important than
metric compatibility.
So far it is enabled for FIFA 21 and FIFA 22.
CW-Bug-Id: #20302
The current script based on fontforge seems to have a few problems.
The generated fonts show glitches, for example in Cyberpunk 2077 for
Thai and in FIFA 22 for Arabic.
I don't precisely know what is the problem, and it might be that
the real bug is in the rendering code rather than in the merging
script. But since this seems to work better overall, I'm sticking
with it.
CW-Bug-Id: #20302
Parts of the rules, including the magical ones created via
make/rules-*.mk, are executed inside of the container via SHELL
override, and parts are executed on the host side.
This makes reasoning about and debugging the rules much harder than it
should be. It also requirs the users to have certain programs installed
on the host in addition to docker/podman.
With this change `make` will act as a simple pass through to inside of
the container for the most part.
One notable exception is installation which still happens the host side.