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.
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.
Ò was inverted and therefore had inconsistent shading, which is fixed; Ů had darkened corners to give in to the umlaut, but was found to not be necessary; Љ and Л are both smoothened according to how the letter looks in the console font, and Џ is slightly shortened (to match up with the letter Q in terms of size).
Previously, the characters И, Й, Ѝ and Я had the appearance of inverted versions of their Latin counterparts, N and R. With inverted shading, the letters turned out difficult to read; therefore, this commit reverts them to their old appearance (from the Russian Doom port, made by @JNechaevsky).
Apparently this was copied from the old Umlaut characters which had it wrong. Changed for all affected graphics to use the same color as the IWAD to avoid visible discrepancies with translations that can make this visible.
The episode titles required a workaround because the CQ3 episodes do not contain names in text form: If this is the case, the patch name will be used as a string table identifier to get a matching text for localization.
This covers French, German, Italian, Portugese, Spanish, and Swedish. Also adjusts the offsets of the inverted exclamation and question mark for Doom (so that they are in line with the colon sign).
Chex also has its own colon sign, so I’m adding that too.
There are no longer any spaces between the letters and their respective accents. In the previous state of GZDoom, these letters were forcibly squished by 1px vertically, and it made for a terribly inconsistent look (especially with the Strife E).
The quotation marks were made by combining the < and > signs. Because the back buttons in the menu look quite similar, they were also retouched for all games.
Many existing letters are redone, and support for the following languages is added:
Doom:
• Italian
• Spanish
Raven:
• Italian
• Portugese
Strife:
• French
• German
• Italian
Credits to Jimmy for some of the lowercase glyphs for Doom.
This time with diacritics and full Strife support.
The inverted exclamation mark (¡) may cause problems in the menu because of its positioning, but I see no place where any exclamation mark is used in GZDoom’s Strife menu.
• Ä: fix shading at the top
• Å: reduce height
• Æ: improve blending between the two glyphs
• Ç: shorten cedilla
• Ê: fix outline color
• Ð: thicken lines and conjoin them with the letter
• Ø: recolor the center of the slash in the lowercase glyph
• Þ: improve shading, condense lowercase glyph
• Ђ: round edges slightly
• Љ: improve blending between the two glyphs
• Њ: improve blending between the two glyphs
• Ћ: improve shading
• Ќ: heighten accent position
• Џ: widen tail
Also overhauls the punctuation, which now completely fits both the Bigfont and the BigUpper font! Big thanks to Jimmy for a huge amount of support!
For the Doom IWADs the provided font looks almost identical to the characters used on the title patches. So, for any level name that got replaced in some language, it will now check if the retrieved name comes from the default table, and if not, ignore the title patch and print the name with the specified font.
This also required removing the 'en' label from the default table, because with this present, the text would always be picked from 'en' instead of 'default'. Since 'en' and 'default' had the same contents, in any English locale the 'default' table was never hit, so this won't make any difference for the texts being chosen.
Last but not least, wminfo has been made a local variable in G_DoCompleted. There were two places where this was accessed from outside the summary screen or its setup code, and both were incorrect.
Now that GZDoom supports uppercase and lowercase characters in the BIGFONT format, this commit actually adds those characters. It contains full support for both the English and Russian (minus the letter Ё) alphabets for both Doom and Strife. As for the existing punctuation graphic lumps in Strife, all extra space is removed, and the sprite offsets are adjusted instead.
This also adjusts the English language file so that all menu header texts utilize these new characters. As a tiny extra, it also adds the letter Ё to the Strife smallfont.
(Credits to Skulltag for the uppercase B, Amuscaria for the uppercase X and Z, and @jnechaevsky for all Russian characters, taken from Russian Doom!)
The BIGFONT system works in both Heretic and Hexen; however, as Doom and Strife still depend on a lump format, they lack it.
(Also renamed the “game-raven” directory to “game-heretic”—the lumps in that folder are made for the Heretic palette, and become riddled with artifacts when loaded in Hexen).
This is dpne as a two-stage approach. TXT_LOGTEXTxxx will always take precedence over the log lumps, and TXT_ILOGxxx will only replace the original IWAD content.
This is so that PWADs replacing these lumps don't get overridden by the default texts.
A multi-lump font can be created by putting all characters into a subdirectory of fonts/ with the intended name. Each character needs to be named by its character index as hex number.
So far this is only active for the predefined small fonts
Now all this content can be localized. However, since this is actual game content it was placed in a secondary file in zd_extra.pk3, so that it won't affect the GPL-compatible status of the main one.