The main advantage here is that this allows to get rid of the gdtoa dependency, it is also preferable to have some code here that's being maintained.
Feature-wise both are mostly identical, stb also support MSFT integer size modifiers and hexadecimal floats.
Localized reflection code to a single function. Fixed an error where NOSHIELDREFLECT was being checked on the wrong Actor. Fixed an oversight where MIRRORREFLECT was checking for valid target despite not needing one.
These properties allow to specify how much an actors' aim is degraded when shooting at a shadow actor. And how much the shadow actor itself affects the shooters' aim, respectively.
Actors in the line of fire with this flag trigger the MF_SHADOW aiming penalty. The shooter needs to have MF9_DOSHADOWBLOCK to check for actors with this flag.
GZDoom used to have hardcoded MessageBox menu selector, 0x0d character
of console font, while the other menu is displayed is SmallFont.
It looked too ugly if SmallFont and ConFont heights are different,
and also there was no method of modifying the selector.
Now, the selector is 0x0d from SmallFont, if SmallFont contains this glyph
(its height is greater than zero), otherwise it falls back to previous
behavior (using ConFont as a source of this glyph).
To define custom MessageBox menu selector, just define 0x0d glyph for
SmallFont, and it will be displayed in the menu.
The gap between selector and menu options text is 3 pixels (as before), and
if you wish to enlarge this gap, just add some transparent columns at the
right side of 0x0d glyph.
types.h was being picked up from webp rather than locally due to the
`include_directories` call for GTK (and therefore its -I arguments)
coming before the same call for the local sources. webp can be pulled in
via GTK -> gdk-pixbuf -> tiff -> webp.
This can be avoided by specifying `SYSTEM` or `BEFORE` as appropriate
when calling `include_directories`. I have done both for good measure.
src/common/scripting/backend/vmbuilder.cpp:869:88: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
src/common/scripting/backend/vmbuilder.cpp:916:85: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
* add QualifiedName to VMFunction and allocate these static names from the class data memory arena instead of using FStrings.
* null pointer type checks in the VM added to avoid crash on bad codegen.