This is to improve compile times because the MSVC compiler tends to become slow with large lists of source files in a single project.
This new project is still our stripped down copy of libadl, not the original, because that project contains a large amount of baggage we do not need.
This is not useful by itself but can be used for adding new features later, e.g. mod-wide compatibility settings or file specific lump replacement or injection.
Many had leftover non-default constructors/ assignment operators, and some were initialized, even though the initialized data was never used.
In case of FCycler this even caused a default setting to be overwritten when used inside FDynamicLight.
They are attached and actived explicitly during usual actor initialization sequence
Postponed processing applicable to so called user dynamic lights must be skipped for them
RECREATELIGHTS flag handling for dynamic light actors had the opposite effect of deactivating them
https://forum.zdoom.org/viewtopic.php?t=65683
It's an optional extension of deprecated keyword:
deprecated("2.4", "use ModernFunction instead") int OldFunction();
deprecated("3.5", "use ModernVariable instead") int OldVariable;
Usage of such members will produce the following report:
Script warning, ":zscript.txt" line 123:
Accessing deprecated function OldFunction - deprecated since 2.4.0, use ModernFunction instead
Script warning, ":zscript.txt" line 456:
Accessing deprecated member variable OldVariable - deprecated since 3.5.0, use ModernVariable instead
Character classification is no longer affected by quirks of standard library implementation
Lookup table for own function was generated with Python thanks to Unicode Database module from its standard library
Explicitly set locale for POSIX targets was reverted to C
https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
Locale-dependent standard library functions didn't treat UTF-8 strings correctly, e.g. iswalpha() returns 0 for any non-latin letter
The same function from MSVC runtime classifies such characters as alphabetic even with C locale
https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
Precompilation of prefix header for GCC and Clang requires some efforts thanks to CMake which doesn't support this feature out of the box
Existing thirparty solutions must be tuned to our needs, and our configuration should be adjusted to a chosen module
src/utility/palette.cpp:76:21: error: ‘DBL_MAX’ was not declared in this scope
src/utility/palette.cpp:84:76: error: ‘pow’ was not declared in this scope
src/utility/palette.cpp:89:41: error: ‘abs’ was not declared in this scope
src/utility/palette.cpp:92:3: error: ‘fdist’ was not declared in this scope
src/utility/palette.cpp:196:46: error: ‘memcpy’ was not declared in this scope
src/utility/palette.cpp:298:19: error: ‘floor’ was not declared in this scope
With `crosshairhealth 2`, the crosshair will now
go from white to yellow, then yellow to red as the player's health
decreases. As the player's health increases up to 200, the crosshair
will also go from white to green to indicate overheal.
This is similar to the implementation in games like Xonotic.
The old behavior (`crosshairhealth 1`) is still the default.