What could be done has been moved into the filter directory of game_support.pk3
Unfortunately most of the rest is needed as presets even for custom games so it cannot be fully cleaned up, because the dependencies here and the filter structure do not align 100%.
* sprite offset definitions, which are IWAD dependent
* Freedoom's decal overrides
* conversation ID definitions for the Strife teasers
* the fallback BigFont now can also be loaded by IWADs which declare themselves as GAME_Heretic or GAME_Hexen.
* the Doom status bar has been partially virtualized to allow overriding specific parts of it, most notably the ammo display
* the internal Harmony status bar has been removed because it only works with the now disabled Dehacked patch.
* the SBARINFO definition has been removed, instead it uses a ZScript-based status bar now which overrides the ammo display to use the new ammo types instead.
This also includes Blzut3's DECORATE version of the Harmony actors and disables the Dehacked patch, which was necessary to define a working set of dynamic lights and fix a few minor errors with the original.
This was done for two reasons:
1. It forces loading of zd_extra.pk3 for the stock IWADs, eliminating a certain kind of user error.
2. It removes the stock IWAD definitions for custom games that distribute the engine along with their data, so that it doesn't pick up on Steam and GOG installations and shows an inappropriate IWAD picker.
The BigFont needs a kerning of -1 and a defined height so that it gets displayed properly and this sets all available font color properties to the correct colors.
Unlike the other games this required a bit of patching of the IWAD's data with a new MAPINFO so it needs to be in a separate .pk3 file loaded after the IWAD.
Since this needs to be loaded after the IWAD it was also possible to add a small DECORATE lump which fixes a few errors inherited from the original Dehacked patch, like monster counting bugs and unintentionally shootable decorations.
There were two issues blocking this:
* the Doom BigUpper font was loaded for all Doom-based games. It is only valid for original idgames releases and nothing more.
* Hacx.wad defines its BigFont in FONTDEFS which blocks all custom fonts. Since the Hacx font and GZDoom's base BigFont are very similar, the FONTDEFS lump now gets deleted from the WAD directory.