From af781e04224212e58cda4af02bbebf9d834013b6 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 30 May 2021 23:00:06 +0200 Subject: [PATCH] - moved all font setup out of the C++ code. All internal fonts now get defined through FONTDEFS. Also fixing a few offsets. --- source/CMakeLists.txt | 3 +- source/common/engine/i_interface.h | 2 +- source/common/fonts/font.cpp | 8 +- source/common/fonts/specialfont.cpp | 2 +- source/common/fonts/v_font.cpp | 57 ++- source/common/fonts/v_font.h | 12 +- source/core/gamecontrol.cpp | 7 +- source/core/razefont.cpp | 83 ++++ source/core/razefont.h | 7 + source/core/textures/hightile.cpp | 47 +-- source/games/blood/src/view.cpp | 36 +- source/games/duke/all_d.cpp | 1 - source/games/duke/all_r.cpp | 1 - source/games/duke/src/2d_d.cpp | 158 ------- source/games/duke/src/2d_r.cpp | 149 ------- source/games/duke/src/animatesprites_d.cpp | 1 + source/games/duke/src/animatesprites_r.cpp | 1 + source/games/duke/src/dispatch.cpp | 8 - source/games/duke/src/duke3d.h | 6 - source/games/duke/src/game.cpp | 1 - source/games/duke/src/game_misc.cpp | 3 - source/games/exhumed/src/2d.cpp | 71 ---- source/games/exhumed/src/exhumed.cpp | 2 - source/games/sw/src/game.cpp | 1 - source/games/sw/src/game.h | 1 - source/games/sw/src/text.cpp | 82 +--- wadsrc/static/filter/blood/fontdefs.txt | 384 ++++++++++++++++++ wadsrc/static/filter/duke/fontdefs.txt | 295 ++++++++++++++ wadsrc/static/filter/exhumed/fontdefs.txt | 101 +++++ wadsrc/static/filter/nam/fontdefs.txt | 293 +++++++++++++ .../static/filter/nam/fonts/bigfont/00d1.lmp | Bin 262 -> 262 bytes .../static/filter/nam/fonts/bigfont/011a.lmp | Bin 225 -> 225 bytes wadsrc/static/filter/redneck/fontdefs.txt | 271 ++++++++++++ .../filter/redneck/fonts/bigfont/002c.lmp | Bin 154 -> 154 bytes .../filter/redneck/fonts/bigfont/00c0.lmp | Bin 865 -> 865 bytes .../static/filter/shadowwarrior/fontdefs.txt | 246 +++++++++++ .../shadowwarrior/fonts/bigfont/00c6.lmp | Bin 566 -> 566 bytes wadsrc/static/filter/ww2gi/fontdefs.txt | 293 +++++++++++++ .../filter/ww2gi/fonts/bigfont/00d1.lmp | Bin 262 -> 262 bytes .../filter/ww2gi/fonts/bigfont/011a.lmp | Bin 225 -> 225 bytes 40 files changed, 2070 insertions(+), 563 deletions(-) create mode 100644 source/core/razefont.cpp create mode 100644 source/core/razefont.h delete mode 100644 source/games/duke/src/2d_d.cpp delete mode 100644 source/games/duke/src/2d_r.cpp create mode 100644 wadsrc/static/filter/blood/fontdefs.txt create mode 100644 wadsrc/static/filter/duke/fontdefs.txt create mode 100644 wadsrc/static/filter/exhumed/fontdefs.txt create mode 100644 wadsrc/static/filter/nam/fontdefs.txt create mode 100644 wadsrc/static/filter/redneck/fontdefs.txt create mode 100644 wadsrc/static/filter/shadowwarrior/fontdefs.txt create mode 100644 wadsrc/static/filter/ww2gi/fontdefs.txt diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 495402146..636135d16 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -759,8 +759,6 @@ set( NOT_COMPILED_SOURCE_FILES games/blood/src/weapon.cpp # Duke - games/duke/src/2d_d.cpp - games/duke/src/2d_r.cpp games/duke/src/actors.cpp games/duke/src/actors_d.cpp games/duke/src/actors_lava.cpp @@ -1025,6 +1023,7 @@ set (PCH_SOURCES core/quotes.cpp core/screenshot.cpp core/sectorgeometry.cpp + core/razefont.cpp core/raze_music.cpp core/raze_sound.cpp core/palette.cpp diff --git a/source/common/engine/i_interface.h b/source/common/engine/i_interface.h index a8d0dbdee..dd3ea5862 100644 --- a/source/common/engine/i_interface.h +++ b/source/common/engine/i_interface.h @@ -31,7 +31,7 @@ struct SystemCallbacks bool (*CheckMenudefOption)(const char* opt); void (*ConsoleToggled)(int state); bool (*PreBindTexture)(FRenderState* state, FGameTexture*& tex, EUpscaleFlags& flags, int& scaleflags, int& clampmode, int& translation, int& overrideshader); - void (*FontCharCreated)(FGameTexture* base, FGameTexture* untranslated, FGameTexture* translated); + void (*FontCharCreated)(FGameTexture* base, FGameTexture* untranslated); void (*ToggleFullConsole)(); void (*StartCutscene)(bool blockui); }; diff --git a/source/common/fonts/font.cpp b/source/common/fonts/font.cpp index 814468914..0a82366c9 100644 --- a/source/common/fonts/font.cpp +++ b/source/common/fonts/font.cpp @@ -339,7 +339,7 @@ FFont::FFont (const char *name, const char *nametemplate, const char *filetempla TexMan.AddGameTexture(tex); Chars[i].OriginalPic = tex; - if (sysCallbacks.FontCharCreated) sysCallbacks.FontCharCreated(pic, Chars[i].OriginalPic, Chars[i].OriginalPic); + if (sysCallbacks.FontCharCreated) sysCallbacks.FontCharCreated(pic, Chars[i].OriginalPic); Chars[i].XMove = (int)Chars[i].OriginalPic->GetDisplayWidth(); } @@ -987,6 +987,8 @@ void FFont::LoadTranslations() int minlum = 0, maxlum = 0; GetLuminosity (usedcolors, Luminosity, &minlum, &maxlum); + if (MinLum >= 0 && MinLum < minlum) minlum = MinLum; + if (MaxLum > maxlum) maxlum = MaxLum; // Here we can set everything to a luminosity translation. @@ -1074,3 +1076,7 @@ void FFont::FixXMoves() } +void FFont::ClearOffsets() +{ + for (auto& c : Chars) if (c.OriginalPic) c.OriginalPic->SetOffsets(0, 0); +} diff --git a/source/common/fonts/specialfont.cpp b/source/common/fonts/specialfont.cpp index 22d43187b..5c338139d 100644 --- a/source/common/fonts/specialfont.cpp +++ b/source/common/fonts/specialfont.cpp @@ -109,7 +109,7 @@ FSpecialFont::FSpecialFont (const char *name, int first, int count, FGameTexture Chars[i].OriginalPic->CopySize(pic, true); TexMan.AddGameTexture(Chars[i].OriginalPic); Chars[i].XMove = (int)Chars[i].OriginalPic->GetDisplayWidth(); - if (sysCallbacks.FontCharCreated) sysCallbacks.FontCharCreated(pic, Chars[i].OriginalPic, Chars[i].OriginalPic); + if (sysCallbacks.FontCharCreated) sysCallbacks.FontCharCreated(pic, Chars[i].OriginalPic); } else { diff --git a/source/common/fonts/v_font.cpp b/source/common/fonts/v_font.cpp index b3ceac513..0fd688fc4 100644 --- a/source/common/fonts/v_font.cpp +++ b/source/common/fonts/v_font.cpp @@ -106,7 +106,7 @@ FFont *V_GetFont(const char *name, const char *fontlumpname) // This is only temporary until virtual fonts get implemented if (!stricmp(name, "BIGFONT")) { - font = FFont::FindFont("BIGFONT15"); + font = V_GetFont("BIGFONT15"); if (font) return font; } @@ -184,9 +184,11 @@ void V_InitCustomFonts() int start; int first; int count; - int spacewidth; + int spacewidth = -1; int kerning; char cursor = '_'; + bool ignoreoffsets = false; + int MinLum = -1, MaxLum = -1; while ((llump = fileSystem.FindLump ("FONTDEFS", &lastlump)) != -1) { @@ -243,10 +245,8 @@ void V_InitCustomFonts() } else if (sc.Compare ("SPACEWIDTH")) { - if (format == 2) goto wrong; sc.MustGetNumber(); spacewidth = sc.Number; - format = 1; } else if (sc.Compare("DONTTRANSLATE")) { @@ -267,9 +267,26 @@ void V_InitCustomFonts() sc.MustGetNumber(); kerning = sc.Number; } + else if (sc.Compare("ignoreoffsets")) + { + ignoreoffsets = true; + } + else if (sc.Compare("minluminosity")) + { + sc.MustGetValue(false); + MinLum = (int16_t)clamp(sc.Number, 0, 255); + } + else if (sc.Compare("maxluminosity")) + { + sc.MustGetValue(false); + MaxLum = (int16_t)clamp(sc.Number, 0, 255); + } else { if (format == 1) goto wrong; + // The braces must be filtered so because they'd be treated as block terminators otherwise. + if (!strcmp(sc.String, "-{")) strcpy(sc.String, "{"); + if (!strcmp(sc.String, "-}")) strcpy(sc.String, "}"); FGameTexture **p = &lumplist[*(unsigned char*)sc.String]; sc.MustGetString(); FTextureID texid = TexMan.CheckForTexture(sc.String, ETextureType::MiscPatch); @@ -290,6 +307,7 @@ void V_InitCustomFonts() FFont *fnt = new FFont (namebuffer, templatebuf, nullptr, first, count, start, llump, spacewidth, donttranslate); fnt->SetCursor(cursor); fnt->SetKerning(kerning); + if (ignoreoffsets) fnt->ClearOffsets(); } else if (format == 2) { @@ -315,6 +333,10 @@ void V_InitCustomFonts() FFont *fnt = CreateSpecialFont (namebuffer, first, count, &lumplist[first], notranslate, llump, donttranslate); fnt->SetCursor(cursor); fnt->SetKerning(kerning); + if (spacewidth >= 0) fnt->SpaceWidth = spacewidth; + fnt->MinLum = MinLum; + fnt->MaxLum = MaxLum; + if (ignoreoffsets) fnt->ClearOffsets(); } } else goto wrong; @@ -324,7 +346,7 @@ void V_InitCustomFonts() return; wrong: - sc.ScriptError ("Invalid combination of properties in font '%s'", namebuffer.GetChars()); + sc.ScriptError ("Invalid combination of properties in font '%s', %s not allowed", namebuffer.GetChars(), sc.String); } //========================================================================== @@ -943,3 +965,28 @@ char* CleanseString(char* str) return str; } + +#include "c_dispatch.h" +FGameTexture* GetBaseForChar(FGameTexture* t); +CCMD(dumpfonts) +{ + for (auto c : { "tilesmallfont", "tilebigfont", "smallfont2", "digifont", "indexfont" }) + { + auto f = V_GetFont(c); + if (f) + { + Printf("%s\n{\n", c); + for (int i = 33; i < 127; i++) + { + auto ch = f->GetChar(i, CR_UNDEFINED, nullptr); + if (ch) + { + ch = GetBaseForChar(ch); + if (i == 34) Printf("\t\"\\\""); else Printf("\t%c", i); + Printf(" %s\n", ch->GetName().GetChars()); + } + } + Printf("}\n\n"); + } + } +} \ No newline at end of file diff --git a/source/common/fonts/v_font.h b/source/common/fonts/v_font.h index bfa84599f..7abaefaa5 100644 --- a/source/common/fonts/v_font.h +++ b/source/common/fonts/v_font.h @@ -40,6 +40,9 @@ class FGameTexture; struct FRemapTable; +class FFont; + +FFont* V_GetFont(const char* fontname, const char* fontlumpname = nullptr); enum EColorRange : int { @@ -123,11 +126,18 @@ public: inline bool CanPrint(const char *str) const { return CanPrint((const uint8_t *)str); } inline bool CanPrint(const FString &str) const { return CanPrint((const uint8_t *)str.GetChars()); } + inline FFont* AltFont() + { + if (AltFontName != NAME_None) return V_GetFont(AltFontName.GetChars()); + return nullptr; + } + int GetCharCode(int code, bool needpic) const; char GetCursor() const { return Cursor; } void SetCursor(char c) { Cursor = c; } void SetKerning(int c) { GlobalKerning = c; } void SetHeight(int c) { FontHeight = c; } + void ClearOffsets(); bool NoTranslate() const { return noTranslate; } virtual void RecordAllTextureColors(uint32_t *usedcolors); void CheckCase(); @@ -137,6 +147,7 @@ public: static int GetLuminosity(uint32_t* colorsused, TArray& Luminosity, int* minlum = nullptr, int* maxlum = nullptr); EFontType GetType() const { return Type; } + friend void V_InitCustomFonts(); protected: FFont (int lump); @@ -185,7 +196,6 @@ void V_ClearFonts(); EColorRange V_FindFontColor (FName name); PalEntry V_LogColorFromColorRange (EColorRange range); EColorRange V_ParseFontColor (const uint8_t *&color_value, int normalcolor, int boldcolor); -FFont *V_GetFont(const char *fontname, const char *fontlumpname = nullptr); void V_InitFontColors(); char* CleanseString(char* str); void V_ApplyLuminosityTranslation(int translation, uint8_t* pixel, int size); diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index 90ed5e052..6a169fc68 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -77,6 +77,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "gamefuncs.h" #include "hw_voxels.h" #include "hw_palmanager.h" +#include "razefont.h" CVAR(Bool, autoloadlights, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) CVAR(Bool, autoloadbrightmaps, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) @@ -140,7 +141,7 @@ void MainLoop(); void SetConsoleNotifyBuffer(); bool PreBindTexture(FRenderState* state, FGameTexture*& tex, EUpscaleFlags& flags, int& scaleflags, int& clampmode, int& translation, int& overrideshader); void PostLoadSetup(); -void FontCharCreated(FGameTexture* base, FGameTexture* untranslated, FGameTexture* translated); +void FontCharCreated(FGameTexture* base, FGameTexture* untranslated); void LoadVoxelModels(); DStatusBarCore* StatusBar; @@ -984,9 +985,10 @@ int RunGame() GPalette.Init(MAXPALOOKUPS + 2); // one slot for each translation, plus a separate one for the base palettes and the internal one StartScreen->Progress(); TexMan.Init([]() {}, [](BuildInfo &) {}); - V_InitFonts(); StartScreen->Progress(); TileFiles.Init(); + TileFiles.LoadArtSet("tiles%03d.art"); // it's the same for all games. + InitFont(); StartScreen->Progress(); I_InitSound(); StartScreen->Progress(); @@ -1009,7 +1011,6 @@ int RunGame() GPalette.Init(MAXPALOOKUPS + 1); // one slot for each translation, plus a separate one for the base palettes. gi->loadPalette(); voxInit(); - TileFiles.LoadArtSet("tiles%03d.art"); // it's the same for all games. engineInit(); gi->app_init(); StartScreen->Progress(); diff --git a/source/core/razefont.cpp b/source/core/razefont.cpp new file mode 100644 index 000000000..a07443a7f --- /dev/null +++ b/source/core/razefont.cpp @@ -0,0 +1,83 @@ +/* +** razefont.cpp +** +**--------------------------------------------------------------------------- +** Copyright 2021 Christoph Oelckers +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions +** are met: +** +** 1. Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** 2. Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in the +** documentation and/or other materials provided with the distribution. +** 3. The name of the author may not be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**--------------------------------------------------------------------------- +** +** +*/ + +#include "razefont.h" +#include "i_interface.h" + +FGameTexture* GetBaseForChar(FGameTexture* t); +void FontCharCreated(FGameTexture* base, FGameTexture* glyph); + + +FFont* IndexFont; +FFont* DigiFont; + +static void SetupHires(FFont *font) +{ + if (!font) return; + auto altfont = font->AltFont(); + if (!altfont) return; + // Set up hightile links for the font. + for (int i = 33; i < 127; i++) + { + auto mycode = font->GetCharCode(i, true); + if (mycode != i) continue; + auto mychar = font->GetChar(i, CR_UNDEFINED, nullptr); + if (mychar == nullptr) continue; + + auto altcode = altfont->GetCharCode(i, true); + if (altcode != i) continue; + auto altchar = altfont->GetChar(i, CR_UNDEFINED, nullptr); + if (altchar == nullptr) continue; + + auto base = GetBaseForChar(altchar); + if (base == nullptr) continue; + FontCharCreated(base, mychar); + } +} + +void InitFont() +{ + V_InitFonts(); + BigFont = V_GetFont("BigFont"); + SmallFont = V_GetFont("SmallFont"); + SmallFont2 = V_GetFont("SmallFont2"); + IndexFont = V_GetFont("IndexFont"); + DigiFont = V_GetFont("DigiFont"); + + SetupHires(BigFont); + SetupHires(SmallFont); + + // todo: Compare small and big fonts with the base font and decide which one to use. + // todo: Allow Duke to select between both variants. +} diff --git a/source/core/razefont.h b/source/core/razefont.h new file mode 100644 index 000000000..0228e6a7f --- /dev/null +++ b/source/core/razefont.h @@ -0,0 +1,7 @@ +#pragma once +#include "v_font.h" + +extern FFont* IndexFont; +extern FFont* DigiFont; + +void InitFont(); diff --git a/source/core/textures/hightile.cpp b/source/core/textures/hightile.cpp index 85a809016..66590f9eb 100644 --- a/source/core/textures/hightile.cpp +++ b/source/core/textures/hightile.cpp @@ -64,21 +64,18 @@ struct HightileReplacement static TMap> tileReplacements; static TMap> textureReplacements; -struct FontCharInf -{ - FGameTexture* base; - FGameTexture* untranslated; - FGameTexture* translated; -}; +static TMap deferredChars; -static TArray deferredChars; - -void FontCharCreated(FGameTexture* base, FGameTexture* untranslated, FGameTexture* translated) +FGameTexture* GetBaseForChar(FGameTexture* t) { - // Store these in a list for now - they can only be processed in the finalization step. - if (translated == untranslated) translated = nullptr; - FontCharInf fci = { base, untranslated, translated }; - deferredChars.Push(fci); + auto c = deferredChars.CheckKey(t); + if (c) return *c; + return t; +} + +void FontCharCreated(FGameTexture* base, FGameTexture* glyph) +{ + deferredChars.Insert(glyph, base); } @@ -215,28 +212,16 @@ void PostLoadSetup() tileReplacements.Clear(); int i = 0; - for (auto& ci : deferredChars) + decltype(deferredChars)::Iterator it(deferredChars); + decltype(deferredChars)::Pair* pair; + while (it.NextPair(pair)) { i++; - auto rep = textureReplacements.CheckKey(ci.base->GetID().GetIndex()); + auto rep = textureReplacements.CheckKey(pair->Value->GetID().GetIndex()); if (rep) { - if (ci.untranslated) - { - auto rrep = *rep; - textureReplacements.Insert(ci.untranslated->GetID().GetIndex(), std::move(rrep)); - } - - if (ci.translated) - { - //auto reptex = FindReplacement(ci.base->GetID(), 0, false); - //if (reptex) - { - // Todo: apply the translation. - //auto rrep = *rep; - //textureReplacements.Insert(ci.translated->GetID().GetIndex(), std::move(rrep)); - } - } + auto chk = textureReplacements.CheckKey(pair->Key->GetID().GetIndex()); + if (!chk) textureReplacements.Insert(pair->Key->GetID().GetIndex(), *rep); } } } diff --git a/source/games/blood/src/view.cpp b/source/games/blood/src/view.cpp index 71ffb63fe..7415659ac 100644 --- a/source/games/blood/src/view.cpp +++ b/source/games/blood/src/view.cpp @@ -43,6 +43,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "v_draw.h" #include "precache.h" #include "render.h" +#include "razefont.h" EXTERN_CVAR(Bool, testnewrenderer) @@ -57,31 +58,6 @@ double gInterpolate; int gScreenTilt; -FFont* DigiFont; - -FFont* FontSet(const char* name, int tile, int space) -{ - GlyphSet glyphs; - for (int i = 1; i < 96; i++) - { - auto tex = tileGetTexture(tile + i); - if (tex && tex->isValid() && tex->GetTexelWidth() > 0 && tex->GetTexelHeight() > 0) - { - glyphs.Insert(i + 32, tex); - tex->SetOffsetsNotForFont(); - } - - } - auto fnt = V_GetFont(name); - if (!fnt) - { - fnt = new ::FFont(name, nullptr, nullptr, 0, 0, 0, 0, tileWidth(tile), false, false, false, &glyphs); - fnt->SetKerning(space); - - } - return fnt; -} - void viewBackupView(int nPlayer) { PLAYER *pPlayer = &gPlayer[nPlayer]; @@ -165,16 +141,6 @@ void viewInit(void) { Printf("Initializing status bar\n"); - FontSet("tilesmallfont", 4096, 0); - FontSet("tilebigfont", 4192, 1); - FontSet("gothfont", 4288, 1); - SmallFont2 = FontSet("smallfont2", 4384, 1); - DigiFont = FontSet("digifont", 4480, 0); - - BigFont = V_GetFont("BIGFONT"); - SmallFont = V_GetFont("SMALLFONT"); - - lensdata = fileSystem.LoadFile("lens.dat"); assert(lensdata.Size() == kLensSize * kLensSize * sizeof(int)); diff --git a/source/games/duke/all_d.cpp b/source/games/duke/all_d.cpp index a528bf07d..d2373164f 100644 --- a/source/games/duke/all_d.cpp +++ b/source/games/duke/all_d.cpp @@ -1,4 +1,3 @@ -#include "src/2d_d.cpp" #include "src/actors_d.cpp" #include "src/animatesprites_d.cpp" #include "src/flags_d.cpp" diff --git a/source/games/duke/all_r.cpp b/source/games/duke/all_r.cpp index 7a0263cc5..e874f9a3a 100644 --- a/source/games/duke/all_r.cpp +++ b/source/games/duke/all_r.cpp @@ -1,4 +1,3 @@ -#include "src/2d_r.cpp" #include "src/actors_r.cpp" #include "src/actors_lava.cpp" #include "src/animatesprites_r.cpp" diff --git a/source/games/duke/src/2d_d.cpp b/source/games/duke/src/2d_d.cpp deleted file mode 100644 index 90823a08b..000000000 --- a/source/games/duke/src/2d_d.cpp +++ /dev/null @@ -1,158 +0,0 @@ -//------------------------------------------------------------------------- -/* -Copyright (C) 1996, 2003 - 3D Realms Entertainment - -This file is part of Duke Nukem 3D version 1.5 - Atomic Edition - -Duke Nukem 3D is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -aint with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Original Source: 1996 - Todd Replogle -Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms -Modifications for JonoF's port by Jonathon Fowler (jf@jonof.id.au) -*/ -//------------------------------------------------------------------------- - -// this file collects all 2D content of the game that was scattered across multiple sources originally. -// All this should transition to a more modern, preferably localization friendly, approach later. - -#include "ns.h" -#include "duke3d.h" -#include "names_d.h" -#include "animtexture.h" -#include "animlib.h" -#include "raze_music.h" -#include "mapinfo.h" -#include "screenjob.h" -#include "texturemanager.h" -#include "buildtiles.h" -#include "mapinfo.h" -#include "c_dispatch.h" -#include "gamestate.h" -#include "gamefuncs.h" - -BEGIN_DUKE_NS - -//========================================================================== -// -// Sets up the game fonts. -// -//========================================================================== - -void InitFonts_d() -{ - GlyphSet fontdata; - - if (!V_GetFont("TileSmallFont")) - { - // Small font - for (int i = 0; i < 95; i++) - { - auto tile = tileGetTexture(STARTALPHANUM + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - { - if (i >= 'a' && i <= 'z' && tileEqualTo(i, i - 32)) continue; - fontdata.Insert('!' + i, tile); - tile->SetOffsetsNotForFont(); - } - } - new ::FFont("TileSmallFont", nullptr, nullptr, 0, 0, 0, -1, 5, false, false, false, &fontdata); - fontdata.Clear(); - } - - // Big font - - if (!V_GetFont("TileBigFont")) - { - // This font is VERY messy... - fontdata.Insert('_', tileGetTexture(BIGALPHANUM - 11)); - fontdata.Insert('-', tileGetTexture(BIGALPHANUM - 11)); - for (int i = 0; i < 10; i++) fontdata.Insert('0' + i, tileGetTexture(BIGALPHANUM - 10 + i)); - for (int i = 0; i < 26; i++) fontdata.Insert('A' + i, tileGetTexture(BIGALPHANUM + i)); - fontdata.Insert('.', tileGetTexture(BIGPERIOD)); - fontdata.Insert(',', tileGetTexture(BIGCOMMA)); - fontdata.Insert('!', tileGetTexture(BIGX)); - fontdata.Insert('?', tileGetTexture(BIGQ)); - fontdata.Insert(';', tileGetTexture(BIGSEMI)); - fontdata.Insert(':', tileGetTexture(BIGCOLIN)); - fontdata.Insert('\\', tileGetTexture(BIGALPHANUM + 68)); - fontdata.Insert('/', tileGetTexture(BIGALPHANUM + 68)); - fontdata.Insert('%', tileGetTexture(BIGALPHANUM + 69)); - fontdata.Insert('`', tileGetTexture(BIGAPPOS)); - fontdata.Insert('"', tileGetTexture(BIGAPPOS)); - fontdata.Insert('\'', tileGetTexture(BIGAPPOS)); - // The texture offsets in this font are useless for font printing. This should only apply to these glyphs, not for international extensions, though. - GlyphSet::Iterator it(fontdata); - GlyphSet::Pair* pair; - while (it.NextPair(pair)) pair->Value->SetOffsetsNotForFont(); - new ::FFont("TileBigFont", nullptr, nullptr, 0, 0, 0, -1, 5, false, false, false, &fontdata); - fontdata.Clear(); - } - - SmallFont2 = V_GetFont("SmallFont2"); - if (!SmallFont2) - { - // Tiny font - for (int i = 0; i < 95; i++) - { - auto tile = tileGetTexture(MINIFONT + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - { - if (i >= 'a' && i <= 'z' && tileEqualTo(i, i - 32)) continue; - fontdata.Insert('!' + i, tile); - tile->SetOffsetsNotForFont(); - } - } - fontdata.Insert(1, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - SmallFont2 = new ::FFont("SmallFont2", nullptr, nullptr, 0, 0, 0, -1, 3, false, false, false, &fontdata); - SmallFont2->SetKerning(1); - fontdata.Clear(); - } - - IndexFont = V_GetFont("IndexFont"); - if (!IndexFont) - { - // SBAR index font - for (int i = 0; i < 10; i++) fontdata.Insert('0' + i, tileGetTexture(THREEBYFIVE0 + i)); - fontdata.Insert(':', tileGetTexture(THREEBYFIVE0 + 10)); - fontdata.Insert('/', tileGetTexture(THREEBYFIVE0 + 11)); - fontdata.Insert('%', tileGetTexture(MINIFONT + '%' - '!')); - fontdata.Insert(1, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - GlyphSet::Iterator iti(fontdata); - GlyphSet::Pair* pair; - while (iti.NextPair(pair)) pair->Value->SetOffsetsNotForFont(); - IndexFont = new ::FFont("IndexFont", nullptr, nullptr, 0, 0, 0, -1, -1, false, false, false, &fontdata); - fontdata.Clear(); - } - - DigiFont = V_GetFont("DigiFont"); - if (!DigiFont) - { - // digital font - for (int i = 0; i < 10; i++) fontdata.Insert('0' + i, tileGetTexture(DIGITALNUM + i)); - fontdata.Insert(1, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - GlyphSet::Iterator itd(fontdata); - GlyphSet::Pair* pair; - while (itd.NextPair(pair)) pair->Value->SetOffsetsNotForFont(); - DigiFont = new ::FFont("DigiFont", nullptr, nullptr, 0, 0, 0, -1, -1, false, false, false, &fontdata); - } - - // Todo: virtualize this; - BigFont = V_GetFont("BIGFONT"); - SmallFont = V_GetFont("SMALLFONT"); -} - - -END_DUKE_NS diff --git a/source/games/duke/src/2d_r.cpp b/source/games/duke/src/2d_r.cpp deleted file mode 100644 index 3d7ad3194..000000000 --- a/source/games/duke/src/2d_r.cpp +++ /dev/null @@ -1,149 +0,0 @@ -//------------------------------------------------------------------------- -/* -Copyright (C) 1996, 2003 - 3D Realms Entertainment -Copyright (C) 2017-2019 Nuke.YKT - -This file is part of Duke Nukem 3D version 1.5 - Atomic Edition - -Duke Nukem 3D is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Original Source: 1996 - Todd Replogle -Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms -*/ -//------------------------------------------------------------------------- - -// this file collects all 2D content of the game that was scattered across multiple sources originally. -// All this should transition to a more modern, preferably localization friendly, approach later. - -#include "ns.h" -#include "duke3d.h" -#include "names_r.h" -#include "animtexture.h" -#include "animlib.h" -#include "raze_music.h" -#include "mapinfo.h" -#include "screenjob.h" -#include "texturemanager.h" -#include "c_dispatch.h" -#include "gamestate.h" -#include "gamefuncs.h" - -BEGIN_DUKE_NS - - -//========================================================================== -// -// Sets up the game fonts. -// This is a duplicate of the _d function but needed since the tile numbers differ. -// -//========================================================================== - -void InitFonts_r() -{ - GlyphSet fontdata; - - if (!V_GetFont("TileSmallFont")) - { - // Small font - for (int i = 0; i < 95; i++) - { - auto tile = tileGetTexture(STARTALPHANUM + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - { - fontdata.Insert('!' + i, tile); - tile->SetOffsetsNotForFont(); - } - } - auto SmallFont = new ::FFont("TileSmallFont", nullptr, nullptr, 0, 0, 0, -1, 10, false, false, false, &fontdata); - SmallFont->SetKerning(2); - fontdata.Clear(); - } - - // Big font - - if (!V_GetFont("TileBigFont")) - { - // This font is VERY messy... - fontdata.Insert('_', tileGetTexture(BIGALPHANUM - 11)); - fontdata.Insert('-', tileGetTexture(BIGALPHANUM - 11)); - for (int i = 0; i < 10; i++) fontdata.Insert('0' + i, tileGetTexture(BIGALPHANUM - 10 + i)); - for (int i = 0; i < 26; i++) fontdata.Insert('A' + i, tileGetTexture(BIGALPHANUM + i)); - fontdata.Insert('.', tileGetTexture(BIGPERIOD)); - fontdata.Insert(',', tileGetTexture(BIGCOMMA)); - fontdata.Insert('!', tileGetTexture(BIGX)); - fontdata.Insert('?', tileGetTexture(BIGQ)); - fontdata.Insert(';', tileGetTexture(BIGSEMI)); - fontdata.Insert(':', tileGetTexture(BIGCOLIN)); - fontdata.Insert('\\', tileGetTexture(BIGALPHANUM + 68)); - fontdata.Insert('/', tileGetTexture(BIGALPHANUM + 68)); - fontdata.Insert('%', tileGetTexture(BIGALPHANUM + 69)); - fontdata.Insert('`', tileGetTexture(BIGAPPOS)); - fontdata.Insert('"', tileGetTexture(BIGAPPOS)); - fontdata.Insert('\'', tileGetTexture(BIGAPPOS)); - GlyphSet::Iterator it(fontdata); - GlyphSet::Pair* pair; - while (it.NextPair(pair)) pair->Value->SetOffsetsNotForFont(); - auto BigFont = new ::FFont("TileBigFont", nullptr, nullptr, 0, 0, 0, -1, 10, false, false, false, &fontdata); - BigFont->SetKerning(6); - fontdata.Clear(); - } - - SmallFont2 = V_GetFont("SmallFont2"); - if (!SmallFont2) - { - // Tiny font - for (int i = 0; i < 95; i++) - { - auto tile = tileGetTexture(MINIFONT + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - fontdata.Insert('!' + i, tile); - } - fontdata.Insert(1, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - SmallFont2 = new ::FFont("SmallFont2", nullptr, nullptr, 0, 0, 0, -1, 6, false, false, false, &fontdata); - SmallFont2->SetKerning(2); - fontdata.Clear(); - } - - IndexFont = V_GetFont("IndexFont"); - if (!IndexFont) - { - // SBAR index font - for (int i = 0; i < 10; i++) fontdata.Insert('0' + i, tileGetTexture(THREEBYFIVE + i)); - fontdata.Insert(':', tileGetTexture(THREEBYFIVE + 10)); - fontdata.Insert('/', tileGetTexture(THREEBYFIVE + 11)); - fontdata.Insert('%', tileGetTexture(MINIFONT + '%' - '!')); - fontdata.Insert(1, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - IndexFont = new ::FFont("IndexFont", nullptr, nullptr, 0, 0, 0, -1, -1, false, false, false, &fontdata); - - fontdata.Clear(); - } - - DigiFont = V_GetFont("DigiFont"); - if (!DigiFont) - { - // digital font - for (int i = 0; i < 10; i++) fontdata.Insert('0' + i, tileGetTexture(DIGITALNUM + i)); - fontdata.Insert(1, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - DigiFont = new ::FFont("DigiFont", nullptr, nullptr, 0, 0, 0, -1, -1, false, false, false, &fontdata); - } - - BigFont = V_GetFont("BIGFONT"); - SmallFont = V_GetFont("SMALLFONT"); - -} - - -END_DUKE_NS diff --git a/source/games/duke/src/animatesprites_d.cpp b/source/games/duke/src/animatesprites_d.cpp index e014bc8be..c72d4c58c 100644 --- a/source/games/duke/src/animatesprites_d.cpp +++ b/source/games/duke/src/animatesprites_d.cpp @@ -38,6 +38,7 @@ source as it is released. #include "prediction.h" #include "names_d.h" #include "dukeactor.h" +#include "gamefuncs.h" EXTERN_CVAR(Bool, wt_commentary) diff --git a/source/games/duke/src/animatesprites_r.cpp b/source/games/duke/src/animatesprites_r.cpp index 301cb7151..2b0d4be5e 100644 --- a/source/games/duke/src/animatesprites_r.cpp +++ b/source/games/duke/src/animatesprites_r.cpp @@ -32,6 +32,7 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "names_r.h" #include "prediction.h" #include "dukeactor.h" +#include "gamefuncs.h" BEGIN_DUKE_NS diff --git a/source/games/duke/src/dispatch.cpp b/source/games/duke/src/dispatch.cpp index 39df23122..0a617c345 100644 --- a/source/games/duke/src/dispatch.cpp +++ b/source/games/duke/src/dispatch.cpp @@ -105,10 +105,6 @@ void think_r(); void animatesprites_d(spritetype* tsprite, int& spritesortcnt, int x, int y, int a, int smoothratio); void animatesprites_r(spritetype* tsprite, int& spritesortcnt, int x, int y, int a, int smoothratio); -void InitFonts_d(); -void InitFonts_r(); - - Dispatcher fi; void SetDispatcher() @@ -116,8 +112,6 @@ void SetDispatcher() if (!isRR()) { fi = { - InitFonts_d, - think_d, initactorflags_d, isadoorwall_d, @@ -161,8 +155,6 @@ void SetDispatcher() else { fi = { - InitFonts_r, - think_r, initactorflags_r, isadoorwall_r, diff --git a/source/games/duke/src/duke3d.h b/source/games/duke/src/duke3d.h index da153613a..9ffd490f1 100644 --- a/source/games/duke/src/duke3d.h +++ b/source/games/duke/src/duke3d.h @@ -22,9 +22,6 @@ BEGIN_DUKE_NS -extern FFont* IndexFont; -extern FFont* DigiFont; - struct GameInterface : public ::GameInterface { const char* Name() override { return "Duke"; } @@ -74,9 +71,6 @@ struct GameInterface : public ::GameInterface struct Dispatcher { - // global stuff - void (*InitFonts)(); - // sectors_?.cpp void (*think)(); void (*initactorflags)(); diff --git a/source/games/duke/src/game.cpp b/source/games/duke/src/game.cpp index 08f898c48..102d7db81 100644 --- a/source/games/duke/src/game.cpp +++ b/source/games/duke/src/game.cpp @@ -325,7 +325,6 @@ void GameInterface::app_init() screenpeek = myconnectindex; LoadDefinitions(); - fi.InitFonts(); SetTileNames(); TileFiles.SetBackup(); C_InitConback(TexMan.CheckForTexture("MENUSCREEN", ETextureType::Any), false, 0.75); diff --git a/source/games/duke/src/game_misc.cpp b/source/games/duke/src/game_misc.cpp index 8f4165183..6da9b80ed 100644 --- a/source/games/duke/src/game_misc.cpp +++ b/source/games/duke/src/game_misc.cpp @@ -47,9 +47,6 @@ Modifications for JonoF's port by Jonathon Fowler (jf@jonof.id.au) BEGIN_DUKE_NS -FFont* IndexFont; -FFont* DigiFont; - //--------------------------------------------------------------------------- // // debug output diff --git a/source/games/exhumed/src/2d.cpp b/source/games/exhumed/src/2d.cpp index 54cad78e6..ed3b54f0b 100644 --- a/source/games/exhumed/src/2d.cpp +++ b/source/games/exhumed/src/2d.cpp @@ -48,77 +48,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_PS_NS -//--------------------------------------------------------------------------- -// -// -// -//--------------------------------------------------------------------------- - -void InitFonts() -{ - GlyphSet fontdata; - - if (!V_GetFont("TileSmallFont")) - { - for (int i = 0; i < 26; i++) - { - fontdata.Insert('A' + i, tileGetTexture(3522 + i)); - } - for (int i = 0; i < 10; i++) - { - fontdata.Insert('0' + i, tileGetTexture(3555 + i)); - } - fontdata.Insert('.', tileGetTexture(3548)); - fontdata.Insert('!', tileGetTexture(3549)); - fontdata.Insert('?', tileGetTexture(3550)); - fontdata.Insert(',', tileGetTexture(3551)); - fontdata.Insert('`', tileGetTexture(3552)); - fontdata.Insert('"', tileGetTexture(3553)); - fontdata.Insert('-', tileGetTexture(3554)); - fontdata.Insert('_', tileGetTexture(3554)); - fontdata.Insert(127, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - GlyphSet::Iterator it(fontdata); - GlyphSet::Pair* pair; - while (it.NextPair(pair)) pair->Value->SetOffsetsNotForFont(); - auto SmallFont = new ::FFont("TileSmallFont", nullptr, nullptr, 0, 0, 0, -1, 4, false, false, false, &fontdata); - SmallFont->SetKerning(1); - SmallFont->SetHeight(11); // FFont calculates a bad value for this. - fontdata.Clear(); - } - - SmallFont2 = V_GetFont("SmallFont2"); - if (!SmallFont2) - { - for (int i = 0; i < 26; i++) - { - fontdata.Insert('A' + i, tileGetTexture(3624 + i)); - } - for (int i = 0; i < 10; i++) - { - fontdata.Insert('0' + i, tileGetTexture(3657 + i)); - } - fontdata.Insert('!', tileGetTexture(3651)); - fontdata.Insert('"', tileGetTexture(3655)); - fontdata.Insert('\'', tileGetTexture(3654)); - fontdata.Insert('`', tileGetTexture(3654)); - fontdata.Insert('.', tileGetTexture(3650)); - fontdata.Insert(',', tileGetTexture(3653)); - fontdata.Insert('-', tileGetTexture(3656)); - fontdata.Insert('?', tileGetTexture(3652)); - fontdata.Insert(127, TexMan.FindGameTexture("TINYBLAK")); // this is only here to widen the color range of the font to produce a better translation. - GlyphSet::Iterator it2(fontdata); - GlyphSet::Pair* pair; - while (it2.NextPair(pair)) pair->Value->SetOffsetsNotForFont(); - SmallFont2 = new ::FFont("SmallFont2", nullptr, nullptr, 0, 0, 0, -1, 4, false, false, false, &fontdata); - SmallFont2->SetKerning(1); - } - - BigFont = V_GetFont("BIGFONT"); - SmallFont = V_GetFont("SMALLFONT"); - -} - - //--------------------------------------------------------------------------- // // diff --git a/source/games/exhumed/src/exhumed.cpp b/source/games/exhumed/src/exhumed.cpp index 354946b35..8aef71e58 100644 --- a/source/games/exhumed/src/exhumed.cpp +++ b/source/games/exhumed/src/exhumed.cpp @@ -57,7 +57,6 @@ static MapRecord* NextMap; void uploadCinemaPalettes(); int32_t registerosdcommands(void); -void InitFonts(); void InitCheats(); int EndLevel = 0; @@ -497,7 +496,6 @@ void GameInterface::app_init() // temp - moving InstallEngine(); before FadeOut as we use nextpage() in FadeOut InstallEngine(); LoadDefinitions(); - InitFonts(); SetTileNames(); TileFiles.SetBackup(); diff --git a/source/games/sw/src/game.cpp b/source/games/sw/src/game.cpp index 71eb49d3f..ce6939fba 100644 --- a/source/games/sw/src/game.cpp +++ b/source/games/sw/src/game.cpp @@ -229,7 +229,6 @@ void GameInterface::app_init() LoadCustomInfoFromScript("swcustom.txt"); // Load user customisation information LoadDefinitions(); - InitFonts(); SetTileNames(); TileFiles.SetBackup(); userConfig.AddDefs.reset(); diff --git a/source/games/sw/src/game.h b/source/games/sw/src/game.h index 5eb8a4103..0838ad1ee 100644 --- a/source/games/sw/src/game.h +++ b/source/games/sw/src/game.h @@ -2207,7 +2207,6 @@ extern short LastSaveNum; void LoadSaveMsg(const char *msg); void UpdateStatusBar(); -void InitFonts(); int32_t registerosdcommands(void); void SW_InitMultiPsky(void); diff --git a/source/games/sw/src/text.cpp b/source/games/sw/src/text.cpp index 937e0d4be..72ff115a5 100644 --- a/source/games/sw/src/text.cpp +++ b/source/games/sw/src/text.cpp @@ -39,89 +39,9 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms BEGIN_SW_NS -//========================================================================== -// -// Sets up the game fonts. -// -//========================================================================== - -void InitFonts() -{ - GlyphSet fontdata; - - if (!V_GetFont("TileSmallFont")) - { - // Small font - for (int i = 0; i < 95; i++) - { - auto tile = tileGetTexture(STARTALPHANUM + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - { - fontdata.Insert('!' + i, tile); - tile->SetOffsetsNotForFont(); - } - } - new ::FFont("TileSmallFont", nullptr, nullptr, 0, 0, 0, -1, 4, false, false, false, &fontdata); - fontdata.Clear(); - } - - SmallFont2 = V_GetFont("SmallFont2"); - if (!SmallFont2) - { - - // Tiny font - for (int i = 0; i < 95; i++) - { - auto tile = tileGetTexture(2930 + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - { - fontdata.Insert('!' + i, tile); - tile->SetOffsetsNotForFont(); - } - } - SmallFont2 = new ::FFont("SmallFont2", nullptr, nullptr, 0, 0, 0, -1, 4, false, false, false, &fontdata); - fontdata.Clear(); - } - - if (!V_GetFont("TileBigFont")) - { - - const int FONT_LARGE_ALPHA = 3706; - const int FONT_LARGE_DIGIT = 3732; - - // Big - for (int i = 0; i < 10; i++) - { - auto tile = tileGetTexture(FONT_LARGE_DIGIT + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - { - fontdata.Insert('0' + i, tile); - tile->SetOffsetsNotForFont(); - } - } - for (int i = 0; i < 26; i++) - { - auto tile = tileGetTexture(FONT_LARGE_ALPHA + i); - if (tile && tile->isValid() && tile->GetTexelWidth() > 0 && tile->GetTexelHeight() > 0) - { - fontdata.Insert('A' + i, tile); - tile->SetOffsetsNotForFont(); - } - } - - auto BigFont = new ::FFont("TileBigFont", nullptr, nullptr, 0, 0, 0, -1, 10, false, false, false, &fontdata); - BigFont->SetKerning(1); - } - - BigFont = V_GetFont("BIGFONT"); - SmallFont = V_GetFont("SMALLFONT"); - -} - //--------------------------------------------------------------------------- // -// Notification messages. Native SW-style display should later be -// provided by the backend. +// Notification messages. // //--------------------------------------------------------------------------- diff --git a/wadsrc/static/filter/blood/fontdefs.txt b/wadsrc/static/filter/blood/fontdefs.txt new file mode 100644 index 000000000..7c042b6a5 --- /dev/null +++ b/wadsrc/static/filter/blood/fontdefs.txt @@ -0,0 +1,384 @@ +tilesmallfont +{ + ignoreoffsets + spacewidth 4 + + ! #04097 + "\"" #04098 + # #04099 + $ #04100 + % #04101 + & #04102 + ' #04103 + ( #04104 + ) #04105 + * #04106 + + #04107 + , #04108 + - #04109 + . #04110 + / #04111 + 0 #04112 + 1 #04113 + 2 #04114 + 3 #04115 + 4 #04116 + 5 #04117 + 6 #04118 + 7 #04119 + 8 #04120 + 9 #04121 + : #04122 + ; #04123 + < #04124 + = #04125 + > #04126 + ? #04127 + @ #04128 + A #04129 + B #04130 + C #04131 + D #04132 + E #04133 + F #04134 + G #04135 + H #04136 + I #04137 + J #04138 + K #04139 + L #04140 + M #04141 + N #04142 + O #04143 + P #04144 + Q #04145 + R #04146 + S #04147 + T #04148 + U #04149 + V #04150 + W #04151 + X #04152 + Y #04153 + Z #04154 + [ #04155 + \\ #04156 + ] #04157 + ^ #04158 + _ #04159 + a #04161 + b #04162 + c #04163 + d #04164 + e #04165 + f #04166 + g #04167 + h #04168 + i #04169 + j #04170 + k #04171 + l #04172 + m #04173 + n #04174 + o #04175 + p #04176 + q #04177 + r #04178 + s #04179 + t #04180 + u #04181 + v #04182 + w #04183 + x #04184 + y #04185 + z #04186 + "-{" #04187 + | #04188 + "-}" #04189 + ~ #04190 +} + +tilebigfont +{ + ignoreoffsets + kerning 1 + spacewidth 5 + + ! #04193 + "\"" #04194 + # #04195 + $ #04196 + % #04197 + & #04198 + ' #04199 + ( #04200 + ) #04201 + * #04202 + + #04203 + , #04204 + - #04205 + . #04206 + / #04207 + 0 #04208 + 1 #04209 + 2 #04210 + 3 #04211 + 4 #04212 + 5 #04213 + 6 #04214 + 7 #04215 + 8 #04216 + 9 #04217 + : #04218 + ; #04219 + < #04220 + = #04221 + > #04222 + ? #04223 + A #04225 + B #04226 + C #04227 + D #04228 + E #04229 + F #04230 + G #04231 + H #04232 + I #04233 + J #04234 + K #04235 + L #04236 + M #04237 + N #04238 + O #04239 + P #04240 + Q #04241 + R #04242 + S #04243 + T #04244 + U #04245 + V #04246 + W #04247 + X #04248 + Y #04249 + Z #04250 + [ #04251 + \\ #04252 + ] #04253 + ^ #04254 + _ #04255 + a #04257 + b #04258 + c #04259 + d #04260 + e #04261 + f #04262 + g #04263 + h #04264 + i #04265 + j #04266 + k #04267 + l #04268 + m #04269 + n #04270 + o #04271 + p #04272 + q #04273 + r #04274 + s #04275 + t #04276 + u #04277 + v #04278 + w #04279 + x #04280 + y #04281 + z #04282 +} + +smallfont2 +{ + ignoreoffsets + kerning 1 + minluminosity 0 + spacewidth 4 + + ! #04385 + "\"" #04386 + # #04387 + $ #04388 + % #04389 + & #04390 + ' #04391 + ( #04392 + ) #04393 + * #04394 + + #04395 + , #04396 + - #04397 + . #04398 + / #04399 + 0 #04400 + 1 #04401 + 2 #04402 + 3 #04403 + 4 #04404 + 5 #04405 + 6 #04406 + 7 #04407 + 8 #04408 + 9 #04409 + : #04410 + ; #04411 + < #04412 + = #04413 + > #04414 + ? #04415 + A #04417 + B #04418 + C #04419 + D #04420 + E #04421 + F #04422 + G #04423 + H #04424 + I #04425 + J #04426 + K #04427 + L #04428 + M #04429 + N #04430 + O #04431 + P #04432 + Q #04433 + R #04434 + S #04435 + T #04436 + U #04437 + V #04438 + W #04439 + X #04440 + Y #04441 + Z #04442 + [ #04443 + \\ #04444 + ] #04445 + _ #04447 + a #04449 + b #04450 + c #04451 + d #04452 + e #04453 + f #04454 + g #04455 + h #04456 + i #04457 + j #04458 + k #04459 + l #04460 + m #04461 + n #04462 + o #04463 + p #04464 + q #04465 + r #04466 + s #04467 + t #04468 + u #04469 + v #04470 + w #04471 + x #04472 + y #04473 + z #04474 +} + +digifont +{ + ignoreoffsets + spacewidth 4 + + ! #04481 + "\"" #04482 + $ #04484 + % #04485 + ' #04487 + ( #04488 + ) #04489 + + #04491 + , #04492 + - #04493 + . #04494 + / #04495 + 0 #04496 + 1 #04497 + 2 #04498 + 3 #04499 + 4 #04500 + 5 #04501 + 6 #04502 + 7 #04503 + 8 #04504 + 9 #04505 + : #04506 + ; #04507 + < #04508 + = #04509 + > #04510 + A #04513 + B #04514 + C #04515 + D #04516 + E #04517 + F #04518 + G #04519 + H #04520 + I #04521 + J #04522 + K #04523 + L #04524 + M #04525 + N #04526 + O #04527 + P #04528 + Q #04529 + R #04530 + S #04531 + T #04532 + U #04533 + V #04534 + W #04535 + X #04536 + Y #04537 + Z #04538 + [ #04539 + \\ #04540 + ] #04541 + a #04545 + b #04546 + c #04547 + d #04548 + e #04549 + f #04550 + g #04551 + h #04552 + i #04553 + j #04554 + k #04555 + l #04556 + m #04557 + n #04558 + o #04559 + p #04560 + q #04561 + r #04562 + s #04563 + t #04564 + u #04565 + v #04566 + w #04567 + x #04568 + y #04569 + z #04570 + "-{" #04571 + | #04572 + "-}" #04573 +} + diff --git a/wadsrc/static/filter/duke/fontdefs.txt b/wadsrc/static/filter/duke/fontdefs.txt new file mode 100644 index 000000000..e062908f6 --- /dev/null +++ b/wadsrc/static/filter/duke/fontdefs.txt @@ -0,0 +1,295 @@ +tilesmallfont +{ + ignoreoffsets + spacewidth 5 + + ! #02822 + "\"" #02823 + # #02824 + $ #02825 + % #02826 + & #02827 + ' #02828 + ( #02829 + ) #02830 + * #02831 + + #02832 + , #02833 + - #02834 + . #02835 + / #02836 + 0 #02837 + 1 #02838 + 2 #02839 + 3 #02840 + 4 #02841 + 5 #02842 + 6 #02843 + 7 #02844 + 8 #02845 + 9 #02846 + : #02847 + ; #02848 + < #02849 + = #02850 + > #02851 + ? #02852 + @ #02853 + A #02854 + B #02855 + C #02856 + D #02857 + E #02858 + F #02859 + G #02860 + H #02861 + I #02862 + J #02863 + K #02864 + L #02865 + M #02866 + N #02867 + O #02868 + P #02869 + Q #02870 + R #02871 + S #02872 + T #02873 + U #02874 + V #02875 + W #02876 + X #02877 + Y #02878 + Z #02879 + [ #02880 + \\ #02881 + ] #02882 + ^ #02883 + _ #02884 + ` #02885 + a #02886 + b #02887 + c #02888 + d #02889 + e #02890 + f #02891 + g #02892 + h #02893 + i #02894 + j #02895 + k #02896 + l #02897 + m #02898 + n #02899 + o #02900 + p #02901 + q #02902 + r #02903 + s #02904 + t #02905 + u #02906 + v #02907 + w #02908 + x #02909 + y #02910 + z #02911 + "-{" #02912 + | #02913 + "-}" #02914 + ~ #02915 +} + +tilebigfont +{ + ignoreoffsets + spacewidth 5 + + ! #03004 + "\"" #03022 + % #03009 + ' #03022 + , #03003 + - #02929 + . #03002 + / #03008 + 0 #02930 + 1 #02931 + 2 #02932 + 3 #02933 + 4 #02934 + 5 #02935 + 6 #02936 + 7 #02937 + 8 #02938 + 9 #02939 + : #03007 + ; #03006 + ? #03005 + A #02940 + B #02941 + C #02942 + D #02943 + E #02944 + F #02945 + G #02946 + H #02947 + I #02948 + J #02949 + K #02950 + L #02951 + M #02952 + N #02953 + O #02954 + P #02955 + Q #02956 + R #02957 + S #02958 + T #02959 + U #02960 + V #02961 + W #02962 + X #02963 + Y #02964 + Z #02965 + \\ #03008 + _ #02929 + ` #03022 +} + +smallfont2 +{ + ignoreoffsets + kerning 1 + minluminosity 0 + spacewidth 3 + + ! #03072 + "\"" #03073 + # #03074 + $ #03075 + % #03076 + & #03077 + ' #03078 + ( #03079 + ) #03080 + * #03081 + + #03082 + , #03083 + - #03084 + . #03085 + / #03086 + 0 #03087 + 1 #03088 + 2 #03089 + 3 #03090 + 4 #03091 + 5 #03092 + 6 #03093 + 7 #03094 + 8 #03095 + 9 #03096 + : #03097 + ; #03098 + < #03099 + = #03100 + > #03101 + ? #03102 + @ #03103 + A #03104 + B #03105 + C #03106 + D #03107 + E #03108 + F #03109 + G #03110 + H #03111 + I #03112 + J #03113 + K #03114 + L #03115 + M #03116 + N #03117 + O #03118 + P #03119 + Q #03120 + R #03121 + S #03122 + T #03123 + U #03124 + V #03125 + W #03126 + X #03127 + Y #03128 + Z #03129 + [ #03130 + \\ #03131 + ] #03132 + ^ #03133 + _ #03134 + ` #03135 + a #03104 + b #03105 + c #03106 + d #03107 + e #03108 + f #03109 + g #03110 + h #03111 + i #03112 + j #03113 + k #03114 + l #03115 + m #03116 + n #03117 + o #03118 + p #03119 + q #03120 + r #03121 + s #03122 + t #03123 + u #03124 + v #03125 + w #03126 + x #03127 + y #03128 + z #03129 + "-{" #03162 + | #03163 + "-}" #03164 + ~ #03165 +} + +digifont +{ + ignoreoffsets + minluminosity 0 + 0 #02472 + 1 #02473 + 2 #02474 + 3 #02475 + 4 #02476 + 5 #02477 + 6 #02478 + 7 #02479 + 8 #02480 + 9 #02481 +} + +indexfont +{ + ignoreoffsets + minluminosity 0 + % #03076 + / #03021 + 0 #03010 + 1 #03011 + 2 #03012 + 3 #03013 + 4 #03014 + 5 #03015 + 6 #03016 + 7 #03017 + 8 #03018 + 9 #03019 + : #03020 +} diff --git a/wadsrc/static/filter/exhumed/fontdefs.txt b/wadsrc/static/filter/exhumed/fontdefs.txt new file mode 100644 index 000000000..a6b553f9f --- /dev/null +++ b/wadsrc/static/filter/exhumed/fontdefs.txt @@ -0,0 +1,101 @@ +tilesmallfont +{ + ignoreoffsets + kerning 1 + minluminosity 0 + spacewidth 4 + + ! #03549 + "\"" #03553 + , #03551 + - #03554 + . #03548 + 0 #03555 + 1 #03556 + 2 #03557 + 3 #03558 + 4 #03559 + 5 #03560 + 6 #03561 + 7 #03562 + 8 #03563 + 9 #03564 + ? #03550 + A #03522 + B #03523 + C #03524 + D #03525 + E #03526 + F #03527 + G #03528 + H #03529 + I #03530 + J #03531 + K #03532 + L #03533 + M #03534 + N #03535 + O #03536 + P #03537 + Q #03538 + R #03539 + S #03540 + T #03541 + U #03542 + V #03543 + W #03544 + X #03545 + Y #03546 + Z #03547 + _ #03554 + ` #03552 +} + +smallfont2 +{ + ignoreoffsets + kerning 1 + minluminosity 0 + spacewidth 4 + + ! #03651 + , #03653 + . #03650 + 0 #03657 + 1 #03658 + 2 #03659 + 3 #03660 + 4 #03661 + 5 #03662 + 6 #03663 + 7 #03664 + 8 #03665 + 9 #03666 + ? #03652 + A #03624 + B #03625 + C #03626 + D #03627 + E #03628 + F #03629 + G #03630 + H #03631 + I #03632 + J #03633 + K #03634 + L #03635 + M #03636 + N #03637 + O #03638 + P #03639 + Q #03640 + R #03641 + S #03642 + T #03643 + U #03644 + V #03645 + W #03646 + X #03647 + Y #03648 + Z #03649 +} diff --git a/wadsrc/static/filter/nam/fontdefs.txt b/wadsrc/static/filter/nam/fontdefs.txt new file mode 100644 index 000000000..066512598 --- /dev/null +++ b/wadsrc/static/filter/nam/fontdefs.txt @@ -0,0 +1,293 @@ +tilesmallfont +{ + ignoreoffsets + spacewidth 5 + + ! #02822 + "\"" #02823 + # #02824 + $ #02825 + % #02826 + & #02827 + ' #02828 + ( #02829 + ) #02830 + * #02831 + + #02832 + , #02833 + - #02834 + . #02835 + / #02836 + 0 #02837 + 1 #02838 + 2 #02839 + 3 #02840 + 4 #02841 + 5 #02842 + 6 #02843 + 7 #02844 + 8 #02845 + 9 #02846 + : #02847 + ; #02848 + < #02849 + = #02850 + > #02851 + ? #02852 + @ #02853 + A #02854 + B #02855 + C #02856 + D #02857 + E #02858 + F #02859 + G #02860 + H #02861 + I #02862 + J #02863 + K #02864 + L #02865 + M #02866 + N #02867 + O #02868 + P #02869 + Q #02870 + R #02871 + S #02872 + T #02873 + U #02874 + V #02875 + W #02876 + X #02877 + Y #02878 + Z #02879 + [ #02880 + \\ #02881 + ] #02882 + ^ #02883 + _ #02884 + ` #02885 + a #02886 + b #02887 + c #02888 + d #02889 + e #02890 + f #02891 + g #02892 + h #02893 + i #02894 + j #02895 + k #02896 + l #02897 + m #02898 + n #02899 + o #02900 + p #02901 + q #02902 + r #02903 + s #02904 + t #02905 + u #02906 + v #02907 + w #02908 + x #02909 + y #02910 + z #02911 + "-{" #02912 + | #02913 + "-}" #02914 + ~ #02915 +} + +tilebigfont +{ + ignoreoffsets + spacewidth 5 + + ! #03004 + "\"" #03022 + % #03009 + ' #03022 + , #03003 + . #03002 + / #03008 + 0 #02930 + 1 #02931 + 2 #02932 + 3 #02933 + 4 #02934 + 5 #02935 + 6 #02936 + 7 #02937 + 8 #02938 + 9 #02939 + : #03007 + ; #03006 + ? #03005 + A #02940 + B #02941 + C #02942 + D #02943 + E #02944 + F #02945 + G #02946 + H #02947 + I #02948 + J #02949 + K #02950 + L #02951 + M #02952 + N #02953 + O #02954 + P #02955 + Q #02956 + R #02957 + S #02958 + T #02959 + U #02960 + V #02961 + W #02962 + X #02963 + Y #02964 + Z #02965 + \\ #03008 + ` #03022 +} + +smallfont2 +{ + ignoreoffsets + kerning 1 + minluminosity 0 + spacewidth 3 + + ! #03072 + "\"" #03073 + # #03074 + $ #03075 + % #03076 + & #03077 + ' #03078 + ( #03079 + ) #03080 + * #03081 + + #03082 + , #03083 + - #03084 + . #03085 + / #03086 + 0 #03087 + 1 #03088 + 2 #03089 + 3 #03090 + 4 #03091 + 5 #03092 + 6 #03093 + 7 #03094 + 8 #03095 + 9 #03096 + : #03097 + ; #03098 + < #03099 + = #03100 + > #03101 + ? #03102 + @ #03103 + A #03104 + B #03105 + C #03106 + D #03107 + E #03108 + F #03109 + G #03110 + H #03111 + I #03112 + J #03113 + K #03114 + L #03115 + M #03116 + N #03117 + O #03118 + P #03119 + Q #03120 + R #03121 + S #03122 + T #03123 + U #03124 + V #03125 + W #03126 + X #03127 + Y #03128 + Z #03129 + [ #03130 + \\ #03131 + ] #03132 + ^ #03133 + _ #03134 + ` #03135 + a #03104 + b #03105 + c #03106 + d #03107 + e #03108 + f #03109 + g #03110 + h #03111 + i #03112 + j #03113 + k #03114 + l #03115 + m #03116 + n #03117 + o #03118 + p #03119 + q #03120 + r #03121 + s #03122 + t #03123 + u #03124 + v #03125 + w #03126 + x #03127 + y #03128 + z #03129 + "-{" #03162 + | #03163 + "-}" #03164 + ~ #03165 +} + +digifont +{ + ignoreoffsets + minluminosity 0 + 0 #02472 + 1 #02473 + 2 #02474 + 3 #02475 + 4 #02476 + 5 #02477 + 6 #02478 + 7 #02479 + 8 #02480 + 9 #02481 +} + +indexfont +{ + ignoreoffsets + minluminosity 0 + % #03076 + / #03021 + 0 #03010 + 1 #03011 + 2 #03012 + 3 #03013 + 4 #03014 + 5 #03015 + 6 #03016 + 7 #03017 + 8 #03018 + 9 #03019 + : #03020 +} diff --git a/wadsrc/static/filter/nam/fonts/bigfont/00d1.lmp b/wadsrc/static/filter/nam/fonts/bigfont/00d1.lmp index 18f4b9554c258391881618cfa4954a997d158846..1cab40c5b5f072967813d374ff46f4092c7e464c 100644 GIT binary patch delta 15 WcmZo;YGY#OX5eRFU|^ca{vQAm<^szA delta 15 UcmZo;YGY#OX5eQ4f{E<^0TSK<$p8QV diff --git a/wadsrc/static/filter/nam/fonts/bigfont/011a.lmp b/wadsrc/static/filter/nam/fonts/bigfont/011a.lmp index 7368fc0045996a9645889dbb2e3e37317296e92d..5eaaef19238bfe1980ce4c56ab09d9575b90bb2a 100644 GIT binary patch delta 15 WcmaFJ_>hsElYyUsfq`iv`z-(*hXYsu delta 15 VcmaFJ_>hsElYyTB2qv=M0stI;16BY4 diff --git a/wadsrc/static/filter/redneck/fontdefs.txt b/wadsrc/static/filter/redneck/fontdefs.txt new file mode 100644 index 000000000..b8de29ca2 --- /dev/null +++ b/wadsrc/static/filter/redneck/fontdefs.txt @@ -0,0 +1,271 @@ +tilesmallfont +{ + ignoreoffsets + kerning 2 + spacewidth 10 + + ! #00514 + "\"" #00515 + # #00516 + $ #00517 + % #00518 + & #00519 + ' #00520 + ( #00521 + ) #00522 + * #00523 + + #00524 + , #00525 + - #00526 + . #00527 + / #00528 + 0 #00529 + 1 #00530 + 2 #00531 + 3 #00532 + 4 #00533 + 5 #00534 + 6 #00535 + 7 #00536 + 8 #00537 + 9 #00538 + : #00539 + ; #00540 + < #00541 + = #00542 + > #00543 + ? #00544 + @ #00545 + A #00546 + B #00547 + C #00548 + D #00549 + E #00550 + F #00551 + G #00552 + H #00553 + I #00554 + J #00555 + K #00556 + L #00557 + M #00558 + N #00559 + O #00560 + P #00561 + Q #00562 + R #00563 + S #00564 + T #00565 + U #00566 + V #00567 + W #00568 + X #00569 + Y #00570 + Z #00571 + [ #00572 + \\ #00573 + ] #00574 + ^ #00575 + _ #00576 + ` #00577 + a #00578 + b #00579 + c #00580 + d #00581 + e #00582 + f #00583 + g #00584 + h #00585 + i #00586 + j #00587 + k #00588 + l #00589 + m #00590 + n #00591 + o #00592 + p #00593 + q #00594 + r #00595 + s #00596 + t #00597 + u #00598 + v #00599 + w #00600 + x #00601 + y #00602 + z #00603 + "-{" #00604 + | #00605 + "-}" #00606 + ~ #00607 +} + +tilebigfont +{ + ignoreoffsets + kerning 6 + spacewidth 10 + + ! #00696 + "\"" #00714 + % #00701 + ' #00714 + , #00695 + - #00621 + . #00694 + / #00700 + 0 #00622 + 1 #00623 + 2 #00624 + 3 #00625 + 4 #00626 + 5 #00627 + 6 #00628 + 7 #00629 + 8 #00630 + 9 #00631 + : #00699 + ; #00698 + ? #00697 + A #00632 + B #00633 + C #00634 + D #00635 + E #00636 + F #00637 + G #00638 + H #00639 + I #00640 + J #00641 + K #00642 + L #00643 + M #00644 + N #00645 + O #00646 + P #00647 + Q #00648 + R #00649 + S #00650 + T #00651 + U #00652 + V #00653 + W #00654 + X #00655 + Y #00656 + Z #00657 + \\ #00700 + _ #00621 + ` #00714 +} + +smallfont2 +{ + ignoreoffsets + kerning 1 + minluminosity 0 + spacewidth 6 + + ! #00718 + "\"" #00719 + # #00720 + $ #00721 + % #00722 + & #00723 + ' #00724 + ( #00725 + ) #00726 + * #00727 + + #00728 + , #00729 + - #00730 + . #00731 + / #00732 + 0 #00733 + 1 #00734 + 2 #00735 + 3 #00736 + 4 #00737 + 5 #00738 + 6 #00739 + 7 #00740 + 8 #00741 + 9 #00742 + : #00743 + ; #00744 + < #00745 + = #00746 + > #00747 + ? #00748 + @ #00749 + A #00750 + B #00751 + C #00752 + D #00753 + E #00754 + F #00755 + G #00756 + H #00757 + I #00758 + J #00759 + K #00760 + L #00761 + M #00762 + N #00763 + O #00764 + P #00765 + Q #00766 + R #00767 + S #00768 + T #00769 + U #00770 + V #00771 + W #00772 + X #00773 + Y #00774 + Z #00775 + [ #00776 + \\ #00777 + ] #00778 + ^ #00779 + _ #00780 + ` #00781 + "-{" #00808 + | #00809 +} + +digifont +{ + ignoreoffsets + minluminosity 0 + + 0 #01657 + 1 #01658 + 2 #01659 + 3 #01660 + 4 #01661 + 5 #01662 + 6 #01663 + 7 #01664 + 8 #01665 + 9 #01666 +} + +indexfont +{ + ignoreoffsets + minluminosity 0 + + % #00722 + / #00713 + 0 #00702 + 1 #00703 + 2 #00704 + 3 #00705 + 4 #00706 + 5 #00707 + 6 #00708 + 7 #00709 + 8 #00710 + 9 #00711 + : #00712 +} diff --git a/wadsrc/static/filter/redneck/fonts/bigfont/002c.lmp b/wadsrc/static/filter/redneck/fonts/bigfont/002c.lmp index ce621229dc7e572917a983d713ee1c5ed9860d92..a90da61e2d1c1e1742082ba8a0244f77b0d1515d 100644 GIT binary patch delta 16 XcmbQmIE#^klYxtYf#K=@i5!yv9v=i@ delta 16 VcmbQmIE#^klYxr?1SWD!0ss}N0(}4g diff --git a/wadsrc/static/filter/redneck/fonts/bigfont/00c0.lmp b/wadsrc/static/filter/redneck/fonts/bigfont/00c0.lmp index 85a93169e3b69ec3188a8ea908dc2950f990c30a..a4bd9a77aa1db46997f349ee788fdb113d3059e6 100644 GIT binary patch delta 16 XcmaFJ_K=NTnn9O=fq`QqdlWMOA>ac$ delta 16 WcmaFJ_K=NTnn9NV2sW}uF#`Z0xC1i) diff --git a/wadsrc/static/filter/shadowwarrior/fontdefs.txt b/wadsrc/static/filter/shadowwarrior/fontdefs.txt new file mode 100644 index 000000000..a4285c283 --- /dev/null +++ b/wadsrc/static/filter/shadowwarrior/fontdefs.txt @@ -0,0 +1,246 @@ +tilesmallfont +{ + ignoreoffsets + spacewidth 4 + + ! #04608 + "\"" #04609 + # #04610 + $ #04611 + % #04612 + & #04613 + ' #04614 + ( #04615 + ) #04616 + * #04617 + + #04618 + , #04619 + - #04620 + . #04621 + / #04622 + 0 #04623 + 1 #04624 + 2 #04625 + 3 #04626 + 4 #04627 + 5 #04628 + 6 #04629 + 7 #04630 + 8 #04631 + 9 #04632 + : #04633 + ; #04634 + < #04635 + = #04636 + > #04637 + ? #04638 + @ #04639 + A #04640 + B #04641 + C #04642 + D #04643 + E #04644 + F #04645 + G #04646 + H #04647 + I #04648 + J #04649 + K #04650 + L #04651 + M #04652 + N #04653 + O #04654 + P #04655 + Q #04656 + R #04657 + S #04658 + T #04659 + U #04660 + V #04661 + W #04662 + X #04663 + Y #04664 + Z #04665 + [ #04666 + \\ #04667 + ] #04668 + ^ #04669 + _ #04670 + ` #04671 + a #04672 + b #04673 + c #04674 + d #04675 + e #04676 + f #04677 + g #04678 + h #04679 + i #04680 + j #04681 + k #04682 + l #04683 + m #04684 + n #04685 + o #04686 + p #04687 + q #04688 + r #04689 + s #04690 + t #04691 + u #04692 + v #04693 + w #04694 + x #04695 + y #04696 + z #04697 + "-{" #04698 + | #04699 + "-}" #04700 + ~ #04701 +} + +tilebigfont +{ + ignoreoffsets + kerning 1 + spacewidth 10 + + 0 #03732 + 1 #03733 + 2 #03734 + 3 #03735 + 4 #03736 + 5 #03737 + 6 #03738 + 7 #03739 + 8 #03740 + 9 #03741 + A #03706 + B #03707 + C #03708 + D #03709 + E #03710 + F #03711 + G #03712 + H #03713 + I #03714 + J #03715 + K #03716 + L #03717 + M #03718 + N #03719 + O #03720 + P #03721 + Q #03722 + R #03723 + S #03724 + T #03725 + U #03726 + V #03727 + W #03728 + X #03729 + Y #03730 + Z #03731 +} + +smallfont2 +{ + ignoreoffsets + spacewidth 4 + minluminosity 0 + + ! #02930 + "\"" #02931 + # #02932 + $ #02933 + % #02934 + & #02935 + ' #02936 + ( #02937 + ) #02938 + * #02939 + + #02940 + , #02941 + - #02942 + . #02943 + / #02944 + 0 #02945 + 1 #02946 + 2 #02947 + 3 #02948 + 4 #02949 + 5 #02950 + 6 #02951 + 7 #02952 + 8 #02953 + 9 #02954 + : #02955 + ; #02956 + < #02957 + = #02958 + > #02959 + ? #02960 + @ #02961 + A #02962 + B #02963 + C #02964 + D #02965 + E #02966 + F #02967 + G #02968 + H #02969 + I #02970 + J #02971 + K #02972 + L #02973 + M #02974 + N #02975 + O #02976 + P #02977 + Q #02978 + R #02979 + S #02980 + T #02981 + U #02982 + V #02983 + W #02984 + X #02985 + Y #02986 + Z #02987 + [ #02988 + \\ #02989 + ] #02990 + ^ #02991 + _ #02992 + ` #02993 + a #02994 + b #02995 + c #02996 + d #02997 + e #02998 + f #02999 + g #03000 + h #03001 + i #03002 + j #03003 + k #03004 + l #03005 + m #03006 + n #03007 + o #03008 + p #03009 + q #03010 + r #03011 + s #03012 + t #03013 + u #03014 + v #03015 + w #03016 + x #03017 + y #03018 + z #03019 + "-{" #03020 + | #03021 + "-}" #03022 + ~ #03023 +} diff --git a/wadsrc/static/filter/shadowwarrior/fonts/bigfont/00c6.lmp b/wadsrc/static/filter/shadowwarrior/fonts/bigfont/00c6.lmp index bca6bf972162d798ff4d0bfea8d3902437b2846f..21357760fb62378b335e02db426bcc702c1e2fb2 100644 GIT binary patch delta 16 WcmdnSvWD8x#VP diff --git a/wadsrc/static/filter/ww2gi/fontdefs.txt b/wadsrc/static/filter/ww2gi/fontdefs.txt new file mode 100644 index 000000000..066512598 --- /dev/null +++ b/wadsrc/static/filter/ww2gi/fontdefs.txt @@ -0,0 +1,293 @@ +tilesmallfont +{ + ignoreoffsets + spacewidth 5 + + ! #02822 + "\"" #02823 + # #02824 + $ #02825 + % #02826 + & #02827 + ' #02828 + ( #02829 + ) #02830 + * #02831 + + #02832 + , #02833 + - #02834 + . #02835 + / #02836 + 0 #02837 + 1 #02838 + 2 #02839 + 3 #02840 + 4 #02841 + 5 #02842 + 6 #02843 + 7 #02844 + 8 #02845 + 9 #02846 + : #02847 + ; #02848 + < #02849 + = #02850 + > #02851 + ? #02852 + @ #02853 + A #02854 + B #02855 + C #02856 + D #02857 + E #02858 + F #02859 + G #02860 + H #02861 + I #02862 + J #02863 + K #02864 + L #02865 + M #02866 + N #02867 + O #02868 + P #02869 + Q #02870 + R #02871 + S #02872 + T #02873 + U #02874 + V #02875 + W #02876 + X #02877 + Y #02878 + Z #02879 + [ #02880 + \\ #02881 + ] #02882 + ^ #02883 + _ #02884 + ` #02885 + a #02886 + b #02887 + c #02888 + d #02889 + e #02890 + f #02891 + g #02892 + h #02893 + i #02894 + j #02895 + k #02896 + l #02897 + m #02898 + n #02899 + o #02900 + p #02901 + q #02902 + r #02903 + s #02904 + t #02905 + u #02906 + v #02907 + w #02908 + x #02909 + y #02910 + z #02911 + "-{" #02912 + | #02913 + "-}" #02914 + ~ #02915 +} + +tilebigfont +{ + ignoreoffsets + spacewidth 5 + + ! #03004 + "\"" #03022 + % #03009 + ' #03022 + , #03003 + . #03002 + / #03008 + 0 #02930 + 1 #02931 + 2 #02932 + 3 #02933 + 4 #02934 + 5 #02935 + 6 #02936 + 7 #02937 + 8 #02938 + 9 #02939 + : #03007 + ; #03006 + ? #03005 + A #02940 + B #02941 + C #02942 + D #02943 + E #02944 + F #02945 + G #02946 + H #02947 + I #02948 + J #02949 + K #02950 + L #02951 + M #02952 + N #02953 + O #02954 + P #02955 + Q #02956 + R #02957 + S #02958 + T #02959 + U #02960 + V #02961 + W #02962 + X #02963 + Y #02964 + Z #02965 + \\ #03008 + ` #03022 +} + +smallfont2 +{ + ignoreoffsets + kerning 1 + minluminosity 0 + spacewidth 3 + + ! #03072 + "\"" #03073 + # #03074 + $ #03075 + % #03076 + & #03077 + ' #03078 + ( #03079 + ) #03080 + * #03081 + + #03082 + , #03083 + - #03084 + . #03085 + / #03086 + 0 #03087 + 1 #03088 + 2 #03089 + 3 #03090 + 4 #03091 + 5 #03092 + 6 #03093 + 7 #03094 + 8 #03095 + 9 #03096 + : #03097 + ; #03098 + < #03099 + = #03100 + > #03101 + ? #03102 + @ #03103 + A #03104 + B #03105 + C #03106 + D #03107 + E #03108 + F #03109 + G #03110 + H #03111 + I #03112 + J #03113 + K #03114 + L #03115 + M #03116 + N #03117 + O #03118 + P #03119 + Q #03120 + R #03121 + S #03122 + T #03123 + U #03124 + V #03125 + W #03126 + X #03127 + Y #03128 + Z #03129 + [ #03130 + \\ #03131 + ] #03132 + ^ #03133 + _ #03134 + ` #03135 + a #03104 + b #03105 + c #03106 + d #03107 + e #03108 + f #03109 + g #03110 + h #03111 + i #03112 + j #03113 + k #03114 + l #03115 + m #03116 + n #03117 + o #03118 + p #03119 + q #03120 + r #03121 + s #03122 + t #03123 + u #03124 + v #03125 + w #03126 + x #03127 + y #03128 + z #03129 + "-{" #03162 + | #03163 + "-}" #03164 + ~ #03165 +} + +digifont +{ + ignoreoffsets + minluminosity 0 + 0 #02472 + 1 #02473 + 2 #02474 + 3 #02475 + 4 #02476 + 5 #02477 + 6 #02478 + 7 #02479 + 8 #02480 + 9 #02481 +} + +indexfont +{ + ignoreoffsets + minluminosity 0 + % #03076 + / #03021 + 0 #03010 + 1 #03011 + 2 #03012 + 3 #03013 + 4 #03014 + 5 #03015 + 6 #03016 + 7 #03017 + 8 #03018 + 9 #03019 + : #03020 +} diff --git a/wadsrc/static/filter/ww2gi/fonts/bigfont/00d1.lmp b/wadsrc/static/filter/ww2gi/fonts/bigfont/00d1.lmp index 18f4b9554c258391881618cfa4954a997d158846..1cab40c5b5f072967813d374ff46f4092c7e464c 100644 GIT binary patch delta 15 WcmZo;YGY#OX5eRFU|^ca{vQAm<^szA delta 15 UcmZo;YGY#OX5eQ4f{E<^0TSK<$p8QV diff --git a/wadsrc/static/filter/ww2gi/fonts/bigfont/011a.lmp b/wadsrc/static/filter/ww2gi/fonts/bigfont/011a.lmp index 7368fc0045996a9645889dbb2e3e37317296e92d..5eaaef19238bfe1980ce4c56ab09d9575b90bb2a 100644 GIT binary patch delta 15 WcmaFJ_>hsElYyUsfq`iv`z-(*hXYsu delta 15 VcmaFJ_>hsElYyTB2qv=M0stI;16BY4