From 495298079bf32312a5acace2f277057ed643524a Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 6 Feb 2019 13:59:41 +0100 Subject: [PATCH 1/7] - rewrote the language table so that it doesn't have to reload everything on a language change. It now reads everything into a two-dimensional TMap and creates a list of mappings that apply to the current setting. The constant need for reloading was the main blocker in redesigning how Dehacked strings get inserted. Currently they override everything, but IWAD-based Dehacked text shouldn't block PWAD overrides from PWADs' LANGUAGE lumps and instead be treated as coming from an [en default] block. This also renames the main block from [enu default] to [en default], because it should be treated as the English default for all English locales and not just make it fall through to the base default as it did before. --- src/d_main.cpp | 2 +- src/doomstat.cpp | 4 +- src/gamedata/d_dehacked.cpp | 27 ++-- src/gamedata/stringtable.cpp | 293 +++++++---------------------------- src/gamedata/stringtable.h | 35 +++-- wadsrc/static/language.enu | 2 +- 6 files changed, 90 insertions(+), 273 deletions(-) diff --git a/src/d_main.cpp b/src/d_main.cpp index a2c758e0b..b6c723704 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -2427,7 +2427,7 @@ void D_DoomMain (void) } // [RH] Initialize localizable strings. - GStrings.LoadStrings (false); + GStrings.LoadStrings (); V_InitFontColors (); diff --git a/src/doomstat.cpp b/src/doomstat.cpp index b6f0e7871..c9ff769b5 100644 --- a/src/doomstat.cpp +++ b/src/doomstat.cpp @@ -56,10 +56,10 @@ CUSTOM_CVAR (Float, teamdamage, 0.f, CVAR_SERVERINFO) } } -CUSTOM_CVAR (String, language, "auto", CVAR_ARCHIVE) +CUSTOM_CVAR (String, language, "auto", CVAR_ARCHIVE|CVAR_NOINITCALL) { SetLanguageIDs (); - GStrings.LoadStrings (false); + GStrings.UpdateLanguage(); for (auto Level : AllLevels()) { // does this even make sense on secondary levels...? diff --git a/src/gamedata/d_dehacked.cpp b/src/gamedata/d_dehacked.cpp index dbf98a17f..4643cd492 100644 --- a/src/gamedata/d_dehacked.cpp +++ b/src/gamedata/d_dehacked.cpp @@ -285,7 +285,7 @@ static bool including, includenotext; static const char *unknown_str = "Unknown key %s encountered in %s %d.\n"; -static FStringTable *EnglishStrings; +static StringMap EnglishStrings, DehStrings; // This is an offset to be used for computing the text stuff. // Straight from the DeHackEd source which was @@ -2169,7 +2169,7 @@ static int PatchMusic (int dummy) keystring << "MUSIC_" << Line1; - GStrings.SetString (keystring, newname); + DehStrings.Insert(keystring, newname); DPrintf (DMSG_SPAMMY, "Music %s set to:\n%s\n", keystring.GetChars(), newname); } @@ -2280,11 +2280,11 @@ static int PatchText (int oldSize) const char *str; do { - str = EnglishStrings->MatchString(oldStr); + str = EnglishStrings.MatchString(oldStr); if (str != NULL) { - GStrings.SetString(str, newStr); - EnglishStrings->SetString(str, "~~"); // set to something invalid so that it won't get found again by the next iteration or by another replacement later + DehStrings.Insert(str, newStr); + EnglishStrings.Remove(str); // remove entry so that it won't get found again by the next iteration or by another replacement later good = true; } } @@ -2337,7 +2337,7 @@ static int PatchStrings (int dummy) // Account for a discrepancy between Boom's and ZDoom's name for the red skull key pickup message const char *ll = Line1; if (!stricmp(ll, "GOTREDSKULL")) ll = "GOTREDSKUL"; - GStrings.SetString (ll, holdstring); + DehStrings.Insert(ll, holdstring); DPrintf (DMSG_SPAMMY, "%s set to:\n%s\n", Line1, holdstring.GetChars()); } @@ -2670,11 +2670,6 @@ static void UnloadDehSupp () StyleNames.Reset(); AmmoNames.Reset(); UnchangedSpriteNames.Reset(); - if (EnglishStrings != NULL) - { - delete EnglishStrings; - EnglishStrings = NULL; - } } } @@ -2704,12 +2699,8 @@ static bool LoadDehSupp () return true; } - if (EnglishStrings == NULL) - { - EnglishStrings = new FStringTable; - EnglishStrings->LoadStrings (true); - } - + if (EnglishStrings.CountUsed() == 0) + EnglishStrings = GStrings.GetDefaultStrings(); UnchangedSpriteNames.Resize(sprites.Size()); for (unsigned i = 0; i < UnchangedSpriteNames.Size(); ++i) @@ -3079,6 +3070,8 @@ void FinishDehPatch () StateMap.ShrinkToFit(); TouchedActors.Clear(); TouchedActors.ShrinkToFit(); + EnglishStrings.Clear(); + GStrings.SetDehackedStrings(std::move(DehStrings)); // Now it gets nasty: We have to fiddle around with the weapons' ammo use info to make Doom's original // ammo consumption work as intended. diff --git a/src/gamedata/stringtable.cpp b/src/gamedata/stringtable.cpp index fc5e7ea8a..2fd41e94b 100644 --- a/src/gamedata/stringtable.cpp +++ b/src/gamedata/stringtable.cpp @@ -43,119 +43,31 @@ #include "v_text.h" #include "gi.h" -// PassNum identifies which language pass this string is from. -// PassNum 0 is for DeHacked. -// PassNum 1 is for * strings. -// PassNum 2+ are for specific locales. -struct FStringTable::StringEntry -{ - StringEntry *Next; - char *Name; - uint8_t PassNum; - char String[]; -}; - -FStringTable::FStringTable () -{ - for (int i = 0; i < HASH_SIZE; ++i) - { - Buckets[i] = NULL; - } -} - -FStringTable::~FStringTable () -{ - FreeData (); -} - -void FStringTable::FreeData () -{ - for (int i = 0; i < HASH_SIZE; ++i) - { - StringEntry *entry = Buckets[i], *next; - Buckets[i] = NULL; - while (entry != NULL) - { - next = entry->Next; - M_Free (entry); - entry = next; - } - } -} - -void FStringTable::FreeNonDehackedStrings () -{ - for (int i = 0; i < HASH_SIZE; ++i) - { - StringEntry *entry, *next, **pentry; - - for (pentry = &Buckets[i], entry = *pentry; entry != NULL; ) - { - next = entry->Next; - if (entry->PassNum != 0) - { - *pentry = next; - M_Free (entry); - } - else - { - pentry = &entry->Next; - } - entry = next; - } - } -} - -void FStringTable::LoadStrings (bool enuOnly) +void FStringTable::LoadStrings () { int lastlump, lump; - int i, j; - - FreeNonDehackedStrings (); lastlump = 0; while ((lump = Wads.FindLump ("LANGUAGE", &lastlump)) != -1) { - j = 0; - if (!enuOnly) - { - LoadLanguage (lump, MAKE_ID('*',0,0,0), true, ++j); - for (i = 0; i < 4; ++i) - { - LoadLanguage (lump, LanguageIDs[i], true, ++j); - LoadLanguage (lump, LanguageIDs[i] & MAKE_ID(0xff,0xff,0,0), true, ++j); - LoadLanguage (lump, LanguageIDs[i], false, ++j); - } - } - - // Fill in any missing strings with the default language - LoadLanguage (lump, MAKE_ID('*','*',0,0), true, ++j); + LoadLanguage (lump); } + UpdateLanguage(); } -void FStringTable::LoadLanguage (int lumpnum, uint32_t code, bool exactMatch, int passnum) +void FStringTable::LoadLanguage (int lumpnum) { - static bool errordone = false; - const uint32_t orMask = exactMatch ? 0 : MAKE_ID(0,0,0xff,0); - uint32_t inCode = 0; - StringEntry *entry, **pentry; - uint32_t bucket; - int cmpval; - bool skip = true; - - code |= orMask; - + bool errordone = false; + TArray activeMaps; FScanner sc(lumpnum); sc.SetCMode (true); while (sc.GetString ()) { if (sc.Compare ("[")) { // Process language identifiers - bool donot = false; - bool forceskip = false; - skip = true; + activeMaps.Clear(); sc.MustGetString (); do { @@ -164,17 +76,18 @@ void FStringTable::LoadLanguage (int lumpnum, uint32_t code, bool exactMatch, in { if (len == 1 && sc.String[0] == '~') { - donot = true; + // deprecated and ignored + sc.ScriptMessage("Deprecated option '~' found in language list"); sc.MustGetString (); continue; } if (len == 1 && sc.String[0] == '*') { - inCode = MAKE_ID('*',0,0,0); + activeMaps.Push(MAKE_ID('*', 0, 0, 0)); } else if (len == 7 && stricmp (sc.String, "default") == 0) { - inCode = MAKE_ID('*','*',0,0); + activeMaps.Push(MAKE_ID('*', '*', 0, 0)); } else { @@ -184,31 +97,14 @@ void FStringTable::LoadLanguage (int lumpnum, uint32_t code, bool exactMatch, in } else { - inCode = MAKE_ID(tolower(sc.String[0]), tolower(sc.String[1]), tolower(sc.String[2]), 0); - } - if ((inCode | orMask) == code) - { - if (donot) - { - forceskip = true; - donot = false; - } - else - { - skip = false; - } + activeMaps.Push(MAKE_ID(tolower(sc.String[0]), tolower(sc.String[1]), tolower(sc.String[2]), 0)); } sc.MustGetString (); } while (!sc.Compare ("]")); - if (donot) - { - sc.ScriptError ("You must specify a language after ~"); - } - skip |= forceskip; } else { // Process string definitions. - if (inCode == 0) + if (activeMaps.Size() == 0) { // LANGUAGE lump is bad. We need to check if this is an old binary // lump and if so just skip it to allow old WADs to run which contain @@ -222,7 +118,7 @@ void FStringTable::LoadLanguage (int lumpnum, uint32_t code, bool exactMatch, in sc.ScriptError ("Found a string without a language specified."); } - bool savedskip = skip; + bool skip = false; if (sc.Compare("$")) { sc.MustGetStringName("ifgame"); @@ -234,20 +130,7 @@ void FStringTable::LoadLanguage (int lumpnum, uint32_t code, bool exactMatch, in } - if (skip) - { // We're not interested in this language, so skip the string. - sc.MustGetStringName ("="); - sc.MustGetString (); - do - { - sc.MustGetString (); - } - while (!sc.Compare (";")); - skip = savedskip; - continue; - } - - FString strName (sc.String); + FName strName (sc.String); sc.MustGetStringName ("="); sc.MustGetString (); FString strText (sc.String, ProcessEscapes (sc.String)); @@ -258,39 +141,36 @@ void FStringTable::LoadLanguage (int lumpnum, uint32_t code, bool exactMatch, in strText += sc.String; sc.MustGetString (); } - - // Does this string exist? If so, should we overwrite it? - bucket = MakeKey (strName.GetChars()) & (HASH_SIZE-1); - pentry = &Buckets[bucket]; - entry = *pentry; - cmpval = 1; - while (entry != NULL) + // Insert the string into all relevant tables. + for (auto map : activeMaps) { - cmpval = stricmp (entry->Name, strName.GetChars()); - if (cmpval >= 0) - break; - pentry = &entry->Next; - entry = *pentry; - } - if (cmpval == 0 && entry->PassNum >= passnum) - { - *pentry = entry->Next; - M_Free (entry); - entry = NULL; - } - if (entry == NULL || cmpval > 0) - { - entry = (StringEntry *)M_Malloc (sizeof(*entry) + strText.Len() + strName.Len() + 2); - entry->Next = *pentry; - *pentry = entry; - strcpy (entry->String, strText.GetChars()); - strcpy (entry->Name = entry->String + strText.Len() + 1, strName.GetChars()); - entry->PassNum = passnum; + allStrings[map].Insert(strName, strText); } } } } +void FStringTable::UpdateLanguage() +{ + currentLanguageSet.Clear(); + + auto checkone = [&](uint32_t lang_id) + { + auto list = allStrings.CheckKey(lang_id); + if (list && currentLanguageSet.Find(list) == currentLanguageSet.Size()) + currentLanguageSet.Push(list); + }; + + checkone(MAKE_ID('*', '*', '*', 0)); + checkone(MAKE_ID('*', 0, 0, 0)); + for (int i = 0; i < 4; ++i) + { + checkone(LanguageIDs[i]); + checkone(LanguageIDs[i] & MAKE_ID(0xff, 0xff, 0, 0)); + } + checkone(MAKE_ID('*', '*', 0, 0)); +} + // Replace \ escape sequences in a string with the escaped characters. size_t FStringTable::ProcessEscapes (char *iptr) { @@ -321,27 +201,20 @@ size_t FStringTable::ProcessEscapes (char *iptr) // Finds a string by name and returns its value const char *FStringTable::operator[] (const char *name) const { - if (name == NULL) + if (name == nullptr || *name == 0) { - return NULL; + return nullptr; } - uint32_t bucket = MakeKey (name) & (HASH_SIZE - 1); - StringEntry *entry = Buckets[bucket]; - - while (entry != NULL) + FName nm(name, true); + if (nm != NAME_None) { - int cmpval = stricmp (entry->Name, name); - if (cmpval == 0) + for (auto map : currentLanguageSet) { - return entry->String; + auto item = map->CheckKey(nm); + if (item) return item->GetChars(); } - if (cmpval == 1) - { - return NULL; - } - entry = entry->Next; } - return NULL; + return nullptr; } // Finds a string by name and returns its value. If the string does @@ -352,75 +225,19 @@ const char *FStringTable::operator() (const char *name) const return str ? str : name; } -// Find a string by name. pentry1 is a pointer to a pointer to it, and entry1 is a -// pointer to it. Return NULL for entry1 if it wasn't found. -void FStringTable::FindString (const char *name, StringEntry **&pentry1, StringEntry *&entry1) -{ - uint32_t bucket = MakeKey (name) & (HASH_SIZE - 1); - StringEntry **pentry = &Buckets[bucket], *entry = *pentry; - - while (entry != NULL) - { - int cmpval = stricmp (entry->Name, name); - if (cmpval == 0) - { - pentry1 = pentry; - entry1 = entry; - return; - } - if (cmpval == 1) - { - pentry1 = pentry; - entry1 = NULL; - return; - } - pentry = &entry->Next; - entry = *pentry; - } - pentry1 = pentry; - entry1 = entry; -} // Find a string with the same exact text. Returns its name. -const char *FStringTable::MatchString (const char *string) const +const char *StringMap::MatchString (const char *string) const { - for (int i = 0; i < HASH_SIZE; ++i) + StringMap::ConstIterator it(*this); + StringMap::ConstPair *pair; + + while (it.NextPair(pair)) { - for (StringEntry *entry = Buckets[i]; entry != NULL; entry = entry->Next) + if (pair->Value.Compare(string) == 0) { - if (strcmp (entry->String, string) == 0) - { - return entry->Name; - } + return pair->Key.GetChars(); } } - return NULL; -} - -void FStringTable::SetString (const char *name, const char *newString) -{ - StringEntry **pentry, *oentry; - FindString (name, pentry, oentry); - - size_t newlen = strlen (newString); - size_t namelen = strlen (name); - - // Create a new string entry - StringEntry *entry = (StringEntry *)M_Malloc (sizeof(*entry) + newlen + namelen + 2); - strcpy (entry->String, newString); - strcpy (entry->Name = entry->String + newlen + 1, name); - entry->PassNum = 0; - - // If this is a new string, insert it. Otherwise, replace the old one. - if (oentry == NULL) - { - entry->Next = *pentry; - *pentry = entry; - } - else - { - *pentry = entry; - entry->Next = oentry->Next; - M_Free (oentry); - } + return nullptr; } diff --git a/src/gamedata/stringtable.h b/src/gamedata/stringtable.h index 792ef06b3..1c479ba5a 100644 --- a/src/gamedata/stringtable.h +++ b/src/gamedata/stringtable.h @@ -44,34 +44,41 @@ #include +#include "doomdef.h" #include "doomtype.h" +// This public interface is for Dehacked +class StringMap : public TMap +{ +public: + const char *MatchString(const char *string) const; +}; + + class FStringTable { public: - struct StringEntry; + using LangMap = TMap; - FStringTable (); - ~FStringTable (); - - void LoadStrings (bool enuOnly); + void LoadStrings (); + void UpdateLanguage(); + StringMap GetDefaultStrings() { return allStrings[MAKE_ID('*', '*', 0, 0)]; } // Dehacked needs these for comparison + void SetDehackedStrings(StringMap && map) + { + allStrings.Insert(MAKE_ID('*', '*', '*', 0), map); + UpdateLanguage(); + } const char *operator() (const char *name) const; // Never returns NULL const char *operator[] (const char *name) const; // Can return NULL - const char *MatchString (const char *string) const; - void SetString (const char *name, const char *newString); - private: - enum { HASH_SIZE = 128 }; - StringEntry *Buckets[HASH_SIZE]; + LangMap allStrings; + TArray currentLanguageSet; - void FreeData (); - void FreeNonDehackedStrings (); - void LoadLanguage (int lumpnum, uint32_t code, bool exactMatch, int passnum); + void LoadLanguage (int lumpnum); static size_t ProcessEscapes (char *str); - void FindString (const char *stringName, StringEntry **&pentry, StringEntry *&entry); }; #endif //__STRINGTABLE_H__ diff --git a/wadsrc/static/language.enu b/wadsrc/static/language.enu index 54cb51ef1..7ad4b6ca7 100644 --- a/wadsrc/static/language.enu +++ b/wadsrc/static/language.enu @@ -1,6 +1,6 @@ /* U.S. English. (Sorry, it's not English English.) */ -[enu default] +[en default] SECRETMESSAGE = "A secret is revealed!"; From 4d2bb11317e1b6a9b0c774cc8b902f00b914d153 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 7 Feb 2019 13:12:39 +0100 Subject: [PATCH 2/7] - reworked font loader to make adding multi-lump fonts easier. 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 --- src/gamedata/w_wad.cpp | 37 +++++++ src/gamedata/w_wad.h | 7 ++ src/scripting/thingdef_data.cpp | 5 +- src/scripting/vm/jit_move.cpp | 2 +- src/scripting/vm/vm.h | 2 +- src/scripting/vmthunks.cpp | 2 +- src/utility/zstring.cpp | 8 +- src/utility/zstring.h | 4 +- src/v_font.cpp | 101 ++++++++++++------ src/v_font.h | 2 +- .../defsmallfont/009F.lmp} | Bin .../game-doom/fonts/defsmallfont/00AB.lmp | Bin 0 -> 89 bytes .../game-doom/fonts/defsmallfont/00BB.lmp | Bin 0 -> 89 bytes .../defsmallfont/00BF.lmp} | Bin .../defsmallfont/00C0.lmp} | Bin .../defsmallfont/00C1.lmp} | Bin .../defsmallfont/00C2.lmp} | Bin .../defsmallfont/00C3.lmp} | Bin .../defsmallfont/00C4.lmp} | Bin .../defsmallfont/00C5.lmp} | Bin .../defsmallfont/00C7.lmp} | Bin .../defsmallfont/00C8.lmp} | Bin .../defsmallfont/00C9.lmp} | Bin .../defsmallfont/00CA.lmp} | Bin .../defsmallfont/00CD.lmp} | Bin .../defsmallfont/00CE.lmp} | Bin .../defsmallfont/00CF.lmp} | Bin .../defsmallfont/00D1.lmp} | Bin .../defsmallfont/00D3.lmp} | Bin .../defsmallfont/00D4.lmp} | Bin .../defsmallfont/00D5.lmp} | Bin .../defsmallfont/00D6.lmp} | Bin .../defsmallfont/00D9.lmp} | Bin .../defsmallfont/00DA.lmp} | Bin .../defsmallfont/00DB.lmp} | Bin .../defsmallfont/00DC.lmp} | Bin .../defsmallfont/00DF.lmp} | Bin .../game-doom/fonts/defsmallfont/0178.lmp | Bin 0 -> 126 bytes .../game-doom/fonts/defsmallfont/0401.lmp | Bin 0 -> 140 bytes .../game-doom/fonts/defsmallfont/0410.lmp | Bin 0 -> 132 bytes .../game-doom/fonts/defsmallfont/0411.lmp | Bin 0 -> 137 bytes .../game-doom/fonts/defsmallfont/0412.lmp | Bin 0 -> 137 bytes .../game-doom/fonts/defsmallfont/0413.lmp | Bin 0 -> 120 bytes .../game-doom/fonts/defsmallfont/0414.lmp | Bin 0 -> 146 bytes .../game-doom/fonts/defsmallfont/0415.lmp | Bin 0 -> 130 bytes .../game-doom/fonts/defsmallfont/0416.lmp | Bin 0 -> 208 bytes .../game-doom/fonts/defsmallfont/0417.lmp | Bin 0 -> 134 bytes .../game-doom/fonts/defsmallfont/0418.lmp | Bin 0 -> 134 bytes .../game-doom/fonts/defsmallfont/0419.lmp | Bin 0 -> 137 bytes .../game-doom/fonts/defsmallfont/041A.lmp | Bin 0 -> 138 bytes .../game-doom/fonts/defsmallfont/041B.lmp | Bin 0 -> 144 bytes .../game-doom/fonts/defsmallfont/041C.lmp | Bin 0 -> 145 bytes .../game-doom/fonts/defsmallfont/041D.lmp | Bin 0 -> 136 bytes .../game-doom/fonts/defsmallfont/041E.lmp | Bin 0 -> 124 bytes .../game-doom/fonts/defsmallfont/041F.lmp | Bin 0 -> 136 bytes .../game-doom/fonts/defsmallfont/0420.lmp | Bin 0 -> 126 bytes .../game-doom/fonts/defsmallfont/0421.lmp | Bin 0 -> 139 bytes .../game-doom/fonts/defsmallfont/0422.lmp | Bin 0 -> 120 bytes .../game-doom/fonts/defsmallfont/0423.lmp | Bin 0 -> 128 bytes .../game-doom/fonts/defsmallfont/0424.lmp | Bin 0 -> 152 bytes .../game-doom/fonts/defsmallfont/0425.lmp | Bin 0 -> 158 bytes .../game-doom/fonts/defsmallfont/0426.lmp | Bin 0 -> 149 bytes .../game-doom/fonts/defsmallfont/0427.lmp | Bin 0 -> 111 bytes .../game-doom/fonts/defsmallfont/0428.lmp | Bin 0 -> 168 bytes .../game-doom/fonts/defsmallfont/0429.lmp | Bin 0 -> 181 bytes .../game-doom/fonts/defsmallfont/042A.lmp | Bin 0 -> 148 bytes .../game-doom/fonts/defsmallfont/042B.lmp | Bin 0 -> 177 bytes .../game-doom/fonts/defsmallfont/042C.lmp | Bin 0 -> 124 bytes .../game-doom/fonts/defsmallfont/042D.lmp | Bin 0 -> 131 bytes .../game-doom/fonts/defsmallfont/042E.lmp | Bin 0 -> 176 bytes .../game-doom/fonts/defsmallfont/042F.lmp | Bin 0 -> 138 bytes .../game-doom/fonts/defsmallfont/2014.lmp | Bin 0 -> 188 bytes .../game-doom/fonts/defsmallfont/201C.lmp | Bin 0 -> 98 bytes .../game-doom/fonts/defsmallfont/201E.lmp | Bin 0 -> 98 bytes .../defsmallfont/005C.lmp} | Bin .../defsmallfont/005D.lmp} | Bin .../defsmallfont/005E.lmp} | Bin .../defsmallfont/005F.lmp} | Bin .../defsmallfont/00C4.lmp} | Bin .../defsmallfont/00C5.lmp} | Bin .../defsmallfont/00D6.lmp} | Bin .../defsmallfont/00DC.lmp} | Bin .../defsmallfont/00DF.lmp} | Bin 83 files changed, 123 insertions(+), 47 deletions(-) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn159.lmp => fonts/defsmallfont/009F.lmp} (100%) create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00AB.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00BB.lmp rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn191.lmp => fonts/defsmallfont/00BF.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn192.lmp => fonts/defsmallfont/00C0.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn193.lmp => fonts/defsmallfont/00C1.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn194.lmp => fonts/defsmallfont/00C2.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn195.lmp => fonts/defsmallfont/00C3.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn196.lmp => fonts/defsmallfont/00C4.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn197.lmp => fonts/defsmallfont/00C5.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn199.lmp => fonts/defsmallfont/00C7.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn200.lmp => fonts/defsmallfont/00C8.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn201.lmp => fonts/defsmallfont/00C9.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn202.lmp => fonts/defsmallfont/00CA.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn205.lmp => fonts/defsmallfont/00CD.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn206.lmp => fonts/defsmallfont/00CE.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn207.lmp => fonts/defsmallfont/00CF.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn209.lmp => fonts/defsmallfont/00D1.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn211.lmp => fonts/defsmallfont/00D3.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn212.lmp => fonts/defsmallfont/00D4.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn213.lmp => fonts/defsmallfont/00D5.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn214.lmp => fonts/defsmallfont/00D6.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn217.lmp => fonts/defsmallfont/00D9.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn218.lmp => fonts/defsmallfont/00DA.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn219.lmp => fonts/defsmallfont/00DB.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn220.lmp => fonts/defsmallfont/00DC.lmp} (100%) rename wadsrc_extra/static/filter/game-doom/{graphics/stcfn223.lmp => fonts/defsmallfont/00DF.lmp} (100%) create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0178.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0401.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0410.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0411.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0412.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0413.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0414.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0415.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0416.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0417.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0418.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0419.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041A.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041B.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041C.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041D.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041E.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041F.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0420.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0421.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0422.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0423.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0424.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0425.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0426.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0427.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0428.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0429.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042A.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042B.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042C.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042D.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042E.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042F.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/2014.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/201C.lmp create mode 100644 wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/201E.lmp rename wadsrc_extra/static/filter/game-raven/{graphics/fonta60.lmp => fonts/defsmallfont/005C.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta61.lmp => fonts/defsmallfont/005D.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta62.lmp => fonts/defsmallfont/005E.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta63.lmp => fonts/defsmallfont/005F.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta164.lmp => fonts/defsmallfont/00C4.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta165.lmp => fonts/defsmallfont/00C5.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta182.lmp => fonts/defsmallfont/00D6.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta188.lmp => fonts/defsmallfont/00DC.lmp} (100%) rename wadsrc_extra/static/filter/game-raven/{graphics/fonta191.lmp => fonts/defsmallfont/00DF.lmp} (100%) diff --git a/src/gamedata/w_wad.cpp b/src/gamedata/w_wad.cpp index 9564bb5ac..505796396 100644 --- a/src/gamedata/w_wad.cpp +++ b/src/gamedata/w_wad.cpp @@ -1260,6 +1260,43 @@ FResourceLump *FWadCollection::GetLumpRecord(int lump) const return LumpInfo[lump].lump; } +//========================================================================== +// +// GetLumpsInFolder +// +// Gets all lumps within a single folder in the hierarchy. +// +//========================================================================== + +static int folderentrycmp(const void *a, const void *b) +{ + auto A = (FolderEntry*)a; + auto B = (FolderEntry*)b; + return strcmp(A->name, B->name); +} + +unsigned FWadCollection::GetLumpsInFolder(const char *inpath, TArray &result) const +{ + FString path = inpath; + FixPathSeperator(path); + path.ToLower(); + if (path[path.Len() - 1] != '/') path += '/'; + result.Clear(); + for (unsigned i = 0; i < LumpInfo.Size(); i++) + { + if (LumpInfo[i].lump->FullName.IndexOf(path) == 0) + { + // Only if it hasn't been replaced. + if (Wads.CheckNumForFullName(LumpInfo[i].lump->FullName) == i) + { + result.Push({ LumpInfo[i].lump->FullName.GetChars(), i }); + } + } + } + qsort(result.Data(), result.Size(), sizeof(FolderEntry), folderentrycmp); + return result.Size(); +} + //========================================================================== // // W_ReadLump diff --git a/src/gamedata/w_wad.h b/src/gamedata/w_wad.h index c223a6bd0..469b3f668 100644 --- a/src/gamedata/w_wad.h +++ b/src/gamedata/w_wad.h @@ -101,6 +101,12 @@ private: friend class FWadCollection; }; +struct FolderEntry +{ + const char *name; + unsigned lumpnum; +}; + class FWadCollection { public: @@ -173,6 +179,7 @@ public: int GetLumpIndexNum (int lump) const; // Returns the RFF index number for this lump FResourceLump *GetLumpRecord(int lump) const; // Returns the FResourceLump, in case the caller wants to have direct access to the lump cache. bool CheckLumpName (int lump, const char *name) const; // [RH] Returns true if the names match + unsigned GetLumpsInFolder(const char *path, TArray &result) const; bool IsEncryptedFile(int lump) const; diff --git a/src/scripting/thingdef_data.cpp b/src/scripting/thingdef_data.cpp index 4a73214ab..d4a67339c 100644 --- a/src/scripting/thingdef_data.cpp +++ b/src/scripting/thingdef_data.cpp @@ -987,10 +987,11 @@ FString FStringFormat(VM_ARGS, int offset) ThrowAbortException(X_FORMAT_ERROR, "Cannot mix explicit and implicit arguments."); FString argnumstr = fmt_current.Mid(1); if (!argnumstr.IsInt()) ThrowAbortException(X_FORMAT_ERROR, "Expected a numeric value for argument number, got '%s'.", argnumstr.GetChars()); - argnum = argnumstr.ToLong(); - if (argnum < 1 || argnum >= numparam) ThrowAbortException(X_FORMAT_ERROR, "Not enough arguments for format (tried to access argument %d, %d total).", argnum, numparam); + auto argnum64 = argnumstr.ToLong(); + if (argnum64 < 1 || argnum64 >= numparam) ThrowAbortException(X_FORMAT_ERROR, "Not enough arguments for format (tried to access argument %d, %d total).", argnum64, numparam); fmt_current = "%"; haveargnums = true; + argnum = int(argnum64); } else { diff --git a/src/scripting/vm/jit_move.cpp b/src/scripting/vm/jit_move.cpp index 54c055cb2..ca584a326 100644 --- a/src/scripting/vm/jit_move.cpp +++ b/src/scripting/vm/jit_move.cpp @@ -44,7 +44,7 @@ static void CastF2S(FString *a, double b) { a->Format("%.5f", b); } static void CastV22S(FString *a, double b, double b1) { a->Format("(%.5f, %.5f)", b, b1); } static void CastV32S(FString *a, double b, double b1, double b2) { a->Format("(%.5f, %.5f, %.5f)", b, b1, b2); } static void CastP2S(FString *a, void *b) { if (b == nullptr) *a = "null"; else a->Format("%p", b); } -static int CastS2I(FString *b) { return (VM_SWORD)b->ToLong(); } +static int CastS2I(FString *b) { return (int)b->ToLong(); } static double CastS2F(FString *b) { return b->ToDouble(); } static int CastS2N(FString *b) { return b->Len() == 0 ? FName(NAME_None) : FName(*b); } static void CastN2S(FString *a, int b) { FName name = FName(ENamedName(b)); *a = name.IsValidName() ? name.GetChars() : ""; } diff --git a/src/scripting/vm/vm.h b/src/scripting/vm/vm.h index 8cd666467..d8da4d434 100644 --- a/src/scripting/vm/vm.h +++ b/src/scripting/vm/vm.h @@ -369,7 +369,7 @@ struct VMValue } if (Type == REGT_STRING) { - return s().ToLong(); + return (int)s().ToLong(); } // FIXME return 0; diff --git a/src/scripting/vmthunks.cpp b/src/scripting/vmthunks.cpp index 653bc2d98..f171f33ac 100644 --- a/src/scripting/vmthunks.cpp +++ b/src/scripting/vmthunks.cpp @@ -257,7 +257,7 @@ DEFINE_ACTION_FUNCTION_NATIVE(FStringStruct, ToInt, StringToInt) { PARAM_SELF_STRUCT_PROLOGUE(FString); PARAM_INT(base); - ACTION_RETURN_INT(self->ToLong(base)); + ACTION_RETURN_INT((int)self->ToLong(base)); } static double StringToDbl(FString *self) diff --git a/src/utility/zstring.cpp b/src/utility/zstring.cpp index ff17fd607..0eb8fe67d 100644 --- a/src/utility/zstring.cpp +++ b/src/utility/zstring.cpp @@ -1130,14 +1130,14 @@ digits = [0-9]; return yych == '\0'; } -long FString::ToLong (int base) const +int64_t FString::ToLong (int base) const { - return (long)strtoll (Chars, NULL, base); + return strtoll (Chars, NULL, base); } -unsigned long FString::ToULong (int base) const +uint64_t FString::ToULong (int base) const { - return (unsigned long)strtoull (Chars, NULL, base); + return strtoull (Chars, NULL, base); } double FString::ToDouble () const diff --git a/src/utility/zstring.h b/src/utility/zstring.h index 334fbcb1f..2924de96d 100644 --- a/src/utility/zstring.h +++ b/src/utility/zstring.h @@ -299,8 +299,8 @@ public: bool IsInt () const; bool IsFloat () const; - long ToLong (int base=0) const; - unsigned long ToULong (int base=0) const; + int64_t ToLong (int base=0) const; + uint64_t ToULong (int base=0) const; double ToDouble () const; size_t Len() const { return Data()->Len; } diff --git a/src/v_font.cpp b/src/v_font.cpp index dffdc8884..9b10ba2bb 100644 --- a/src/v_font.cpp +++ b/src/v_font.cpp @@ -305,21 +305,16 @@ FFont *V_GetFont(const char *name) // //========================================================================== -FFont::FFont (const char *name, const char *nametemplate, int first, int count, int start, int fdlump, int spacewidth, bool notranslate) +FFont::FFont (const char *name, const char *nametemplate, const char *filetemplate, int lfirst, int lcount, int start, int fdlump, int spacewidth, bool notranslate) { int i; FTextureID lump; char buffer[12]; - TArray charLumps(count, true); int maxyoffs; bool doomtemplate = gameinfo.gametype & GAME_DoomChex ? strncmp (nametemplate, "STCFN", 5) == 0 : false; - bool stcfn121 = false; noTranslate = notranslate; Lump = fdlump; - Chars.Resize(count); - FirstChar = first; - LastChar = first + count - 1; FontHeight = 0; GlobalKerning = false; FontName = name; @@ -333,10 +328,13 @@ FFont::FFont (const char *name, const char *nametemplate, int first, int count, maxyoffs = 0; - for (i = 0; i < count; i++) + TMap charMap; + int minchar = INT_MAX; + int maxchar = INT_MIN; + for (i = 0; i < lcount; i++) { - charLumps[i] = nullptr; - mysnprintf (buffer, countof(buffer), nametemplate, i + start); + int position = '!' + i; + mysnprintf(buffer, countof(buffer), nametemplate, i + start); lump = TexMan.CheckForTexture(buffer, ETextureType::MiscPatch); if (doomtemplate && lump.isValid() && i + start == 121) @@ -349,21 +347,55 @@ FFont::FFont (const char *name, const char *nametemplate, int first, int count, !TexMan.CheckForTexture("STCFN122", ETextureType::MiscPatch).isValid()) { // insert the incorrectly named '|' graphic in its correct position. - if (count > 124-start) charLumps[124-start] = TexMan.GetTexture(lump); - lump.SetInvalid(); - stcfn121 = true; + position = 124; } } - if (lump.isValid()) { - FTexture *pic = TexMan.GetTexture(lump); + if (position < minchar) minchar = position; + if (position > maxchar) maxchar = position; + charMap.Insert(position, TexMan.GetTexture(lump)); + } + } + if (filetemplate != nullptr) + { + TArray folderdata; + FStringf path("fonts/%s/", filetemplate); + if (Wads.GetLumpsInFolder(path, folderdata)) + { + // all valid lumps must be named with a hex number that represents its Unicode character index. + for (auto &entry : folderdata) + { + char *endp; + auto base = ExtractFileBase(entry.name); + auto position = strtoll(base.GetChars(), &endp, 16); + if ((*endp == 0 || *endp == '.' && position >= '!' && position < 0xffff)) + { + auto lump = TexMan.CheckForTexture(entry.name, ETextureType::MiscPatch); + if (lump.isValid()) + { + if ((int)position < minchar) minchar = (int)position; + if ((int)position > maxchar) maxchar = (int)position; + charMap.Insert((int)position, TexMan.GetTexture(lump)); + } + } + } + } + } + + FirstChar = minchar; + LastChar = maxchar; + auto count = maxchar - minchar + 1; + Chars.Resize(count); + + for (i = 0; i < count; i++) + { + auto lump = charMap.CheckKey(FirstChar + i); + if (lump != nullptr) + { + FTexture *pic = *lump; if (pic != nullptr) { - // set the lump here only if it represents a valid texture - if (i != 124-start || !stcfn121) - charLumps[i] = pic; - int height = pic->GetDisplayHeight(); int yoffs = pic->GetDisplayTopOffset(); @@ -371,27 +403,26 @@ FFont::FFont (const char *name, const char *nametemplate, int first, int count, { maxyoffs = yoffs; } - height += abs (yoffs); + height += abs(yoffs); if (height > FontHeight) { FontHeight = height; } } - } - - if (charLumps[i] != nullptr) - { - charLumps[i]->SetUseType(ETextureType::FontChar); + pic->SetUseType(ETextureType::FontChar); if (!noTranslate) { - Chars[i].OriginalPic = charLumps[i]; - Chars[i].TranslatedPic = new FImageTexture(new FFontChar1 (charLumps[i]->GetImage()), ""); - Chars[i].TranslatedPic->Scale = charLumps[i]->Scale; + Chars[i].OriginalPic = pic; + Chars[i].TranslatedPic = new FImageTexture(new FFontChar1 (pic->GetImage()), ""); + Chars[i].TranslatedPic->Scale = pic->Scale; Chars[i].TranslatedPic->SetUseType(ETextureType::FontChar); TexMan.AddTexture(Chars[i].TranslatedPic); } - else Chars[i].TranslatedPic = charLumps[i]; + else + { + Chars[i].TranslatedPic = pic; + } Chars[i].XMove = Chars[i].TranslatedPic->GetDisplayWidth(); } @@ -406,9 +437,9 @@ FFont::FFont (const char *name, const char *nametemplate, int first, int count, { SpaceWidth = spacewidth; } - else if ('N'-first >= 0 && 'N'-first < count && Chars['N' - first].TranslatedPic != nullptr) + else if ('N'-FirstChar >= 0 && 'N'-FirstChar < count && Chars['N' - FirstChar].TranslatedPic != nullptr) { - SpaceWidth = (Chars['N' - first].XMove + 1) / 2; + SpaceWidth = (Chars['N' - FirstChar].XMove + 1) / 2; } else { @@ -1826,7 +1857,7 @@ void V_InitCustomFonts() } if (format == 1) { - FFont *fnt = new FFont (namebuffer, templatebuf, first, count, start, llump, spacewidth, donttranslate); + FFont *fnt = new FFont (namebuffer, templatebuf, nullptr, first, count, start, llump, spacewidth, donttranslate); fnt->SetCursor(cursor); } else if (format == 2) @@ -2228,19 +2259,19 @@ void V_InitFonts() } else if (Wads.CheckNumForName ("FONTA_S") >= 0) { - SmallFont = new FFont ("SmallFont", "FONTA%02u", HU_FONTSTART, HU_FONTSIZE, 1, -1); + SmallFont = new FFont ("SmallFont", "FONTA%02u", "defsmallfont", HU_FONTSTART, HU_FONTSIZE, 1, -1); SmallFont->SetCursor('['); } else { - SmallFont = new FFont ("SmallFont", "STCFN%.3d", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1); + SmallFont = new FFont ("SmallFont", "STCFN%.3d", "defsmallfont", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1); } } if (!(SmallFont2 = FFont::FindFont("SmallFont2"))) // Only used by Strife { if (Wads.CheckNumForName ("STBFN033", ns_graphics) >= 0) { - SmallFont2 = new FFont ("SmallFont2", "STBFN%.3d", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1); + SmallFont2 = new FFont ("SmallFont2", "STBFN%.3d", "defsmallfont2", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1); } else { @@ -2271,7 +2302,7 @@ void V_InitFonts() } else { - BigFont = new FFont ("BigFont", "FONTB%02u", HU_FONTSTART, HU_FONTSIZE, 1, -1); + BigFont = new FFont ("BigFont", "FONTB%02u", "defbigfont", HU_FONTSTART, HU_FONTSIZE, 1, -1); } } } diff --git a/src/v_font.h b/src/v_font.h index 7e8373532..d67b1d899 100644 --- a/src/v_font.h +++ b/src/v_font.h @@ -79,7 +79,7 @@ extern int NumTextColors; class FFont { public: - FFont (const char *fontname, const char *nametemplate, int first, int count, int base, int fdlump, int spacewidth=-1, bool notranslate = false); + FFont (const char *fontname, const char *nametemplate, const char *filetemplate, int first, int count, int base, int fdlump, int spacewidth=-1, bool notranslate = false); virtual ~FFont (); virtual FTexture *GetChar (int code, int translation, int *const width, bool *redirected = nullptr) const; diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn159.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/009F.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn159.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/009F.lmp diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00AB.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00AB.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b7804d21b7ddf8fb172f19375ef5cc285cfe89c6 GIT binary patch literal 89 zcmXZRF%Ez*3`0@3RXGO}BY$OP=Cr64#|sW(c#e}S>XIT>=VrSdcG_jN08ttYPj$GN Qf8)tt-bU6?^-lXTUdad(NdN!< literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00BB.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00BB.lmp new file mode 100644 index 0000000000000000000000000000000000000000..179e0ac79f392301d18e8701bcf54629b43313d8 GIT binary patch literal 89 zcmXAeu?@f=5CaVe=EwrbC3R{_Hbp^<_xOpWvrcwF24ME6t7zgCT?~OpCEYe;^5Z72 Px%@V{WFh%Wi^2B;p>`8; literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn191.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00BF.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn191.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00BF.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn192.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C0.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn192.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C0.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn193.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C1.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn193.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C1.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn194.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C2.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn194.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C2.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn195.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C3.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn195.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C3.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn196.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C4.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn196.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C4.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn197.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C5.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn197.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C5.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn199.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C7.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn199.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C7.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn200.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C8.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn200.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C8.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn201.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C9.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn201.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00C9.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn202.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CA.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn202.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CA.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn205.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CD.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn205.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CD.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn206.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CE.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn206.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CE.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn207.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CF.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn207.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00CF.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn209.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D1.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn209.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D1.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn211.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D3.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn211.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D3.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn212.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D4.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn212.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D4.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn213.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D5.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn213.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D5.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn214.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D6.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn214.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D6.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn217.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D9.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn217.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00D9.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn218.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DA.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn218.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DA.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn219.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DB.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn219.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DB.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn220.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DC.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn220.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DC.lmp diff --git a/wadsrc_extra/static/filter/game-doom/graphics/stcfn223.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DF.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-doom/graphics/stcfn223.lmp rename to wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/00DF.lmp diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0178.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0178.lmp new file mode 100644 index 0000000000000000000000000000000000000000..d57a2dd3eb335f4a3bfa23a61f8c8d938968c634 GIT binary patch literal 126 zcmd;J;9y{2U}Vq$k_JF*1;p+^91O(qK%4`_WkAfxtPcYJ8Cdo8x9V>Ju{iYgH|uZS j3KnK$2T>chZwE?1+1r3JU`1PDia>fd>u&=oftm&YiTEC1 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0401.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0401.lmp new file mode 100644 index 0000000000000000000000000000000000000000..9eedf12eda0fc5f80bccdf86497c6d900f92a682 GIT binary patch literal 140 zcmYj}(FuS+3`2XI;*H{8Z~zx@0S9ma7jP+S(Yo9j`=f=I5_qIY5s@T4b08y`$V?Wp rl8xjBaW!@P_vy?k1u)pIY*7^MYAj(n{P-+`{w!RtmAI1I7-oF{0OutX literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0410.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0410.lmp new file mode 100644 index 0000000000000000000000000000000000000000..f805e3aa6e7adc3137e6363869ed1032dcdf0a61 GIT binary patch literal 132 zcmd;JU}pdU4InlGVp|~g1maL2P6XmyAg%;rCRTk2_|M3uufJ={mM!}F{~6fz^|x=? fzI{8Cy-9y7ND){Zg}n`-e%ods0IC5Q0|Ea5&V(a5 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0411.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0411.lmp new file mode 100644 index 0000000000000000000000000000000000000000..af5f0f468cd6c2c4b156383e4c6bf51172f56b77 GIT binary patch literal 137 zcmd;JU}pdU4InlFVh14h0pbWCP66TqAg%#o26lZI_zz-l-Uohn31lP-nEVd_y#plb literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0412.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0412.lmp new file mode 100644 index 0000000000000000000000000000000000000000..201c48199f67f2751e99d709e84a318ed27919de GIT binary patch literal 137 zcmd;JU}pdU4InlFVh14h0pbWCP66TqAg%#o26lZI_zz-l)8D>ztG+&%y;* mMxe|lD0|bct-E0CjhnY_hN;=PQ-Awzpc+OdkdZ84@;?BE<0SR~ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0413.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0413.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a33bd8ef648f5ca349871f15a8c7d6f8b0c3b25a GIT binary patch literal 120 zcmd;JU}pdU4InlFVh14h0pbWCP5|NzAT9u626lZI_zz-l1p$41Fni0^t=qOk*&89M Q{xdM^>jT+XX`qt-0RDpGx@7V5X2YXr|n~}L>kqk|a88QUR5R3>RzY$gC{tTov#U!AT9%9CT4vQ_|M3yufKEqE+C769mv|eY3p_< jd+TN(fU>vj+_G~kl)YJhtNs=!dx!o`eVBT%c|dUh>Kh|t literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0416.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0416.lmp new file mode 100644 index 0000000000000000000000000000000000000000..dc873e301d21ea709ae2f8cd9aa27789d01aae53 GIT binary patch literal 208 zcmZwB!41MN4259}ih5y}ckKdfzyJ)u01UtY4A233ZXKsRGg$c(1&ITezSvS;S&9!TTjpOXmh5vHcP2IteHq2-;8_S{$)H; TtS#@WBA1yx^s=sA{eI;Gs&Y69 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0417.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0417.lmp new file mode 100644 index 0000000000000000000000000000000000000000..ff1ee0248c7c99cfc2728c2ae3fe60ceda85df03 GIT binary patch literal 134 zcmd;JU}pdU4InlJVn-nM1>#5`P6gsZAg%^t1}1$VUS@rdI>hA)wm>7XZuz-mF0CA!rcmMzZ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0418.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0418.lmp new file mode 100644 index 0000000000000000000000000000000000000000..7410e87a7d9670c9913f71f4a323685389a8968c GIT binary patch literal 134 zcmd;JU}pdU4InlKVtXL=2I6oaP6pz9Ag%^tMmBvY_|L$uufJ<65a{cJ*;}@5*}enH i*5AE-$8IQl*Ou)dEf6)^HgDPlWpCcRc`H~A!bkvhlO@{# literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0419.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0419.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b22264c4ab927d2e02be5b645a31b872df8367e0 GIT binary patch literal 137 zcmd;J;9y{2U}Vq$lEy%655zt|90|l}KwJdGbwJF-rVj=G8QJyqcWng%ef|Fo96-@6 rTeocA0p)Df-@SduZkWujE!#o5z*@F!+q`KLl)ZWL=B*$_j0jT!>SiYd literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041A.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041A.lmp new file mode 100644 index 0000000000000000000000000000000000000000..46423d78f08e5df072c416620979383a84884278 GIT binary patch literal 138 zcmd;JU}pdU4InlFVh14h0pbWCP6FaQAg%>s26lZI_zz-l2LXM3Fni;cO`A4D+4}lh nKIlf1AEO3y=b9U;?RS1(W{)Y8oOP literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041B.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..af8759ef399971468d5ac49d8c7e7e420e2f3bf4 GIT binary patch literal 144 zcmd;NU}pdU9UwLaVp|~g0OAlJP5|N@Ag%!779eJ2(g%Y7OspVk7m&rsrmw#P2!Kom kc76R#Teof724!yrslmqHx_vub{gzFeHbd1wl=qciWtT9EPdI;%Lx}7M6I!-`Hz00k$nU74LWv_N!XYFvj6}9 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041D.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..fa6e340dd7e5b71355a0a4fc5d828729c5cfad78 GIT binary patch literal 136 zcmd;JU}pdU4InlFVh14h0pbWCP66TqAg%#o26lZI_zz-l0Req|FnjyAT9x7CT4vQ_|M3yufJ=@E+C769mv|ebu)~; aai{*yjZkqAdkaj>)~(w?Y7jbMW&r>YvLa&u literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041F.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/041F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a478a2da247ac45f016de2ae2cd7e64aea11a6f6 GIT binary patch literal 136 zcmd;JU}pdU4InlFVh14h0pbWCP66TqAg%#o26lZI_zz-l0Req|2zxsaK-pU%s=(qX W?5*3k?|`b=v}Mz#%}_Sf(Ek7|=Oc*# literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0420.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0420.lmp new file mode 100644 index 0000000000000000000000000000000000000000..52061d8ebb3936a5e154a1d49714bafeb75079d4 GIT binary patch literal 126 zcmd;JU}pdU4InlFVh14h0pbWCP6FZ_AT9%926lZI_zz-l*Wb8ttG+&%y$OlEQGX*y d-G2sFef^DlH^W$4VXR$ScLBv1nZbtr2LQWFAN&9S literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0421.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0421.lmp new file mode 100644 index 0000000000000000000000000000000000000000..3e350d77e489680104eb8e25fc7b7512ccff9d56 GIT binary patch literal 139 zcmd;JU}pdU4InlEVk;na1L7bcjsxOcAg%#oCT4vQ_|M3yufKE0E+C76U0;9K=B=Ay m?9D*-R;c(!pi&_I&j8c~q*)*on7akS-3FBfDg?;_!G8dil_5|7 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0422.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0422.lmp new file mode 100644 index 0000000000000000000000000000000000000000..2798a47b3a2d1d2d029e9680b68f9bc263b073e4 GIT binary patch literal 120 zcmd;JU}pdU4InlEVhbR40pb84jsfBfAT9u624;N__z$8tfM|9w4G{yfH*N(2sQAWB Un>THSvbTV>LG%IHVErI-0LfAu1^@s6 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0423.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0423.lmp new file mode 100644 index 0000000000000000000000000000000000000000..429c6a52e5d4e37e70eb17f1022cbcdfee5d92d5 GIT binary patch literal 128 zcmd;JU}pdU4InlHVkaQ>1L7zkP6gt8Ag%yn24;N_U}XZ4{~6fz^*3(O*WV6fZ{DiE i70L$6YzK?8fs}6C1`=k~*WUzG0%WlOSzsZEdH(^S_8$TO literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0424.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0424.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bc5b528c3e2f50486ddc839e571da1808f1649c4 GIT binary patch literal 152 zcmd;LU}pdU10c2lVkaQ>0pbWCP66TqAg%%8HXxn=#7xZkAn>1&6-aJ|u{Lkr3KU~t l2lBT9A(XvwD-gign>KF(Du=1r0n@o-E075>4J-yT9{|qKCkg-n literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0425.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0425.lmp new file mode 100644 index 0000000000000000000000000000000000000000..ad72667cb50a2fa348669e4166d82ed0293748a0 GIT binary patch literal 158 zcmd;NU}pdU9U!&@VhMNw1(O#rF{83fXRVhI4n|0q!a literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0426.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0426.lmp new file mode 100644 index 0000000000000000000000000000000000000000..475944d63629829f0d15920b9903abe839d29d67 GIT binary patch literal 149 zcmd;N;9vj&9U!& aAbZQ^jhkTNTQ+arvIV3XtOle+|33gSlp7@g literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0428.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0428.lmp new file mode 100644 index 0000000000000000000000000000000000000000..adeadc5edb2672454f029d4ba9f8df94d8cf5b39 GIT binary patch literal 168 zcmd;LU}pdU10c2mVh^IAZ`KT2|zpth#A=RVchAnpL-DL}jsh}Quz1G_#9{0FhOfPlU}n7thc vU~G`0tw`c9_U28SwrqlmBdgf~)C*R_p|1~8vwb^A5s(80APyT7i1{A?d)YIb literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042A.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042A.lmp new file mode 100644 index 0000000000000000000000000000000000000000..5df82d312140562b9d270b58851562729eb3ea45 GIT binary patch literal 148 zcmd;LU}pdU10c2lVh14h0pbWCP66TqAg%)979j2gVg_b?5cm(Gw}WVQef`Z~At-w* s5J1H@Zr-|e3zV&|zfFG=kj=!ZufKH{oV6Jw&&&ceYd4U=!UQ%O04a4QN&o-= literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042B.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..250c4f7edb62bb677afbdebd09c6c8ec5f2e2eba GIT binary patch literal 177 zcmd;PU}pdU6Cic~Vjm!m0OAxN&I95KAZ`TWULc+c#7lvgfn6U4{)5+5gR-vnecvFht@-34cD2FWwC=<9Fa4Oa*@4{X485P*tr+_ZVqW;8VbOd2qg literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042C.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..74f90b8b0cf46f86bbe0639f998f20b4f4adb648 GIT binary patch literal 124 zcmd;JU}pdU4InlFVh14h0pbWCP6FZ_AT9-B26lZI_zz-l-U#5`P6gsZAg%^t1}1$VUS@rdIZr=rDF)@RT)c+3v7z!cI literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042E.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bd3aeb4d1e40f53c15e65bcdd5caa0833b462fca GIT binary patch literal 176 zcmd;PU}pdU6Cic~Vjm!m0OAxN&I95qAZ`QVNkBXgh*tnH1G_#9{0FhOgMhw1n7wh+ z=1rTSY<+zo3&>_<)z{y(c^6c4*XFHo_Qsw1J2%2~0@+(&YPN3O4pI-+xdX&vVg_6J F9{`KUGd=(S literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042F.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/042F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..8573a46b9cffd001f72cba215266118b52f34afb GIT binary patch literal 138 zcmd;JU}pdU4InlHVkaQ>1L7zkP6Og1Ag%*qMkakAU||N4`u`c&_4T*w>u=o(WpC2o mxDm$QsK0RsOwGn!8{z6VZru!5zkTcGT|h-(b3h7!;6DH*?j#fd literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/2014.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/2014.lmp new file mode 100644 index 0000000000000000000000000000000000000000..14e398c7cb6eb87695f34f1b360c725c8b6994d1 GIT binary patch literal 188 zcmd;QU}j)o`1juhNcsSA2oT2raS9OU0C5Qr*8p(~5cdG_6d;}h#7ls94G?buVg_b? O5cm(GH`0j)*#`j0@GQ{) literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/201C.lmp b/wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/201C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..255833abf9b6571f2ed1bb37bcc9be1c195e7315 GIT binary patch literal 98 zcmZQ)U||3O6(H6HVlyDN2VxH(4g}&TAZB3E2ZR40# Date: Thu, 7 Feb 2019 13:49:54 +0100 Subject: [PATCH 3/7] - fixed lowercase handling of non-basic-latin characters and added Undead's Russian translation. The added table may be overkill but this way the font engine is prepared for things to come. Currently the text placement in the menu seems a bit broken, that's a task for later. --- src/v_font.cpp | 703 ++++++++- wadsrc/static/language.rus | 2960 ++++++++++++++++++++++++++++++++++++ 2 files changed, 3658 insertions(+), 5 deletions(-) create mode 100644 wadsrc/static/language.rus diff --git a/src/v_font.cpp b/src/v_font.cpp index 9b10ba2bb..0b4ebd9a0 100644 --- a/src/v_font.cpp +++ b/src/v_font.cpp @@ -206,12 +206,703 @@ static TArray TranslationColors; // CODE -------------------------------------------------------------------- +uint16_t lowerforupper[65536]; +uint16_t upperforlower[65536]; +bool islowermap[65536]; +bool isuppermap[65536]; + +// This is a supposedly complete mapping of all lower <-> upper pairs. Most will most likely never be needed by Doom but this way there won't be any future surprises +static const uint16_t loweruppercase[] = { +0x0061,0x0041, +0x0062,0x0042, +0x0063,0x0043, +0x0064,0x0044, +0x0065,0x0045, +0x0066,0x0046, +0x0067,0x0047, +0x0068,0x0048, +0x0069,0x0049, +0x006A,0x004A, +0x006B,0x004B, +0x006C,0x004C, +0x006D,0x004D, +0x006E,0x004E, +0x006F,0x004F, +0x0070,0x0050, +0x0071,0x0051, +0x0072,0x0052, +0x0073,0x0053, +0x0074,0x0054, +0x0075,0x0055, +0x0076,0x0056, +0x0077,0x0057, +0x0078,0x0058, +0x0079,0x0059, +0x007A,0x005A, +0x00E0,0x00C0, +0x00E1,0x00C1, +0x00E2,0x00C2, +0x00E3,0x00C3, +0x00E4,0x00C4, +0x00E5,0x00C5, +0x00E6,0x00C6, +0x00E7,0x00C7, +0x00E8,0x00C8, +0x00E9,0x00C9, +0x00EA,0x00CA, +0x00EB,0x00CB, +0x00EC,0x00CC, +0x00ED,0x00CD, +0x00EE,0x00CE, +0x00EF,0x00CF, +0x00F0,0x00D0, +0x00F1,0x00D1, +0x00F2,0x00D2, +0x00F3,0x00D3, +0x00F4,0x00D4, +0x00F5,0x00D5, +0x00F6,0x00D6, +0x00F8,0x00D8, +0x00F9,0x00D9, +0x00FA,0x00DA, +0x00FB,0x00DB, +0x00FC,0x00DC, +0x00FD,0x00DD, +0x00FE,0x00DE, +0x00FF,0x0178, +0x0101,0x0100, +0x0103,0x0102, +0x0105,0x0104, +0x0107,0x0106, +0x0109,0x0108, +0x010B,0x010A, +0x010D,0x010C, +0x010F,0x010E, +0x0111,0x0110, +0x0113,0x0112, +0x0115,0x0114, +0x0117,0x0116, +0x0119,0x0118, +0x011B,0x011A, +0x011D,0x011C, +0x011F,0x011E, +0x0121,0x0120, +0x0123,0x0122, +0x0125,0x0124, +0x0127,0x0126, +0x0129,0x0128, +0x012B,0x012A, +0x012D,0x012C, +0x012F,0x012E, +0x0131,0x0049, +0x0133,0x0132, +0x0135,0x0134, +0x0137,0x0136, +0x013A,0x0139, +0x013C,0x013B, +0x013E,0x013D, +0x0140,0x013F, +0x0142,0x0141, +0x0144,0x0143, +0x0146,0x0145, +0x0148,0x0147, +0x014B,0x014A, +0x014D,0x014C, +0x014F,0x014E, +0x0151,0x0150, +0x0153,0x0152, +0x0155,0x0154, +0x0157,0x0156, +0x0159,0x0158, +0x015B,0x015A, +0x015D,0x015C, +0x015F,0x015E, +0x0161,0x0160, +0x0163,0x0162, +0x0165,0x0164, +0x0167,0x0166, +0x0169,0x0168, +0x016B,0x016A, +0x016D,0x016C, +0x016F,0x016E, +0x0171,0x0170, +0x0173,0x0172, +0x0175,0x0174, +0x0177,0x0176, +0x017A,0x0179, +0x017C,0x017B, +0x017E,0x017D, +0x0183,0x0182, +0x0185,0x0184, +0x0188,0x0187, +0x018C,0x018B, +0x0192,0x0191, +0x0199,0x0198, +0x01A1,0x01A0, +0x01A3,0x01A2, +0x01A5,0x01A4, +0x01A8,0x01A7, +0x01AD,0x01AC, +0x01B0,0x01AF, +0x01B4,0x01B3, +0x01B6,0x01B5, +0x01B9,0x01B8, +0x01BD,0x01BC, +0x01C6,0x01C4, +0x01C9,0x01C7, +0x01CC,0x01CA, +0x01CE,0x01CD, +0x01D0,0x01CF, +0x01D2,0x01D1, +0x01D4,0x01D3, +0x01D6,0x01D5, +0x01D8,0x01D7, +0x01DA,0x01D9, +0x01DC,0x01DB, +0x01DF,0x01DE, +0x01E1,0x01E0, +0x01E3,0x01E2, +0x01E5,0x01E4, +0x01E7,0x01E6, +0x01E9,0x01E8, +0x01EB,0x01EA, +0x01ED,0x01EC, +0x01EF,0x01EE, +0x01F3,0x01F1, +0x01F5,0x01F4, +0x01FB,0x01FA, +0x01FD,0x01FC, +0x01FF,0x01FE, +0x0201,0x0200, +0x0203,0x0202, +0x0205,0x0204, +0x0207,0x0206, +0x0209,0x0208, +0x020B,0x020A, +0x020D,0x020C, +0x020F,0x020E, +0x0211,0x0210, +0x0213,0x0212, +0x0215,0x0214, +0x0217,0x0216, +0x0253,0x0181, +0x0254,0x0186, +0x0257,0x018A, +0x0258,0x018E, +0x0259,0x018F, +0x025B,0x0190, +0x0260,0x0193, +0x0263,0x0194, +0x0268,0x0197, +0x0269,0x0196, +0x026F,0x019C, +0x0272,0x019D, +0x0275,0x019F, +0x0283,0x01A9, +0x0288,0x01AE, +0x028A,0x01B1, +0x028B,0x01B2, +0x0292,0x01B7, +0x03AC,0x0386, +0x03AD,0x0388, +0x03AE,0x0389, +0x03AF,0x038A, +0x03B1,0x0391, +0x03B2,0x0392, +0x03B3,0x0393, +0x03B4,0x0394, +0x03B5,0x0395, +0x03B6,0x0396, +0x03B7,0x0397, +0x03B8,0x0398, +0x03B9,0x0399, +0x03BA,0x039A, +0x03BB,0x039B, +0x03BC,0x039C, +0x03BD,0x039D, +0x03BE,0x039E, +0x03BF,0x039F, +0x03C0,0x03A0, +0x03C1,0x03A1, +0x03C3,0x03A3, +0x03C4,0x03A4, +0x03C5,0x03A5, +0x03C6,0x03A6, +0x03C7,0x03A7, +0x03C8,0x03A8, +0x03C9,0x03A9, +0x03CA,0x03AA, +0x03CB,0x03AB, +0x03CC,0x038C, +0x03CD,0x038E, +0x03CE,0x038F, +0x03E3,0x03E2, +0x03E5,0x03E4, +0x03E7,0x03E6, +0x03E9,0x03E8, +0x03EB,0x03EA, +0x03ED,0x03EC, +0x03EF,0x03EE, +0x0430,0x0410, +0x0431,0x0411, +0x0432,0x0412, +0x0433,0x0413, +0x0434,0x0414, +0x0435,0x0415, +0x0436,0x0416, +0x0437,0x0417, +0x0438,0x0418, +0x0439,0x0419, +0x043A,0x041A, +0x043B,0x041B, +0x043C,0x041C, +0x043D,0x041D, +0x043E,0x041E, +0x043F,0x041F, +0x0440,0x0420, +0x0441,0x0421, +0x0442,0x0422, +0x0443,0x0423, +0x0444,0x0424, +0x0445,0x0425, +0x0446,0x0426, +0x0447,0x0427, +0x0448,0x0428, +0x0449,0x0429, +0x044A,0x042A, +0x044B,0x042B, +0x044C,0x042C, +0x044D,0x042D, +0x044E,0x042E, +0x044F,0x042F, +0x0451,0x0401, +0x0452,0x0402, +0x0453,0x0403, +0x0454,0x0404, +0x0455,0x0405, +0x0456,0x0406, +0x0457,0x0407, +0x0458,0x0408, +0x0459,0x0409, +0x045A,0x040A, +0x045B,0x040B, +0x045C,0x040C, +0x045E,0x040E, +0x045F,0x040F, +0x0461,0x0460, +0x0463,0x0462, +0x0465,0x0464, +0x0467,0x0466, +0x0469,0x0468, +0x046B,0x046A, +0x046D,0x046C, +0x046F,0x046E, +0x0471,0x0470, +0x0473,0x0472, +0x0475,0x0474, +0x0477,0x0476, +0x0479,0x0478, +0x047B,0x047A, +0x047D,0x047C, +0x047F,0x047E, +0x0481,0x0480, +0x0491,0x0490, +0x0493,0x0492, +0x0495,0x0494, +0x0497,0x0496, +0x0499,0x0498, +0x049B,0x049A, +0x049D,0x049C, +0x049F,0x049E, +0x04A1,0x04A0, +0x04A3,0x04A2, +0x04A5,0x04A4, +0x04A7,0x04A6, +0x04A9,0x04A8, +0x04AB,0x04AA, +0x04AD,0x04AC, +0x04AF,0x04AE, +0x04B1,0x04B0, +0x04B3,0x04B2, +0x04B5,0x04B4, +0x04B7,0x04B6, +0x04B9,0x04B8, +0x04BB,0x04BA, +0x04BD,0x04BC, +0x04BF,0x04BE, +0x04C2,0x04C1, +0x04C4,0x04C3, +0x04C8,0x04C7, +0x04CC,0x04CB, +0x04D1,0x04D0, +0x04D3,0x04D2, +0x04D5,0x04D4, +0x04D7,0x04D6, +0x04D9,0x04D8, +0x04DB,0x04DA, +0x04DD,0x04DC, +0x04DF,0x04DE, +0x04E1,0x04E0, +0x04E3,0x04E2, +0x04E5,0x04E4, +0x04E7,0x04E6, +0x04E9,0x04E8, +0x04EB,0x04EA, +0x04EF,0x04EE, +0x04F1,0x04F0, +0x04F3,0x04F2, +0x04F5,0x04F4, +0x04F9,0x04F8, +0x0561,0x0531, +0x0562,0x0532, +0x0563,0x0533, +0x0564,0x0534, +0x0565,0x0535, +0x0566,0x0536, +0x0567,0x0537, +0x0568,0x0538, +0x0569,0x0539, +0x056A,0x053A, +0x056B,0x053B, +0x056C,0x053C, +0x056D,0x053D, +0x056E,0x053E, +0x056F,0x053F, +0x0570,0x0540, +0x0571,0x0541, +0x0572,0x0542, +0x0573,0x0543, +0x0574,0x0544, +0x0575,0x0545, +0x0576,0x0546, +0x0577,0x0547, +0x0578,0x0548, +0x0579,0x0549, +0x057A,0x054A, +0x057B,0x054B, +0x057C,0x054C, +0x057D,0x054D, +0x057E,0x054E, +0x057F,0x054F, +0x0580,0x0550, +0x0581,0x0551, +0x0582,0x0552, +0x0583,0x0553, +0x0584,0x0554, +0x0585,0x0555, +0x0586,0x0556, +0x10D0,0x10A0, +0x10D1,0x10A1, +0x10D2,0x10A2, +0x10D3,0x10A3, +0x10D4,0x10A4, +0x10D5,0x10A5, +0x10D6,0x10A6, +0x10D7,0x10A7, +0x10D8,0x10A8, +0x10D9,0x10A9, +0x10DA,0x10AA, +0x10DB,0x10AB, +0x10DC,0x10AC, +0x10DD,0x10AD, +0x10DE,0x10AE, +0x10DF,0x10AF, +0x10E0,0x10B0, +0x10E1,0x10B1, +0x10E2,0x10B2, +0x10E3,0x10B3, +0x10E4,0x10B4, +0x10E5,0x10B5, +0x10E6,0x10B6, +0x10E7,0x10B7, +0x10E8,0x10B8, +0x10E9,0x10B9, +0x10EA,0x10BA, +0x10EB,0x10BB, +0x10EC,0x10BC, +0x10ED,0x10BD, +0x10EE,0x10BE, +0x10EF,0x10BF, +0x10F0,0x10C0, +0x10F1,0x10C1, +0x10F2,0x10C2, +0x10F3,0x10C3, +0x10F4,0x10C4, +0x10F5,0x10C5, +0x1E01,0x1E00, +0x1E03,0x1E02, +0x1E05,0x1E04, +0x1E07,0x1E06, +0x1E09,0x1E08, +0x1E0B,0x1E0A, +0x1E0D,0x1E0C, +0x1E0F,0x1E0E, +0x1E11,0x1E10, +0x1E13,0x1E12, +0x1E15,0x1E14, +0x1E17,0x1E16, +0x1E19,0x1E18, +0x1E1B,0x1E1A, +0x1E1D,0x1E1C, +0x1E1F,0x1E1E, +0x1E21,0x1E20, +0x1E23,0x1E22, +0x1E25,0x1E24, +0x1E27,0x1E26, +0x1E29,0x1E28, +0x1E2B,0x1E2A, +0x1E2D,0x1E2C, +0x1E2F,0x1E2E, +0x1E31,0x1E30, +0x1E33,0x1E32, +0x1E35,0x1E34, +0x1E37,0x1E36, +0x1E39,0x1E38, +0x1E3B,0x1E3A, +0x1E3D,0x1E3C, +0x1E3F,0x1E3E, +0x1E41,0x1E40, +0x1E43,0x1E42, +0x1E45,0x1E44, +0x1E47,0x1E46, +0x1E49,0x1E48, +0x1E4B,0x1E4A, +0x1E4D,0x1E4C, +0x1E4F,0x1E4E, +0x1E51,0x1E50, +0x1E53,0x1E52, +0x1E55,0x1E54, +0x1E57,0x1E56, +0x1E59,0x1E58, +0x1E5B,0x1E5A, +0x1E5D,0x1E5C, +0x1E5F,0x1E5E, +0x1E61,0x1E60, +0x1E63,0x1E62, +0x1E65,0x1E64, +0x1E67,0x1E66, +0x1E69,0x1E68, +0x1E6B,0x1E6A, +0x1E6D,0x1E6C, +0x1E6F,0x1E6E, +0x1E71,0x1E70, +0x1E73,0x1E72, +0x1E75,0x1E74, +0x1E77,0x1E76, +0x1E79,0x1E78, +0x1E7B,0x1E7A, +0x1E7D,0x1E7C, +0x1E7F,0x1E7E, +0x1E81,0x1E80, +0x1E83,0x1E82, +0x1E85,0x1E84, +0x1E87,0x1E86, +0x1E89,0x1E88, +0x1E8B,0x1E8A, +0x1E8D,0x1E8C, +0x1E8F,0x1E8E, +0x1E91,0x1E90, +0x1E93,0x1E92, +0x1E95,0x1E94, +0x1EA1,0x1EA0, +0x1EA3,0x1EA2, +0x1EA5,0x1EA4, +0x1EA7,0x1EA6, +0x1EA9,0x1EA8, +0x1EAB,0x1EAA, +0x1EAD,0x1EAC, +0x1EAF,0x1EAE, +0x1EB1,0x1EB0, +0x1EB3,0x1EB2, +0x1EB5,0x1EB4, +0x1EB7,0x1EB6, +0x1EB9,0x1EB8, +0x1EBB,0x1EBA, +0x1EBD,0x1EBC, +0x1EBF,0x1EBE, +0x1EC1,0x1EC0, +0x1EC3,0x1EC2, +0x1EC5,0x1EC4, +0x1EC7,0x1EC6, +0x1EC9,0x1EC8, +0x1ECB,0x1ECA, +0x1ECD,0x1ECC, +0x1ECF,0x1ECE, +0x1ED1,0x1ED0, +0x1ED3,0x1ED2, +0x1ED5,0x1ED4, +0x1ED7,0x1ED6, +0x1ED9,0x1ED8, +0x1EDB,0x1EDA, +0x1EDD,0x1EDC, +0x1EDF,0x1EDE, +0x1EE1,0x1EE0, +0x1EE3,0x1EE2, +0x1EE5,0x1EE4, +0x1EE7,0x1EE6, +0x1EE9,0x1EE8, +0x1EEB,0x1EEA, +0x1EED,0x1EEC, +0x1EEF,0x1EEE, +0x1EF1,0x1EF0, +0x1EF3,0x1EF2, +0x1EF5,0x1EF4, +0x1EF7,0x1EF6, +0x1EF9,0x1EF8, +0x1F00,0x1F08, +0x1F01,0x1F09, +0x1F02,0x1F0A, +0x1F03,0x1F0B, +0x1F04,0x1F0C, +0x1F05,0x1F0D, +0x1F06,0x1F0E, +0x1F07,0x1F0F, +0x1F10,0x1F18, +0x1F11,0x1F19, +0x1F12,0x1F1A, +0x1F13,0x1F1B, +0x1F14,0x1F1C, +0x1F15,0x1F1D, +0x1F20,0x1F28, +0x1F21,0x1F29, +0x1F22,0x1F2A, +0x1F23,0x1F2B, +0x1F24,0x1F2C, +0x1F25,0x1F2D, +0x1F26,0x1F2E, +0x1F27,0x1F2F, +0x1F30,0x1F38, +0x1F31,0x1F39, +0x1F32,0x1F3A, +0x1F33,0x1F3B, +0x1F34,0x1F3C, +0x1F35,0x1F3D, +0x1F36,0x1F3E, +0x1F37,0x1F3F, +0x1F40,0x1F48, +0x1F41,0x1F49, +0x1F42,0x1F4A, +0x1F43,0x1F4B, +0x1F44,0x1F4C, +0x1F45,0x1F4D, +0x1F51,0x1F59, +0x1F53,0x1F5B, +0x1F55,0x1F5D, +0x1F57,0x1F5F, +0x1F60,0x1F68, +0x1F61, 0x1F69, +0x1F62, 0x1F6A, +0x1F63, 0x1F6B, +0x1F64, 0x1F6C, +0x1F65, 0x1F6D, +0x1F66, 0x1F6E, +0x1F67, 0x1F6F, +0x1F80, 0x1F88, +0x1F81, 0x1F89, +0x1F82, 0x1F8A, +0x1F83, 0x1F8B, +0x1F84, 0x1F8C, +0x1F85, 0x1F8D, +0x1F86, 0x1F8E, +0x1F87, 0x1F8F, +0x1F90, 0x1F98, +0x1F91, 0x1F99, +0x1F92, 0x1F9A, +0x1F93, 0x1F9B, +0x1F94, 0x1F9C, +0x1F95, 0x1F9D, +0x1F96, 0x1F9E, +0x1F97, 0x1F9F, +0x1FA0, 0x1FA8, +0x1FA1, 0x1FA9, +0x1FA2, 0x1FAA, +0x1FA3, 0x1FAB, +0x1FA4, 0x1FAC, +0x1FA5, 0x1FAD, +0x1FA6, 0x1FAE, +0x1FA7, 0x1FAF, +0x1FB0, 0x1FB8, +0x1FB1, 0x1FB9, +0x1FD0, 0x1FD8, +0x1FD1, 0x1FD9, +0x1FE0, 0x1FE8, +0x1FE1, 0x1FE9, +0x24D0, 0x24B6, +0x24D1, 0x24B7, +0x24D2, 0x24B8, +0x24D3, 0x24B9, +0x24D4, 0x24BA, +0x24D5, 0x24BB, +0x24D6, 0x24BC, +0x24D7, 0x24BD, +0x24D8, 0x24BE, +0x24D9, 0x24BF, +0x24DA, 0x24C0, +0x24DB, 0x24C1, +0x24DC, 0x24C2, +0x24DD, 0x24C3, +0x24DE, 0x24C4, +0x24DF, 0x24C5, +0x24E0, 0x24C6, +0x24E1, 0x24C7, +0x24E2, 0x24C8, +0x24E3, 0x24C9, +0x24E4, 0x24CA, +0x24E5, 0x24CB, +0x24E6, 0x24CC, +0x24E7, 0x24CD, +0x24E8, 0x24CE, +0x24E9, 0x24CF, +0xFF41, 0xFF21, +0xFF42, 0xFF22, +0xFF43, 0xFF23, +0xFF44, 0xFF24, +0xFF45, 0xFF25, +0xFF46, 0xFF26, +0xFF47, 0xFF27, +0xFF48, 0xFF28, +0xFF49, 0xFF29, +0xFF4A, 0xFF2A, +0xFF4B, 0xFF2B, +0xFF4C, 0xFF2C, +0xFF4D, 0xFF2D, +0xFF4E, 0xFF2E, +0xFF4F, 0xFF2F, +0xFF50, 0xFF30, +0xFF51, 0xFF31, +0xFF52, 0xFF32, +0xFF53, 0xFF33, +0xFF54, 0xFF34, +0xFF55, 0xFF35, +0xFF56, 0xFF36, +0xFF57, 0xFF37, +0xFF58, 0xFF38, +0xFF59, 0xFF39, +0xFF5A, 0xFF3A, +0, 0 +}; + +void InitLowerUpper() +{ + for (int i = 0; i < 65536; i++) + { + lowerforupper[i] = i; + upperforlower[i] = i; + } + for (int i = 0; loweruppercase[i]; i += 2) + { + auto lower = loweruppercase[i]; + auto upper = loweruppercase[i + 1]; + if (upperforlower[upper] == upper) lowerforupper[upper] = lower; // This mapping is ambiguous (see 0x0131 -> 0x0049, (small Turkish 'i' without dot.) so only pick the first match. + if (upperforlower[lower] == lower) upperforlower[lower] = upper; + isuppermap[upper] = islowermap[lower] = true; + } +} + + static bool myislower(int code) { - if (code >= 'a' && code <= 'z') - return true; - if (code != 0xF7 && code != 0xFF && (code & 0xE0) == 0xE0) - return true; + if (code >= 0 && code < 65536) return islowermap[code]; return false; } @@ -260,6 +951,7 @@ static int stripaccent(int code) return 'Y' + (code & 0x20); if (acode == 0xDE) // Thorn return 'P' + (code & 0x20); // well, it sort of looks like a 'P' + // fixme: codes above 0x100 not supported yet! return code; } @@ -747,7 +1439,7 @@ int FFont::GetCharCode(int code, bool needpic) const // Try converting lowercase characters to uppercase. if (myislower(code)) { - code -= 32; + code = upperforlower[code]; if (code >= FirstChar && code <= LastChar && (!needpic || Chars[code - FirstChar].TranslatedPic != nullptr)) { return code; @@ -2246,6 +2938,7 @@ EColorRange V_ParseFontColor (const uint8_t *&color_value, int normalcolor, int void V_InitFonts() { + InitLowerUpper(); V_InitCustomFonts (); // load the heads-up font diff --git a/wadsrc/static/language.rus b/wadsrc/static/language.rus new file mode 100644 index 000000000..d43087eeb --- /dev/null +++ b/wadsrc/static/language.rus @@ -0,0 +1,2960 @@ +/* Русский язык */ + +[rus] + +SECRETMESSAGE = "Обнаружен тайник!"; + +D_DEVSTR = "Включен режим разработчика."; +D_CDROM = "Версия для диска: файл zdoom.ini в c:\\zdoomdat\n"; +PRESSKEY = "Нажмите любую клавишу."; +PRESSYN = "Нажмите Y или N."; + +QUITMSG = "Ты действительно хочешь выйти\nиз этой замечательной игры?"; +TXT_YES = "Да"; +TXT_NO = "Нет"; + +// Quit Doom 1 messages +QUITMSG1 = "Пожалуйста, не уходи!\nТут еще много демонов!"; +QUITMSG2 = "Да, давай, убегай, если эта\nкровавая баня тебе не по зубам!"; +QUITMSG3 = "На твоем месте я бы не уходил.\nDOS намного скучнее."; +QUITMSG4 = "Ты хочешь сказать, что DOS\nтебе нравится больше, чем я, а?"; +QUITMSG5 = "Не уходи! За углом\nпритаился еще один монстр!"; +QUITMSG6 = "Знаешь, по возвращении тебя\nбудут ждать большие неприятности."; +QUITMSG7 = "Давай, уходи. Мне совершенно все равно."; + +// Quit Doom II messages +QUITMSG8 = "Всерьез задумываешь выйти?\nПолагаю, это не очень-то разумно!"; +QUITMSG9 = "Не уходи! Тут чудовище из другого\nмира ожидает особого приглашения!"; +QUITMSG10 = "Вот и убирайся отсюда к\nсвоим скучным программам."; +QUITMSG11 = "Будь я твоим боссом,\nразобрался бы с тобой ровно за минуту!"; +QUITMSG12 = "Послушай, дружище. Выйдешь —\nи сбросишь свой счетчик убийств!"; +QUITMSG13 = "Уходи, уходи... но когда вернешься,\nя буду ждать тебя с битой."; +QUITMSG14 = "Тебе повезло, что я не вмажу тебе\nза то, что ты выходишь."; + +// Quit Strife messages +QUITMSG15 = "Куда ты собрался?\nА как же восстание?!"; +QUITMSG16 = "Резня прекращается...\nНа самом интересном месте!"; +QUITMSG17 = "Но на тебя вся надежда —\nты мой единственный шанс!"; +QUITMSG18 = "Никто не бросает Птицу."; +QUITMSG19 = "Я думала, ты другой..."; +QUITMSG20 = "Отлично! Пострелял и смылся!"; +QUITMSG21 = "Ты можешь уйти...\nно не можешь спрятаться..."; +QUITMSG22 = "Ха! В чем дело?\nМама зовет обедать?"; + +// Quit Chex messages +QUITMSG23 = "Не выходи сейчас! Здесь есть\nеще много флемоидов!"; +QUITMSG24 = "Не сдавайся — не то флемоиды\nполучат преимущество!"; +QUITMSG25 = "Не уходи сейчас.\nНам нужна твоя помощь!"; +QUITMSG26 = "Надеюсь, ты лишь делаешь\nперерыв на тарелку хлопьев Chex(R)."; +QUITMSG27 = "Не уходи сейчас!\nНам нужна твоя помощь!"; +QUITMSG28 = "Не оставляй\nМежгалактическую Федерацию Хлопьев!"; +QUITMSG29 = "Настоящий Воин Chex(R)\nне сдастся так быстро!"; + +LOADNET = "Невозможно загрузить сохранение в сетевой игре!\n\nНажмите любую клавишу."; +QLOADNET = "Невозможно загрузить быстрое сохранение в сетевой игре!\n\nНажмите любую клавишу."; +QSAVESPOT = "У Вас не выбран слот быстрого сохранения!\n\nНажмите любую клавишу."; +SAVEDEAD = "Невозможно сохранить игру, не начав ее!\n\nНажмите любую клавишу."; +QSPROMPT = "Перезаписать быстрое сохранение\n\n'%s'?\n\nНажмите Y или N."; +QLPROMPT = "Загрузить быстрое сохранение\n\n'%s'?\n\nНажмите Y или N."; +NEWGAME = "Невозможно начать новую игру\nпри активной сетевой игре.\n\nНажмите любую клавишу."; +NIGHTMARE = "Уверены? Этот уровень сложности\nдаже не близок к честному.\n\nНажмите Y или N."; +SWSTRING = "Это демонстрационная версия Doom.\n\nВам необходимо приобрести всю трилогию.\n\nНажмите любую клавишу."; +MSGOFF = "Сообщения ОТКЛЮЧЕНЫ"; +MSGON = "Сообщения ВКЛЮЧЕНЫ"; +NETEND = "Невозможно закончить сетевую игру!\n\nНажмите любую клавишу."; +ENDGAME = "Вы действительно хотите закончить игру?\n\nНажмите Y или N."; +DOSY = "(Нажмите Y, чтобы выйти)"; +EMPTYSTRING = "Пустой слот"; +GOTARMOR = "Получена броня."; +GOTMEGA = "Получена мегаброня!"; +GOTHTHBONUS = "Получен бонус к здоровью."; +GOTARMBONUS = "Получен бонус к броне."; +GOTSTIM = "Получен стимулятор."; +GOTMEDINEED = "Получена крайне необходимая аптечка!"; +GOTMEDIKIT = "Получена аптечка."; +GOTSUPER = "Сверхзаряд!"; +GOTBLUECARD = "Получена синяя ключ-карта."; +GOTYELWCARD = "Получена желтая ключ-карта"; +GOTREDCARD = "Получена красная ключ-карта."; +GOTBLUESKUL = "Получен синий ключ-череп."; +GOTYELWSKUL = "Получен желтый ключ-череп."; +GOTREDSKUL = "Получен красный ключ-череп."; +GOTINVUL = "Неуязвимость!"; +GOTBERSERK = "Берсерк!"; +GOTINVIS = "Частичная невидимость."; +GOTSUIT = "Костюм радиационной защиты."; +GOTMAP = "Компьютерная карта уровня."; +GOTVISOR = "Очки ночного видения."; +GOTMSPHERE = "Мегасфера!"; +GOTCLIP = "Получен магазин."; +GOTCLIPBOX = "Получена коробка патронов."; +GOTROCKET = "Получена ракета."; +GOTROCKBOX = "Получен ящик ракет."; +GOTCELL = "Получена энергобатарея."; +GOTCELLBOX = "Получен энергоаккумулятор."; +GOTSHELLS = "Получено 4 патрона для дробовика."; +GOTSHELLBOX = "Получена коробка патронов для дробовика."; +GOTBACKPACK = "Получен рюкзак, полный патронов!"; +GOTBFG9000 = "Получено BFG9000! О, да!"; +GOTCHAINGUN = "Получен пулемет!"; +GOTCHAINSAW = "Бензопила! Найди немного мяса!"; +GOTLAUNCHER = "Получена ракетница!"; +GOTPLASMA = "Получен плазмомет!"; +GOTSHOTGUN = "Получен дробовик!"; +GOTSHOTGUN2 = "Получен супер-дробовик!"; +PD_BLUEO = "Для активации нужен синий ключ"; +PD_REDO = "Для активации нужен красный ключ"; +PD_YELLOWO = "Для активации нужен желтый ключ"; +PD_BLUEK = "Нужен синий ключ, чтобы открыть"; +PD_REDK = "Нужен красный ключ, чтобы открыть"; +PD_YELLOWK = "Нужен желтый ключ, чтобы открыть"; +PD_BLUECO = "Для активации нужен синий ключ"; +PD_REDCO = "Для активации нужен красный ключ"; +PD_YELLOWCO = "Для активации нужен желтый ключ"; +PD_BLUESO = "Для активации нужен синий череп."; +PD_REDSO = "Для активации нужен красный череп."; +PD_YELLOWSO = "Для активации нужен желтый череп."; +NEWSAVE = "<Новое сохранение>"; +GGSAVED = "Игра сохранена!"; +HUSTR_MSGU = "[Сообщение не отправлено]"; +PICKUP_PISTOL_DROPPED = "Получен пистолет."; +BETA_BONUS1 = "Вы подобрали демонический кинжал."; +BETA_BONUS2 = "Вы подобрали сундук с черепом."; +BETA_BONUS3 = "Вы подобрали скипетр зла."; +BETA_BONUS4 = "Вы подобрали порочную Библию."; + +// Названия уровней +HUSTR_E1M1 = "E1M1: Ангар"; +HUSTR_E1M2 = "E1M2: Атомная Электростанция"; +HUSTR_E1M3 = "E1M3: Завод По Переработке Токсинов"; +HUSTR_E1M4 = "E1M4: Командный Пункт"; +HUSTR_E1M5 = "E1M5: Лаборатория На Фобосе"; +HUSTR_E1M6 = "E1M6: Центральный Пункт Обработки"; +HUSTR_E1M7 = "E1M7: Вычислительный Центр"; +HUSTR_E1M8 = "E1M8: Аномалия Фобоса"; +HUSTR_E1M9 = "E1M9: Военная База"; +HUSTR_E2M1 = "E2M1: Аномалия Деймоса"; +HUSTR_E2M2 = "E2M2: Хранилище"; +HUSTR_E2M3 = "E2M3: Очистительный Завод"; +HUSTR_E2M4 = "E2M4: Лаборатория На Деймосе"; +HUSTR_E2M5 = "E2M5: Командный Центр"; +HUSTR_E2M6 = "E2M6: Залы Проклятых"; +HUSTR_E2M7 = "E2M7: Нерестилище"; +HUSTR_E2M8 = "E2M8: Вавилонская Башня"; +HUSTR_E2M9 = "E2M9: Крепость Тайн"; +HUSTR_E3M1 = "E3M1: Крепость Ада"; +HUSTR_E3M2 = "E3M2: Трясина Отчаяния"; +HUSTR_E3M3 = "E3M3: Пандемониум"; +HUSTR_E3M4 = "E3M4: Дом Боли"; +HUSTR_E3M5 = "E3M5: Нечестивый Собор"; +HUSTR_E3M6 = "E3M6: Эребус"; +HUSTR_E3M7 = "E3M7: Лимб"; +HUSTR_E3M8 = "E3M8: Дит"; +HUSTR_E3M9 = "E3M9: Кроличий Сад"; +HUSTR_E4M1 = "E4M1: Преисподняя Внизу"; +HUSTR_E4M2 = "E4M2: Полная Ненависть"; +HUSTR_E4M3 = "E4M3: Отделить Злых"; +HUSTR_E4M4 = "E4M4: Неудержимое Зло"; +HUSTR_E4M5 = "E4M5: Они Покаются"; +HUSTR_E4M6 = "E4M6: Против Тебя Нечестиво"; +HUSTR_E4M7 = "E4M7: И Последовал Ад"; +HUSTR_E4M8 = "E4M8: К Мучителю"; +HUSTR_E4M9 = "E4M9: Страх"; + +hustr_1 = "уровень 1: вход"; +hustr_2 = "уровень 2: подземные ходы"; +hustr_3 = "уровень 3: вызов брошен"; +hustr_4 = "уровень 4: средоточие"; +hustr_5 = "уровень 5: сточные туннели"; +hustr_6 = "уровень 6: пресс"; +hustr_7 = "уровень 7: смертельно просто"; +hustr_8 = "уровень 8: уловки и ловушки"; +hustr_9 = "уровень 9: яма"; +hustr_10 = "уровень 10: заправочная база"; +hustr_11 = "уровень 11: круг разрушения!"; +hustr_12 = "уровень 12: фабрика"; +hustr_13 = "уровень 13: деловой район"; +hustr_14 = "уровень 14: глубочайшие логовища"; +hustr_15 = "уровень 15: промышленная зона"; +hustr_16 = "уровень 16: пригород"; +hustr_17 = "уровень 17: владения"; +hustr_18 = "уровень 18: внутренний двор"; +hustr_19 = "уровень 19: цитадель"; +hustr_20 = "уровень 20: попался!"; +hustr_21 = "уровень 21: нирвана"; +hustr_22 = "уровень 22: катакомбы"; +hustr_23 = "уровень 23: бочки веселья"; +hustr_24 = "уровень 24: пропасть"; +hustr_25 = "уровень 25: кровопады"; +hustr_26 = "уровень 26: заброшенные шахты"; +hustr_27 = "уровень 27: жилище монстров"; +hustr_28 = "уровень 28: мир духов"; +hustr_29 = "уровень 29: конец всего живого"; +hustr_30 = "уровень 30: икона греха"; +hustr_31 = "уровень 31: вольфенштайн"; +hustr_32 = "уровень 32: гроссе"; +hustr_31b = "уровень 31: idkfa"; +hustr_32b = "уровень 32: кин"; +hustr_33 = "уровень 33: предательство"; + +NHUSTR_1 = "уровень 1: база на земле"; +NHUSTR_2 = "уровень 2: лаборатории боли"; +NHUSTR_3 = "уровень 3: каньон мертвецов"; +NHUSTR_4 = "уровень 4: адская гора"; +NHUSTR_5 = "уровень 5: вивисекция"; +NHUSTR_6 = "уровень 6: кровавая преисподняя"; +NHUSTR_7 = "уровень 7: банкет у барона"; +NHUSTR_8 = "уровень 8: гробница злобы"; +NHUSTR_9 = "уровень 9: шествие демонов"; + +PHUSTR_1 = "уровень 1: конго"; +PHUSTR_2 = "уровень 2: колодец душ"; +PHUSTR_3 = "уровень 3: ацтек"; +PHUSTR_4 = "уровень 4: запертый в клетке"; +PHUSTR_5 = "уровень 5: город-призрак"; +PHUSTR_6 = "уровень 6: обитель барона"; +PHUSTR_7 = "уровень 7: двор-ловушка"; +PHUSTR_8 = "уровень 8: царство"; +PHUSTR_9 = "уровень 9: аббатство"; +PHUSTR_10 = "уровень 10: натиск"; +PHUSTR_11 = "уровень 11: преследуемый"; +PHUSTR_12 = "уровень 12: скорость"; +PHUSTR_13 = "уровень 13: склеп"; +PHUSTR_14 = "уровень 14: зарождение"; +PHUSTR_15 = "уровень 15: сумерки"; +PHUSTR_16 = "уровень 16: предзнаменование"; +PHUSTR_17 = "уровень 17: компаунд"; +PHUSTR_18 = "уровень 18: нейросфера"; +PHUSTR_19 = "уровень 19: в.р.а.г."; +PHUSTR_20 = "уровень 20: обитель смерти"; +PHUSTR_21 = "уровень 21: убийца"; +PHUSTR_22 = "уровень 22: невыполнимое задание"; +PHUSTR_23 = "уровень 23: надгробие"; +PHUSTR_24 = "уровень 24: последний рубеж"; +PHUSTR_25 = "уровень 25: храм тьмы"; +PHUSTR_26 = "уровень 26: бункер"; +PHUSTR_27 = "уровень 27: антихрист"; +PHUSTR_28 = "уровень 28: канализация"; +PHUSTR_29 = "уровень 29: одиссея шумов"; +PHUSTR_30 = "уровень 30: врата ада"; +PHUSTR_31 = "уровень 31: киберлогово"; +PHUSTR_32 = "уровень 32: иди к сему"; + +THUSTR_1 = "уровень 1: центр управления системой"; +THUSTR_2 = "уровень 2: барбекю из человечины"; +THUSTR_3 = "уровень 3: центр управления питанием"; +THUSTR_4 = "уровень 4: червоточина"; +THUSTR_5 = "уровень 5: виселица"; +THUSTR_6 = "уровень 6: открытый сезон"; +THUSTR_7 = "уровень 7: тюрьма"; +THUSTR_8 = "уровень 8: металл"; +THUSTR_9 = "уровень 9: крепость"; +THUSTR_10 = "уровень 10: искупление"; +THUSTR_11 = "уровень 11: склад"; +THUSTR_12 = "уровень 12: кратер"; +THUSTR_13 = "уровень 13: переработка ядерных отходов"; +THUSTR_14 = "уровень 14: металлургия"; +THUSTR_15 = "уровень 15: мертвая зона"; +THUSTR_16 = "уровень 16: глубочайшие достижения"; +THUSTR_17 = "уровень 17: зона обработки"; +THUSTR_18 = "уровень 18: завод"; +THUSTR_19 = "уровень 19: погрузка/отправка"; +THUSTR_20 = "уровень 20: центральный пункт обработки"; +THUSTR_21 = "уровень 21: административный центр"; +THUSTR_22 = "уровень 22: обиталище"; +THUSTR_23 = "уровень 23: лунный горный проект"; +THUSTR_24 = "уровень 24: карьер"; +THUSTR_25 = "уровень 25: логово барона"; +THUSTR_26 = "уровень 26: баллистикс"; +THUSTR_27 = "уровень 27: гора боль"; +THUSTR_28 = "уровень 28: чертовщина"; +THUSTR_29 = "уровень 29: река стикс"; +THUSTR_30 = "уровень 30: последний вызов"; +THUSTR_31 = "уровень 31: фараон"; +THUSTR_32 = "уровень 32: карибы"; + +HUSTR_TALKTOSELF1 = "Неразборчивое бормотание"; +HUSTR_TALKTOSELF2 = "Кто там?"; +HUSTR_TALKTOSELF3 = "Что это было?"; +HUSTR_TALKTOSELF4 = "Вы бредите."; +HUSTR_TALKTOSELF5 = "Какая досада..."; +HUSTR_MESSAGESENT = "[Сообщение Отправлено]"; + +AMSTR_FOLLOWON = "Привязка к игроку ВКЛЮЧЕНА"; +AMSTR_FOLLOWOFF = "Привязка к игроку ОТКЛЮЧЕНА"; +AMSTR_GRIDON = "Сетка ВКЛЮЧЕНА"; +AMSTR_GRIDOFF = "Сетка ОТКЛЮЧЕНА"; +AMSTR_TEXON = "Текстурный режим ВКЛЮЧЕН"; +AMSTR_TEXOFF = "Текстурный режим ОТКЛЮЧЕН"; +AMSTR_MARKEDSPOT = "Отметка"; +AMSTR_MARKSCLEARED = "Отметки очищены"; +STSTR_MUS = "Смена музыки"; +STSTR_NOMUS = "НЕКОРРЕКТНЫЙ ВЫБОР"; +STSTR_DQDON = "Неуязвимость включена"; +STSTR_DQDOFF = "Неуязвимость выключена"; +STSTR_DQD2ON = "Полная неуязвимость включена"; +STSTR_DQD2OFF = "Полная неуязвимость выключена"; +STSTR_KFAADDED = "Боезапас пополнен"; +STSTR_FAADDED = "Боезапас пополнен (без ключей)"; +STSTR_NCON = "Прохождение сквозь стены включено"; +STSTR_NCOFF = "Прохождение сквозь стены выключено"; +STSTR_NC2ON = "Полёт сковозь стены включен"; +STSTR_BEHOLD = "m=бессм., s=берс., i=нев., r=кос., a=крт., l=виз."; +STSTR_BEHOLDX = "Предмет переключен"; +STSTR_CHOPPERS = "... неплохо — г.м."; +STSTR_CLEV = "Смена уровня...\n"; +TXT_BUDDHAON = "Вы теперь Будда."; +TXT_BUDDHAOFF = "Вы больше не Будда."; +TXT_BUDDHA2ON = "Вы теперь абсолютный Будда."; +TXT_BUDDHA2OFF = "Вы больше не абсолютный Будда."; +TXT_DEFAULTPICKUPMSG = "Что-то подобрано"; + +E1TEXT = + "Уничтожив Баронов Ада и зачистив лунную\n" + "базу, Вы должны были победить, не так ли?\n" + "Не так ли? Где заслуженная награда и\n" + "билет домой? Что это за чертовщина?\n" + "Все должно было закончиться не так!\n" + "\n" + "Это место пахнет как гнилое мясо, а\n" + "выглядит как потерянная база на Деймосе.\n" + "Похоже, Вы застряли на «Берегах Ада», и\n" + "единственный путь теперь — пройти их.\n" + "\n" + "Чтобы продолжить погружение в игру,\n" + "пройдите эпизод «Берега Ада» и его\n" + "замечательный сиквел «Инферно»!"; +E2TEXT = + "У Вас получилось! Ужасный Лорд-\n" + "Кибердемон, правящий потерянной\n" + "деймосовской базой, был повержен\n" + "и Вы торжествуете! Но... Где Вы?\n" + "Подобравшись к краю спутника, Вы\n" + "обращаете взор вниз, чтобы\n" + "увидеть ужасную правду.\n" + "\n" + "Деймос плывет над самим Адом!\n" + "Вы никогда не слышали, чтобы кто-нибудь\n" + "сбегал из Ада, но Вы заставите ублюдков\n" + "пожалеть о том, что они прослышали о Вас.\n" + "Поспешно обвязавшись веревкой, Вы\n" + "спускаетесь на поверхность Ада.\n" + "\n" + "Теперь наступает время последней главы\n" + "— «Инферно»."; +E3TEXT = + "Омерзительный паукодемон,\n" + "руководивший вторжением на лунные\n" + "базы и принесший столь много\n" + "смертей, был окончательно повержен.\n" + "\n" + "Открывается тайникная дверь и Вы\n" + "входите в нее. Вы доказали, что\n" + "слишком круты для ада, и поэтому\n" + "Ад, наконец, поступает справедливо —\n" + "Вы выходите из двери прямо на\n" + "зеленые поля Земли. Наконец-то дом.\n" + "\n" + "Вы спрашиваете себя: что происходило\n" + "на Земле, пока Вы сражались с\n" + "высвободившимся злом? Хорошо, что ни\n" + "одно порождение Ада не смогло пройти\n" + "через эту дверь вместе с Вами..."; +E4TEXT = + "паук-предводитель, должно быть, послал\n" + "вперед свои легионы порождений ада\n" + "перед вашим последним сражением с этим\n" + "ужасным отродьем. но вы пошли до конца\n" + "и принесли вечное проклятье и страдание\n" + "этой орде так, как поступил бы настоящий\n" + "герой перед лицом смертельной опасности.\n" + "\n" + "кроме того, кто-то должен был заплатить\n" + "за то, что случилось с дэйзи, вашей\n" + "домашней крольчихой.\n" + "\n" + "теперь вы видите, сколь много боли и\n" + "крови вам пророчат полчища демонов,\n" + "неистовствующих в наших городах.\n" + "\n" + "следующая остановка — ад на земле!"; +C1TEXT = + "ВЫ ПРОШЛИ ВГЛУБЬ ЗАРАЖЕННОГО КОСМОПОРТА,\n" + "НО ЧТО-ТО ЗДЕСЬ НЕ ТАК. МОНСТРЫ ПРИНЕСЛИ\n" + "С СОБОЙ СВОЮ СОБСТВЕННУЮ РЕАЛЬНОСТЬ,\n" + "И ТЕХНИКА КОСМОПОРТА\n" + "ТРАНСФОРМИРУЕТСЯ ОТ ИХ ПРИСУТСТВИЯ.\n" + "\n" + "ВПЕРЕДИ ВЫ ВИДИТЕ АВАНПОСТ АДА.\n" + "ЕСЛИ ВАМ УДАСТСЯ ПРОБРАТЬСЯ ЧЕРЕЗ НЕГО,\n" + "ВЫ СМОЖЕТЕ ПРОНИКНУТЬ В НАСЕЛЕННЫЙ\n" + "ДЕМОНАМИ ЦЕНТР БАЗЫ И НАЙТИ УПРАВЛЯЮЩИЙ\n" + "ВЫКЛЮЧАТЕЛЬ, ДЕРЖАЩИЙ НАСЕЛЕНИЕ ЗЕМЛИ\n" + "В ЗАЛОЖНИКАХ."; +C2TEXT = + "ВЫ ПОБЕДИЛИ! ВАША ПОБЕДА ПОЗВОЛИЛА\n" + "ЧЕЛОВЕЧЕСТВУ ЭВАКУИРОВАТЬСЯ С ЗЕМЛИ\n" + "И СПАСТИСЬ ОТ КОШМАРА. ТЕПЕРЬ ВЫ —\n" + "ЕДИНСТВЕННЫЙ ЧЕЛОВЕК, ОСТАВШИЙСЯ НА\n" + "ПЛАНЕТЕ, И ЛЮДОЕДЫ-МУТАНТЫ, ХИЩНЫЕ\n" + "ИНОПЛАНЕТЯНЕ И ЗЛЫЕ ДУХИ — ВАШИ\n" + "ЕДИНСТВЕННЫЕ СОСЕДИ. УДОВЛЕТВОРЕННЫЙ\n" + "СПАСЕНИЕМ СВОЕГО ВИДА, ВЫ СПОКОЙНО\n" + "ДОЖИДАЕТЕСЬ НЕМИНУЕМОЙ ГИБЕЛИ.\n" + "\n" + "НО ВСКОРЕ РУКОВОДСТВО ЗЕМЛИ ПЕРЕДАЕТ\n" + "СООБЩЕНИЕ С ОРБИТЫ: «СЕНСОРЫ ОБНАРУЖИЛИ\n" + "ИСТОЧНИК ИНОПЛАНЕТНОГО ВТОРЖЕНИЯ. ВАША\n" + "ЗАДАЧА — ЛИКВИДИРОВАТЬ ЕГО». ИНОПЛАНЕТНАЯ\n" + "БАЗА НАХОДИТСЯ В ЦЕНТРЕ ВАШЕГО ГОРОДА,\n" + "НЕДАЛЕКО ОТ КОСМОПОРТА. МЕДЛЕННО И\n" + "МУЧИТЕЛЬНО ВЫ ВОЗВРАЩАЕТЕСЬ В БОЙ.\n"; +C3TEXT = + "ВЫ НАХОДИТЕСЬ В РАЗЛАГАЮЩЕМСЯ СЕРДЦЕ\n" + "ГОРОДА, В ОКРУЖЕНИИ ТРУПОВ СВОИХ ВРАГОВ.\n" + "ВЫ НЕ ВИДИТЕ НИКАКОГО СПОСОБА УНИЧТОЖИТЬ\n" + "ПОРТАЛ НА ЭТОЙ СТОРОНЕ, И ПОЭТОМУ, СТИСНУВ\n" + "ЗУБЫ, ПРОХОДИТЕ СКВОЗЬ НЕГО.\n" + "\n" + "ДОЛЖЕН БЫТЬ СПОСОБ ЗАКРЫТЬ ПОРТАЛ\n" + "НА ДРУГОЙ СТОРОНЕ. И КАКОЕ ВАМ ДЕЛО ДО\n" + "ТОГО, ЧТО ПРИДЕТСЯ ПРОЙТИ ЧЕРЕЗ АД, ЧТОБЫ\n" + "ДОБРАТЬСЯ ДО НЕГО?"; +C4TEXT = + "ЖУТЧАЙШИЙ ЛИК САМОГО БОЛЬШОГО ДЕМОНА,\n" + "КОТОРОГО ВЫ КОГДА-ЛИБО ВИДЕЛИ, РУШИТСЯ\n" + "НА ВАШИХ ГЛАЗАХ ПОСЛЕ ТОГО, КАК ВЫ\n" + "НАКАЧАЛИ РАКЕТАМИ ЕГО НЕЗАЩИЩЕННЫЙ\n" + "МОЗГ. МОНСТР УГАСАЕТ И ГИБНЕТ,\n" + "РАЗРУШАЯ БЕСЧИСЛЕННЫЕ МИЛИ ПОВЕРХНОСТИ\n" + "АДА.\n" + "\n" + "ВЫ СДЕЛАЛИ ЭТО. ВТОРЖЕНИЮ КОНЕЦ. ЗЕМЛЯ\n" + "СПАСЕНА. АД ПОВЕРЖЕН. ВЫ СПРАШИВАЕТЕ\n" + "СЕБЯ: КУДА ТЕПЕРЬ ПОСЛЕ СМЕРТИ БУДУТ\n" + "ПОПАДАТЬ ПЛОХИЕ ЛЮДИ? УТЕРЕВ ПОТ\n" + "СО ЛБА, ВЫ НАЧИНАЕТЕ ДОЛГОЕ ПУТЕШЕСТВИЕ\n" + "ОБРАТНО ДОМОЙ. ВОССТАНОВЛЕНИЕ ЗЕМЛИ\n" + "ДОЛЖНО БЫТЬ ГОРАЗДО БОЛЕЕ ИНТЕРЕСНЫМ\n" + "ЗАНЯТИЕМ, НЕЖЕЛИ ЕЕ РАЗРУШЕНИЕ."; +C5TEXT = + "ПОЗДРАВЛЯЕМ, ВЫ НАШЛИ СЕКРЕТНЫЙ УРОВЕНЬ!\n" + "ПОХОЖЕ, ОН БЫЛ ПОСТРОЕН ЛЮДЬМИ, А НЕ\n" + "ДЕМОНАМИ. ЛЮБОПЫТНО, КТО ЖЕ НАСЕЛЯЕТ\n" + "ЭТОТ УГОЛОК АДА?\n"; +C6TEXT = + "ПОЗДРАВЛЯЕМ, ВЫ НАШЛИ СВЕРХСЕКРЕТНЫЙ\n" + "УРОВЕНЬ! ЛУЧШЕ БЫ ВАМ СТРЕМИТЕЛЬНО\n" + "ПРОРВАТЬСЯ СКВОЗЬ НЕГО!"; +P1TEXT = + "Вы со злорадством смотрите на горящий\n" + "каркас Стража. С его смертью Вы вырвали\n" + "Ускоритель из зловонных когтей Ада.\n" + "Расслабившись, Вы окидываете взглядом\n" + "помещение. Проклятье! Тут должен быть\n" + "хотя бы один рабочий прототип, но\n" + "демоны, должно быть, забрали его с собой.\n" + "\n" + "Вы должны найти прототип, иначе все Ваши\n" + "прошлые усилия окажутся напрасными.\n" + "Продолжайте двигаться, продолжайте\n" + "сражаться, продолжайте убивать. И да,\n" + "продолжайте выживать."; +P2TEXT = + "Даже смертельный лабиринт арчвайлов не\n" + "смог остановить Вас. Вы добрались до\n" + "прототипа Ускорителя, который вскоре\n" + "был уничтожен раз и навсегда.\n" + "\n" + "Уничтожение — Ваша специальность."; +P3TEXT = + "Вы пробили путь в самое\n" + "сердце дьявольского улья. Настало время\n" + "для миссии «найти и уничтожить»,\n" + "объектом которой станет Привратник,\n" + "чьи нечестивые отпрыски низвергаются\n" + "на Землю.\n" + "\n" + "Да, он плохой. Но Вы знаете кто еще хуже!\n" + "\n" + "Злобно ухмыляясь, Вы проверяете свое\n" + "снаряжение, и готовитесь преподать\n" + "ублюдку немного Ада Вашего\n" + "собственного производства!"; +P4TEXT = + "После уничтожения лика Привратника\n" + "начинают формироваться инвертированные\n" + "Врата, которые затягивают в себя\n" + "последние обломки Ускорителя и\n" + "нескольких оставшихся демонов.\n" + "\n" + "Готово. Ад вернулся на круги своя,\n" + "поглощая лишь грешных людей, а не\n" + "праведных.\n" + "\n" + "Не забудьте попросить внуков положить\n" + "ракетницу в Ваш гроб. Если после смерти\n" + "Вы попадете в Ад, она понадобится\n" + "для небольшой последней зачистки..."; +P5TEXT = + "Вы нашли второй по сложности уровень,\n" + "который у нас есть. Надеемся, Вы\n" + "сохранили игру на предыдущем уровне\n" + "или еще раньше. Если нет, приготовьтесь\n" + "много умирать.\n" + "\n" + "Уровень рассчитан исключительно на\n" + "профессионалов."; +P6TEXT = + "Спорим, Вы удивлялись, какой же уровень\n" + "САМЫЙ сложный? Теперь Вы знаете.\n" + "Никто не выберется живым."; +T1TEXT = + "Сражаясь, Вы выбрались из зараженных\n" + "экспериментальных лабораторий.\n" + "Похоже, ОАК растранжирила и их, несмотря\n" + "на огромные корпоративные доходы. Они\n" + "даже не позаботились о покупке страховок\n" + "для своих сотрудников...\n" + "\n" + "Впереди расположен военный комплекс,\n" + "кишащий вирусами и только ждущий\n" + "как бы вгрызться в Вашу плоть. Что ж,\n" + "если повезет, в комплексе все еще\n" + "должны оставаться боеприпасы."; +T2TEXT = + "Впереди слышен металлический скрежет\n" + "тяжелых механизмов. Вы уверены, что они\n" + "не штампуют очередную партию\n" + "дьявольских отродий, но даже если\n" + "и так, Вы к этому готовы.\n" + "\n" + "Эти звуки могут означать очередной\n" + "кровавый фестиваль, но Вы чувствуете\n" + "себя как тысячи головорезов,\n" + "собранных в одном безумном убийце.\n" + "\n" + "Вы так просто не сдадитесь."; +T3TEXT = + "Открывающаяся перспектива выглядит\n" + "чертовски знакомой и пахнет\n" + "словно зажаренные экскременты.\n" + "Это место не нравилось Вам раньше,\n" + "и Вы чертовски уверены, что не\n" + "понравится и сейчас. Чем больше Вы\n" + "размышляете над этим, тем печальнее\n" + "все становится.\n" + "\n" + "Взвесив свое оружие, Вы зловеще\n" + "ухмыляетесь. Настало время всерьез\n" + "надрать кое-кому задницу."; +T4TEXT = + "Внезапно все окуталось тишиной до\n" + "самого горизонта. Агонизирующее Адское\n" + "эхо стихло, кошмарное небо стало вновь\n" + "голубым, трупы монстров начали\n" + "разлагаться со зловонным смрадом.\n" + "Боже, неужели Вы и правда победили?\n" + "\n" + "После короткого землетрясения, из\n" + "разгромленного черепа Изрыгателя\n" + "Демонов начинает пробиваться яркое\n" + "синее свечение."; +T5TEXT = + "И что теперь? Все выглядит совершенно\n" + "по-другому, словно покои владыки\n" + "Тутанхамона.\n" + "\n" + "Что ж, что бы не ожидало Вас внутри,\n" + "хуже уже быть не может, не так ли?\n" + "Или может лучше не тревожить\n" + "спящих богов..."; +T6TEXT = + "Пришло время для отпуска. Ей-богу,\n" + "вороша недра Ада, Вы только о нем\n" + "и мечтали! Пусть кто-нибудь другой\n" + "теперь борется с полчищами демонов.\n" + "\n" + "Впереди располагается тихий городок с\n" + "неспешно текущей водой, причудливыми\n" + "домиками, и, вероятно, не населенный\n" + "адским отродьем.\n" + "\n" + "Покинув транспортное средство,\n" + "Вы слышите топот железного копыта\n" + "кибердемона." + +NERVETEXT = + "НЕПРИЯТНОСТИ, КАЗАЛОСЬ, НАСТИГЛИ В САМЫЙ\n" + "НЕПОДХОДЯЩИЙ МОМЕНТ...\b" + "НЕСМОТРЯ НА РАЗГРОМНОЕ ПОРАЖЕНИЕ СИЛ\n" + "АДА, ОБЕЗУМЕВШИЙ КИБЕРДЕМОН РЕШИЛ, ЧТО\n" + "СМОЖЕТ ИЗМЕНИТЬ ХОД СОБЫТИЙ И ВНОВЬ\n" + "ПОВЕРГНУТЬ ЗЕМЛЮ В ДЕМОНИЧЕСКИЙ ХАОС.\n" + "\b" + "И МУЧИТЕЛЬНАЯ СМЕРТЬ СТАЛА ПЛАТОЙ ЗА ЭТУ\n" + "РОКОВУЮ ОШИБКУ. СТЕНЫ ЕГО ОБИТЕЛИ ЕЩЕ\n" + "ДОЛГО БУДУТ ПОМНИТЬ ПРЕДСМЕРТНУЮ АГОНИЮ\n" + "ЭТОГО ПОРОЖДЕНИЯ ПОТУСТОРОННИХ СИЛ.\n" + "И ПУСТЬ ЕГО ГНИЮЩИЕ ОСТАНКИ СТАНУТ\n" + "ВЕЧНЫМ НАПОМИНАНИЕМ ДЛЯ ТЕХ, КТО ВНОВЬ\n" + "ОСМЕЛИТСЯ НАРУШИТЬ ПОКОЙ НАШЕГО МИРА.\n" + "\n" + "ЭТА МИССИЯ ЗАВЕРШЕНА."; + +// Cast list (должны идти в этом порядке) +CC_ZOMBIE = "ЗОМБИ"; +CC_SHOTGUN = "ЗОМБИ-СЕРЖАНТ"; +CC_HEAVY = "ПУЛЕМЕТЧИК"; +CC_IMP = "ИМП"; +CC_DEMON = "ДЕМОН"; +CC_LOST = "ПОТЕРЯННАЯ ДУША"; +CC_CACO = "КАКОДЕМОН"; +CC_HELL = "РЫЦАРЬ АДА"; +CC_BARON = "БАРОН АДА"; +CC_ARACH = "АРАХНОТРОН"; +CC_PAIN = "ЭЛЕМЕНТАЛЬ БОЛИ"; +CC_REVEN = "РЕВЕНАНТ"; +CC_MANCU = "МАНКУБУС"; +CC_ARCH = "АРЧВАЙЛ"; +CC_SPIDER = "ПАУК-ПРЕДВОДИТЕЛЬ"; +CC_CYBER = "КИБЕРДЕМОН"; +CC_HERO = "НАШ ГЕРОЙ"; + +// Friendly names +FN_ZOMBIE = "Зомби"; +FN_SHOTGUN = "Сержант"; +FN_HEAVY = "Пулеметчик"; +FN_IMP = "Имп"; +FN_DEMON = "Демон"; +FN_SPECTRE = "Спектр"; +FN_LOST = "Потерянная душа"; +FN_CACO = "Какодемон"; +FN_HELL = "Рыцарь Ада"; +FN_BARON = "Барон Ада"; +FN_ARACH = "Арахнотрон"; +FN_PAIN = "Элементаль боли"; +FN_REVEN = "Ревенант"; +FN_MANCU = "Манкубус"; +FN_ARCH = "Арчвайл"; +FN_SPIDER = "Паук-предводитель"; +FN_CYBER = "Кибердемон"; +FN_WOLFSS = "Нацист"; +FN_DOG = "Собака"; + +// Новые строки из BOOM +PD_BLUEC = "Для активации нужна синяя карта"; +PD_REDC = "Для активации нужна красная карта"; +PD_YELLOWC = "Для активации нужна желтая карта"; +PD_BLUES = "Для активации нужен синий череп"; +PD_REDS = "Для активации нужен красный череп"; +PD_YELLOWS = "Для активации нужен желтый череп"; +PD_ANY = "Для активации нужен любой ключ"; +PD_ANYOBJ = "Для активации нужен любой ключ"; +PD_ALL3 = "Для активации требуются все три ключа"; +PD_ALL3O = "Для активации требуются все три ключа"; +PD_ALL6 = "Для активации требуются все шесть ключей"; +PD_ALL6O = "Для активации требуются все шесть ключей"; +PD_ALLKEYS = "Для активации требуются все ключи"; + +// MBF (BOOM?) narration backgrounds +bgflatE1 = "FLOOR4_8"; +bgflatE2 = "SFLR6_1"; +bgflatE3 = "MFLR8_4"; +bgflatE4 = "MFLR8_3"; +bgflat06 = "SLIME16"; +bgflat11 = "RROCK14"; +bgflat20 = "RROCK07"; +bgflat30 = "RROCK17"; +bgflat15 = "RROCK13"; +bgflat31 = "RROCK19"; +bgcastcall = "BOSSBACK"; + +// Gameflow messages +TXT_FRAGLIMIT = "Достигнут лимит фрагов."; +TXT_TIMELIMIT = "Достигнут лимит времени."; + +// Spree messages +SPREEKILLSELF = "Игрок %o хорошо смотрелся, пока не покончил с собой!"; +SPREEOVER = "Игрок %k прервал череду убийств игрока %o"; +SPREE5 = "Игрок %k совершил череду убийств!"; +SPREE10 = "Игрок %k в неистовстве!"; +SPREE15 = "Игрок %k доминирует!"; +SPREE20 = "Игрок %k неостановимый!"; +SPREE25 = "Игрок %k богоподобен!"; + +// Multikill messages +MULTI2 = "Двойное убийство!"; +MULTI3 = "Массовое убийство!"; +MULTI4 = "Ультра убийство!"; +MULTI5 = "Чудовищное убийство!"; + +// Некрологи +// First the self-kills, then the other-kills +OB_SUICIDE = "Игрок %o покончил с собой."; +OB_FALLING = "Игрок %o упал слишком высоко."; +OB_CRUSH = "Игрок %o был раздавлен."; +OB_EXIT = "Игрок %o попытался свалить."; +OB_WATER = "Игрок %o не умеет плавать."; +OB_SLIME = "Игрок %o мутировал."; +OB_LAVA = "Игрок %o расплавился."; +OB_BARREL = "Игрок %o взорвался."; +OB_SPLASH = "Игрок %o стоял в неверной точке."; +OB_R_SPLASH = "Игрок %o не отступил в сторону."; +OB_ROCKET = "Игрок %o не отступил в сторону."; +OB_KILLEDSELF = "Игрок %o покончил с собой."; + +OB_VOODOO = "Игрока %o убила сила Вуду."; +OB_STEALTHBABY = "Игрок %o краем глаза заметил арахнотрона."; +OB_STEALTHVILE = "Игрок %o краем глаза заметил арчвайла."; +OB_STEALTHBARON = "Игрок %o краем глаза заметил барона Ада."; +OB_STEALTHCACO = "Игрок %o краем глаза заметил какодемона."; +OB_STEALTHCHAINGUY = "Игрок %o краем глаза заметил пулеметчика."; +OB_STEALTHDEMON = "Игрок %o краем глаза заметил демона."; +OB_STEALTHKNIGHT = "Игрок %o краем глаза заметил рыцаря Ада."; +OB_STEALTHIMP = "Игрок %o краем глаза заметил импа."; +OB_STEALTHFATSO = "Игрок %o краем глаза заметил манкубуса."; +OB_STEALTHUNDEAD = "Игрок %o краем глаза заметил ревенанта."; +OB_STEALTHSHOTGUY = "Игрок %o краем глаза заметил сержанта."; +OB_STEALTHZOMBIE = "Игрок %o краем глаза заметил зомби."; +OB_UNDEADHIT = "Игрока %o ударил ревенант."; +OB_IMPHIT = "Игрока %o расцарапал имп."; +OB_CACOHIT = "Игрок %o слишком сблизился с какодемоном."; +OB_DEMONHIT = "Игрока %o укусил демон."; +OB_SPECTREHIT = "Игрока %o сожрал спектр."; +OB_BARONHIT = "Игрока %o разорвал барон Ада."; +OB_KNIGHTHIT = "Игрока %o распотрошил рыцарь Ада."; +OB_ZOMBIE = "Игрока %o убил зомби."; +OB_SHOTGUY = "Игрока %o застрелил сержант."; +OB_VILE = "Игрока %o кремировал арчвайл."; +OB_UNDEAD = "Игрок %o не успел увернуться от снаряда ревенанта."; +OB_FATSO = "Игрока %o раздавил манкубус."; +OB_CHAINGUY = "Игрока %o продырявил пулеметчик."; +OB_SKULL = "Игрок %o испугался потерянной души."; +OB_IMP = "Игрока %o сжег имп."; +OB_CACO = "Игрока %o поразил какодемон."; +OB_BARON = "Игрок %o получил синяк от барона Ада."; +OB_KNIGHT = "Игрока %o распластал рыцарь Ада."; +OB_SPIDER = "Игрок %o стоял в восторге перед пауком-предводителем."; +OB_BABY = "Игрок %o дал арахнотрону себя убить."; +OB_CYBORG = "Игрока %o размазал кибердемон."; +OB_WOLFSS = "Игрок %o встретил нациста."; +OB_DOG = "Игрока %o разорвала собака."; + +OB_CHICKEN = "Игрока %o заклевал до смерти цыпленок."; +OB_BEAST = "Игрока %o обуглил дракон-оборотень."; +OB_CLINK = "Игрока %o нарезал саблекоготь."; +OB_DSPARIL1 = "Игрока %o обжег серпент Д'Спарила."; +OB_DSPARIL1HIT = "Игрока %o пожрал серпент Д'Спарила."; +OB_DSPARIL2 = "Игрок %o был не ровня Д'Спарилу."; +OB_DSPARIL2HIT = "Игрока %o сбил Д'Спарил."; +OB_HERETICIMP = "Игрока %o изуродовала горгулья."; +OB_HERETICIMPHIT = "Игрока %o покалечила горгулья."; +OB_IRONLICH = "Игрока %o растоптал железный лич."; +OB_IRONLICHHIT = "Игрок %o сближался с железным личем."; +OB_BONEKNIGHT = "Игрока %o зарубил воин-нежить."; +OB_BONEKNIGHTHIT = "Игрока %o сразил воин-нежить."; +OB_MINOTAUR = "Игрока %o разнес на сгоревшие части Молотавр."; // fix — «превратил в пепел»? +OB_MINOTAURHIT = "Игрока %o превратил в кровавое месиво Молотавр."; +OB_MUMMY = "Игрока %o разбил голем."; +OB_MUMMYLEADER = "Игрока %o убил криком нитроголем."; +OB_SNAKE = "Игрока %o потряс офидиан."; +OB_WIZARD = "Игрока %o проклял волшебник."; +OB_WIZARDHIT = "Игрока %o нащупал волшебник."; + +OB_FIREDEMON = "Игрок %o отведал огня Африта."; +OB_DEMON1 = "Игрока %o спалил Серпент."; +OB_DEMON2 = "Игрока %o отравил Серпент."; +OB_ETTIN = "Игрока %o раздробил Эттин."; +OB_CENTAUR = "Игрока %o разрезал Кентавр."; +OB_SLAUGHTAURHIT = "Игрока %o разрезал Старший кентавр."; +OB_SLAUGHTAUR = "Игрока %o сбил огненным шаром Старший кентавр."; +OB_BISHOP = "Игрок %o поддался черным силам Епископа."; +OB_ICEGUY = "Игрока %o полностью заморозил Вендиго."; +OB_SERPENTHIT = "Игрока %o сломал Сталкер."; +OB_SERPENT = "Игрока %o расплавил Сталкер."; +OB_WRAITH = "Игрока %o обуглил Грабитель."; +OB_WRAITHHIT = "Жизнь игрока %o украл Грабитель."; +OB_DRAGON = "Игрока %o кремировала Виверна Смерти."; +OB_KORAX = "Игрока %o скинул с доски Коракс."; +OB_FBOSS = "Игрока %o сразил Зедек."; +OB_MBOSS = "Игрок %o не смог бороться с маной Менелкира."; +OB_CBOSS = "Игрока %o крестил Традуктус."; +OB_HERESIARCH = "Ересиарх сыграл в кости игрока %o."; + +OB_ACOLYTE = "Игрока %o ревностно застрелил Аколит."; +OB_MACIL = "Игроку %o не следовало Подобрань мятеж против Мэйсила."; +OB_REBEL = "Игрока %o расстрелял Мятежник."; +OB_BEGGAR = "Игрока %o забили до смерти бедные."; +OB_PEASANT = "Игроку %o не следовало затеять драку с Гражданским."; +OB_ALIENSPECTRE = "Игрока %o сбил Спектр."; +OB_ENTITY = "Игрок %o испытал на себе ярость Единого Бога."; +OB_LOREMASTER = "Игрок %o не смог избежать длани Хранителя Мудрости."; +OB_PROGRAMMER = "Игрока %o удалил Программист."; +OB_STFBISHOP = "Игрока %o отдул Епископ."; +OB_SENTINEL = "Игрока %o уничтожил Страж."; +OB_CRUSADER = "Игрока %o смёл Крестоносец."; +OB_INQUISITOR = "Игрока %o приговорил Инквизитор."; +OB_STALKER = "Игрок %o пугался до смерти из-за Сталкера."; // fix — Оригинал: «%o was bugged by a Stalker.» +OB_TURRET = "Игрок %o включил автоматическую защиту."; +OB_TEMPLARHIT = "Игрока %o расцарапал Тамплиер."; +OB_TEMPLAR = "Игрока %o испарил Тамплиер."; +OB_REAVERHIT = "Игрока %o разрезал на куски Похититель."; +OB_REAVER = "Игрока %o застрелил Похититель."; + +OB_MPFIST = "Игрок %o отведал кулака %k."; +OB_MPCHAINSAW = "Игрок %k скосил бензопилой игрока %o."; +OB_MPPISTOL = "Игрок %k пощекотал пукалкой игрока %o."; +OB_MPSHOTGUN = "Игрок %o отведал дробовик игрока %k."; +OB_MPSSHOTGUN = "Игрок %k размазал из обреза игрока %o."; +OB_MPCHAINGUN = "Игрок %k выкосил с пулемета игрока %o."; +OB_MPROCKET = "Игрок %k прокатил на ракете игрока %о."; +OB_MPR_SPLASH = "Игрок %o почти увильнул от ракеты %k."; +OB_MPPLASMARIFLE = "Игрок %k расплавил плазмометом игрока %o."; +OB_MPBFG_BOOM = "Игрок %k расщепил игрока %o с помощью BFG."; +OB_MPBFG_SPLASH = "Игрок %o не успел спрятаться от BFG игрока %k."; +OB_MPTELEFRAG = "Игрок %k телефрагнул игрока %o."; +OB_RAILGUN = "Игрок %k показал свой рельсотрон игроку %o."; +OB_MPBFG_MBF = "Игрока %o сжег %k с BFG."; + +OB_MPSTAFF = "Игрок %o сел на посох игрока %k."; +OB_MPGAUNTLETS = "Игрок %o шокирован перчатками %k."; +OB_MPGOLDWAND = "Игрок %o узрел прощальный взмах эльфийского жезла %k."; +OB_MPCROSSBOW = "Игрок %o изранен болтами эфирного арбалета %k."; +OB_MPBLASTER = "Игрок %o взорван драконьим когтем %k."; +OB_MPSKULLROD = "Игрок %o сослан в самый низ посохом Ада %k."; +OB_MPPHOENIXROD = "Игрок %o сожжен в пепел жезлом феникса %k."; +OB_MPMACE = "Игрок %o отбит огненной булавой %k."; + +OB_MPPSTAFF = "Игрок %o отведал заряженного посоха %k."; +OB_MPPGAUNTLETS = "Игрок %o опустошен перчатками %k."; +OB_MPPGOLDWAND = "Игрок %o атакован %k с эльфийским жезлом."; +OB_MPPCROSSBOW = "Игрок %o пробит эфирным арбалетом %k."; +OB_MPPBLASTER = "Игрок %o разорван драконьим когтем %k."; +OB_MPPSKULLROD = "%k залил игрока %o горячим дождем, использовав посох ада."; +OB_MPPPHOENIXROD = "Игрок %o сожжен жезлом феникса %k."; +OB_MPPMACE = "Игрок %o раздавлен огромной сферой из огненной булавы %k."; + +OB_MPFWEAPFIST = "Игрок %o избит в мясо голыми руками %k."; +OB_MPFWEAPAXE = "Игрок %o словил топорик %k."; +OB_MPFWEAPHAMMERM = "Голова игрока %o была вдолблена в тело молотом %k."; +OB_MPFWEAPHAMMERR = "Душа игрока %o была перекована молотом %k."; +OB_MPFWEAPQUIETUS = "Игрок %o утихомирен легендарным Последним доводом %k."; +OB_MPCWEAPMACE = "Игрок %o получил по морде булавой %k."; +OB_MPCWEAPSTAFFM = "Игрок %o искусан змеиным посохом %k."; +OB_MPCWEAPSTAFFR = "Игрок %o задушен змеиным посохом %k."; +OB_MPCWEAPFLAME = "Игрок %o сгорел в огне %k."; +OB_MPCWEAPWRAITHVERGE = "Игрок %o очищен Жезлом Духов %k."; +OB_MPMWEAPWAND = "Игрок %o схватил слишком много сапфировых зарядов от %k."; +OB_MPMWEAPFROST = "Игрок %o обращается в ледяную скульптуру благодаря %k."; +OB_MPMWEAPLIGHTNING = "Игрок %o откровенно шокирован %k."; +OB_MPMWEAPBLOODSCOURGE = "Игрок %o стерт с лица вселенной Кровавым бичем %k."; + +OB_MPPUNCHDAGGER = "Игрок %o был непреднамеренно заколот кинжалом %k."; +OB_MPELECTRICBOLT = "Игрок %o был прибит к стене %k."; +OB_MPPOISONBOLT = "Игрок %o получил смертельную дозу гнева %k."; +OB_MPASSAULTGUN = "Игрок %o изрешечен штурмовой винтовкой %k."; +OB_MPMINIMISSILELAUNCHER = "Игрок %o проглотил ракету %k."; +OB_MPSTRIFEGRENADE = "Игрок %o инвертируется H-E гранатой %k."; +OB_MPPHOSPHOROUSGRENADE = "Игрок %o принял горячую ванну из чистого фосфора %k."; +OB_MPFLAMETHROWER = "Игрок %k поджарил игрока %o."; +OB_MPMAULER1 = "Игрок %k ударил током игрока %o."; +OB_MPMAULER = "Игрок %k безжалостно распылил игрока %o."; +OB_MPSIGIL = "Игрок %o склонился перед силой Сигила %k."; + +// Same as OB_MPTELEFRAG, but shown when a monster telefrags you +OB_MONTELEFRAG = "Игрока %o телефрагнуло."; + +OB_DEFAULT = "Игрок %o погиб."; +OB_MPDEFAULT = "Игрок %o убит %k."; +OB_FRIENDLY1 = "Игрок %k убил союзника."; +OB_FRIENDLY2 = "Игроку %k следует проверить свои очки."; +OB_FRIENDLY3 = "Игрок %k преподнес другой команде фраг."; +OB_FRIENDLY4 = "Игрок %k потерял еще одного друга."; + +SAVEGAMENAME = "zdoomsv"; +STARTUP1 = ""; +STARTUP2 = ""; +STARTUP3 = ""; +STARTUP4 = ""; +STARTUP5 = ""; + +// Таблица очков +SCORE_ITEMS = "Предметы"; +SCORE_BONUS = "Бонус"; +SCORE_COLOR = "Цвет"; +SCORE_SECRET = "Тайники"; +SCORE_NAME = "Имя"; +SCORE_DELAY = "Задержка (мс)"; +SCORE_KILLS = "Убийства"; +SCORE_FRAGS = "Фраги"; +SCORE_DEATHS = "Смерти"; +SCORE_MISSED = "Пропущено"; +SCORE_TOTAL = "Всего"; +SCORE_LVLTIME = "Время уровня"; + +// Item tags: Doom weapons +TAG_FIST = "Кулаки"; +TAG_CHAINSAW = "Бензопила"; +TAG_PISTOL = "Пистолет"; +TAG_SHOTGUN = "Дробовик"; +TAG_SUPERSHOTGUN = "Супер-дробовик"; +TAG_CHAINGUN = "Пулемет"; +TAG_ROCKETLAUNCHER = "Ракетница"; +TAG_PLASMARIFLE = "Плазменная пушка"; +TAG_BFG9000 = "BFG 9000"; + +// Item tags: Heretic weapons +TAG_STAFF = "Посох"; +TAG_GAUNTLETS = "Перчатки Некроманта"; +TAG_GOLDWAND = "Эльфийский Жезл"; +TAG_CROSSBOW = "Эфирный Арбалет"; +TAG_BLASTER = "Драконий Коготь"; +TAG_SKULLROD = "Посох Ада"; +TAG_PHOENIXROD = "Жезл Феникса"; +TAG_MACE = "Огненная Булава"; + +TAG_STAFFP = "Посох"; +TAG_GAUNTLETSP = "Перчатки Некроманта"; +TAG_GOLDWANDP = "Эльфийский Жезл"; +TAG_CROSSBOWP = "Эфирный Арбалет"; +TAG_BLASTERP = "Драконий Коготь"; +TAG_SKULLRODP = "Посох Ада"; +TAG_PHOENIXRODP = "Жезл Феникса"; +TAG_MACEP = "Огненная Булава"; + +// Item tags: Heretic artifacts +TAG_ARTIEGG = "Морф Овум"; +TAG_ARTIFIREBOMB = "Часовая бомба Древних"; +TAG_ARTIFLY = "Крылья Призрака"; +TAG_ARTIHEALTH = "Кварцевая колба"; +TAG_ARTIINVISIBILITY = "Тенесфера"; +TAG_ARTIINVULNERABILITY = "Кольцо Невидимости"; +TAG_ARTISUPERHEALTH = "Мистическая Урна"; +TAG_ARTITELEPORT = "Механизм Хаоса"; +TAG_ARTITOMEOFPOWER = "Том Силы"; +TAG_ARTITORCH = "Факел"; + +// Item tags: Hexen weapons +TAG_CWEAPMACE = "Булава Раскаяния"; +TAG_CWEAPSTAFF = "Змеиный Посох"; +TAG_CWEAPFLAME = "Огненный Шторм"; +TAG_CWEAPWRAITHVERGE = "Жезл Духов"; +TAG_FWEAPFIST = "Шипастые Рукавицы"; +TAG_FWEAPAXE = "Топор Тимона"; +TAG_FWEAPHAMMER = "Молот Возмездия"; +TAG_FWEAPQUIETUS = "Последний довод"; +TAG_MWEAPWAND = "Сапфировая волшебная палочка"; +TAG_MWEAPFROST = "Замораживающие Осколки"; +TAG_MWEAPLIGHTNING = "Дуга Смерти"; +TAG_MWEAPBLOODSCOURGE = "Кровавый бич"; + +// Item tags: Hexen artifacts +TAG_ARTIBLASTRADIUS = "Отражающий Диск"; +TAG_ARTIBOOSTARMOR = "Наручи драконьей кожи"; +TAG_ARTIBOOSTMANA = "Кубок Могущества"; +TAG_ARTIPOISONBAG = "Флешетта"; +TAG_ARTIPOISONBAG1 = "Флешетта Ядовитого Облака"; +TAG_ARTIPOISONBAG2 = "Флешетта Часовой бомбы"; +TAG_ARTIPOISONBAG3 = "Флешетта Граната"; +TAG_ARTIHEALINGRADIUS = "Мистический зачарованный свиток"; +TAG_ARTIDEFENDER = "Икона Защитника"; +TAG_ARTIPORK = "Хрякинатор"; +TAG_ARTISPEED = "Сапоги Скорости"; +TAG_ARTISUMMON = "Темный Слуга"; +TAG_ARTITELEPORTOTHER = "Механизм Изгнания"; + +// Item tags: Hexen puzzle items +TAG_ARTIPUZZSKULL = "Череп Йорика"; +TAG_ARTIPUZZGEMBIG = "Серце Д'Спарила"; +TAG_ARTIPUZZGEMRED = "Рубиновая Планета"; +TAG_ARTIPUZZGEMGREEN1 = "Изумрудная Планета (1)"; +TAG_ARTIPUZZGEMGREEN2 = "Изумрудная Планета (2)"; +TAG_ARTIPUZZGEMBLUE1 = "Сапфировая Планета (1)"; +TAG_ARTIPUZZGEMBLUE2 = "Сапфировая Планета (2)"; +TAG_ARTIPUZZBOOK1 = "Кодекс Демона"; +TAG_ARTIPUZZBOOK2 = "Либер Оскура"; +TAG_ARTIPUZZSKULL2 = "Огненная Маска"; +TAG_ARTIPUZZFWEAPON = "Запечатанный Палаш"; +TAG_ARTIPUZZCWEAPON = "Святая Реликвия"; +TAG_ARTIPUZZMWEAPON = "Сигила Магнуса"; +TAG_ARTIPUZZGEAR1 = "Железная шестерня"; +TAG_ARTIPUZZGEAR2 = "Латунная шестерня"; +TAG_ARTIPUZZGEAR3 = "Латунная и железная шестерни"; +TAG_ARTIPUZZGEAR4 = "Серебряная и латунная шестерни"; + +// Item tags: Strife weapons +TAG_PUNCHDAGGER = "Нож"; +TAG_STRIFECROSSBOW1 = "Арбалет"; +TAG_STRIFECROSSBOW2 = "Арбалет"; +TAG_ASSAULTGUN = "Винтовка"; +TAG_MMLAUNCHER = "Мини-ракетница"; +TAG_FLAMER = "Огнемет"; +TAG_MAULER1 = "Истязатель"; +TAG_MAULER2 = "Истязатель"; +TAG_GLAUNCHER1 = "Гранатомет"; +TAG_GLAUNCHER2 = "Гранатомет"; +TAG_SIGIL = "Сигил"; + +// Item tags: Strife artifacts +TAG_COIN = "Монета"; +TAG_MEDPATCH = "Бинт"; +TAG_MEDICALKIT = "Аптечка"; +TAG_SURGERYKIT = "Мед-комплект"; // "full_health" в Тизере +TAG_BELDINSRING = "Кольцо"; +TAG_OFFERINGCHALICE = "Чаша для подаяний"; +TAG_EAR = "Ухо"; +TAG_BROKENCOUPLING = "Сломанное сопряжение"; +TAG_SHADOWARMOR = "Теневая броня"; +TAG_ENVSUIT = "Защитный костюм"; +TAG_GUARDUNIFORM = "Униформа стражника"; +TAG_OFFICERSUNIFORM = "Офицерская униформа"; +TAG_FTHROWERPARTS = "Части огнемета"; +TAG_REPORT = "Отчет"; +TAG_INFO = "Информация"; +TAG_TARGETER = "Целеуказатель"; +TAG_COMMUNICATOR = "Коммуникатор"; +TAG_DEGNINORE = "Денгинская руда"; +TAG_GUNTRAINING = "Меткость"; +TAG_HEALTHTRAINING = "Живучесть"; +TAG_SCANNER = "Сканнер"; +TAG_PRISONPASS = "Пропуск в тюрьму"; +TAG_ALARM = "Тревога"; +TAG_AMMOFILLUP = "Боеприпасы"; +TAG_HEALTHFILLUP = "Здоровье"; +TAG_TELEPORTERBEACON = "z маяк"; +TAG_METALARMOR = "Металлическая броня"; +TAG_LEATHER = "Кожаная броня"; +TAG_HEGRENADES = "Противопехотные гранаты"; +TAG_PHGRENADES = "Зажигательные гранаты"; // "Fire-Grenade_Rounds" в Teaser +TAG_CLIPOFBULLETS = "Обойма пуль"; // "bullets" в Teaser +TAG_BOXOFBULLETS = "Боеприпасы"; +TAG_MINIMISSILES = "Мини-ракеты"; //"rocket" в Teaser +TAG_CRATEOFMISSILES = "Коробка ракет"; //"box_of_rockets" в Teaser +TAG_ENERGYPOD = "Эненгоячейка"; +TAG_ENERGYPACK = "Энергопакет"; +TAG_POISONBOLTS = "Ядовитые стрелы"; // "poison_arrows" в Teaser +TAG_ELECTRICBOLTS = "Электрические стрелы"; // "electric_arrows" в Teaser +TAG_AMMOSATCHEL = "Амуничный рюкзак"; // "Back_pack" в Teaser + +// Item tags: Strife keys +TAG_BASEKEY = "Ключ от базы"; +TAG_GOVSKEY = "Ключ Говса"; // "Rebel_Key" в Teaser +TAG_PASSCARD = "Пропуск"; +TAG_IDBADGE = "Бейдж с ID"; +TAG_PRISONKEY = "Ключ от тюрьмы"; +TAG_SEVEREDHAND = "Оторванная рука"; +TAG_POWER1KEY = "Ключ от Энерния1"; +TAG_POWER2KEY = "Ключ от Энергия2"; +TAG_POWER3KEY = "Ключ от Энергия3"; +TAG_GOLDKEY = "Золотой ключ"; +TAG_IDCARD = "Удостоверение"; +TAG_SILVERKEY = "Серебряный ключ"; +TAG_ORACLEKEY = "Ключ Оракула"; +TAG_MILITARYID = "Военное удостоверение личности"; +TAG_ORDERKEY = "Заказной ключ"; +TAG_WAREHOUSEKEY = "Складской ключ"; +TAG_BRASSKEY = "Латунный ключ"; +TAG_REDCRYSTALKEY = "Красный кристаллический ключ"; +TAG_BLUECRYSTALKEY = "Синий кристаллический ключ"; +TAG_CHAPELKEY = "Ключ от Часовни"; +TAG_CATACOMBKEY = "Ключ от катакомб"; // "Tunnel_Key" в Teaser +TAG_SECURITYKEY = "Ключ охраны"; +TAG_COREKEY = "Ключ Ядра"; // "New_Key1" в Teaser +TAG_MAULERKEY = "Ключ Мучителя"; // "New_Key2" в Teaser +TAG_FACTORYKEY = "Заводской ключ"; // "New_Key3" в Teaser +TAG_MINEKEY = "Ключ от шахты"; // "New_Key4" в Teaser +TAG_NEWKEY5 = "Новый ключ5"; +TAG_ORACLEPASS = "Пропуск Оракула"; + +// Item tags: misc Strife stuff +TAG_10GOLD = "10 золотых"; +TAG_25GOLD = "25 золотых"; +TAG_50GOLD = "50 золотых"; +TAG_300GOLD = "300 золотых"; +TAG_QUEST4 = "задание4"; +TAG_QUEST5 = "задание5"; +TAG_QUEST6 = "задание4"; + +// Item tags: Strife NPCs +TAG_ACOLYTE = "Служитель"; +TAG_ARMORER = "Бронник"; +TAG_BARKEEP = "Бармен"; +TAG_BEGGAR = "Нищий"; +TAG_MACIL1 = "Мэйсил"; +TAG_MACIL2 = "Мэйсил"; +TAG_MEDIC = "Врач"; +TAG_ORACLE = "Оракул"; +TAG_PRIEST = "Жрец"; +TAG_RATBUDDY = "Крыса"; +TAG_REBEL = "Повстанец"; +TAG_TEMPLAR = "Храмовник"; +TAG_WEAPONSMITH = "Оружейник"; + +// Item tags: Chex weapons +TAG_SPOON = "Ложка"; +TAG_SPORK = "Супер Ботинок"; +TAG_MINIZORCHER = "Мини-Зорчер"; +TAG_LARGEZORCHER = "Большой Зорчер"; +TAG_SUPERLARGEZORCHER = "Огромный Зорчер"; +TAG_RAPIDZORCHER = "Скорострельный Зорчер"; +TAG_ZORCHPROPULSOR = "Зорч-пропульсор"; +TAG_PHASINGZORCHER = "Фазовый Зорчер"; +TAG_LAZDEVICE = "Устройство «ЛАЗ»"; + +// Heretic strings +HE1TEXT = + "С уничтожением Железных Личей\n" + "и их приспешников, окрестные земли\n" + "очистились от омерзительной нежити.\n\n" + "Эта нежить, проникшая в наш мир из\n" + "темного измерения, открыла Огненный\n" + "Портал. Он как открытая пылающая\n" + "пасть Ада ведет в свою жуткую утробу.\n\n" + "Угроза исходит из Огненного Портала —\n" + "порождения Ада и черной магии могут\n" // Какой-то бред + "изринуться из него. Ваша цель —\n" + "сойти в Ад и запечатать проклятый\n" + "портал.\n\n" + "Это смертельно опасное деяние, и Вы\n" + "рискуете навсегда увязнуть во Тьме.\n" + "Но кто говорил, что путь истинного\n" + "Еретика легок и прост?"; +HE2TEXT = + "Могучие Молотавры повержены.\n" + "Их дымящиеся трупы падают,\n" + "разваливаясь на куски, к Вашим\n" + "ногам, и мрачное удовлетворение\n" + "наполняет Вас.\n\n" + "Врата, которые они охраняли, открылись.\n" + "Вы шагнули в них, думая, что\n" + "вернетесь в родной мир, но лишь\n" + "громкий, насмешливый хохот был\n" + "ответом на Вашу надежду.\n\n" + "Чей это злобный хохот? Быть может\n" + "это голос демонических сил,\n" + "управляющих Молотаврами? Какие\n" + "чудовищные создания ожидают Вас\n" + "за этими вратами? Не голубое небо\n" + "родного мира над головой, а\n" + "кристальный купол, — это плохой знак..."; +HE3TEXT = + "С гибелью Д'Спарила исчезла магия,\n" + "сохранявшая жизнь порождениям Тьмы.\n" + "Стоны умирающих демонов заглушили\n" + "вопль агонии самого Д'Спарила.\n\n" + "Вы исполнили свою клятву. Месть\n" + "свершилась. И за секунду до\n" + "разрушения хрустального купола,\n" + "Вы наконец-то, входите во врата,\n" + "ведущие в родной мир.\n\n" + "Но и теперь, после гибели Д'Спарила,\n" + "душа Ваша не спокойна, и ее\n" + "одолевают плохие предчувствия. Не был\n" + "ли проклятием его предсмертный\n" + "крик? Или призывом темных сил?\n\n" + "И где таятся другие Змеиные\n" + "Всадники?"; +HE4TEXT = + "С гибелью Д'Спарила умерла и Ваша\n" + "надежда вернуться в родной мир.\n" + "Своим предсмертным проклятьем\n" + "он отправил Вас в те немногие,\n" + "ещё оставшиеся подвластными\n" + "ему земли. Вы разбили последних\n" + "хранителей этих земель и стоите\n" + "перед опустевшим замком Д'Спарила,\n" + "оплотом его темных сил.\n\n" + "Само Сердце Зла растворило перед\n" + "Вами врата. И хотя Д'Спарил\n" + "повержен, глубины, породившие его,\n" + "стоят нерушимы.\n\n" + "Вы сойдете в эту преисподнюю, ибо\n" + "единственный способ вернуться в\n" + "родной мир — отыскать вход в него\n" + "в темных глубинах опустевшей вотчины\n" + "Д'Спарила. Личные стражи мертвого\n" + "господина уже дожидаются Вас..."; +HE5TEXT = + "Наблюдая с мрачным отвращением\n" + "предсмертную агонию последнего\n" + "сраженного Молотавра, Вы только\n" + "теперь понимаете, что смерть еще\n" + "никогда не была так близка. Даже\n" + "во время яростной битвы с самим\n" + "Д'Спарилом и его темными слугами.\n\n" + "С угрюмым отчаянием приближаетесь\n" + "Вы к открытым порталам. Слабая\n" + "надежда теплится в Вашей душе, —\n" + "быть может за ними скрыта дорога\n" + "домой, а не бездны чужих миров?\n\n" + "Отчаяние наделяет Вас мрачной\n" + "решимостью. Ничто не способно\n" + "остановить Вас, одна только — смерть.\n" + "Не сдавайтесь без боя, взгляните в\n" + "глаза своей судьбе. Знайте, если Вы\n" + "упали на самое дно, есть лишь один\n" + "путь — наверх."; + +// ЭПИЗОД 1 - ГОРОД ПРОКЛЯТЫХ +HHUSTR_E1M1 = "Доки"; +HHUSTR_E1M2 = "Темницы"; +HHUSTR_E1M3 = "Привратницкая"; +HHUSTR_E1M4 = "Сторожевая башня"; +HHUSTR_E1M5 = "Цитадель"; +HHUSTR_E1M6 = "Кафедральный собор"; +HHUSTR_E1M7 = "Склепы"; +HHUSTR_E1M8 = "Адская утроба"; +HHUSTR_E1M9 = "Кладбище"; + +// ЭПИЗОД 2 - АДСКАЯ УТРОБА +HHUSTR_E2M1 = "Кратер"; +HHUSTR_E2M2 = "Лавовые очаги"; +HHUSTR_E2M3 = "Река огня"; +HHUSTR_E2M4 = "Ледяной грот"; +HHUSTR_E2M5 = "Катакомбы"; +HHUSTR_E2M6 = "Лабиринт"; +HHUSTR_E2M7 = "Большой зал"; +HHUSTR_E2M8 = "Порталы хаоса"; +HHUSTR_E2M9 = "Ледник"; + +// ЭПИЗОД 3 - КУПОЛ Д'СПАРИЛА +HHUSTR_E3M1 = "Кладовая"; +HHUSTR_E3M2 = "Сточный колодец"; +HHUSTR_E3M3 = "Слияние"; +HHUSTR_E3M4 = "Лазурная крепость"; +HHUSTR_E3M5 = "Логово офидианов"; +HHUSTR_E3M6 = "Залы страха"; +HHUSTR_E3M7 = "Пропасть"; +HHUSTR_E3M8 = "Крепость Д'Спарила"; +HHUSTR_E3M9 = "Водоносный слой"; + +// ЭПИЗОД 4: СКЛЕП +HHUSTR_E4M1 = "Катафалк"; +HHUSTR_E4M2 = "Укрытие"; +HHUSTR_E4M3 = "Монастырская галерея"; +HHUSTR_E4M4 = "Гробница"; +HHUSTR_E4M5 = "Великая лестница"; +HHUSTR_E4M6 = "Залы отступников"; +HHUSTR_E4M7 = "Твердыни погибели"; +HHUSTR_E4M8 = "Разрушенный мост"; +HHUSTR_E4M9 = "Мавзолей"; + +// ЭПИЗОД 5: ЗАСТОЙНЫЕ ВЛАДЕНИЯ +HHUSTR_E5M1 = "Охровые утесы"; +HHUSTR_E5M2 = "Стремнина"; +HHUSTR_E5M3 = "Причал"; +HHUSTR_E5M4 = "Внутренний двор"; +HHUSTR_E5M5 = "Гидротир"; +HHUSTR_E5M6 = "Колоннада"; +HHUSTR_E5M7 = "Зловонный особняк"; +HHUSTR_E5M8 = "Поле высшего суда"; +HHUSTR_E5M9 = "Путаница Д'Спарила"; + +// Keys + +TXT_GOTBLUEKEY = "Синий ключ"; +TXT_GOTYELLOWKEY = "Желтый ключ"; +TXT_GOTGREENKEY = "Зеленый ключ"; + +// Artifacts + +TXT_ARTIHEALTH = "Кварцевый флакон"; +TXT_ARTIFLY = "Крылья гнева"; +TXT_ARTIINVULNERABILITY = "Кольцо неуязвимости"; +TXT_ARTITOMEOFPOWER = "Том могущества"; +TXT_ARTIINVISIBILITY = "Теневая сфера"; +TXT_ARTIEGG = "Морфийное яйцо"; +TXT_ARTISUPERHEALTH = "Мистическая урна"; +TXT_ARTITORCH = "Факел"; +TXT_ARTIFIREBOMB = "Часовая бомба древних"; +TXT_ARTITELEPORT = "Эмблема Хаоса"; + +// Items + +TXT_ITEMHEALTH = "Кристальный флакон"; +TXT_ITEMBAGOFHOLDING = "Носильный кошель"; +TXT_ITEMSHIELD1 = "Серебряный щит"; +TXT_ITEMSHIELD2 = "Зачарованный щит"; +TXT_ITEMSUPERMAP = "Свиток карты"; + +// Ammo + +TXT_AMMOGOLDWAND1 = "Кристалл для эльфийского жезла"; +TXT_AMMOGOLDWAND2 = "Жеода кристалла"; +TXT_AMMOMACE1 = "Сферы для булавы"; +TXT_AMMOMACE2 = "Груда сфер для булавы"; +TXT_AMMOCROSSBOW1 = "Эфирные стрелы"; +TXT_AMMOCROSSBOW2 = "Колчан эфирных стрел"; +TXT_AMMOBLASTER1 = "Когтевой шар"; +TXT_AMMOBLASTER2 = "Энергетический шар"; +TXT_AMMOSKULLROD1 = "Младшая руна"; +TXT_AMMOSKULLROD2 = "Старшая руны"; +TXT_AMMOPHOENIXROD1 = "Пламенный шар"; +TXT_AMMOPHOENIXROD2 = "Инфернальный шар"; + +// Weapons + +TXT_WPNGOLDWAND = "Эльфийский жезл"; +TXT_WPNMACE = "Огненная булава"; +TXT_WPNCROSSBOW = "Эфирный арбалет"; +TXT_WPNBLASTER = "Коготь дракона"; +TXT_WPNSKULLROD = "Посох ада"; +TXT_WPNPHOENIXROD = "Жезл феникса"; +TXT_WPNGAUNTLETS = "Перчатки некроманта"; + +TXT_NEEDBLUEKEY = "Для открытия нужен синий ключ"; +TXT_NEEDGREENKEY = "Для открытия нужен зеленый ключ"; +TXT_NEEDYELLOWKEY = "Для открытия нужен желтый ключ"; + +TXT_CHEATPOWERON = "POWER ON"; +TXT_CHEATPOWEROFF = "POWER OFF"; +TXT_CHEATHEALTH = "Максимальное здоровье"; +TXT_CHEATKEYS = "Все ключи"; +TXT_CHEATSOUNDON = "Отладка звука ВКЮЧЕНА"; +TXT_CHEATSOUNDOFF = "Отладка звука ВЫКЮЧЕНА"; +TXT_CHEATIDDQD = "Жульничаешь, э? Умрешь!"; +TXT_CHEATIDKFA = "Обманщик — ты не заслуживаешь оружия"; +TXT_CHEATTICKERON = "TICKER ON"; +TXT_CHEATTICKEROFF = "TICKER OFF"; +TXT_CHEATARTIFACTS3 = "ВЫ ПОЛУЧИЛИ ЭТО"; +TXT_MIDASTOUCH = "У тебя прикосновение Мидаса, детка"; +TXT_GOTSTUFF = "You got the stuff!"; +TXT_FREEZEON = "Freeze mode on"; +TXT_FREEZEOFF = "Freeze mode off"; +TXT_STRANGE = "Вы чувствуете себя странно..."; +TXT_STRANGER = "Вы чувствуете себя очень странно."; +TXT_NOTSTRANGE = "Вы снова чувствуете себя собой."; +TXT_LEADBOOTSON = "LEAD BOOTS ON"; +TXT_LEADBOOTSOFF = "LEAD BOOTS OFF"; +TXT_LIGHTER = "Вы чувствуете легкость."; +TXT_GRAVITY = "Гравитация тянет Вас вниз."; + +// Raven intermission + +TXT_IMKILLS = "Враги"; +TXT_IMITEMS = "Тайники"; +TXT_IMSECRETS = "Предметы"; +TXT_IMTIME = "Время"; + +RAVENQUITMSG = "Вы действительно желаете выйти?"; + +// Friendly names +FN_CHICKEN = "Цыпленок"; +FN_BEAST = "Дракон-оборотень"; +FN_CLINK = "Саблекоготь"; +FN_DSPARIL = "Д'Спарил"; +FN_HERETICIMP = "Горгулья"; +FN_IRONLICH = "Железный лич"; +FN_BONEKNIGHT = "Воин-нежить"; +FN_MINOTAUR = "Молотавр"; +FN_MUMMY = "Голем"; +FN_MUMMYLEADER = "Нитроголем"; +FN_SNAKE = "Офидиан"; +FN_WIZARD = "Волшебник"; + +// Hexen strings + +// Mana + +TXT_MANA_1 = "Синяя мана"; +TXT_MANA_2 = "Зеленая мана"; +TXT_MANA_BOTH = "Комбинированная мана"; + +// Keys + +TXT_KEY_STEEL = "Стальной ключ"; +TXT_KEY_CAVE = "Пещерный ключ"; +TXT_KEY_AXE = "Ключ-топор"; +TXT_KEY_FIRE = "Огненный ключ"; +TXT_KEY_EMERALD = "Изумрудный ключ"; +TXT_KEY_DUNGEON = "Ключ от подземелья"; +TXT_KEY_SILVER = "Серебряный ключ"; +TXT_KEY_RUSTED = "Ржавый ключ"; +TXT_KEY_HORN = "Роговой ключ"; +TXT_KEY_SWAMP = "Болотный ключ"; +TXT_KEY_CASTLE = "Ключ от замка"; + +TXT_NEED_KEY_STEEL = "Для открытия нужен стальной ключ"; +TXT_NEED_KEY_CAVE = "Для открытия нужен пещерный ключ"; +TXT_NEED_KEY_AXE = "Для открытия нужен ключ-топор"; +TXT_NEED_KEY_FIRE = "Для открытия нужен огненный ключ"; +TXT_NEED_KEY_EMERALD = "Для открытия нужен изумрудный ключ"; +TXT_NEED_KEY_DUNGEON = "Для открытия нужен ключ от подземелья"; +TXT_NEED_KEY_SILVER = "Для открытия нужен серебряный ключ"; +TXT_NEED_KEY_RUSTED = "Для открытия нужен ржавый ключ"; +TXT_NEED_KEY_HORN = "Для открытия нужен роговой ключ"; +TXT_NEED_KEY_SWAMP = "Для открытия нужен болотный ключ"; +TXT_NEED_KEY_CASTLE = "Для открытия нужен ключ от замка"; + +// Artifacts + +TXT_ARTIINVULNERABILITY2 = "Символ защитника"; +TXT_ARTISUMMON = "Темный слуга"; +TXT_ARTIEGG2 = "Свиноморфер"; +TXT_ARTIPOISONBAG = "Зелье"; +TXT_ARTITELEPORTOTHER = "Эмблема изгнания"; +TXT_ARTISPEED = "Сапоги-скороходы"; +TXT_ARTIBOOSTMANA = "Чаша могущества"; +TXT_ARTIBOOSTARMOR = "Наручи из драконьей кожи"; +TXT_ARTIBLASTRADIUS = "Диск отторжения"; +TXT_ARTIHEALINGRADIUS = "Чары магического единства"; + +// Puzzle artifacts + +TXT_ARTIPUZZSKULL = "Череп Йорика"; +TXT_ARTIPUZZGEMBIG = "Сердце Д'Спарила"; +TXT_ARTIPUZZGEMRED = "Рубиновая планета"; +TXT_ARTIPUZZGEMGREEN1 = "Изумрудная планета"; +TXT_ARTIPUZZGEMGREEN2 = "Изумрудная планета"; +TXT_ARTIPUZZGEMBLUE1 = "Сапфировая планета"; +TXT_ARTIPUZZGEMBLUE2 = "Сапфировая планета"; +TXT_ARTIPUZZBOOK1 = "Кодекс демона"; +TXT_ARTIPUZZBOOK2 = "LIBER OSCURA"; +TXT_ARTIPUZZSKULL2 = "Маска пламени"; +TXT_ARTIPUZZFWEAPON = "Печать воителя"; +TXT_ARTIPUZZCWEAPON = "Святая реликвия"; +TXT_ARTIPUZZMWEAPON = "Символ мага"; +TXT_ARTIPUZZGEAR = "Часовая шестерня"; +TXT_USEPUZZLEFAILED = "Здесь это невозможно использовать"; + +// Items + +TXT_ARMOR1 = "Кольчуга"; +TXT_ARMOR2 = "Соколиный щит"; +TXT_ARMOR3 = "Платиновый шлем"; +TXT_ARMOR4 = "Амулет стража"; + +// Weapons + +TXT_WEAPON_F2 = "Топор Тимона"; +TXT_WEAPON_F3 = "Молот возмездия"; +TXT_WEAPON_F4 = "Последний довод собран воедино"; +TXT_WEAPON_C2 = "Змеиный посох"; +TXT_WEAPON_C3 = "Огненный шторм"; +TXT_WEAPON_C4 = "Жезл духов собран воедино"; +TXT_WEAPON_M2 = "Ледяные осколки"; +TXT_WEAPON_M3 = "Дуга смерти"; +TXT_WEAPON_M4 = "Кровавый бич собран воедино"; +TXT_WEAPONPIECE = "Часть оружия! Сегодня Ваш счастливый день!"; +TXT_QUIETUS_PIECE = "Часть последнего довода"; +TXT_WRAITHVERGE_PIECE = "Часть жезла духов"; +TXT_BLOODSCOURGE_PIECE = "Часть кровавого бича"; + +// Friendly names + +FN_FIREDEMON = "Африт"; +FN_DEMON1 = "Серпент"; +FN_ETTIN = "Эттин"; +FN_CENTAUR = "Кентавр"; +FN_SLAUGHTAUR = "Старший кентавр"; +FN_BISHOP = "Епископ"; +FN_ICEGUY = "Вендиго"; +FN_SERPENT = "Сталкер"; +FN_WRAITH = "Грабитель"; +FN_DRAGON = "Виверна Смерти"; +FN_KORAX = "Коракс"; +FN_FBOSS = "Зедек"; +FN_MBOSS = "Менелкир"; +FN_CBOSS = "Традуктус"; +FN_HERESIARCH = "Ересиарх"; + +// Strife locks + +TXT_NEEDKEY = "Нужен ключ"; +TXT_NEED_PASSCARD = "Нужен пропуск"; +TXT_NEED_PASSCARD_DOOR = "Для открытия нужен пропуск"; +TXT_NEED_IDCARD = "Нужна личная карта"; +TXT_NEED_PRISONKEY = "Нужен ключ от тюрьмы"; +TXT_NEED_HANDPRINT = "Отпечаток руки не распознан"; +TXT_NEED_GOLDKEY = "Нужен золотой ключ"; +TXT_NEED_IDBADGE = "Нужна личная карта"; +TXT_NEED_IDBADGE_DOOR = "Для открытия нужна личная карта"; +TXT_NEED_SILVERKEY = "Нужен серебряный ключ"; +TXT_NEED_BRASSKEY = "Нужен латунный ключ"; +TXT_NEED_REDCRYSTAL = "Нужен красный кристалл"; +TXT_NEED_BLUECRYSTAL = "Нужен синий кристалл"; +TXT_RETAIL_ONLY = "ЭТА ЛОКАЦИЯ ДОСТУПНА ТОЛЬКО В ПОЛНОЙ ВЕРСИИ ИГРЫ STRIFE"; +TXT_DOES_NOT_WORK = "Похоже, это не работает"; + +// Strife Quest messages + +TXT_QUEST_14 = "Кристалл взорван"; +TXT_QUEST_16 = "Ворота взорваны"; +TXT_QUEST_27 = "Компьютер взорван"; + +TXT_KILLED_BISHOP = "Епископ убит!"; +TXT_KILLED_ORACLE = "Оракл убит!"; +TXT_KILLED_MACIL = "Мэйсил убит!"; +TXT_KILLED_LOREMASTER = "Хранитель Мудрости убит!"; + +TXT_YOUFOOL = "Придурок. Ты включил сигнализацию!"; +TXT_YOUREDEAD = "Считай, ты мертв; ты включил сигнализацию."; + +// Strife pickup messages + +TXT_METALARMOR = "Получена металлическая броня."; +TXT_LEATHERARMOR = "Получена кожаная броня."; +TXT_MEDPATCH = "Получен медицинский бинт."; +TXT_MEDICALKIT = "Получена аптечка."; +TXT_SURGERYKIT = "Получен медкомплект."; +TXT_STRIFEMAP = "Получена карта."; +TXT_BELDINSRING = "Получено кольцо."; +TXT_OFFERINGCHALICE = "Получена чаша для подношений."; +TXT_EAR = "Получено ухо."; +TXT_BROKENCOUPLING = "Получено сломанное сопряжение."; +TXT_SHADOWARMOR = "Получена теневая броня."; +TXT_ENVSUIT = "Получен защитный костюм."; +TXT_GUARDUNIFORM = "Получена униформа стражника."; +TXT_OFFICERSUNIFORM = "Получена униформа офицера."; +TXT_FTHROWERPARTS = "Получены запчасти для огнемета."; +TXT_REPORT = "Получен отчет."; +TXT_INFO = "Получена сводка."; +TXT_TARGETER = "Получен прицел."; +TXT_COMMUNICATOR = "Получен коммуникатор."; +TXT_COIN = "Получена монета."; +TXT_XGOLD = "Получено %d золотых."; +TXT_BEACON = "Получен z маяк."; +TXT_DEGNINORE = "Получена дегнинская руда."; +TXT_SCANNER = "Получен сканер."; +TXT_NEEDMAP = "Сканер не работает без карты!\n"; +TXT_PRISONPASS = "Получен пропуск в тюрьму."; + +TXT_STRIFECROSSBOW = "Получен арбалет."; +TXT_ASSAULTGUN = "Получена штурмовая винтовка."; +TXT_MMLAUNCHER = "Получена мини-ракетница."; +TXT_FLAMER = "Получен огнемет."; +TXT_MAULER = "Получен истязатель."; +TXT_GLAUNCHER = "Получен гранатомет."; +TXT_SIGIL = "Получен СИГИЛ."; + +TXT_BASEKEY = "Получен ключ от базы."; +TXT_GOVSKEY = "Получен ключ губернатора."; +TXT_PASSCARD = "Получен пропуск."; +TXT_IDBADGE = "Получен идентификационный значок."; +TXT_PRISONKEY = "Получен ключ от тюрьмы."; +TXT_SEVEREDHAND = "Получена отрезанная рука."; +TXT_POWER1KEY = "Получен ключ электростанции 1."; +TXT_POWER2KEY = "Получен ключ электростанции 2."; +TXT_POWER3KEY = "Получен ключ электростанции 3."; +TXT_GOLDKEY = "Получен золотой ключ."; +TXT_IDCARD = "Получен удостоверение."; +TXT_SILVERKEY = "Получен серебряный ключ."; +TXT_ORACLEKEY = "Получен ключ оракула."; +TXT_MILITARYID = "Получен армейский жетон."; +TXT_ORDERKEY = "Получен ключ ордена."; +TXT_WAREHOUSEKEY = "Получен ключ от склада."; +TXT_BRASSKEY = "Получен латунный ключ."; +TXT_REDCRYSTAL = "Получен красный кристалл."; +TXT_BLUECRYSTAL = "Получен синий кристалл."; +TXT_CHAPELKEY = "Получен ключ от капеллы."; +TXT_CATACOMBKEY = "Получен ключ от катакомб."; +TXT_SECURITYKEY = "Получен ключ охраны."; +TXT_COREKEY = "Получен ключ от реактора."; +TXT_MAULERKEY = "Получен ключ истязания."; +TXT_FACTORYKEY = "Получен ключ от завода."; +TXT_MINEKEY = "Получен ключ от шахт."; +TXT_NEWKEY5 = "Получен новый ключ 5."; +TXT_ORACLEPASS = "Получен пропуск оракула."; + +TXT_HEGRENADES = "Получена связка гранат."; +TXT_PHGRENADES = "Получена связка фосфорных гранат."; +TXT_CLIPOFBULLETS = "Получена обойма пуль."; +TXT_BOXOFBULLETS = "Получена коробка пуль."; +TXT_MINIMISSILES = "Получены мини-ракеты."; +TXT_CRATEOFMISSILES = "Получен ящик мини-ракет."; +TXT_ENERGYPOD = "Получена энергоячейка."; +TXT_ENERGYPACK = "Получен энергоблок."; +TXT_POISONBOLTS = "Получены ядовитые болты."; +TXT_ELECTRICBOLTS = "Получены электрические болты."; +TXT_AMMOSATCHEL = "Получен амуничный рюкзак."; + +// Random dialogs + +TXT_RANDOM_PEASANT_01 = "Пожалуйста, не трогай меня."; +TXT_RANDOM_PEASANT_02 = "Если ты собираешься навредить мне, то я не стою твоих усилий."; +TXT_RANDOM_PEASANT_03 = "Я ничего не знаю."; +TXT_RANDOM_PEASANT_04 = "Уходи, или я позову стражу!"; +TXT_RANDOM_PEASANT_05 = "Иногда мне просто хочется, чтобы все эти повстанцы уяснили себе свое место и прекратили весь этот бред."; +TXT_RANDOM_PEASANT_06 = "Просто оставь меня в покое, хорошо?"; +TXT_RANDOM_PEASANT_07 = "Я не уверен, но порой мне кажется, что я узнаю некоторых служителей."; +TXT_RANDOM_PEASANT_08 = "Орден держит тут все под замком."; +TXT_RANDOM_PEASANT_09 = "Эта служба безопасности не дает и шагу ступить без спроса."; +TXT_RANDOM_PEASANT_10 = "Я слыхал, что Орден серьезно обеспокоен действиями повстанцев в этом районе."; + +TXT_RANDOM_REBEL_01 = "Ордену никак не устоять против нас."; +TXT_RANDOM_REBEL_02 = "Мы почти готовы атаковать. Планы Мэйсила становятся ясны."; +TXT_RANDOM_REBEL_03 = "Мы все постоим за тебя. Не беспокойся."; +TXT_RANDOM_REBEL_04 = "Держись подальше от этих больших роботов. Они и мокрого места от тебя не оставят!"; +TXT_RANDOM_REBEL_05 = "Скоро наступит день нашего триумфа, и те, кто противостоит нам, будут сокрушены!"; +TXT_RANDOM_REBEL_06 = "Не расслабляйся. У нас по-прежнему хватает дел."; +TXT_RANDOM_REBEL_07 = "Мэйсил говорит, ты наша новая надежда. Имей это в виду."; +TXT_RANDOM_REBEL_08 = "Когда мы свергнем этих шарлатанов, то сможем воссоздать этот мир таким, каким он должен быть."; +TXT_RANDOM_REBEL_09 = "Помни, ты спаяешься не только за себя, но и за каждого здесь и снаружи."; +TXT_RANDOM_REBEL_10 = "Пока хотя бы один из нас еще дышит, мы не побеждены."; + +TXT_RANDOM_AGUARD_01 = "Проходи, рабочий."; +TXT_RANDOM_AGUARD_02 = "Прими истинную веру. Только тогда ты начнешь понимать."; +TXT_RANDOM_AGUARD_03 = "Истинное перерождение возможно только через смерть."; +TXT_RANDOM_AGUARD_04 = "Мне не интересна твоя бессмысленная болтовня."; +TXT_RANDOM_AGUARD_05 = "Если бы я хотел поговорить с тобой, то сказал бы об этом."; +TXT_RANDOM_AGUARD_06 = "Иди и надоедай кому-нибудь другому!"; +TXT_RANDOM_AGUARD_07 = "Иди куда шел!"; +TXT_RANDOM_AGUARD_08 = "Если поднимется тревога, не попадайся нам под ноги!"; +TXT_RANDOM_AGUARD_09 = "Орден очистит мир и начнется новая эра."; +TXT_RANDOM_AGUARD_10 = "Проблемы? Кажется, нет."; + +TXT_RANDOM_BEGGAR_01 = "У тебя не найдется мелочи для бедняка?"; +TXT_RANDOM_BEGGAR_02 = "На что уставился, незнакомец?"; +TXT_RANDOM_BEGGAR_03 = "У тебя случайно не найдется немного лишней еды?"; +TXT_RANDOM_BEGGAR_04 = "Вы, люди с поверхности, никогда не поймете нас."; +TXT_RANDOM_BEGGAR_05 = "Ха, стражники не могут найти нас. Эти дураки даже не знают, что мы существуем."; +TXT_RANDOM_BEGGAR_06 = "Наступит день, когда все, кроме слуг Ордена, будут вынуждены присоединиться к нам."; +TXT_RANDOM_BEGGAR_07 = "Смотри сколько влезет, но знай, что когда-нибудь так будет выглядеть и твое лицо."; +TXT_RANDOM_BEGGAR_08 = "Ничто так не выводит из себя, как болтун с поверхности!"; +TXT_RANDOM_BEGGAR_09 = "Орден быстро расправится с твоим бессильным сопротивлением."; +TXT_RANDOM_BEGGAR_10 = "Следи за собой, пришедший с поверхности. Мы знаем наших врагов!"; + +TXT_RANDOM_PGUARD_01 = "Мы длани судьбы. Прогневить нас означает встретить забвение!"; +TXT_RANDOM_PGUARD_02 = "Орден очистит мир от слабых и порочных!"; +TXT_RANDOM_PGUARD_03 = "Подчинись воле хозяев!"; +TXT_RANDOM_PGUARD_04 = "Долгой жизни братьям Ордена!"; +TXT_RANDOM_PGUARD_05 = "Свободная воля — лишь иллюзия, присущая слабоумным."; +TXT_RANDOM_PGUARD_06 = "Сила — путь к величию. Вступить в ряды Ордена означает пойти этим путем!"; +TXT_RANDOM_PGUARD_07 = "Займи свое место среди праведников. Присоединись к нам!"; +TXT_RANDOM_PGUARD_08 = "Орден защищает свою собственность."; +TXT_RANDOM_PGUARD_09 = "Служители? Им еще только предстоит узреть подлинное величие Ордена."; +TXT_RANDOM_PGUARD_10 = "Если внутри этой бренной телесной оболочки есть хоть капля чести, ты присоединишься к Ордену."; + +TXT_RANDOMGOODBYE_1 = "Пока!"; +TXT_RANDOMGOODBYE_2 = "Спасибо, пока!"; +TXT_RANDOMGOODBYE_3 = "До встречи!"; +TXT_HAVEENOUGH = "Кажется, тебе хватит!"; +TXT_GOAWAY = "Уходи!"; + +TXT_COMM0 = "Входящее сообщение"; +TXT_COMM1 = "Входящее сообщение от Черной птицы"; + +TXT_TRADE = " за %u"; + +AMMO_CLIP = "Пули"; +AMMO_SHELLS = "Патроны для дробовика"; +AMMO_ROCKETS = "Ракеты"; +AMMO_CELLS = "Энергетические ячейки"; +AMMO_GOLDWAND = "Кристалл для эльфийского жезла"; +AMMO_CROSSBOW = "Эфирные стрелы"; +AMMO_BLASTER = "Когтевой шар"; +AMMO_MACE = "Сферы для булавы"; +AMMO_SKULLROD = "Младшая руна"; +AMMO_PHOENIXROD = "Пламенный шар"; +AMMO_MANA1 = "Синяя Мана"; +AMMO_MANA2 = "Зеленая Мана"; +$ifgame(chex) AMMO_CLIP = "Заряд мини-Зорчера"; +$ifgame(chex) AMMO_SHELLS = "Заряд большого Зорчера"; +$ifgame(chex) AMMO_ROCKETS = "Заряд пропульсора"; +$ifgame(chex) AMMO_CELLS = "Заряд фазового Зорчера"; + +// Menu Strings + +// Main Menu +MNU_NEWGAME = "Новая игра"; +MNU_OPTIONS = "Настройки"; +MNU_GAMEFILES = "Игровые файлы"; +MNU_INFO = "Информация"; +MNU_QUITGAME = "Выход"; + +// Skills +MNU_CHOOSESKILL = "Уровень сложности:"; + +SKILL_BABY = "Мне рано умирать."; +SKILL_EASY = "Эй, не так грубо."; +SKILL_NORMAL = "Сделай мне больно."; +SKILL_HARD = "Ультранасилие"; +SKILL_NIGHTMARE = "КОШМАР!"; + +CSKILL_BABY = "Easy does it"; +CSKILL_EASY = "Не особо липко"; +CSKILL_NORMAL = "Масса слизи"; +CSKILL_HARD = "Экстремальная грязь"; +CSKILL_NIGHTMARE = "Сверхсклизский!"; + +SSKILL_BABY = "Разминка"; +SSKILL_EASY = "Новичок"; +SSKILL_NORMAL = "Ветеран"; +SSKILL_HARD = "Элита"; +SSKILL_NIGHTMARE = "Кровавая бойня"; + +MNU_WETNURSE = "Нянечка надобна мне"; +MNU_YELLOWBELLIES = "Не столь мужественен я"; +MNU_BRINGEST = "Подайте мне их"; +MNU_SMITE = "Искушен я сражениями"; +MNU_BLACKPLAGUE = "Чума овладела мной"; + +MNU_SQUIRE = "Оруженосец"; +MNU_KNIGHT = "Рыцарь"; +MNU_WARRIOR = "Воитель"; +MNU_BERSERKER = "Берсерк"; +MNU_TITAN = "Титан"; + +MNU_ALTARBOY = "Алтарник"; +MNU_ACOLYTE = "Служитель"; +MNU_PRIEST = "Священник"; +MNU_CARDINAL = "Кардинал"; +MNU_POPE = "Епископ"; + +MNU_APPRENTICE = "Ученик"; +MNU_ENCHANTER = "Чародей"; +MNU_SORCERER = "Колдун"; +MNU_WARLOCK = "Чернокнижник"; +MNU_ARCHMAGE = "Архимаг"; + +// Классы +MNU_CHOOSECLASS = "Класс:"; +MNU_FIGHTER = "Воин"; +MNU_CLERIC = "Клерик"; +MNU_MAGE = "Маг"; +MNU_RANDOM = "Наугад"; + +// Game Files +MNU_LOADGAME = "Загрузить игру"; +MNU_SAVEGAME = "Сохранить игру"; +MNU_NOPICTURE = "Нет\nИзображения"; +MNU_DIFFVERSION = "Другая\nВерсия"; +MNU_NOFILES = "Нет файлов"; +MNU_DELETESG = "Вы действительно хотите удалить сохранение\n"; + +// Episodes +MNU_EPISODE = "Выберите эпизод"; +MNU_COTD = "Город проклятых"; +MNU_HELLSMAW = "Адская утроба"; +MNU_DOME = "Купол Д'Спарила"; +MNU_OSSUARY = "Склеп"; +MNU_DEMESNE = "Застойные владения"; +$ifgame(heretic) SWSTRING = "Эпизод недоступен в демоверсии"; + +// Меню настроек +OPTMNU_TITLE = "НАСТРОЙКИ"; +OPTMNU_CONTROLS = "Управление"; +OPTMNU_MOUSE = "Мышь"; +OPTMNU_JOYSTICK = "Джойстик"; +OPTMNU_PLAYER = "Игрок"; +OPTMNU_GAMEPLAY = "Геймплей"; +OPTMNU_COMPATIBILITY = "Совместимость"; +OPTMNU_AUTOMAP = "Автокарта"; +OPTMNU_HUD = "HUD"; +OPTMNU_MISCELLANEOUS = "Дополнительно"; +OPTMNU_NETWORK = "Сеть"; +OPTMNU_SOUND = "Звук"; +OPTMNU_DISPLAY = "Экран"; +OPTMNU_VIDEO = "Видеорежим"; +OPTMNU_CHANGERENDER = "Режим рендеринга"; +OPTMNU_DEFAULTS = "Сбросить все настройки"; +OPTMNU_RESETTOSAVED = "Вернуть предыдущие настройки"; +OPTMNU_CONSOLE = "Открыть консоль"; +OPTMNU_REVERB = "Редактор реверберации"; + +// Controls Menu + +CNTRLMNU_TITLE = "НАСТРОЙКИ УПРАВЛЕНИЯ"; +CNTRLMNU_SWITCHTEXT1 = "ENTER — изменить, BACKSPACE — очистить"; +CNTRLMNU_SWITCHTEXT2 = "Нажмите клавишу управления, ESC для отмены"; +CNTRLMNU_CONTROLS = "Управление"; +CNTRLMNU_ATTACK = "Атака"; +CNTRLMNU_ALTATTACK = "Вторичная атака"; +CNTRLMNU_RELOAD = "Перезарядка"; +CNTRLMNU_ZOOM = "Приближение"; +CNTRLMNU_USER1 = "Положение оружия 1"; +CNTRLMNU_USER2 = "Положение оружия 2"; +CNTRLMNU_USER3 = "Положение оружия 3"; +CNTRLMNU_USER4 = "Положение оружия 4"; +CNTRLMNU_USE = "Использовать/открыть"; +CNTRLMNU_FORWARD = "Движение вперед"; +CNTRLMNU_BACK = "Движение назад"; +CNTRLMNU_MOVELEFT = "Движение влево"; +CNTRLMNU_MOVERIGHT = "Движение вправо"; +CNTRLMNU_TURNLEFT = "Поворот налево"; +CNTRLMNU_TURNRIGHT = "Поворот направо"; +CNTRLMNU_TURN180 = "Быстрый разворот"; +CNTRLMNU_JUMP = "Прыжок"; +CNTRLMNU_CROUCH = "Приседание"; +CNTRLMNU_TOGGLECROUCH = "Сесть/встать"; +CNTRLMNU_MOVEUP = "Лететь/плыть вверх"; +CNTRLMNU_MOVEDOWN = "Лететь/плыть вниз"; +CNTRLMNU_LAND = "Приземлиться"; +CNTRLMNU_MOUSELOOK = "Обзор мышью"; +CNTRLMNU_KEYBOARDLOOK = "Обзор клавиатурой"; +CNTRLMNU_LOOKUP = "Смотреть вверх"; +CNTRLMNU_LOOKDOWN = "Смотреть вниз"; +CNTRLMNU_CENTERVIEW = "Отцентрировать взгляд"; +CNTRLMNU_RUN = "Бег"; +CNTRLMNU_TOGGLERUN = "Бежать/идти"; +CNTRLMNU_STRAFE = "Движение боком"; +CNTRLMNU_SCOREBOARD = "Таблица очков"; +CNTRLMNU_TOGGLESCOREBOARD = "Таблица очков (перекл.)"; +CNTRLMNU_CHAT = "Чат"; +CNTRLMNU_SAY = "Сообщение"; +CNTRLMNU_TEAMSAY = "Сообщение команде"; +CNTRLMNU_WEAPONS = "Оружие"; +CNTRLMNU_NEXTWEAPON = "Следующее оружие"; +CNTRLMNU_PREVIOUSWEAPON = "Предыдущее оружие"; +CNTRLMNU_SLOT1 = "Оружие 1"; +CNTRLMNU_SLOT2 = "Оружие 2"; +CNTRLMNU_SLOT3 = "Оружие 3"; +CNTRLMNU_SLOT4 = "Оружие 4"; +CNTRLMNU_SLOT5 = "Оружие 5"; +CNTRLMNU_SLOT6 = "Оружие 6"; +CNTRLMNU_SLOT7 = "Оружие 7"; +CNTRLMNU_SLOT8 = "Оружие 8"; +CNTRLMNU_SLOT9 = "Оружие 9"; +CNTRLMNU_SLOT0 = "Оружие 0"; +CNTRLMNU_INVENTORY = "Инвентарь"; +CNTRLMNU_USEITEM = "Использовать предмет"; +CNTRLMNU_USEALLITEMS = "Использовать все предметы"; +CNTRLMNU_NEXTITEM = "Следующий предмет"; +CNTRLMNU_PREVIOUSITEM = "Предыдущий предмет"; +CNTRLMNU_DROPITEM = "Выбросить предмет"; +CNTRLMNU_QUERYITEM = "Показать предмет"; +CNTRLMNU_DROPWEAPON = "Выбросить оружие"; +CNTRLMNU_OTHER = "Прочее"; +CNTRLMNU_AUTOMAP = "Переключить автокарту"; +CNTRLMNU_CHASECAM = "Вид от 3-го лица (chasecam)"; +CNTRLMNU_COOPSPY = "Вид от другого игрока"; +CNTRLMNU_SCREENSHOT = "Скриншот"; +CNTRLMNU_CONSOLE = "Открыть консоль"; +CNTRLMNU_POPUPS = "Информация в Strife"; +CNTRLMNU_MISSION = "Текущее задание"; +CNTRLMNU_KEYS = "Список ключей"; +CNTRLMNU_STATS = "Оружие и статистика"; + +// Mouse Menu + +MOUSEMNU_TITLE = "НАСТРОЙКИ МЫШИ"; +MOUSEMNU_ENABLEMOUSE = "Использовать мышь"; +MOUSEMNU_MOUSEINMENU = "Использовать мышь в меню"; +MOUSEMNU_SHOWBACKBUTTON = "Кнопка «назад»"; +MOUSEMNU_CURSOR = "Курсор"; +MOUSEMNU_SENSITIVITY = "Общая чувствительность"; +MOUSEMNU_NOPRESCALE = "Увеличенная чувствительность"; +MOUSEMNU_SMOOTHMOUSE = "Плавное перемещение"; +MOUSEMNU_TURNSPEED = "Скорость поворота"; +MOUSEMNU_MOUSELOOKSPEED = "Скорость обзора"; +MOUSEMNU_FORWBACKSPEED = "Скорость передвижения"; +MOUSEMNU_STRAFESPEED = "Скорость движения боком"; +MOUSEMNU_ALWAYSMOUSELOOK = "Обзор мышью"; +MOUSEMNU_INVERTMOUSE = "Инвертирование мыши"; +MOUSEMNU_LOOKSPRING = "Передвижение мышью"; +MOUSEMNU_LOOKSTRAFE = "Движение боком мышью"; + +// Joystick Menu + +JOYMNU_TITLE = "НАСТРОИТЬ ДЖОЙСТИК"; +JOYMNU_OPTIONS = "Настройки джойстика"; +JOYMNU_NOMENU = "Отключить джойстик в меню"; + +// Player Setup Menu +MNU_PLAYERSETUP = "Настройки игрока"; +PLYRMNU_NAME = "Имя"; +PLYRMNU_TEAM = "Команда"; +PLYRMNU_PLAYERCOLOR = "Цвет"; +PLYRMNU_RED = "Крас."; +PLYRMNU_GREEN = "Зел."; +PLYRMNU_BLUE = "Синий"; +PLYRMNU_PLAYERCLASS = "Класс"; +PLYRMNU_PLAYERSKIN = "Скин"; +PLYRMNU_PLAYERGENDER = "Пол"; +PLYRMNU_AUTOAIM = "Автоприц."; +PLYRMNU_SWITCHONPICKUP = "Перекл. при подборе"; +PLYRMNU_ALWAYSRUN = "Постоянный бег"; +PLYRMNU_PRESSSPACE = "\n\cjSPACE"; +PLYRMNU_SEEFRONT = "\nПовернуть"; +PLYRMNU_SEEBACK = "\nПовернуть"; + +// Display Options +DSPLYMNU_TITLE = "НАСТРОЙКИ ЭКРАНА"; +DSPLYMNU_SCOREBOARD = "Таблица очков"; +DSPLYMNU_SCREENSIZE = "Размер экрана"; +DSPLYMNU_BRIGHTNESS = "Яркость"; +DSPLYMNU_VSYNC = "Вертикальная синхронизация"; +DSPLYMNU_CAPFPS = "Сглаживание рендеринга"; +DSPLYMNU_COLUMNMETHOD = "Режим рендеринга колонок"; +DSPLYMNU_BLENDMETHOD = "Режим рендеринга прозрачности"; + +DSPLYMNU_WIPETYPE = "Эффект плавной смены экранов"; +DSPLYMNU_SHOWENDOOM = "Показать экран ENDOOM"; +DSPLYMNU_BLOODFADE = "Интенсивность вспышки при ранении"; +DSPLYMNU_PICKUPFADE = "Интенсивность вспышки при подборе"; +DSPLYMNU_WATERFADE = "Интенсивность эффекта под водой"; +DSPLYMNU_PALLETEHACK = "DirectDraw хак палитры"; // Не используется +DSPLYMNU_ATTACHEDSURFACES = "Использовать прикрепленные поверхности"; // Не используется +DSPLYMNU_SKYMODE = "Режим отрисовки неба"; +DSPLYMNU_LINEARSKY = "Линейной небо"; +DSPLYMNU_GZDFULLBRIGHT = "Полная яркость замещает цвет сектора"; +DSPLYMNU_MODELS = "Модели"; +DSPLYMNU_SCALEFUZZ = "Масштабировать эффект шума"; +DSPLYMNU_DRAWFUZZ = "Использовать эффект шума"; +DSPLYMNU_OLDTRANS = "Классическая прозрачность"; +DSPLYMNU_TRANSSOUL = "Прозрачность потерянных душ"; +DSPLYMNU_FAKECONTRAST = "Имитация контрастного освещения стен"; +DSPLYMNU_ROCKETTRAILS = "Дымовой след у ракет"; +DSPLYMNU_BLOODTYPE = "Тип крови"; +DSPLYMNU_PUFFTYPE = "Тип рикошетов"; +DSPLYMNU_MAXPARTICLES = "Количество частиц"; +DSPLYMNU_MAXDECALS = "Количество декалей"; +DSPLYMNU_PLAYERSPRITES = "Показывать спрайты игрока"; +DSPLYMNU_DEATHCAM = "Вид от 3-го лица камеры при смерти"; +DSPLYMNU_TELEZOOM = "Зум при телепортации"; +DSPLYMNU_QUAKEINTENSITY = "Интенсивность землетрясений"; +DSPLYMNU_NOMONSTERINTERPOLATION = "Сглаживание движения монстров"; +DSPLYMNU_MENUDIM = "Затемнение фона меню"; +DSPLYMNU_DIMCOLOR = "Цвет затемнения"; +DSPLYMNU_MOVEBOB = "Покачивание камеры при движении"; +DSPLYMNU_STILLBOB = "Покачивание камеры при бездействии"; +DSPLYMNU_BOBSPEED = "Скорость покачивания оружия"; +DSPLYMNU_GPUSWITCH = "Использование GPU ноутбука"; + +// HUD Options +HUDMNU_TITLE = "Настройки HUD"; +HUDMNU_ALTHUD = "Альтернативный HUD"; +HUDMNU_MESSAGE = "Настройки сообщений"; +HUDMNU_UISCALE = "Масштаб. интерфейса"; +HUDMNU_CROSSHAIR = "Тип прицела"; +HUDMNU_FORCECROSSHAIR = "Всегда стандартный прицел"; +HUDMNU_GROWCROSSHAIR = "Увеличение прицела при подборе"; +HUDMNU_CROSSHAIRCOLOR = "Цвет прицела"; +HUDMNU_CROSSHAIRHEALTH = "Цвет прицела по состоянию здоровья"; +HUDMNU_CROSSHAIRSCALE = "Масштаб. прицела"; +HUDMNU_NAMETAGS = "Указание названия предметов"; +HUDMNU_NAMETAGCOLOR = "Цвет названия предметов"; +HUDMNU_SCALEFULLSCREENHUD = "Масштаб. полноэкранного интерфейса"; +HUDMNU_OLDOUCH = "Старая формула для портрета"; +HUDMNU_HEXENFLASHES = "Тип вспышки оружия в Hexen"; +HUDMNU_POISONFLASHES = "Тип вспышки яда"; +HUDMNU_ICEFLASHES = "Тип вспышки при смерти от льда"; +HUDMNU_HAZARDFLASHES = "Тип вспышки при скоплении яда"; +HUDMNU_SCALEOPT = "Настройки масштабирования"; + +// Scaling options +SCALEMNU_TITLE = "НАСТРОЙКИ МАСШТАБИРОВАНИЯ"; +SCALEMNU_OVERRIDE = "Задать специальные настройки"; +SCALEMNU_MESSAGES = "Сообщения"; +SCALEMNU_CONSOLE = "Консоль"; +SCALEMNU_STATBAR = "Строка состояния"; +SCALEMNU_HUD = "Полноэкранный HUD"; +SCALEMNU_ALTHUD = "Альтернативный HUD"; +SCALEMNU_HUDASPECT = "Соотношение сторон"; +SCALEMNU_USEUI = "Размер по умолчанию"; +SCALEMNU_USEFS = "Масштабировать со всем экраном"; +SCALEMNU_ADAPT = "Адаптироваться к размеру экрана"; + +// AltHUD Options +ALTHUDMNU_TITLE = "Альтернативный HUD"; +ALTHUDMNU_ENABLE = "Альтернативный HUD"; +ALTHUDMNU_SHOWSECRETS = "Отображение обнаруженных тайников"; +ALTHUDMNU_SHOWMONSTERS = "Отображение количества монстров"; +ALTHUDMNU_SHOWITEMS = "Отображение количества предметов"; +ALTHUDMNU_SHOWSTATS = "Отображение стойкости и точности"; +ALTHUDMNU_SHOWBERSERK = "Отображение берсерка"; +ALTHUDMNU_SHOWWEAPONS = "Отображение оружия"; +ALTHUDMNU_SHOWAMMO = "Показывать патроны для"; +ALTHUDMNU_SHOWTIME = "Отображение времени"; +ALTHUDMNU_TIMECOLOR = "Цвет времени"; +ALTHUDMNU_SHOWLAG = "Отображение задержки сети"; +ALTHUDMNU_AMMOORDER = "Порядок отображения боеприпасов"; +ALTHUDMNU_AMMORED = "Кр. отображение боеприпасов под %"; +ALTHUDMNU_AMMOYELLOW = "Жл. отображение боеприпасов под %"; +ALTHUDMNU_HEALTHRED = "Красное отображение здоровья под"; +ALTHUDMNU_HEALTHYELLOW = "Желтое отображение здоровья под"; +ALTHUDMNU_HEALTHGREEN = "Зел. отображение здоровья под"; +ALTHUDMNU_ARMORRED = "Красное отображение броня под"; +ALTHUDMNU_ARMORYELLOW = "Желтое отображение броня под"; +ALTHUDMNU_ARMORGREEN = "Зел. отображение броня под"; +ALTHUDMNU_AUTOMAPHUD = "Альт. HUD на автокарте"; +ALTHUDMNU_TITLECOLOR = "Цвет названия уровня"; +ALTHUDMNU_MAPTIMECOLOR = "Цвет времени для уровней"; +ALTHUDMNU_HUBTIMECOLOR = "Цвет времени для хабов"; +ALTHUDMNU_TOTALTIMECOLOR = "Цвет общего времени"; +ALTHUDMNU_COORDINATECOLOR = "Цвет координат"; +ALTHUDMNU_COORDINATEMODE = "Координаты игрока"; +ALTHUDMNU_STATSNAMECOLOR = "Цвет имен в статистике"; +ALTHUDMNU_STATSCOLOR = "Цвет статистики"; + +// Misc. Options +MISCMNU_TITLE = "ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ"; +MISCMNU_MERGEKEYS = "Не разделять левый/правый ALT/CTRL/SHIFT"; +MISCMNU_WINFULLSCREENTOGGLE = "Переключение полного экрана по ALT+ENTER"; +MISCMNU_MACFULLSCREENTOGGLE = "Переключение полного экрана по Command+F"; +MISCMNU_QUERYIWAD = "Выбор IWAD при запуске"; +MISCMNU_ALLCHEATS = "Читы из всех игр"; +MISCMNU_ENABLEAUTOSAVES = "Автосохранения"; +MISCMNU_AUTOSAVECOUNT = "Количество автосохранений"; +MISCMNU_SAVELOADCONFIRMATION = "Подтверждение при сохранении/загрузке"; +MISCMNU_DEHLOAD = "Загружать файлы *.deh/*.bex"; +MISCMNU_CACHENODES = "Кэширование нодов"; +MISCMNU_CACHETIME = "Временной порог для кэширования нодов"; // Имеется в виду количество времени, затрачиваемое на загрузку карты, чтобы ноды начали кешироваться +MISCMNU_CLEARNODECACHE = "Очистить кэш нодов"; +MISCMNU_INTERSCROLL = "Разрешение пропуска текстовых вставок"; +// Automap Options +AUTOMAPMNU_TITLE = "Настройки автокарты"; +AUTOMAPMNU_COLORSET = "Цвета автокарты"; +AUTOMAPMNU_CUSTOMCOLORS = "Настроить цвета автокарты"; +AUTOMAPMNU_SETCUSTOMCOLORS = "Выбор цветов"; +AUTOMAPMNU_CONTROLS = "Управление"; +AUTOMAPMNU_ROTATE = "Вращающаяся автокарта"; +AUTOMAPMNU_OVERLAY = "Прозрачная автокарта"; +AUTOMAPMNU_TEXTURED = "Текстуры на автокарте"; +AUTOMAPMNU_FOLLOW = "Привязка к игроку"; +AUTOMAPMNU_SHOWITEMS = "Количество предметов"; +AUTOMAPMNU_SHOWMONSTERS = "Количество монстов"; +AUTOMAPMNU_SHOWSECRETS = "Количество тайников"; +AUTOMAPMNU_SHOWTIME = "Прошедшее время"; +AUTOMAPMNU_SHOWTOTALTIME = "Общее время"; +AUTOMAPMNU_MAPSECRETS = "Тайники на карте"; +AUTOMAPMNU_SHOWMAPLABEL = "Название карты"; +AUTOMAPMNU_DRAWMAPBACK = "Отображать фон автокарты"; +AUTOMAPMNU_SHOWKEYS = "Отображать ключи (только чит)"; +AUTOMAPMNU_SHOWTRIGGERLINES = "Отображать триггеры"; +AUTOMAPMNU_SHOWTHINGSPRITES = "Отображать спрайты предметов"; +AUTOMAPMNU_PTOVERLAY = "Порталы в прозрачном режиме"; +AUTOMAPMNU_EMPTYSPACEMARGIN = "Край автокарты"; + +// Automap Controls +MAPCNTRLMNU_TITLE = "НАСТРОЙКИ УПРАВЛЕНИЯ КАРТОЙ"; +MAPCNTRLMNU_CONTROLS = "Управление автокартой"; +MAPCNTRLMNU_PANLEFT = "Сдвиг влево"; +MAPCNTRLMNU_PANRIGHT = "Сдвиг вправо"; +MAPCNTRLMNU_PANUP = "Сдвиг вверх"; +MAPCNTRLMNU_PANDOWN = "Сдвиг вниз"; +MAPCNTRLMNU_ZOOMIN = "Увеличить масштаб"; +MAPCNTRLMNU_ZOOMOUT = "Уменьшить масштаб"; +MAPCNTRLMNU_TOGGLEZOOM = "Переключить зум"; +MAPCNTRLMNU_TOGGLEFOLLOW = "Переключить следование"; +MAPCNTRLMNU_TOGGLEGRID = "Переключить сетку"; +MAPCNTRLMNU_TOGGLETEXTURE = "Переключить текстуры"; +MAPCNTRLMNU_SETMARK = "Поставить отметку"; +MAPCNTRLMNU_CLEARMARK = "Убрать отметку"; + +// Automap Colors +MAPCOLORMNU_TITLE = "НАСТРОЙКИ ЦВЕТОВ АВТОКАРТЫ"; +MAPCOLORMNU_DEFAULTMAPCOLORS = "Вернуть стандартные цвета"; +MAPCOLORMNU_BACKCOLOR = "Фон"; +MAPCOLORMNU_YOURCOLOR = "Игрок"; +MAPCOLORMNU_WALLCOLOR = "Односторонние стены"; +MAPCOLORMNU_FDWALLCOLOR = "Двусторонние стены"; +MAPCOLORMNU_CDWALLCOLOR = "Двусторонние стены с разными потолками"; +MAPCOLORMNU_EFWALLCOLOR = "Двусторонние стены с разными полами"; +MAPCOLORMNU_GRIDCOLOR = "Цвет сетки"; +MAPCOLORMNU_XHAIRCOLOR = "Курсор"; +MAPCOLORMNU_NOTSEENCOLOR = "Необнаруженные стены"; +MAPCOLORMNU_LOCKEDCOLOR = "Запертые двери"; +MAPCOLORMNU_INTRALEVELCOLOR = "Телепорт в пределах уровня"; +MAPCOLORMNU_INTERLEVELCOLOR = "Телепорт на другой уровень"; +MAPCOLORMNU_SECRETSECTORCOLOR = "Тайный сектор"; +MAPCOLORMNU_UNEXPLOREDSECRETCOLOR = "Необнаруженный тайник"; +MAPCOLORMNU_SPECIALWALLCOLOR = "Специальные триггер-линии"; +MAPCOLORMNU_CHEATMODE = "Чит-режим"; +MAPCOLORMNU_TSWALLCOLOR = "Невидимые двусторонние стены"; +MAPCOLORMNU_SECRETWALLCOLOR = "Тайные стены"; +MAPCOLORMNU_THINGCOLOR = "Объекты"; +MAPCOLORMNU_MONSTERCOLOR = "Монстры"; +MAPCOLORMNU_NONCOUNTINGMONSTERCOLOR = "Неучитываемые монстры"; +MAPCOLORMNU_FRIENDCOLOR = "Дружественные"; +MAPCOLORMNU_ITEMCOLOR = "Предметы"; +MAPCOLORMNU_COUNTITEMCOLOR = "Учитываемые предметы"; +MAPCOLORMNU_OVERLAY = "Прозрачный режим"; +MAPCOLORMNU_OVCHEATMODE = "Прозрачный чит-режим"; +MAPCOLORMNU_PORTAL = "Порталы в прозрачном режиме"; + +// Message Options +MSGMNU_TITLE = "СООБЩЕНИЯ"; +MSGMNU_SHOWMESSAGES = "Отображение сообщений"; +MSGMNU_SHOWOBITUARIES = "Отображение некрологов"; +MSGMNU_SHOWSECRETS = "Отображение сообщений о тайниках"; +MSGMNU_MESSAGELEVEL = "Минимальный уровень сообщений"; +MSGMNU_CENTERMESSAGES = "Центрирование сообщений"; +MSGMNU_MESSAGECOLORS = "Цвета сообщений"; +MSGMNU_ITEMPICKUP = "Подбор предмета"; +MSGMNU_OBITUARIES = "Некрологи"; +MSGMNU_CRITICALMESSAGES = "Важные сообщения"; +MSGMNU_CHATMESSAGES = "Сообщения в чате"; +MSGMNU_TEAMMESSAGES = "Командные сообщения в чате"; +MSGMNU_CENTEREDMESSAGES = "Центрированные сообщения"; +MSGMNU_SCREENSHOTMESSAGES = "Сообщения о скриншотах"; +MSGMNU_LONGSAVEMESSAGES = "Подробные сообщения о сохранениях"; +MSGMNU_DEVELOPER = "Режим сообщений для разработчиков"; + +// Scoreboard Options +SCRBRDMNU_TITLE = "НАСТРОЙКИ ТАБЛИЦЫ ОЧКОВ"; +SCRBRDMNU_COOPERATIVE = "Настройки для команд"; +SCRBRDMNU_ENABLE = "Включить таблицу очков"; +SCRBRDMNU_HEADERCOLOR = "Цвет заголовка"; +SCRBRDMNU_YOURCOLOR = "Ваш цвет"; +SCRBRDMNU_OTHERPLAYERCOLOR = "Цвет других игроков"; +SCRBRDMNU_DEATHMATCH = "Настройки Deathmatch"; +SCRBRDMNU_TEAMDEATHMATCH = "Настройки командного Deathmatch"; + +// Gameplay Menu +GMPLYMNU_TITLE = "НАСТРОЙКИ ГЕЙМПЛЕЯ"; +GMPLYMNU_TEAMPLAY = "Командный режим"; +GMPLYMNU_TEAMDAMAGE = "Множитель урона по своим"; +GMPLYMNU_SMARTAUTOAIM = "Умное автоприцеливание"; +GMPLYMNU_FALLINGDAMAGE = "Урон от падения"; +GMPLYMNU_DROPWEAPON = "Сохранять оружие после смерти"; +GMPLYMNU_DOUBLEAMMO = "Удвоенные патроны"; +GMPLYMNU_INFINITEAMMO = "Бесконечные патроны"; +GMPLYMNU_INFINITEINVENTORY = "Бесконечный инвентарь"; +GMPLYMNU_NOMONSTERS = "Отключить монстров"; +GMPLYMNU_NOMONSTERSTOEXIT = "Убить всех монстров для выхода"; +GMPLYMNU_MONSTERSRESPAWN = "Монстры воскрешаются"; +GMPLYMNU_NORESPAWN = "Отключение воскрешения"; +GMPLYMNU_ITEMSRESPAWN = "Восстановление предметов"; +GMPLYMNU_SUPERRESPAWN = "Восстановление супер-бонусов"; +GMPLYMNU_FASTMONSTERS = "Ускоренные монстры"; +GMPLYMNU_DEGENERATION = "Уменьшать доп. здоровье"; // Или "Дегенерация" =D +GMPLYMNU_NOAUTOAIM = "Разрешить автоприцеливание"; +GMPLYMNU_ALLOWSUICIDE = "Разрешить суицид"; +GMPLYMNU_ALLOWJUMP = "Прыжки"; +GMPLYMNU_ALLOWCROUCH = "Приседание"; +GMPLYMNU_ALLOWFREELOOK = "Обзор мышью"; +GMPLYMNU_ALLOWFOV = "Разрешить изменение FOV"; +GMPLYMNU_BFGFREEAIM = "Разрешить прицеливание с BFG"; +GMPLYMNU_ALLOWAUTOMAP = "Разрешить использование автокарты"; +GMPLYMNU_AUTOMAPALLIES = "Показывать союзников на автокарте"; +GMPLYMNU_ALLOWSPYING = "Разрешить вид от других игроков"; +GMPLYMNU_CHASECAM = "Разрешить вид от 3-го лица"; +GMPLYMNU_DONTCHECKAMMO = "Проверять патроны при переключении оружия"; // Именно при перелистывании, а не смене на конкретное +GMPLYMNU_KILLBOSSSPAWNS = "Убить порождения Иконы при ее смерти"; +GMPLYMNU_NOCOUNTENDMONSTER = "Считать монстров в конечном секторе убитыми"; // Или "Пройденные сектора считаются за % убийств +GMPLYMNU_DEATHMATCH = "Настройки deathmatch"; +GMPLYMNU_WEAPONSSTAY = "Оставлять оружие после подбора"; +GMPLYMNU_ALLOWPOWERUPS = "Разрешить бонусы"; +GMPLYMNU_ALLOWHEALTH = "Разрешить бонусы к здоровью"; +GMPLYMNU_ALLOWARMOR = "Разрешить броню"; +GMPLYMNU_SPAWNFARTHEST = "Восстановление подальше от остальных"; +GMPLYMNU_SAMEMAP = "Зациклить уровень"; +GMPLYMNU_FORCERESPAWN = "Моментальное восстановление"; +GMPLYMNU_ALLOWEXIT = "Разрешить выход"; +GMPLYMNU_BARRELSRESPAWN = "Восстановление бочек"; +GMPLYMNU_RESPAWNPROTECTION = "Кратковременная защита после воскрешения"; +GMPLYMNU_LOSEFRAG = "Терять фраг при смерти"; +GMPLYMNU_KEEPFRAGS = "Сохранять фраги между уровнями"; +GMPLYMNU_NOTEAMSWITCH = "Запретить переход между командами"; +GMPLYMNU_COOPERATIVE = "Настройки кооператива"; +GMPLYMNU_MULTIPLAYERWEAPONS = "Появление оружия из мультиплеера"; +GMPLYMNU_LOSEINVENTORY = "Терять весь инвентарь при смерти"; +GMPLYMNU_KEEPKEYS = "Сохранять ключи"; +GMPLYMNU_KEEPWEAPONS = "Сохранять оружие"; +GMPLYMNU_KEEPARMOR = "Сохранять броню"; +GMPLYMNU_KEEPPOWERUPS = "Сохранять супер-бонусы"; +GMPLYMNU_KEEPAMMO = "Сохранять патроны"; +GMPLYMNU_LOSEHALFAMMO = "Терять половину патронов"; +GMPLYMNU_SPAWNWHEREDIED = "Восстановление на месте смерти"; + +// Compatibility Options +CMPTMNU_TITLE = "НАСТРОЙКИ СОВМЕСТИМОСТИ"; +CMPTMNU_MODE = "Режим совместимости"; +CMPTMNU_ACTORBEHAVIOR = "Поведение акторов"; +CMPTMNU_CORPSEGIBS = "Раздавленные монстры могут быть воскрешены"; +CMPTMNU_NOBLOCKFRIENDS = "Не блокировать дружественных монстров"; +CMPTMNU_LIMITPAIN = "Ограничить число потер. душ из элементалей боли"; +CMPTMNU_MBFMONSTERMOVE = "Эффекты влияют на движение монстров"; +CMPTMNU_CROSSDROPOFF = "Монстрам нельзя пересекать уступы"; +CMPTMNU_DROPOFF = "Монстры застревают на уступах"; +CMPTMNU_INVISIBILITY = "Монстры видят невидимых игроков"; +CMPTMNU_MINOTAUR = "Минотавры не создают огонь в воде"; +CMPTMNU_NOTOSSDROPS = "Выброшенные предметы создаются на земле"; +CMPTMNU_DEHACKEDBEHAVIOR = "Поведение DeHackEd"; +CMPTMNU_DEHHEALTH = "Настройки здоровья DEH как в Doom2.exe"; +CMPTMNU_MUSHROOM = "Оригинальная скорость A_Mushroom в модах DEH"; +CMPTMNU_MAPACTIONBEHAVIOR = "Поведение уровней/действий"; +CMPTMNU_USEBLOCKING = "Все специальные линии могут блокировать "; +CMPTMNU_ANYBOSSDEATH = "Любой A_BossDeath активирует special на уровне"; +CMPTMNU_NODOORLIGHT = "Отключить световой эффект на дверях из BOOM"; +CMPTMNU_LIGHT = "Искать соседнего света как в Doom"; +CMPTMNU_SHORTTEX = "Искать кратчайшие текстуры как в Doom"; +CMPTMNU_STAIRS = "Использовать неисправленное построение лестниц"; +CMPTMNU_FLOORMOVE = "Поведение движения по полу из Doom"; +CMPTMNU_POINTONLINE = "Использовать алгоритм point-on-line из Doom"; +CMPTMNU_MULTIEXIT = "Выходы могут быть активированы более одного раза"; +CMPTMNU_PHYSICSBEHAVIOR = "Поведение физики"; +CMPTMNU_NOPASSOVER = "Акторы бесконечно высокие"; +CMPTMNU_BOOMSCROLL = "Скроллеры из BOOM являются аддитивными"; +CMPTMNU_BADANGLES = "Запрещено двигаться прямо на С, Ю, З, В"; +CMPTMNU_WALLRUN = "Включить быстрый бег вдоль стен (wallrun)"; +CMPTMNU_RAVENSCROLL = "Raven-скроллеры используют оригинальную скорость"; +CMPTMNU_TRACE = "Самоссылающиеся секторы не блокируют выстрелы"; +CMPTMNU_HITSCAN = "Использовать код из Doom для проверок хит-сканов"; +CMPTMNU_MISSILECLIP = "Использовать высоты из Doom для столкновения ракет"; +CMPTMNU_RENDERINGBEHAVIOR = "Поведение рендеринга"; +CMPTMNU_POLYOBJ = "Рисовать полиобъекты как в Hexen"; +CMPTMNU_MASKEDMIDTEX = "Игнорировать смещение Y на скрытых мид-текстурах"; +CMPTMNU_SPRITESORT = "Инвертировать сортировку спрайтов"; +CMPTMNU_SOUNDBEHAVIOR = "Поведение звуков"; +CMPTMNU_SOUNDSLOTS = "Исказить звуки для трюка бесшумной BFG"; +CMPTMNU_SILENTPICKUP = "Запрещать другим слышать Ваш подбор предметов"; +CMPTMNU_SILENTINSTANTFLOORS = "Мгновенно двигающиеся полы не беззвучны"; +CMPTMNU_SECTORSOUNDS = "Звуки секторов используют центр как источник"; +CMPTMNU_SOUNDCUTOFF = "Останавливать звуки при исчезновении актора"; +CMPTMNU_SOUNDTARGET = "Оригинальная обработка источников звука"; +CMPTMNU_TELEPORT = "Скрипт. телепорты не инициируют действия секторов"; +CMPTMNU_PUSHWINDOW = "Неблокирующие линии могут быть отодвинуты"; + +// Sound Options +SNDMNU_TITLE = "НАСТРОЙКИ ЗВУКА"; +SNDMNU_SFXVOLUME = "Громкость звука"; +SNDMNU_MENUVOLUME = "Громкость меню"; +SNDMNU_MUSICVOLUME = "Громкость музыки"; +SNDMNU_MIDIDEVICE = "MIDI проигрыватель"; +SNDMNU_BACKGROUND = "Звуки в фоне"; +SNDMNU_UNDERWATERREVERB = "Эффект под водой"; +SNDMNU_RANDOMIZEPITCHES = "Изменять высоту"; +SNDMNU_CHANNELS = "Количество каналов"; +SNDMNU_BACKEND = "Звуковая система"; +SNDMNU_OPENAL = "Настройки OpenAL"; +SNDMNU_RESTART = "Перезапустить звук"; +SNDMNU_ADVANCED = "Расширенные настройки"; +SNDMNU_MODREPLAYER = "ПАРАМЕТРЫ МОДУЛЯ ВОСПРОИЗВЕДЕНИЯ"; +SNDMNU_MIDIPLAYER = "НАСТРОЙКИ MIDI-ПРОИГРЫВАТЕЛЯ"; + +// OpenAL Options +OPENALMNU_TITLE = "НАСТРОЙКИ OPENAL"; +OPENALMNU_PLAYBACKDEVICE = "Устройство воспроизведения"; +OPENALMNU_ENABLEEFX = "Включить EFX"; +OPENALMNU_RESAMPLER = "Ресемплер"; + +// Advanced Sound Options +ADVSNDMNU_TITLE = "РАСШИРЕННЫЕ НАСТРОЙКИ"; +ADVSNDMNU_SAMPLERATE = "Частота дискретизации"; +ADVSNDMNU_HRTF = "HRTF"; +ADVSNDMNU_OPLSYNTHESIS = "Синтез OPL"; +ADVSNDMNU_OPLNUMCHIPS = "Количество эмулируемых OPL чипов"; +ADVSNDMNU_OPLFULLPAN = "Полная стереопанорама для MIDI"; +ADVSNDMNU_OPLCORES = "Ядро эмуляции OPL"; +ADVSNDMNU_OPNCORES = "Ядро эмуляции OPN2"; +ADVSNDMNU_GUSEMULATION = "Эмуляция GUS"; +ADVSNDMNU_GUSCONFIG = "Файл конфигурации для GUS"; +ADVSNDMNU_MIDIVOICES = "MIDI-голоса"; +ADVSNDMNU_DMXGUS = "Читать файлы DMXGUS"; +ADVSNDMNU_GUSMEMSIZE = "Размер памяти GUS"; +ADVSNDMNU_FLUIDSYNTH = "FluidSynth"; +ADVSNDMNU_FLUIDPATCHSET = "Патч-набор"; +ADVSNDMNU_FLUIDGAIN = "Усиление"; +ADVSNDMNU_REVERB = "Реверберация"; +ADVSNDMNU_REVERB_LEVEL = "Уровень реверберации"; +ADVSNDMNU_CHORUS = "Хорус"; +ADVSNDMNU_TIMIDITY = "Timidity++"; +ADVSNDMNU_ADLMIDI = "ADLMidi"; +ADVSNDMNU_OPNMIDI = "OPNMidi"; +ADVSNDMNU_TIMIDITYEXE = "Путь к синтезатору"; +ADVSNDMNU_TIMIDITYCONFIG = "Файл конфигурации Timidity"; +ADVSNDMNU_TIMIDITYVOLUME = "Относительная громкость"; +ADVSNDMNU_WILDMIDI = "WildMidi"; +ADVSNDMNU_WILDMIDICONFIG = "Файл конфигурации WildMidi"; +ADVSNDMNU_SELCONFIG = "Выбор конфигурации"; +ADVSNDMNU_GLOBAL = "Общие"; +ADVSNDMNU_FREEVERB = "Freeverb"; +ADVSNDMNU_GLOBAL_FREEVERB = "Global Freeverb"; +ADVSNDMNU_ADVRESAMPLING = "Продвинутый ресемплинг"; +ADVSNDMNU_OPLBANK = "OPL Bank"; +ADVSNDMNU_ADLOPLCORES = "OPL Emulator Core"; +ADVSNDMNU_RUNPCMRATE = "Run emulator at PCM rate"; +ADVSNDMNU_ADLNUMCHIPS = "Number of emulated OPL chips"; +ADVSNDMNU_VLMODEL = "Volume model"; +ADVSNDMNU_OPNNUMCHIPS = "Number of emulated OPN chips"; +ADVSNDMNU_ADLCUSTOMBANK = "Use custom WOPL bank"; +ADVSNDMNU_OPLBANKFILE = "WOPL Bank file"; +ADVSNDMNU_OPNCUSTOMBANK = "Use custom WOPN bank"; +ADVSNDMNU_OPNBANKFILE = "WOPN Bank file"; + +// ADLMIDI's emulation cores + +// ADLMIDI's volume models +ADLVLMODEL_AUTO = "Auto (Use setup of bank)"; +ADLVLMODEL_GENERIC = "Generic"; +ADLVLMODEL_NATIVE = "OPL Native"; +ADLVLMODEL_DMX = "DMX"; +ADLVLMODEL_APOGEE = "Apogee"; +ADLVLMODEL_WIN9X = "Win9X-like"; + +// Module Replayer Options +MODMNU_TITLE = "ПАРАМЕТРЫ МОДУЛЯ ВОСПРОИЗВЕДЕНИЯ"; +MODMNU_REPLAYERENGINE = "Звуковой движок"; +MODMNU_MASTERVOLUME = "Общая громкость"; +MODMNU_QUALITY = "Качество"; +// MODMNU_VOLUMERAMPING = "Объем-рэмпинг"; // TODO: Fix +MODMNU_CHIPOMATIC = "Chip-o-matic"; + +// Renderer Options +RNDMNU_TITLE = "СМЕНИТЬ РЕНДЕРЕР"; +RNDMNU_RENDERER = "Аппаратное ускорение"; +RNDMNU_TRUECOLOR = "Полноцветный програмный"; +RNDMNU_POLY = "Поли-рендерер (экспериментальный)"; +RNDMNU_CANVAS = "Холст для программного рендеринга"; + +// Video Options +VIDMNU_TITLE = "НАСТРОЙКИ ВИДЕОРЕЖИМА"; +VIDMNU_RENDERMODE = "Режим рендеринга"; +VIDMNU_FULLSCREEN = "Полный экран"; +VIDMNU_HIDPI = "Поддержка Retina/HiDPI"; +VIDMNU_BRDLSS = "Безрамочный оконный режим"; +VIDMNU_ASPECTRATIO = "Соотношение сторон"; +VIDMNU_FORCEASPECT = "Принудительное соот. сторон"; +VIDMNU_CROPASPECT = "Принудительный тип соот."; +VIDMNU_5X4ASPECTRATIO = "Включить соотношение сторон 5:4"; +VIDMNU_SCALEMODE = "Масштабирование"; +VIDMNU_SCALEFACTOR = "Значение масштаба"; +VIDMNU_ENTERTEXT = "Нажмите ENTER для установки режима"; +VIDMNU_TESTTEXT1 = "T для просмотра режима в течение 5 секунд"; +VIDMNU_TESTTEXT2 = "Пожалуйста, подождите 5 секунд..."; +VIDMNU_USELINEAR = "Линейное Масшт. (Полный Экран)"; +VIDMNU_CUSTOMRES = "Пользовательское разрешение"; +VIDMNU_CUSTOMX = "Польз. Длина"; +VIDMNU_CUSTOMY = "Польз. Высота"; +VIDMNU_APPLYW = "Сохранить Изменения (Оконный Режим)"; +VIDMNU_APPLYFS = "Сохранить Изменения (Полный Экран)"; +VIDMNU_RESPRESET = "Выбор пресета разрешения"; +VIDMNU_RESPRESETTTL = "ПОЛЬЗОВАТЕЛЬСКИЕ ПРЕСЕТЫ РАЗРЕШЕНИЯ"; +VIDMNU_RESPRESETHEAD = "Доступные разрешения"; +VIDMNU_ASPECT43 = "4:3"; +VIDMNU_ASPECT54 = "5:4"; +VIDMNU_ASPECT169 = "16:9"; +VIDMNU_ASPECT1610 = "16:10"; + +// Network Options +NETMNU_TITLE = "НАСТРОЙКИ СЕТИ"; +NETMNU_LOCALOPTIONS = "Локальные настройки"; +NETMNU_MOVEPREDICTION = "Предсказание движения"; +NETMNU_LINESPECIALPREDICTION = "Предсказание действий на уровне"; +NETMNU_PREDICTIONLERPSCALE = "Предсказание масштаба лэрпа"; // ?? +NETMNU_LERPTHRESHOLD = "Порог лэрпа"; // ?? +NETMNU_HOSTOPTIONS = "Настройки хоста"; +NETMNU_EXTRATICS = "Дополнительные тики"; +NETMNU_TICBALANCE = "Балансировка задержки"; + +// Joystick menu + +JOYMNU_ENABLE = "Включить поддержку джойстика"; +JOYMNU_DINPUT = "Включить джойстики DirectInput"; +JOYMNU_XINPUT = "Включить джойстики XInput"; +JOYMNU_PS2 = "Использовать адаптеры Playstation 2 напрямую"; +JOYMNU_NOCON = "Джойстики не обнаружены"; +JOYMNU_CONFIG = "Настроить джойстик:"; +JOYMNU_DISABLED1 = "Настройка «включить поддержку джойстика»"; +JOYMNU_DISABLED2 = "должна быть включена, чтобы выявить джойстик"; +JOYMNU_INVALID = "Недопустимый джойстик выбран для меню"; +JOYMNU_OVRSENS = "Общая чувствительность"; +JOYMNU_AXIS = "Конфигурация осей"; +JOYMNU_INVERT = "Инвертировать"; +JOYMNU_DEADZONE = "Мертвая зона"; +JOYMNU_NOAXES = "Нет настраиваемых осей"; + +// Option Values +OPTVAL_OFF = "Откл."; +OPTVAL_ON = "Вкл."; +OPTVAL_AUTO = "Авто"; +OPTVAL_MALE = "Мужской"; +OPTVAL_FEMALE = "Женский"; +OPTVAL_NEUTRAL = "Нейтральный"; +OPTVAL_OTHER = "Предмет"; +OPTVAL_UPPERLEFT = "Вверху слева"; +OPTVAL_UPPERRIGHT = "Вверху справа"; +OPTVAL_LOWERLEFT = "Внизу слева"; +OPTVAL_LOWERRIGHT = "Внизу справа"; +OPTVAL_TOUCHSCREENLIKE = "Как сенсорный экран"; +OPTVAL_NONE = "Откл."; +OPTVAL_TURNING = "Поворот"; +OPTVAL_LOOKINGUPDOWN = "Взгляд вверх/вниз"; +OPTVAL_MOVINGFORWARD = "Движение вперед"; +OPTVAL_STRAFING = "Движение боком"; +OPTVAL_MOVINGUPDOWN = "Движение вверх/вниз"; +OPTVAL_INVERTED = "Инвертировано"; +OPTVAL_NOTINVERTED = "Прямо"; +OPTVAL_ORIGINAL = "Оригинальный"; +OPTVAL_OPTIMIZED = "Оптимизированный"; +OPTVAL_CLASSIC = "Классический (более быстрый)"; +OPTVAL_PRECISE = "Точный"; +OPTVAL_NORMAL = "Обычный"; +OPTVAL_STRETCH = "Растянутый"; +OPTVAL_CAPPED = "Ограниченный"; +OPTVAL_PARTICLES = "Частицы"; +OPTVAL_SPRITES = "Спрайты"; +OPTVAL_SPRITESPARTICLES = "Спрайты и частицы"; +OPTVAL_MELT = "Таяние"; +OPTVAL_BURN = "Жжение"; +OPTVAL_CROSSFADE = "Увядание"; +OPTVAL_ONLYMODIFIED = "Только модифицированный"; +OPTVAL_SMOOTH = "Плавно"; +OPTVAL_TRANSLUCENT = "Полупрозрачный"; +OPTVAL_FUZZ = "Шумовой"; +OPTVAL_SHADOW = "Теневой"; +OPTVAL_ITEMS = "Предметы"; +OPTVAL_WEAPONS = "Оружие"; +OPTVAL_BOTH = "Оба"; +OPTVAL_ZDOOM = "ZDoom"; +OPTVAL_STRIFE = "Strife"; +OPTVAL_PLAYER = "Игрок"; +OPTVAL_MAP = "Карта"; +OPTVAL_SCALETO640X400 = "Масштабировать до 640x400"; +OPTVAL_PIXELDOUBLE = "Двойные пиксели"; +OPTVAL_PIXELQUADRUPLE = "Четверные пиксели"; +OPTVAL_CURRENTWEAPON = "Текущее оружие"; +OPTVAL_AVAILABLEWEAPONS = "Доступное оружие"; +OPTVAL_ALLWEAPONS = "Все оружие"; +OPTVAL_LEVELMILLISECONDS = "Уровень, миллисекунды"; +OPTVAL_LEVELSECONDS = "Уровень, секунды"; +OPTVAL_LEVEL = "Уровень"; +OPTVAL_HUBSECONDS = "Хаб, секунды"; +OPTVAL_HUB = "Хаб"; +OPTVAL_TOTALSECONDS = "Общее, секунды"; +OPTVAL_TOTAL = "Общее"; +OPTVAL_SYSTEMSECONDS = "Система, секунды"; +OPTVAL_SYSTEM = "Система"; +OPTVAL_NETGAMESONLY = "Только сетевые игры"; +OPTVAL_ALWAYS = "Всегда"; +OPTVAL_AMMOIMAGETEXT = "Изобр. и текст"; +OPTVAL_AMMOTEXTIMAGE = "Текст и изобр."; +OPTVAL_SCRIPTSONLY = "Только скрипты"; +OPTVAL_NEVER = "Никогда"; +OPTVAL_ALL = "Все"; +OPTVAL_ONLYLASTONE = "Только последнее"; +OPTVAL_CUSTOM = "Пользовательские"; +OPTVAL_TRADITIONALDOOM = "Цвета из Doom"; +OPTVAL_TRADITIONALSTRIFE = "Цвета из Strife"; +OPTVAL_TRADITIONALRAVEN = "Цвета из Raven"; +OPTVAL_ONLYWHENFOUND = "После обнаружения"; +OPTVAL_ONFOROVERLAYONLY = "Только прозрачный"; +OPTVAL_OVERLAYNORMAL = "Прозрач. + обыч."; +OPTVAL_OVERLAYONLY = "Только прозрачный"; +OPTVAL_NOTFORHUBS = "Кроме хабов"; +OPTVAL_FRONT = "Перед"; +OPTVAL_ANIMATED = "Анимированные"; +OPTVAL_ROTATED = "Повернутые"; +OPTVAL_MAPDEFINEDCOLORSONLY = "Только определенные картой цвета"; +OPTVAL_NODOORS = "Кроме дверей"; +OPTVAL_DOUBLE = "Двойной"; +OPTVAL_TRIPLE = "Тройной"; +OPTVAL_QUADRUPLE = "Четверной"; +OPTVAL_ITEMPICKUP = "Подбор"; +OPTVAL_OBITUARIES = "Некрологи"; +OPTVAL_CRITICALMESSAGES = "Важные сообщения"; +OPTVAL_NEVERFRIENDS = "Не для союзников"; +OPTVAL_ONLYMONSTERS = "Для монстров"; +OPTVAL_HEXEN = "Hexen"; +OPTVAL_OLD = "Старый"; +OPTVAL_DEFAULT = "По умол."; +OPTVAL_DOOM = "Doom"; +OPTVAL_DOOMSTRICT = "Doom (строгий)"; +OPTVAL_BOOM = "Boom"; +OPTVAL_BOOMSTRICT = "Boom (строгий)"; +OPTVAL_MBF = "MBF"; +OPTVAL_ZDOOM2063 = "ZDoom 2.0.63"; +OPTVAL_4000HZ = "4000 Гц"; +OPTVAL_8000HZ = "8000 Гц"; +OPTVAL_11025HZ = "11025 Гц"; +OPTVAL_22050HZ = "22050 Гц"; +OPTVAL_32000HZ = "32000 Гц"; +OPTVAL_44100HZ = "44100 Гц"; +OPTVAL_48000HZ = "48000 Гц"; +OPTVAL_64SAMPLES = "64 семпла"; +OPTVAL_128SAMPLES = "128 семплов"; +OPTVAL_256SAMPLES = "256 семплов"; +OPTVAL_512SAMPLES = "512 семплов"; +OPTVAL_1024SAMPLES = "1024 семпла"; +OPTVAL_2048SAMPLES = "2048 семплов"; +OPTVAL_4096SAMPLES = "4096 семплов"; +OPTVAL_UNLIMITED = "Без ограничений"; +OPTVAL_256K = "256K"; +OPTVAL_512K = "512K"; +OPTVAL_768K = "768K"; +OPTVAL_1024K = "1024K"; +OPTVAL_MAMEOPL2 = "MAME OPL2"; +OPTVAL_MAMEOPN2 = "MAME YM2612"; +OPTVAL_DOSBOXOPL3 = "DOSBox OPL3"; +OPTVAL_JAVAOPL3 = "Java OPL3"; +OPTVAL_NUKEDOPL3 = "Nuked OPL3"; +OPTVAL_NUKEDOPL3174 = "Nuked OPL3 v1.7.4"; +OPTVAL_NUKEDOPN2 = "Nuked OPN2"; +OPTVAL_GENSOPN2 = "GENS YM2612"; +OPTVAL_SOUNDSYSTEM = "Аудиосистема"; +OPTVAL_FOO_DUMB = "foo_dumb"; +OPTVAL_ALIASING = "Алиасинг"; +OPTVAL_LINEAR = "Линейный/ое/ая"; +OPTVAL_NEAREST = "Ближайший"; +OPTVAL_PCF_LOW = "PCF (Низкий)"; +OPTVAL_PCF_MEDIUM = "PCF (Средний)"; +OPTVAL_PCF_HIGH = "PCF (Высокий)"; +OPTVAL_CUBIC = "Кубический"; +OPTVAL_BLEP = "Band-limited step"; // fix +OPTVAL_LINEARSLOW = "Линейный (Медленнее)"; +OPTVAL_BLAM = "Band-limited linear"; +OPTVAL_CUBICSLOW = "Кубический (Медленнее)"; +OPTVAL_SINC = "Вход"; +OPTVAL_NOTEONOFFONLY = "Note on/off only"; +OPTVAL_FULLRAMPING = "Full ramping"; +OPTVAL_ALLUNACKNOWLEDGED = "All unacknowledged"; +OPTVAL_ERRORS = "Ошибки"; +OPTVAL_WARNINGS = "Предупреждения"; +OPTVAL_NOTIFICATIONS = "Уведомления"; +OPTVAL_EVERYTHING = "Все"; +OPTVAL_FULLSCREENONLY = "В полном экране"; +OPTVAL_GL = "OpenGL"; +OPTVAL_D3D = "Direct3D"; +OPTVAL_SDL = "SDL"; +OPTVAL_COCOA = "Cocoa"; +OPTVAL_HWPOLY = "OpenGL аппаратный"; +OPTVAL_SWDOOM = "Программный"; +OPTVAL_SWDOOMTC = "Полноцветный програмный"; +OPTVAL_SWPOLY = "Полирендер"; +OPTVAL_SWPOLYTC = "Полноцветный полирендер"; +OPTVAL_DEDICATED = "Высокая производительность"; +OPTVAL_INTEGRATED = "Энергосбережение"; +OPTVAL_VANILLA = "Ванильный"; +OPTVAL_VTFZDOOM = "ZDoom (форсирована)"; +OPTVAL_VTFVANILLA = "Vanilla (форсирована)"; +OPTVAL_VTAZDOOM = "Auto (предпочитать ZDoom)"; +OPTVAL_VTAVANILLA = "Auto (предпочитать Preferred)"; +OPTVAL_SCALENEAREST = "Масштаб. (Nearest)"; +OPTVAL_SCALELINEAR = "Масштаб. (Linear)"; +OPTVAL_LETTERBOX = "Формат Letterbox"; + +// Colors +C_BRICK = "\caКирпичный"; +C_TAN = "\cbБежевый"; +C_GRAY = "\ccСерый"; +C_GREEN = "\cdЗеленый"; +C_BROWN = "\ceКоричневый"; +C_GOLD = "\cfЗолотой"; +C_RED = "\cgКрасный"; +C_BLUE = "\chСиний"; +C_ORANGE = "\ciОранжевый"; +C_WHITE = "\cjБелый"; +C_YELLOW = "\ckЖелтый"; +C_DEFAULT = "\clПо умол."; +C_BLACK = "\cmЧерный"; +C_LIGHTBLUE = "\cnГолубой"; +C_CREAM = "\coКремовый"; +C_OLIVE = "\cpОливковый"; +C_DARKGREEN = "\cqТемно-зеленый"; +C_DARKRED = "\crТемно-красный"; +C_DARKBROWN = "\csТемно-коричневый"; +C_PURPLE = "\ctФиолетовый"; +C_DARKGRAY = "\cuТемно-серый"; +C_CYAN = "\cvСине-зеленый"; +C_ICE = "\cwЛедяной"; +C_FIRE = "\cxОгненный"; +C_SAPPHIRE = "\cyСапфировый"; +C_TEAL = "\czМорской"; +// Option Strings +OPTSTR_SIMPLEARROW = "Стрелка"; +OPTSTR_HERETIC = "Heretic"; +OPTSTR_CHEX = "Chex"; +OPTSTR_SYSTEMCURSOR = "Системный курсор"; +OPTSTR_NOSOUND = "Без звука"; +OPTSTR_AUTO = "Авто"; +OPTSTR_MONO = "Моно"; +OPTSTR_STEREO = "Стерео"; +OPTSTR_PROLOGIC = "Dolby Prologic Декодер"; +OPTSTR_QUAD = "Четырехместный"; +OPTSTR_SURROUND = "5 динамиков"; +OPTSTR_5POINT1 = "Динамики 5.1"; +OPTSTR_7POINT1 = "Динамики 7.1"; +OPTSTR_NOINTERPOLATION = "Без интерполяции"; +OPTSTR_SPLINE = "Сплайн"; +OPTSTR_OPENAL = "OpenAL"; + +NOTSET = "Не задан"; +SAFEMESSAGE = "Вы уверены?"; +MNU_COLORPICKER = "Выбор цветов"; + +WI_FINISHED = "завершен"; +WI_ENTERING = "Загружается уровень:"; + +AM_MONSTERS = "Монстры:"; +AM_SECRETS = "Тайники:"; +AM_ITEMS = "Предметы:"; + +// Bloodbath announcer + +BBA_BONED = "%k boned %o like a fish"; +BBA_CASTRA = "%k castrated %o"; +BBA_CREAMED = "%k creamed %o"; +BBA_DECIMAT = "%k decimated %o"; +BBA_DESTRO = "%k destroyed %o"; +BBA_DICED = "%k diced %o"; +BBA_DISEMBO = "%k disembowled %o"; +BBA_FLATTE = "%k flattened %o"; +BBA_JUSTICE = "%k gave %o Anal Justice"; +BBA_MADNESS = "%k gave AnAl MaDnEsS to %o"; +BBA_KILLED = "%k killed %o"; +BBA_MINCMEAT = "%k made mincemeat out of %o"; +BBA_MASSACR = "%k massacred %o"; +BBA_MUTILA = "%k mutilated %o"; +BBA_REAMED = "%k reamed %o"; +BBA_RIPPED = "%k ripped %o a new orifice"; +BBA_SLAUGHT = "%k slaughtered %o"; +BBA_SMASHED = "%k smashed %o"; +BBA_SODOMIZ = "%k sodomized %o"; +BBA_SPLATT = "%k splattered %o"; +BBA_SQUASH = "%k squashed %o"; +BBA_THROTTL = "%k throttled %o"; +BBA_WASTED = "%k wasted %o"; +BBA_BODYBAG = "%k body bagged %o"; +BBA_HELL = "%k sent %o to Hell"; +BBA_TOAST = "%k toasted %o"; +BBA_SNUFF = "%k snuffed %o"; +BBA_HOSED = "%k hosed %o"; +BBA_SPRAYED = "%k sprayed %o"; +BBA_DOGMEAT = "%k made dog meat out of %o"; +BBA_BEATEN = "%k beat %o like a cur"; + +BBA_EXCREMENT = "%o is excrement"; +BBA_HAMBURGER = "%o is hamburger"; +BBA_SCROTUM = "%o suffered scrotum separation"; +BBA_POPULATION = "%o volunteered for population control"; +BBA_SUICIDE = "%o has suicided"; +BBA_DARWIN = "%o received the Darwin Award"; + +// Chex Quest Strings +CHUSTR_E1M1 = "E1M1: Зона приземления"; +CHUSTR_E1M2 = "E1M2: Хранилище"; +CHUSTR_E1M3 = "E1M3: Лаборатория"; +CHUSTR_E1M4 = "E1M4: Дендрарий"; +CHUSTR_E1M5 = "E1M5: Каверны Базоика"; + +CE1TEXT = + "Миссия выполнена.\n" + "\n" + "Готовы к следующей миссии?\n" + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" + "Нажмите ESC для продолжения..."; + +CE2TEXT = "Ты сделал это!"; +CE3TEXT = "Превосходная работа!"; +CE4TEXT = "Фантастически."; + +CLOADNET = "you can't do load while in a net quest!\n\npress a key."; +$ifgame(chex) QSPROMPT = "quicksave over your quest named\n\n'%s'?\n\npress y or n."; +$ifgame(chex) QLOADNET = "you can't quickload during a netquest!\n\npress a key."; +$ifgame(chex) QLPROMPT = "do you want to quickload the quest named\n\n'%s'?\n\npress y or n."; +CNEWGAME = "you can't start a new quest\nwhile in a network quest.\n\npress a key."; + +CNIGHTMARE = "Careful, this will be tough.\nDo you wish to continue?\n\npress y or n."; + +CSWSTRING = "это — Chex(R) Quest. look for\n\nfuture levels at www.chexquest.com.\n\npress a key."; // fix + +$ifgame(chex) NETEND = "Невозможно прервать сетевой квест!\n\nНажмите любую клавишу."; +$ifgame(chex) ENDGAME = "Вы точно хотите завершить квест?\n\nНажмите Y или N."; + +GOTCHEXARMOR = "Получена Chex(R)-броня."; +GOTSUPERCHEXARMOR = "Получена Chex(R)-сверхброня!"; +GOTWATER = "Получен стакан воды."; +GOTREPELLENT = "Получен репеллент против слизи."; +GOTBREAKFAST = "Супер-завтрак!"; +GOTCBLUEKEY = "Получен синий ключ."; +GOTCYELLOWKEY = "Получен желтый ключ."; +GOTCREDKEY = "Получен красный ключ."; +GOTFRUIT = "Взята тарелка с фруктами."; +GOTVEGETABLESNEED = "Взяты овощи при крайней необходимости!"; +GOTVEGETABLES = "Взята тарелка с овощами."; +GOTSLIMESUIT = "Найден противослизневый костюм"; +GOTCHEXMAP = "Найдена компьютерная карта местности"; + +GOTZORCHRECHARGE = "Picked up a mini zorch recharge."; +GOTMINIZORCHPACK = "Picked up a mini zorch pack."; +GOTPROPULSORRECHARGE = "Picked up a zorch propulsor recharge."; +GOTPROPULSORPACK = "Picked up a zorch propulsor pack."; +GOTPHASINGZORCHERRECHARGE = "Picked up a phasing zorcher recharge"; +GOTPHASINGZORCHERPACK = "Picked up a phasing zorcher pack."; +GOTLARGEZORCHERRECHARGE = "Picked up a large zorcher recharge."; +GOTLARGEZORCHERPACK = "Picked up a large zorcher pack."; +GOTZORCHPACK = "Picked up a Zorchpak!"; + +GOTLAZDEVICE = "You got the LAZ Device! Woot!"; +GOTRAPIDZORCHER = "You got the Rapid Zorcher!"; +GOTSUPERBOOTSPORK = "You got the Super Bootspork!"; +GOTZORCHPROPULSOR = "You got the Zorch Propulsor!"; +GOTPHASINGZORCHER = "You got the Phasing Zorcher!"; +GOTLARGEZORCHER = "You got the Large Zorcher!"; +GOTSUPERLARGEZORCHER = "You got the Mega Zorcher!"; +GOTMINIZORCHER = "Picked up a Mini Zorcher."; + +$ifgame(chex) STSTR_DQDON = "Invincible Mode ON"; +$ifgame(chex) STSTR_DQDOFF = "Invincible Mode OFF"; +$ifgame(chex) STSTR_FAADDED = "Zorch Added"; +$ifgame(chex) STSTR_KFAADDED = "Super Zorch Added"; +$ifgame(chex) STSTR_CHOPPERS = "... Eat Chex(R)!"; + +OB_COMMONUS = "%o was slimed by a flemoid."; +OB_BIPEDICUS = "%o was slimed by a bipedicus."; +OB_BIPEDICUS2 = "%o was slimed by an armored bipedicus."; +OB_CYCLOPTIS = "%o was slimed by a cycloptis."; +OB_FLEMBRANE = "%o was defeated by the Flembrane."; + +OB_MPSPOON = "%o was spoon fed by %k."; +OB_MPBOOTSPORK = "%o was thoroughly mixed with %k bootspork."; +OB_MPZORCH = "%o was zorched by %k."; +OB_MPMEGAZORCH = "%o was hit by %k mega-zorcher."; +OB_MPRAPIDZORCH = "%o was rapid zorched by %k."; +OB_MPPROPULSOR = "%o was zorched by %k propulsor."; +OB_MPP_SPLASH = "%o was hit by %k propulsor."; +OB_MPPHASEZORCH = "%o was phase zorched by %k."; +OB_MPLAZ_BOOM = "%o fell prey to %k LAZ device."; +OB_MPLAZ_SPLASH = "%o was lazzed by %k."; + +// Music names for Doom. These are needed in the string table only so that they can +// be replaced by Dehacked. +// Note that these names are not prefixed with 'd_' because that's how Dehacked patches +// expect them. + +MUSIC_E1M1 = "e1m1"; +MUSIC_E1M2 = "e1m2"; +MUSIC_E1M3 = "e1m3"; +MUSIC_E1M4 = "e1m4"; +MUSIC_E1M5 = "e1m5"; +MUSIC_E1M6 = "e1m6"; +MUSIC_E1M7 = "e1m7"; +MUSIC_E1M8 = "e1m8"; +MUSIC_E1M9 = "e1m9"; +MUSIC_E2M1 = "e2m1"; +MUSIC_E2M2 = "e2m2"; +MUSIC_E2M3 = "e2m3"; +MUSIC_E2M4 = "e2m4"; +MUSIC_E2M5 = "e2m5"; +MUSIC_E2M6 = "e2m6"; +MUSIC_E2M7 = "e2m7"; +MUSIC_E2M8 = "e2m8"; +MUSIC_E2M9 = "e2m9"; +MUSIC_E3M1 = "e3m1"; +MUSIC_E3M2 = "e3m2"; +MUSIC_E3M3 = "e3m3"; +MUSIC_E3M4 = "e3m4"; +MUSIC_E3M5 = "e3m5"; +MUSIC_E3M6 = "e3m6"; +MUSIC_E3M7 = "e3m7"; +MUSIC_E3M8 = "e3m8"; +MUSIC_E3M9 = "e3m9"; +MUSIC_INTER = "inter"; +MUSIC_INTRO = "intro"; +MUSIC_BUNNY = "bunny"; +MUSIC_VICTOR = "victor"; +MUSIC_INTROA = "introa"; +MUSIC_RUNNIN = "runnin"; +MUSIC_STALKS = "stalks"; +MUSIC_COUNTD = "countd"; +MUSIC_BETWEE = "betwee"; +MUSIC_DOOM = "doom"; +MUSIC_THE_DA = "the_da"; +MUSIC_SHAWN = "shawn"; +MUSIC_DDTBLU = "ddtblu"; +MUSIC_IN_CIT = "in_cit"; +MUSIC_DEAD = "dead"; +MUSIC_STLKS2 = "stlks2"; +MUSIC_THEDA2 = "theda2"; +MUSIC_DOOM2 = "doom2"; +MUSIC_DDTBL2 = "ddtbl2"; +MUSIC_RUNNI2 = "runni2"; +MUSIC_DEAD2 = "dead2"; +MUSIC_STLKS3 = "stlks3"; +MUSIC_ROMERO = "romero"; +MUSIC_SHAWN2 = "shawn2"; +MUSIC_MESSAG = "messag"; +MUSIC_COUNT2 = "count2"; +MUSIC_DDTBL3 = "ddtbl3"; +MUSIC_AMPIE = "ampie"; +MUSIC_THEDA3 = "theda3"; +MUSIC_ADRIAN = "adrian"; +MUSIC_MESSG2 = "messg2"; +MUSIC_ROMER2 = "romer2"; +MUSIC_TENSE = "tense"; +MUSIC_SHAWN3 = "shawn3"; +MUSIC_OPENIN = "openin"; +MUSIC_EVIL = "evil"; +MUSIC_ULTIMA = "ultima"; +MUSIC_READ_M = "read_m"; +MUSIC_DM2TTL = "dm2ttl"; +MUSIC_DM2INT = "dm2int"; + +// GZDoom exclusive: + +DSPLYMNU_GLOPT = "Рендерер OpenGL"; +DSPLYMNU_SWOPT = "Программный рендерер"; +DSPLYMNU_GAMMA = "Гамма-коррекция"; +DSPLYMNU_CONTRAST = "Контраст"; +DSPLYMNU_SATURATION = "Насыщенность"; +DSPLYMNU_HWGAMMA = "Аппаратная гамма"; + +// OpenGL Options +GLMNU_TITLE = "НАСТРОЙКИ OPENGL"; +GLMNU_DYNLIGHT = "Динамическое освещение"; +GLMNU_TEXOPT = "Настройки текстур"; +GLMNU_PREFS = "Предпочтения"; + +// Texture Options +GLTEXMNU_TITLE = "НАСТРОЙКИ ТЕКСТУР"; +GLTEXMNU_TEXENABLED = "Вклюить текстуры"; +GLTEXMNU_TEXFILTER = "Фильтрация текстур"; +GLTEXMNU_ANISOTROPIC = "Анизотропная фильтрация"; +GLTEXMNU_TEXFORMAT = "Формат текстур"; +GLTEXMNU_ENABLEHIRES = "Текстуры с высоким разрешением"; +GLTEXMNU_HQRESIZE = "Масштабирование текстур"; +GLTEXMNU_HQRESIZEMULT = "Множитель масштабирования"; +GLTEXMNU_HQRESIZEWARN = "Потребует в %d раз больше видеопамяти"; +GLTEXMNU_RESIZETEX = "Масштабирование текстур"; +GLTEXMNU_RESIZESPR = "Масштабирование спрайтов"; +GLTEXMNU_RESIZEFNT = "Масштабирование шрифтов"; +GLTEXMNU_PRECACHETEX = "Кэшировать GL-текстур"; +GLTEXMNU_TRIMSPREDGE = "Обрезание краев спрайтов"; +GLTEXMNU_SORTDRAWLIST = "Сортировать списки текстур"; + +// Dynamic Light Options +GLLIGHTMNU_TITLE = "ДИНАМИЧЕСКОЕ ОСВЕЩЕНИЕ"; +GLLIGHTMNU_LIGHTSENABLED = "Динамическое освещение (OpenGL)"; +GLLIGHTMNU_LIGHTDEFS = "Включить определения света"; +GLLIGHTMNU_CLIPLIGHTS = "Обрезать свет"; +GLLIGHTMNU_LIGHTSPRITES = "Освещение спрайтов"; +GLLIGHTMNU_LIGHTPARTICLES = "Освещение частиц"; +GLLIGHTMNU_LIGHTSHADOWMAP = "Свет на теневых картах"; +GLLIGHTMNU_LIGHTSHADOWMAPQUALITY = "Качество теневых карт"; +GLLIGHTMNU_LIGHTSHADOWMAPFILTER = "Фильтр теневых карт"; + +// OpenGL Preferences +GLPREFMNU_TITLE = "НАСТРОЙКИ OPENGL"; +GLPREFMNU_SECLIGHTMODE = "Режим освещения секторов"; +GLPREFMNU_FOGMODE = "Режим тумана"; +GLPREFMNU_FOGFORCEFULLBRIGHT = "Туман увеличивает яркость"; +GLPREFMNU_WPNLIGHTSTR = "Интенсивность вспышек оружия"; +GLPREFMNU_ENVIRONMENTMAPMIRROR = "Карта окружения на зеркалах"; +GLPREFMNU_ENV = "Улучшенный режим ночного видения"; +GLPREFMNU_ENVSTEALTH = "ПНВ показывает скрытых монстров"; +GLPREFMNU_SPRBRIGHTFOG = "Полная яркость в тумане"; +GLPREFMNU_SPRCLIP = "Настроить обрезку спрайтов"; +GLPREFMNU_SPRBLEND = "Размытие краев спрайтов"; +GLPREFMNU_FUZZSTYLE = "Тип шума"; +GLPREFMNU_SPRBILLBOARD = "Поворот спрайтов"; +GLPREFMNU_SPRBILLFACECAMERA = "Спрайты направлены к камере"; +GLPREFMNU_PARTICLESTYLE = "Тип частиц"; +GLPREFMNU_AMBLIGHT = "Уровень рассеяннего света"; +GLPREFMNU_RENDERQUALITY = "Качество рендеринга"; +GLPREFMNU_MENUBLUR = "Размытие фона меню"; +GLPREFMNU_VRMODE = "VR режим"; +GLPREFMNU_VRQUADSTEREO = "Quad Stereo"; +GLPREFMNU_MULTISAMPLE = "Мультисэмплинг"; +GLPREFMNU_TONEMAP = "Режим тоун-мэппинга"; +GLPREFMNU_BLOOM = "Режим блум"; +GLPREFMNU_LENS = "Искажение линзы"; +GLPREFMNU_SSAO = "Качество затенения окружающей среды"; +GLPREFMNU_SSAO_PORTALS = "Количество порталов для Зат. Окр. Среды"; +GLPREFMNU_FXAA = "Качество FXAA"; +GLPREFMNU_DITHER = "Вывод дизеринга"; +GLPREFMNU_PALTONEMAPORDER = "Порядок палитры тоун-мэпа"; +GLPREFMNU_PALTONEMAPPOWER = "Экспонента палитры тоун-мэпа"; +GLPREFMNU_SWLMBANDED = "Banded SW Lightmode"; // fix +GLPREFMNU_VRIPD = "Расстояние Между Глазами"; +GLPREFMNU_VRSCREENDIST = "Расстояние От Экрана"; + +// Option Values +OPTVAL_SMART = "Умный"; +OPTVAL_SMARTER = "Умнее"; +OPTVAL_INFRAREDONLY = "Только инфракрасный"; +OPTVAL_INFRAREDANDTORCH = "Инфракрасный и факел"; +OPTVAL_ANYFIXEDCOLORMAP = "Любая фиксированная цветовая карта"; +OPTVAL_NONENEARESTMIPMAP = "Нет (ближайший мипмап)"; +OPTVAL_NONELINEARMIPMAP = "Нет (линейный мипмап)"; +OPTVAL_NONETRILINEAR = "Нет (трехлинейная)"; +OPTVAL_BILINEAR = "Билинейная"; +OPTVAL_TRILINEAR = "Трехлинейная"; +OPTVAL_RGBA8 = "RGBA8"; +OPTVAL_RGB5A1 = "RGB5_A1"; +OPTVAL_RGBA4 = "RGBA4"; +OPTVAL_RGBA2 = "RGBA2"; +OPTVAL_COMPRRGBA = "COMPR_RGBA"; +OPTVAL_S3TCDXT1 = "S3TC_DXT1"; +OPTVAL_S3TCDXT3 = "S3TC_DXT3"; +OPTVAL_S3TCDXT5 = "S3TC_DXT5"; +OPTVAL_2X = "2x"; +OPTVAL_4X = "4x"; +OPTVAL_8X = "8x"; +OPTVAL_16X = "16x"; +OPTVAL_32X = "32x"; +OPTVAL_USEASPALETTE = "Использовать как палитру"; +OPTVAL_BLEND = "Смешать"; +OPTVAL_STANDARD = "Стандартный"; +OPTVAL_BRIGHT = "Яркий"; +OPTVAL_DARK = "Темный"; +OPTVAL_LEGACY = "Legacy"; +OPTVAL_SOFTWARE = "Программный"; +OPTVAL_SPEED = "Скорость"; +OPTVAL_QUALITY = "Качество"; +OPTVAL_OPTIMAL = "Оптимальный"; +OPTVAL_60 = "60"; +OPTVAL_70 = "70"; +OPTVAL_72 = "72"; +OPTVAL_75 = "75"; +OPTVAL_85 = "85"; +OPTVAL_100 = "100"; +OPTVAL_YAXIS = "По горизонтали"; +OPTVAL_XYAXIS = "По обеим осям"; +OPTVAL_SQUARE = "Квадратный"; +OPTVAL_ROUND = "Круглый"; +OPTVAL_SCALENX = "ScaleNx"; +OPTVAL_NORMALNX = "NormalNx"; +OPTVAL_HQNX = "hqNx"; +OPTVAL_HQNXMMX = "hqNx MMX"; +OPTVAL_NXBRZ = "xBRZ"; +OPTVAL_OLD_NXBRZ = "Старый xBRZ"; +OPTVAL_RADIAL = "Радиальный"; +OPTVAL_PIXELFUZZ = "Пиксельный шум"; +OPTVAL_SMOOTHFUZZ = "Гладкий шум"; +OPTVAL_SWIRLYFUZZ = "Кружащийся шум"; +OPTVAL_TRANSLUCENTFUZZ = "Прозрачный шум"; +OPTVAL_NOISE = "Шум"; // fix? +OPTVAL_SMOOTHNOISE = "Мягкий шум"; // fix? +OPTVAL_JAGGEDFUZZ = "Зазубренный шум"; +OPTVAL_GREENMAGENTA = "Зеленый/Маджента"; +OPTVAL_REDCYAN = "Красный/Голубой"; +OPTVAL_AMBERBLUE = "Янтарный/Синий"; +OPTVAL_LEFTEYE = "Левый глаз"; +OPTVAL_RIGHTEYE = "Правый глаз"; +OPTVAL_SBSFULL = "Бок-о-бок, полно"; +OPTVAL_SBSNARROW = "Бок-о-бок, узко"; +OPTVAL_TOPBOTTOM = "Вверх/вниз"; +OPTVAL_ROWINTERLEAVED = "Row Interleaved"; // fix +OPTVAL_COLUMNINTERLEAVED = "Column Interleaved"; // fix +OPTVAL_CHECKERBOARD = "Шахматная доска"; +OPTVAL_QUADBUFFERED = "Quad-buffered"; // fix +OPTVAL_UNCHARTED2 = "Uncharted 2"; +OPTVAL_HEJLDAWSON = "Хейл Доусон"; +OPTVAL_REINHARD = "Рейнхард"; +OPTVAL_PALETTE = "Doom палитра"; // Чтобы было понятнее +OPTVAL_LOW = "Низкий"; +OPTVAL_MEDIUM = "Средний"; +OPTVAL_HIGH = "Высокий"; +OPTVAL_EXTREME = "Крайний"; +OPTVAL_OBVERSEFIRST = "Лицевой"; +OPTVAL_REVERSEFIRST = "Обратный"; + +DSPLYMNU_TCOPT = "Полноцветность"; + +TCMNU_TITLE = "НАСТРОЙКИ ПОЛНОЦВЕТНОСТИ"; + +TCMNU_TRUECOLOR = "Полноцветный вывод"; +TCMNU_MINFILTER = "Линейная фильтрация при уменьшении"; +TCMNU_MAGFILTER = "Линейная фильтрация при увеличении"; +TCMNU_MIPMAP = "Использовать мип-маппинг"; +TCMNU_DYNLIGHTS = "Динамическое освещение (программное)"; + +// SVE strings: + +TAG_TALISMANRED = "Красный талисман"; +TAG_TALISMANGREEN = "Зеленый талисман"; +TAG_TALISMANBLUE = "Синий талисман"; +MSG_TALISMANRED = "You have a feeling that it wasn't to be touched..."; +MSG_TALISMANGREEN = "Whatever it is, it doesn't belong in this world..."; +MSG_TALISMANBLUE = "It must do something..."; +MSG_TALISMANPOWER = "You have super strength!"; + +GZDRT_LANGUAGE = "Язык"; From b1820039d754478cda4d166f29422f7c12cde2e4 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 9 Feb 2019 12:52:50 +0100 Subject: [PATCH 4/7] - exported Strife's log texts to the string table. 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. --- src/gamedata/stringtable.cpp | 18 ++++-- src/p_user.cpp | 33 ++++++++--- wadsrc_extra/static/language.enu | 94 ++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+), 11 deletions(-) diff --git a/src/gamedata/stringtable.cpp b/src/gamedata/stringtable.cpp index 2fd41e94b..95c2e754e 100644 --- a/src/gamedata/stringtable.cpp +++ b/src/gamedata/stringtable.cpp @@ -124,7 +124,14 @@ void FStringTable::LoadLanguage (int lumpnum) sc.MustGetStringName("ifgame"); sc.MustGetStringName("("); sc.MustGetString(); - skip |= !sc.Compare(GameTypeName()); + if (sc.Compare("strifeteaser")) + { + skip |= (gameinfo.gametype != GAME_Strife) || !(gameinfo.flags & GI_SHAREWARE); + } + else + { + skip |= !sc.Compare(GameTypeName()); + } sc.MustGetStringName(")"); sc.MustGetString(); @@ -141,10 +148,13 @@ void FStringTable::LoadLanguage (int lumpnum) strText += sc.String; sc.MustGetString (); } - // Insert the string into all relevant tables. - for (auto map : activeMaps) + if (!skip) { - allStrings[map].Insert(strName, strText); + // Insert the string into all relevant tables. + for (auto map : activeMaps) + { + allStrings[map].Insert(strName, strText); + } } } } diff --git a/src/p_user.cpp b/src/p_user.cpp index 6fd7070ec..87359c958 100644 --- a/src/p_user.cpp +++ b/src/p_user.cpp @@ -371,18 +371,37 @@ size_t player_t::PropagateMark() void player_t::SetLogNumber (int num) { - char lumpname[16]; + char lumpname[26]; int lumpnum; + // First look up TXT_LOGTEXT%d in the string table + mysnprintf(lumpname, countof(lumpname), "$TXT_LOGTEXT%d", num); + auto text = GStrings[lumpname+1]; + if (text) + { + SetLogText(lumpname); // set the label, not the content, so that a language change can be picked up. + return; + } + mysnprintf (lumpname, countof(lumpname), "LOG%d", num); lumpnum = Wads.CheckNumForName (lumpname); - if (lumpnum == -1) - { - // Leave the log message alone if this one doesn't exist. - //SetLogText (lumpname); - } - else + if (lumpnum != -1) { + auto fn = Wads.GetLumpFile(lumpnum); + auto wadname = Wads.GetWadName(fn); + if (!stricmp(wadname, "STRIFE0.WAD") || !stricmp(wadname, "STRIFE1.WAD") || !stricmp(wadname, "SVE.WAD")) + { + // If this is an original IWAD text, try looking up its lower priority string version first. + + mysnprintf(lumpname, countof(lumpname), "$TXT_ILOG%d", num); + auto text = GStrings[lumpname + 1]; + if (text) + { + SetLogText(lumpname); // set the label, not the content, so that a language change can be picked up. + return; + } + } + auto lump = Wads.ReadLump(lumpnum); SetLogText (lump.GetString()); } diff --git a/wadsrc_extra/static/language.enu b/wadsrc_extra/static/language.enu index a5780be75..18de98859 100644 --- a/wadsrc_extra/static/language.enu +++ b/wadsrc_extra/static/language.enu @@ -1125,3 +1125,97 @@ TXT_DLG_SCRIPT34_d30320_GOODB = "GOOD. BLACKBIRD WILL CONTINUE TO BE YOUR GUIDE. TXT_RPLY0_SCRIPT34_d30320_LETME = "LET ME AT 'EM!"; TXT_RYES0_SCRIPT34_d30320_THATS = "THAT'S THE SPIRIT."; TXT_DLG_SCRIPT34_d31836_WELCO = "WELCOME FRIEND!"; + +// Strife's log texts + +TXT_ILOG1 = "HELLO? COMMAND, A COM UNIT HAS JUST BEEN ACTIVATED... AM RECEIVING VISUALS AND SOUND FROM... SOMEBODY... HEY YOU, GET OUT OF THERE NOW... AND DROP THE CHALICE!"; +TXT_ILOG2 = "LISTEN, THIS COM UNIT TELLS ME THAT YOU'RE 100% HUMAN. I'VE BEEN ORDERED TO BRING YOU IN, WE'RE TALKING TRUST HERE. BETRAY ME AND PAY. OH, AND BY THE WAY, YOU CAN CALL ME BLACKBIRD."; +$ifgame(strifeteaser) TXT_ILOG2 = "LISTEN, THIS COM-UNIT TELLS ME THAT YOU'RE 100% HUMAN. YOU MIGHT BE ONE OF US, AND MAYBE WE CAN TRY AND TRUST EACH OTHER. CONSIDER THIS TEST, THERE'S A FLAMETHROWER IN THE GOVERNOR'S MANSION. GET IT, AND I'LL LEAD YOU TO US"; +TXT_ILOG3 = "HEAD OVER TO THE OLD TOWN HALL. MACIL HAD A TUNNEL BUILT THAT LETS US GET IN AND OUT WITHOUT THE ACOLYTES' KNOWLEDGE."; +TXT_ILOG4 = "GO THROUGH THE DOOR ON YOUR LEFT, THEN THE ONE ON THE RIGHT. THE GUARD'S NAME IS GEOFF. TELL HIM YOU NEED GOLD."; +TXT_ILOG5 = "Don't enter the Town Hall. It's not safe anymore, our cover's been blown. Kill all the big robots, the 'Crusaders' and I'll guide you to us."; +TXT_ILOG6 = "the door next to the weapons shop will open once all the crusaders are dead. Inside the store room there's a teleporter, use it, and it'll bring you to us"; +TXT_ILOG7 = "the door next to the weapons shop will open once all the crusaders are dead. Inside the store room there's a teleporter, use it, and it'll bring you to us"; +TXT_ILOG8 = "KILL AS MANY OF THE BIG ROBOTS, CRUSADERS, AS YOU CAN. WHEN YOU'RE DONE, I'LL GUIDE YOU TO MACIL"; +TXT_ILOG9 = "Go through the door, and talk to Macil."; +TXT_ILOG10 = "FIND THE POWER TAP ON THE MAINS, AND SHUT IT OFF. BRING SOMETHING BACK TO THE GOVERNOR AS PROOF. FIND MACGUFFIN, AND TALK TO HIM."; +TXT_ILOG11 = "FIND THE POWER TAP ON THE MAINS, AND SHUT IT OFF. BRING SOMETHING BACK TO THE GOVERNOR AS PROOF. FIND MACGUFFIN, AND TALK TO HIM. HE'S UP BY THE SEWAGE TREATMENT PLANT, IN THE 'BUM HOLE', DOWN THE STAIRS."; +TXT_ILOG13 = "YOU IDIOT! YOU'VE SHUT OFF THE POWER TO THE JAMMING CIRCUITS WE USE TO CONCEAL OUR BASE FROM THE ORDER. HEAD TO THE TOWN HALL AND TAKE OUT THE SCANNING CREW, NOW! THEN, GO BACK TO THE GOVERNOR AND GIVE HIM THE BROKEN COUPLING."; +TXT_ILOG14 = "OK, 'TRUST NO ONE' IS THE NAME OF THE GAME! LET'S GET THAT PRISON PASS FROM THE GOVERNOR. TAKE THE BROKEN COUPLING TO HIM."; +TXT_ILOG15 = "GOOD MOVE! THE GOVERNOR IS A LIAR. THAT'S OUR POWER COUPLING. WE'RE USING IT TO HIDE THE BASE FROM THE ORDER. TAKE THIS BROKEN COUPLING BACK TO HIM AND LET'S GET THAT PASS."; +TXT_ILOG18 = "USE THE WARDEN'S KEY TO GET INTO THE PRISON CELL BLOCKS AND FIND A WAY TO FREE THE PRISONERS."; +TXT_ILOG19 = "FIND A WAY TO FREE THE PRISONERS. FIND A WAY TO OPEN THE HAND SCANNER SWITCH."; +TXT_ILOG20 = "FIND A WAY TO FREE THE PRISONERS. USE THE JUDGE'S HAND TO OPERATE THE HAND SCANNER SWITCH."; +TXT_ILOG21 = "WAY TO GO MY FRIEND. GOOD WORK FREEING THE PRISONERS. JUMP ON ONE OF THE TELEPORTERS AND IT WILL BRING YOU BACK TO BASE."; +TXT_ILOG22 = "DESTROY THE POWER CRYSTAL THAT RUNS THE POWER GRID WHICH DRIVES THE ORDER'S SHIELDS. GO VISIT WORNER, A SPY WE RECRUITED IN THE WAREHOUSE OF THE POWER STATION."; +TXT_ILOG24 = "LET'S GET LOST. THERE'S MORE FUN TO COME."; +TXT_ILOG25 = "ONE MORE ADVENTURE BEFORE COMMAND FEELS IT'S SAFE TO ATTACK THE CASTLE. MACIL'S ARRANGED FOR IRALE TO GIVE YOU GOLD AND SOME TRAINING. AFTER YOU VISIT HIM, SEE THE MEDIC IN TOWN FOR STRENGTH."; +TXT_ILOG26 = "VISIT IRALE AND THE MEDIC IN TOWN FOR GOLD AND TRAINING, THEN FIND THE SEWERS. HEAD ALONG THE RIVER ACROSS FROM THE GOVERNOR'S MANSION."; +TXT_ILOG28 = "WE'RE LOOKING FOR WERAN, WHO CALLS HIMSELF THE RAT KING. I'M SURE IT'S DESCRIPTIVE AS WELL AS COLORFUL."; +TXT_ILOG33 = "TAKE THE FLAMETHROWER PARTS TO IRALE. DRAIN THE RECLAMATION TANK. AT THE BOTTOM IS A HIDDEN ENTRANCE TO THE SEWERS. THE GATE CONTROLS ARE DOWN THERE, SOMEWHERE. DESTROY THEM."; +TXT_ILOG37 = "COMMAND, HE'S DONE IT! THE GATES ARE OPEN. SEND IN THE SHOCK TROOPS AND TELL MACIL WE'RE COMING IN! LET'S GET BACK TO THE FRONT BASE."; +TXT_ILOG38 = "JOIN THE ASSAULT ON THE CASTLE. FIND AND TAKE OUT THE PROGRAMMER. WE HAVE CONFLICTING REPORTS ABOUT HIS LOCATION. ONE SAYS HE IN A COMPUTER ROOM, ANOTHER HIDING IN A SUB-LEVEL TEMPLE, AND YET ANOTHER AT THE END OF A LONG HALLWAY."; +TXT_ILOG45 = "FIND THE PROGRAMMER AND KILL HIM."; +TXT_ILOG46 = "SEEK OUT THE ORACLE AND ASK IT ABOUT THE OTHER SIGIL PIECES. THE ORACLE RESIDES IN THE BORDERLANDS, JUST OUTSIDE OF TOWN. CROSS THE RIVER, HEAD TOWARDS THE CASTLE AND GO LEFT THROUGH THE ARCHWAY."; +TXT_ILOG47 = "SEEK OUT THE ORACLE AND ASK IT ABOUT THE OTHER SIGIL PIECES. THE ORACLE'S TEMPLE IS IN THE BORDERLANDS, ON THE OUTSKIRTS OF TOWN."; +TXT_ILOG48 = "SEEK OUT THE ORACLE AND ASK IT ABOUT THE OTHER SIGIL PIECES. TAKE YOUR REWARD AND GO ACROSS TO THE MEDIC AND WEAPONS TRAINER FOR HEALTH AND TRAINING. THE ORACLE'S TEMPLE IS IN THE BORDERLANDS, ON THE OUTSKIRTS OF TOWN."; +TXT_ILOG50 = "SEEK OUT THE ORACLE'S TEMPLE AND ASK IT ABOUT THE OTHER SIGIL PIECES. HERE IT IS. I'M RECORDING EVERYTHING. IT'S NOT THAT I DON'T HAVE FAITH THAT YOU'LL SURVIVE. IT'S JUST THAT WE CAN'T LET THE ORDER CONTROL THE SIGIL."; +TXT_ILOG56 = "THE SECOND PIECE LIES AT THE HEART OF THE CRIMSON AND OBSIDIAN TOWER. THERE YOU WILL FIND THE BISHOP. THE BISHOP IS THE ORDER'S MILITARY LEADER. WE OFF HIM AND WE SCORE TWICE. TAKE THE ORACLE'S TOKEN TO THE KEY MASTER IN THE BORDERLANDS."; +TXT_ILOG57 = "THE BISHOP IS GOING TO BE HEAVILY GUARDED, SO WHY DON'T WE SWIPE A UNIFORM AND BLEND IN? LOCATE THE BISHOP. ONCE YOU HAVE DESTROYED HIM, RETURN TO THE ORACLE."; +TXT_ILOG59 = "I JUST GOT WORD THAT WE HAVE AN INFORMER INSIDE THE FORTRESS. LET'S HEAD FOR THE HOSPITAL. HE WORKS THERE. AFTER THAT, LOCATE THE BISHOP AND DESTROY HIM. ONCE HE'S DEAD RETURN TO THE ORACLE."; +TXT_ILOG64 = "DON'T GIVE UP. THIS IS IT. STRAIGHT AHEAD. JUMP ON THE TELEPORTER TO CENTRAL ADMINISTRATION AND DESTROY THE COMPUTER CORE. THIS WILL KILL THE FORCE FIELD ON THE ENTRANCE TO THE BISHOP'S TOWER. ONCE HE'S DEAD, RETURN TO THE ORACLE."; +TXT_ILOG70 = "VERY IMPRESSIVE. LETS BLOW IT UP. THAT SHOULD TAKE CARE OF THE FORCE FIELD. LET'S GET BACK TO THE BAILEY, THEN OFF TO THE TOWER AND THE BISHOP."; +TXT_ILOG74 = "BRAVO, ANOTHER PIECE OF THE SIGIL! DID YOU SEE THAT WEIRD SPECTRE THAT CAME OUT OF THE BISHOP'S BODY? WHERE HAVE I SEEN THAT BEFORE? LET'S GET BACK TO THE ORACLE."; +TXT_ILOG75 = "JUDGMENT CALL TIME... THE ORACLE WANTED US BACK FOR ANOTHER VISIT, BUT NOW THAT WE'VE GOT TWO PIECES, WE MIGHT WANT TO RETURN TO BASE."; +TXT_ILOG76 = "I HAVE A REPORT THAT THE SPECTRAL ENERGY WE FOUND NEAR THE BISHOP IS ALSO PRESENT BY THE ORACLE, LET'S BE CAREFUL"; +TXT_ILOG79 = "RICHTER HAS TAKEN OVER COMMAND OF OUR FORCES. IT LOOKS LIKE MACIL HAS BEEN DECEIVING US ALL ALONG. HIS TRUE ALLEGIANCE WAS TO THE ORDER. WHAT A SNAKE. LET'S GET BACK TO THE ORACLE."; +TXT_ILOG83 = "ANOTHER SIGIL PEICE. WE ARE ONE STEP CLOSER TO FREEDOM. AND YOU ARE ONE STEP CLOSER TO ME. LET'S GET BACK TO THE ORACLE!"; +TXT_ILOG85 = "YOU WIELD THE POWER OF THE COMPLETE SIGIL. WHAT DO YOU SAY WE GET SOME CLOSURE. LET'S SEE WHAT THE LOREMASTER'S BEEN PROTECTING."; +TXT_ILOG87 = "WELL, SO MUCH FOR PROGNOSTICATION. HOLD IT, MACIL IS CALLING US BACK. LET'S GET OUT OF HERE IN ONE PIECE."; +TXT_ILOG88 = "I'M SORRY, AFTER BEING UP TO MY HIPS IN BLOOD I CAN'T THINK OF ANYTHING WITTY TO SAY RIGHT NOW. LET'S JUST GET BACK TO MACIL."; +TXT_ILOG89 = "THE FACTORY IS NEXT TO THE MINES. RICHTER MUST MEAN THE MINES OF DEGNIN. THE DEGNIN ORE IS MAGNETIC AND EXPLOSIVE, JUST THE THING FOR SHUTTING DOWN FORCE FIELDS. LET'S GET THAT KEY FROM THE CATACOMBS, AND THEN OFF TO THE MINES FOR SOME ORE."; +TXT_ILOG93 = "THE FACTORY IS NEXT TO THE MINES. THE DEGNIN ORE IS MAGNETIC AND EXPLOSIVE, JUST THE THING FOR SHUTTING DOWN FORCE FIELDS. LET'S GET THAT KEY FROM THE CATACOMBS, AND THEN WE GO DOWN FOR SOME ORE. THIS MUST BE THE RUINS RICHTER'S AGENTS WERE SEARCHING FOR, BE CAREFUL."; +TXT_ILOG95 = "THE FACTORY IS NEXT TO THE MINES. THE DEGNIN ORE IS MAGNETIC AND EXPLOSIVE, JUST THE THING FOR SHUTTING DOWN FORCE FIELDS. MY FRIEND, WHATEVER IT IS WE'RE FIGHTING, IT'S MORE THAN JUST THE ORDER. BACK TO THE COMMONS THEN OFF TO THE MINES. WE NEED ORE."; +TXT_ILOG96 = "THE FACTORY IS NEXT TO THE MINES. THE DEGNIN ORE IS MAGNETIC AND EXPLOSIVE, JUST THE THING FOR SHUTTING DOWN FORCE FIELDS. WITHOUT LETTING DOWN YOUR GUARD, LOOK FOR DEPOSITS OF ORE."; +TXT_ILOG97 = "WITHOUT LETTING DOWN YOUR GUARD, LOOK FOR DEPOSITS OF ORE. THESE POOR SOULS ARE DRONES. THEIR SYNAPTIC FUNCTIONS ARE BEING JAMMED BY RC IMPLANTS. WE DESTROY THE TRANSMITTER, AND THEY'RE FREE."; +TXT_ILOG99 = "THE FACTORY IS NEXT TO THE MINES. WITHOUT LETTING DOWN YOUR GUARD, LOOK FOR DEPOSITS OF ORE. MY SUGGESTION IS, TOSS THE ORE AT THE FORCE FIELD AND THEN BLAST IT, THE RESULTING COMPRESSION SHOULD CREATE A MAGNETIC BLANKET AND TURN OFF THE LIGHTS."; +TXT_ILOG100 = "NOW ON TO THE FACTORY. EXIT THE MINES AND YOU CAN'T MISS IT. LET'S FIND THAT MACHINE AND SHUT IT DOWN!"; +TXT_ILOG102 = "I'M READING MASSIVE NEURAL WAVE DISTORTIONS FROM STRAIGHT AHEAD. I THINK WE'VE FOUND IT. LET'S GET IN THERE AND SHUT IT DOWN!"; +TXT_ILOG103 = "JUST WHEN I THINK WE'VE SEEN IT ALL! THEY GO IN HUMAN AND COME OUT... I DONT EVEN WANT TO THINK ABOUT IT. DESTROY THIS HORROR!"; +TXT_ILOG104 = "MACIL'S GONE NUTS. HE JUST KNOWINGLY SENT 200 MEN TO THEIR DEATHS. I WANT VENGEANCE! FOR THE DEAD AND FOR THE LIVING DEAD! LET'S GET BACK AND FIND OUT WHAT'S GOING ON."; +TXT_ILOG106 = "THE FACTORY LEADS TO A 'LAB', AND THEY'RE GETTING A SIGIL PIECE POWER SIGNATURE FROM WITHIN. BACK TO THE FACTORY AND OUR NEXT STEP TO FREEDOM."; +TXT_ILOG120 = "FIND THE BISHOP AND DESTROY HIM! ONCE HE'S DEAD, RETURN TO THE ORACLE."; +TXT_ILOG122 = "THE LOREMASTER'S LAB IS BEYOND THE TELEPORTER THAT JUST OPENED. LET'S GO FIND OUT WHAT HE WAS JUST YAPPING ABOUT.AND OUR NEXT STEP TO FREEDOM."; +TXT_ILOG211 = "COME ON, LET'S GET THE HELL OUT OF HERE. THE FORCE FIELD IS DOWN, OFF TO THE BISHOP'S TOWER. ONCE HE'S DEAD, GET BACK TO THE ORACLE."; +TXT_ILOG1001 = "FIND THE SANCTUARY BY THE RIVER. STEAL THE CHALICE FROM INSIDE. BRING IT TO HARRIS IN THE TAVERN."; +TXT_ILOG1002 = "FIND THE GOVERNOR. TALK TO HIM ABOUT YOUR REWARD."; +TXT_ILOG1003 = "FIND THE SANCTUARY BY THE RIVER. INSIDE SOMEONE CALLED BELDIN IS BEING HELD. SHUT HIM UP, AND BRING HIS RING BACK TO ROWAN AS PROOF."; +TXT_ILOG1004 = "FIND THE LOCATION OF THE FRONT AND TALK TO MACIL."; +TXT_ILOG1005 = "GO DOWN THE STAIRS, FIND AND TALK TO MACIL."; +TXT_ILOG1006 = "VISIT IRALE, THE FRONT'S WEAPONS SUPPLIER IN TOWN. HE'S BEHIND THE DOOR NEXT TO THE WEAPONS SHOP. THEN, USE THE KEY MACIL GAVE YOU TO TALK TO THE GOVERNOR."; +TXT_ILOG1007 = "FIND THE POWER TAP ON THE MAINS, AND SHUT IT OFF. BRING SOMETHING BACK TO THE GOVERNOR AS PROOF."; +TXT_ILOG1008 = "FIND DERWIN IN THE WAREHOUSE OF THE POWER STATION. KILL HIM, AND BRING MOUREL HIS EAR."; +TXT_ILOG1009 = "USE THE PASS MOUREL GAVE YOU TO GET INTO THE PRISON. ONCE INSIDE, TALK TO WARDEN MONTAG. FIND A WAY TO FREE THE PRISONERS."; +TXT_ILOG1010 = "USE THE WARDEN'S KEY TO GET INTO THE PRISON CELL BLOCKS AND FIND A WAY TO FREE THE PRISONERS."; +TXT_ILOG1011 = "DESTROY THE POWER CRYSTAL THAT RUNS THE POWER GRID WHICH DRIVES THE ORDER'S SHIELDS. GO VISIT WORNER, A SPY WE RECRUITED IN THE WAREHOUSE OF THE POWER STATION. DON'T FORGET TO VISIT THE MEDIC AND THE WEAPONS TRAINER BEFORE YOU GO"; +TXT_ILOG1012 = "DESTROY THE POWER CRYSTAL THAT RUNS THE POWER GRID WHICH DRIVES THE ORDER'S SHIELDS. USE THE I.D. TO GET INTO THE POWER STATION. YOU MAY WANT TO CHECK OUT THE STOREROOM ABOVE WORNER."; +TXT_ILOG1013 = "DESTROY THE POWER CRYSTAL THAT RUNS THE POWER GRID WHICH DRIVES THE ORDER'S SHIELDS. GO TALK TO KETRICK IN THE CORE AREA."; +TXT_ILOG1014 = "DESTROY THE POWER CRYSTAL. GO TALK TO KETRICK, BRING THE WALKWAY UP USING THE SWITCHES, THEN USE THIS ID FOR THE ELEVATOR."; +TXT_ILOG1015 = "FIND THE TOWN ENTRANCE THAT THE ORDER HAS GUARDED. OPEN THE DOOR AND BRING THE GUARD'S UNIFORM BACK TO WERAN."; +TXT_ILOG1016 = "TAKE THE FLAMETHROWER PARTS TO IRALE. FIND THE SEWER MAINTENANCE DOOR. FIND AND DRAIN THE RECLAMATION TANK INSIDE THE CASTLE. AT THE BOTTOM IS A HIDDEN ENTRANCE TO THE SEWERS. DOWN THAT ENTRANCE IS WHERE THE GATE CONTROLS ARE, SOMEWHERE."; +TXT_ILOG1017 = "JOIN THE ASSAULT ON THE CASTLE. FIND AND TAKE OUT THE PROGRAMMER. SEE THE MEDIC AND THE WEAPONS TRAINER. SPEND EVERYTHING YOU'VE GOT. THIS IS GOING TO BE A HELL OF A FIGHT."; +TXT_ILOG1018 = "USE THE KEY THE FALSE PROGRAMMER GAVE YOU TO OPEN AN ENTRANCE TO THE PROGRAMMER'S KEEP. IT HAS TO BE WHERE HE'S HIDING. FIND THE PROGRAMMER AND KILL HIM."; +TXT_ILOG1019 = "SEEK OUT THE ORACLE AND ASK IT ABOUT THE OTHER SIGIL PIECES. TAKE YOUR REWARD AND GO ACROSS TO THE MEDIC AND WEAPONS TRAINER FOR HEALTH AND TRAINING."; +TXT_ILOG1020 = "THE SECOND PIECE LIES AT THE HEART OF THE CRIMSON AND OBSIDIAN TOWER. THERE YOU MUST FIND THE BISHOP, WHO AWAITS YOU. TAKE THE ORACLE'S TOKEN TO THE KEY MASTER IN THE BORDERLANDS. ONCE YOU HAVE DESTROYED THE BISHOP, RETURN TO THE ORACLE."; +TXT_ILOG1021 = "FIND THE CRIMSON AND OBSIDIAN TOWER. USE THE ID KEY THE KEY MASTER GAVE YOU TO ENTER THE TOWER. ONCE INSIDE YOU MUST LOCATE THE BISHOP. ONCE YOU HAVE DESTROYED THE BISHOP, RETURN TO THE ORACLE."; +TXT_ILOG1022 = "FIND THE SECURITY COMPLEX, FIGHT THROUGH THERE AND USE THE TELEPORTER TO CENTRAL ADMINISTRATION. DESTROY THE COMPUTER CORE IN CENTRAL ADMINISTRATION. THIS WILL KILL THE FORCE FIELD ON THE BISHOP'S TOWER. ONCE THE BISHOP'S DEAD, RETURN TO THE ORACLE."; +TXT_ILOG1023 = "Your next challenge will test your spirit. The third piece is held by your own leader. he is the same as that which he sends you to kill. Confront him and resolve your fate."; +TXT_ILOG1024 = "It is the Oracle who holds the third piece. There's your traitor. RETURN TO THE ORACLE, AND TAKE HIM DOWN. Return to me when it's dead."; +TXT_ILOG1025 = "You have cut the cancer from your body, but your heart still beats. Next you must find the surgeon who butchers and controls your people.... The LoreMaster. Stop him, and the next piece will be yours."; +TXT_ILOG1026 = "Next you must find the surgeon who butchers and controls your people.... The LoreMaster. Stop him, and the next piece will be yours. Use the teleporter I opened to reach him. When he's dead, use the same device to return to me."; +TXT_ILOG1027 = "YOU HAVE CHOSEN WISELY. The third piece is held by your own leader. DESTROY THAT WHICH HIDES WITHIN YOUR HEART AND RETURN TO ME."; +TXT_ILOG1028 = "WE'VE FOUND OUT THAT THE ORDER IS TRANSFORMING OUR PEOPLE INTO BIO-MECHANICAL SOLDIERS. FIND THE FACILITY WHERE THIS IS BEING DONE AND CLOSE IT, PERMANENTLY! FIND RICHTER IN THE COMMONS, NEAR THE WATERFALL AND HE'LL TELL YOU HOW TO STOP THIS ATROCITY."; +TXT_ILOG1029 = "TO ENTER THE FACTORY, YOU NEED A KEY. WE STOLE ONE, BUT THE AGENT WHO HAD IT IS MISSING IN THE CATACOMBS UNDERNEATH THE COMMONS. THERE'S SOMETHING DOWN THERE TAKING OUR MEN. WHATEVER IT IS, YOU HAVE TO FIND IT AND RETRIEVE THE KEY. WHEN YOU'VE GOT IT, THE FACTORY IS NEXT TO THE MINES."; +TXT_ILOG1101 = "Find the chalice in the Sanctuary chapel and bring it to harris upstairs in the tavern."; +TXT_ILOG1102 = "Find the Governor's mansion and talk to the Governor to get your reward"; +TXT_ILOG1201 = "Congratulations! You have earned our gratitude. Visit the Medic and Weapons Trainer and they will get you ready for what lies ahead. Feel free to wander around within the base."; From e57b16b9e72cb8abe521e5ef5a0ba66591bd5adc Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 9 Feb 2019 13:15:30 +0100 Subject: [PATCH 5/7] - exported the character names of Strife's dialogues. --- src/p_conversation.cpp | 24 +++++++++++- wadsrc_extra/static/language.enu | 66 ++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 2 deletions(-) diff --git a/src/p_conversation.cpp b/src/p_conversation.cpp index cd6b7b803..7b2e08b6a 100644 --- a/src/p_conversation.cpp +++ b/src/p_conversation.cpp @@ -370,7 +370,17 @@ static FStrifeDialogueNode *ReadRetailNode (FLevelLocals *Level, const char *nam // The speaker's name, if any. speech.Sound[0] = 0; //speech.Name[16] = 0; - node->SpeakerName = speech.Name; + if (name && speech.Name[0]) + { + FString label = speech.Name; + label.ReplaceChars(' ', '_'); + label.ReplaceChars('\'', '_'); + node->SpeakerName.Format("$TXT_SPEAKER_%s", label.GetChars()); + } + else + { + node->SpeakerName = speech.Name; + } // The item the speaker should drop when killed. node->DropType = GetStrifeType(speech.DropType); @@ -459,7 +469,17 @@ static FStrifeDialogueNode *ReadTeaserNode (FLevelLocals *Level, const char *nam // The speaker's name, if any. speech.Dialogue[0] = 0; //speech.Name[16] = 0; - node->SpeakerName = speech.Name; + if (name && speech.Name[0]) + { + FString label = speech.Name; + label.ReplaceChars(' ', '_'); + label.ReplaceChars('\'', '_'); + node->SpeakerName.Format("$TXT_SPEAKER_%s", label.GetChars()); + } + else + { + node->SpeakerName = speech.Name; + } // The item the speaker should drop when killed. node->DropType = GetStrifeType (speech.DropType); diff --git a/wadsrc_extra/static/language.enu b/wadsrc_extra/static/language.enu index 18de98859..0e8daea0b 100644 --- a/wadsrc_extra/static/language.enu +++ b/wadsrc_extra/static/language.enu @@ -1219,3 +1219,69 @@ TXT_ILOG1029 = "TO ENTER THE FACTORY, YOU NEED A KEY. WE STOLE ONE, BUT THE AGEN TXT_ILOG1101 = "Find the chalice in the Sanctuary chapel and bring it to harris upstairs in the tavern."; TXT_ILOG1102 = "Find the Governor's mansion and talk to the Governor to get your reward"; TXT_ILOG1201 = "Congratulations! You have earned our gratitude. Visit the Medic and Weapons Trainer and they will get you ready for what lies ahead. Feel free to wander around within the base."; + +// Strife's character names + +TXT_SPEAKER_ORDER_SERGEANT = "ORDER SERGEANT"; +TXT_SPEAKER_ROWAN = "ROWAN"; +TXT_SPEAKER_FERIS = "FERIS"; +TXT_SPEAKER_PRISON_GUARD = "PRISON GUARD"; +TXT_SPEAKER_JUSTIN = "JUSTIN"; +TXT_SPEAKER_MACIL = "MACIL"; +TXT_SPEAKER_ASSISTANT = "ASSISTANT"; +TXT_SPEAKER_KEY_MASTER = "KEY MASTER"; +TXT_SPEAKER_BODYGUARD = "BODYGUARD"; +TXT_SPEAKER_INTERROGATOR = "INTERROGATOR"; +TXT_SPEAKER_WARDEN_MONTAG = "WARDEN MONTAG"; +TXT_SPEAKER_RICHTER = "RICHTER"; +TXT_SPEAKER_MACIL_S_ADVISOR = "MACIL'S ADVISOR"; +TXT_SPEAKER_JUDGE_WOLENICK = "JUDGE WOLENICK"; +TXT_SPEAKER_TEVICK = "TEVICK"; +TXT_SPEAKER_HARRIS = "HARRIS"; +TXT_SPEAKER_FOREMAN = "FOREMAN"; +TXT_SPEAKER_PRISONER = "PRISONER"; +TXT_SPEAKER_SAMMIS = "SAMMIS"; +TXT_SPEAKER_WEAPON_SMITH = "WEAPON SMITH"; +TXT_SPEAKER_REACTOR_GUARD = "REACTOR GUARD"; +TXT_SPEAKER_APPRENTICE = "APPRENTICE"; +TXT_SPEAKER_DOOR_GUARD = "DOOR GUARD"; +TXT_SPEAKER_MASTER_SMITHY = "MASTER SMITHY"; +TXT_SPEAKER_WAREHOUSE_GUARD = "WAREHOUSE GUARD"; +TXT_SPEAKER_BARKEEP = "BARKEEP"; +TXT_SPEAKER_TIMOTHY = "TIMOTHY"; +TXT_SPEAKER_JAMES = "JAMES"; +TXT_SPEAKER_WORNER = "WORNER"; +TXT_SPEAKER_BAILEY_GUARD = "BAILEY GUARD"; +TXT_SPEAKER_DRONE = "DRONE"; +TXT_SPEAKER_FRONT_GUARD = "FRONT GUARD"; +TXT_SPEAKER_QUINCY = "QUINCY"; +TXT_SPEAKER_SERGEANT = "SERGEANT"; +TXT_SPEAKER_TEMPLE_GUARD = "TEMPLE GUARD"; +TXT_SPEAKER_ORACLE = "ORACLE"; +TXT_SPEAKER_ULAINE = "ULAINE"; +TXT_SPEAKER_FRONT_SOLDIER = "FRONT SOLDIER"; +TXT_SPEAKER_PROGRAMMER = "PROGRAMMER"; +TXT_SPEAKER_MEDIC = "MEDIC"; +TXT_SPEAKER_WATCHMAN = "WATCHMAN"; +TXT_SPEAKER_KETRICK = "KETRICK"; +TXT_SPEAKER_WERAN = "WERAN"; +TXT_SPEAKER_ADVISOR = "ADVISOR"; +TXT_SPEAKER_GEOFF = "GEOFF"; +TXT_SPEAKER_OVERSEER = "OVERSEER"; +TXT_SPEAKER_SECURITY_COMPLE = "SECURITY COMPLE"; +TXT_SPEAKER_COMPUTER_TECH = "COMPUTER TECH"; +TXT_SPEAKER_MACGUFFIN = "MACGUFFIN"; +TXT_SPEAKER_ARION = "ARION"; +TXT_SPEAKER_DOCK_WORKER = "DOCK WORKER"; +TXT_SPEAKER_IRALE = "IRALE"; +TXT_SPEAKER_CORE_GUARD = "CORE GUARD"; +TXT_SPEAKER_SEWER_GUARD = "SEWER GUARD"; +TXT_SPEAKER_TECHNICIAN = "TECHNICIAN"; +TXT_SPEAKER_GUARD = "GUARD"; +TXT_SPEAKER_PEASANT = "PEASANT"; +TXT_SPEAKER_ARMORER = "ARMORER"; +TXT_SPEAKER_BELDIN = "BELDIN"; +TXT_SPEAKER_GERARD = "GERARD"; +TXT_SPEAKER_GOVERNOR_MOUREL = "GOVERNOR MOUREL"; +TXT_SPEAKER_BOWYER = "BOWYER"; +TXT_SPEAKER_DERWIN = "DERWIN"; From c51ae7523fdc951040352ae3f6210350d9b10ac6 Mon Sep 17 00:00:00 2001 From: Sasha Red Date: Sat, 9 Feb 2019 19:50:35 +0100 Subject: [PATCH 6/7] Added Russian Unicode alphabet for Hexen, Heretic, and Strife MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- .../filter/game-heretic/fonts/defbigfont/0410.lmp | Bin 0 -> 256 bytes .../filter/game-heretic/fonts/defbigfont/0411.lmp | Bin 0 -> 254 bytes .../filter/game-heretic/fonts/defbigfont/0412.lmp | Bin 0 -> 260 bytes .../filter/game-heretic/fonts/defbigfont/0413.lmp | Bin 0 -> 217 bytes .../filter/game-heretic/fonts/defbigfont/0414.lmp | Bin 0 -> 317 bytes .../filter/game-heretic/fonts/defbigfont/0415.lmp | Bin 0 -> 228 bytes .../filter/game-heretic/fonts/defbigfont/0416.lmp | Bin 0 -> 385 bytes .../filter/game-heretic/fonts/defbigfont/0417.lmp | Bin 0 -> 234 bytes .../filter/game-heretic/fonts/defbigfont/0418.lmp | Bin 0 -> 276 bytes .../filter/game-heretic/fonts/defbigfont/0419.lmp | Bin 0 -> 300 bytes .../filter/game-heretic/fonts/defbigfont/041A.lmp | Bin 0 -> 274 bytes .../filter/game-heretic/fonts/defbigfont/041B.lmp | Bin 0 -> 250 bytes .../filter/game-heretic/fonts/defbigfont/041C.lmp | Bin 0 -> 337 bytes .../filter/game-heretic/fonts/defbigfont/041D.lmp | Bin 0 -> 288 bytes .../filter/game-heretic/fonts/defbigfont/041E.lmp | Bin 0 -> 260 bytes .../filter/game-heretic/fonts/defbigfont/041F.lmp | Bin 0 -> 298 bytes .../filter/game-heretic/fonts/defbigfont/0420.lmp | Bin 0 -> 304 bytes .../filter/game-heretic/fonts/defbigfont/0421.lmp | Bin 0 -> 216 bytes .../filter/game-heretic/fonts/defbigfont/0422.lmp | Bin 0 -> 214 bytes .../filter/game-heretic/fonts/defbigfont/0423.lmp | Bin 0 -> 232 bytes .../filter/game-heretic/fonts/defbigfont/0424.lmp | Bin 0 -> 416 bytes .../filter/game-heretic/fonts/defbigfont/0425.lmp | Bin 0 -> 249 bytes .../filter/game-heretic/fonts/defbigfont/0426.lmp | Bin 0 -> 298 bytes .../filter/game-heretic/fonts/defbigfont/0427.lmp | Bin 0 -> 252 bytes .../filter/game-heretic/fonts/defbigfont/0428.lmp | Bin 0 -> 405 bytes .../filter/game-heretic/fonts/defbigfont/0429.lmp | Bin 0 -> 440 bytes .../filter/game-heretic/fonts/defbigfont/042A.lmp | Bin 0 -> 258 bytes .../filter/game-heretic/fonts/defbigfont/042B.lmp | Bin 0 -> 367 bytes .../filter/game-heretic/fonts/defbigfont/042C.lmp | Bin 0 -> 231 bytes .../filter/game-heretic/fonts/defbigfont/042D.lmp | Bin 0 -> 258 bytes .../filter/game-heretic/fonts/defbigfont/042E.lmp | Bin 0 -> 392 bytes .../filter/game-heretic/fonts/defbigfont/042F.lmp | Bin 0 -> 270 bytes .../fonts/defsmallfont/005C.lmp | Bin .../fonts/defsmallfont/005D.lmp | Bin .../fonts/defsmallfont/005E.lmp | Bin .../fonts/defsmallfont/005F.lmp | Bin .../game-heretic/fonts/defsmallfont/00AB.lmp | Bin 0 -> 112 bytes .../game-heretic/fonts/defsmallfont/00BB.lmp | Bin 0 -> 112 bytes .../fonts/defsmallfont/00C4.lmp | Bin .../fonts/defsmallfont/00C5.lmp | Bin .../fonts/defsmallfont/00D6.lmp | Bin .../fonts/defsmallfont/00DC.lmp | Bin .../fonts/defsmallfont/00DF.lmp | Bin .../game-heretic/fonts/defsmallfont/0401.lmp | Bin 0 -> 168 bytes .../game-heretic/fonts/defsmallfont/0410.lmp | Bin 0 -> 148 bytes .../game-heretic/fonts/defsmallfont/0411.lmp | Bin 0 -> 158 bytes .../game-heretic/fonts/defsmallfont/0412.lmp | Bin 0 -> 142 bytes .../game-heretic/fonts/defsmallfont/0413.lmp | Bin 0 -> 120 bytes .../game-heretic/fonts/defsmallfont/0414.lmp | Bin 0 -> 163 bytes .../game-heretic/fonts/defsmallfont/0415.lmp | Bin 0 -> 148 bytes .../game-heretic/fonts/defsmallfont/0416.lmp | Bin 0 -> 196 bytes .../game-heretic/fonts/defsmallfont/0417.lmp | Bin 0 -> 138 bytes .../game-heretic/fonts/defsmallfont/0418.lmp | Bin 0 -> 130 bytes .../game-heretic/fonts/defsmallfont/0419.lmp | Bin 0 -> 133 bytes .../game-heretic/fonts/defsmallfont/041A.lmp | Bin 0 -> 138 bytes .../game-heretic/fonts/defsmallfont/041B.lmp | Bin 0 -> 137 bytes .../game-heretic/fonts/defsmallfont/041C.lmp | Bin 0 -> 142 bytes .../game-heretic/fonts/defsmallfont/041D.lmp | Bin 0 -> 132 bytes .../game-heretic/fonts/defsmallfont/041E.lmp | Bin 0 -> 144 bytes .../game-heretic/fonts/defsmallfont/041F.lmp | Bin 0 -> 130 bytes .../game-heretic/fonts/defsmallfont/0420.lmp | Bin 0 -> 152 bytes .../game-heretic/fonts/defsmallfont/0421.lmp | Bin 0 -> 152 bytes .../game-heretic/fonts/defsmallfont/0422.lmp | Bin 0 -> 130 bytes .../game-heretic/fonts/defsmallfont/0423.lmp | Bin 0 -> 152 bytes .../game-heretic/fonts/defsmallfont/0424.lmp | Bin 0 -> 184 bytes .../game-heretic/fonts/defsmallfont/0425.lmp | Bin 0 -> 156 bytes .../game-heretic/fonts/defsmallfont/0426.lmp | Bin 0 -> 144 bytes .../game-heretic/fonts/defsmallfont/0427.lmp | Bin 0 -> 119 bytes .../game-heretic/fonts/defsmallfont/0428.lmp | Bin 0 -> 160 bytes .../game-heretic/fonts/defsmallfont/0429.lmp | Bin 0 -> 174 bytes .../game-heretic/fonts/defsmallfont/042A.lmp | Bin 0 -> 135 bytes .../game-heretic/fonts/defsmallfont/042B.lmp | Bin 0 -> 178 bytes .../game-heretic/fonts/defsmallfont/042C.lmp | Bin 0 -> 125 bytes .../game-heretic/fonts/defsmallfont/042D.lmp | Bin 0 -> 129 bytes .../game-heretic/fonts/defsmallfont/042E.lmp | Bin 0 -> 176 bytes .../game-heretic/fonts/defsmallfont/042F.lmp | Bin 0 -> 132 bytes .../game-heretic/fonts/defsmallfont/2014.lmp | Bin 0 -> 188 bytes .../game-heretic/fonts/defsmallfont/201C.lmp | Bin 0 -> 105 bytes .../game-heretic/fonts/defsmallfont/201E.lmp | Bin 0 -> 104 bytes .../filter/game-hexen/fonts/defbigfont/0410.lmp | Bin 0 -> 256 bytes .../filter/game-hexen/fonts/defbigfont/0411.lmp | Bin 0 -> 254 bytes .../filter/game-hexen/fonts/defbigfont/0412.lmp | Bin 0 -> 260 bytes .../filter/game-hexen/fonts/defbigfont/0413.lmp | Bin 0 -> 217 bytes .../filter/game-hexen/fonts/defbigfont/0414.lmp | Bin 0 -> 317 bytes .../filter/game-hexen/fonts/defbigfont/0415.lmp | Bin 0 -> 228 bytes .../filter/game-hexen/fonts/defbigfont/0416.lmp | Bin 0 -> 385 bytes .../filter/game-hexen/fonts/defbigfont/0417.lmp | Bin 0 -> 234 bytes .../filter/game-hexen/fonts/defbigfont/0418.lmp | Bin 0 -> 276 bytes .../filter/game-hexen/fonts/defbigfont/0419.lmp | Bin 0 -> 300 bytes .../filter/game-hexen/fonts/defbigfont/041A.lmp | Bin 0 -> 274 bytes .../filter/game-hexen/fonts/defbigfont/041B.lmp | Bin 0 -> 250 bytes .../filter/game-hexen/fonts/defbigfont/041C.lmp | Bin 0 -> 337 bytes .../filter/game-hexen/fonts/defbigfont/041D.lmp | Bin 0 -> 288 bytes .../filter/game-hexen/fonts/defbigfont/041E.lmp | Bin 0 -> 260 bytes .../filter/game-hexen/fonts/defbigfont/041F.lmp | Bin 0 -> 298 bytes .../filter/game-hexen/fonts/defbigfont/0420.lmp | Bin 0 -> 304 bytes .../filter/game-hexen/fonts/defbigfont/0421.lmp | Bin 0 -> 215 bytes .../filter/game-hexen/fonts/defbigfont/0422.lmp | Bin 0 -> 214 bytes .../filter/game-hexen/fonts/defbigfont/0423.lmp | Bin 0 -> 232 bytes .../filter/game-hexen/fonts/defbigfont/0424.lmp | Bin 0 -> 416 bytes .../filter/game-hexen/fonts/defbigfont/0425.lmp | Bin 0 -> 249 bytes .../filter/game-hexen/fonts/defbigfont/0426.lmp | Bin 0 -> 298 bytes .../filter/game-hexen/fonts/defbigfont/0427.lmp | Bin 0 -> 252 bytes .../filter/game-hexen/fonts/defbigfont/0428.lmp | Bin 0 -> 405 bytes .../filter/game-hexen/fonts/defbigfont/0429.lmp | Bin 0 -> 440 bytes .../filter/game-hexen/fonts/defbigfont/042A.lmp | Bin 0 -> 258 bytes .../filter/game-hexen/fonts/defbigfont/042B.lmp | Bin 0 -> 367 bytes .../filter/game-hexen/fonts/defbigfont/042C.lmp | Bin 0 -> 231 bytes .../filter/game-hexen/fonts/defbigfont/042D.lmp | Bin 0 -> 258 bytes .../filter/game-hexen/fonts/defbigfont/042E.lmp | Bin 0 -> 392 bytes .../filter/game-hexen/fonts/defbigfont/042F.lmp | Bin 0 -> 270 bytes .../filter/game-hexen/fonts/defsmallfont/00AB.lmp | Bin 0 -> 112 bytes .../filter/game-hexen/fonts/defsmallfont/00BB.lmp | Bin 0 -> 112 bytes .../filter/game-hexen/fonts/defsmallfont/0401.lmp | Bin 0 -> 168 bytes .../filter/game-hexen/fonts/defsmallfont/0410.lmp | Bin 0 -> 148 bytes .../filter/game-hexen/fonts/defsmallfont/0411.lmp | Bin 0 -> 158 bytes .../filter/game-hexen/fonts/defsmallfont/0412.lmp | Bin 0 -> 142 bytes .../filter/game-hexen/fonts/defsmallfont/0413.lmp | Bin 0 -> 120 bytes .../filter/game-hexen/fonts/defsmallfont/0414.lmp | Bin 0 -> 163 bytes .../filter/game-hexen/fonts/defsmallfont/0415.lmp | Bin 0 -> 148 bytes .../filter/game-hexen/fonts/defsmallfont/0416.lmp | Bin 0 -> 196 bytes .../filter/game-hexen/fonts/defsmallfont/0417.lmp | Bin 0 -> 138 bytes .../filter/game-hexen/fonts/defsmallfont/0418.lmp | Bin 0 -> 130 bytes .../filter/game-hexen/fonts/defsmallfont/0419.lmp | Bin 0 -> 133 bytes .../filter/game-hexen/fonts/defsmallfont/041A.lmp | Bin 0 -> 138 bytes .../filter/game-hexen/fonts/defsmallfont/041B.lmp | Bin 0 -> 137 bytes .../filter/game-hexen/fonts/defsmallfont/041C.lmp | Bin 0 -> 142 bytes .../filter/game-hexen/fonts/defsmallfont/041D.lmp | Bin 0 -> 128 bytes .../filter/game-hexen/fonts/defsmallfont/041E.lmp | Bin 0 -> 144 bytes .../filter/game-hexen/fonts/defsmallfont/041F.lmp | Bin 0 -> 130 bytes .../filter/game-hexen/fonts/defsmallfont/0420.lmp | Bin 0 -> 152 bytes .../filter/game-hexen/fonts/defsmallfont/0421.lmp | Bin 0 -> 152 bytes .../filter/game-hexen/fonts/defsmallfont/0422.lmp | Bin 0 -> 130 bytes .../filter/game-hexen/fonts/defsmallfont/0423.lmp | Bin 0 -> 152 bytes .../filter/game-hexen/fonts/defsmallfont/0424.lmp | Bin 0 -> 184 bytes .../filter/game-hexen/fonts/defsmallfont/0425.lmp | Bin 0 -> 156 bytes .../filter/game-hexen/fonts/defsmallfont/0426.lmp | Bin 0 -> 144 bytes .../filter/game-hexen/fonts/defsmallfont/0427.lmp | Bin 0 -> 119 bytes .../filter/game-hexen/fonts/defsmallfont/0428.lmp | Bin 0 -> 160 bytes .../filter/game-hexen/fonts/defsmallfont/0429.lmp | Bin 0 -> 174 bytes .../filter/game-hexen/fonts/defsmallfont/042A.lmp | Bin 0 -> 135 bytes .../filter/game-hexen/fonts/defsmallfont/042B.lmp | Bin 0 -> 178 bytes .../filter/game-hexen/fonts/defsmallfont/042C.lmp | Bin 0 -> 125 bytes .../filter/game-hexen/fonts/defsmallfont/042D.lmp | Bin 0 -> 129 bytes .../filter/game-hexen/fonts/defsmallfont/042E.lmp | Bin 0 -> 176 bytes .../filter/game-hexen/fonts/defsmallfont/042F.lmp | Bin 0 -> 132 bytes .../filter/game-hexen/fonts/defsmallfont/2014.lmp | Bin 0 -> 188 bytes .../filter/game-hexen/fonts/defsmallfont/201C.lmp | Bin 0 -> 105 bytes .../filter/game-hexen/fonts/defsmallfont/201E.lmp | Bin 0 -> 104 bytes .../game-strife/fonts/defsmallfont/00AB.lmp | Bin 0 -> 89 bytes .../game-strife/fonts/defsmallfont/00BB.lmp | Bin 0 -> 89 bytes .../game-strife/fonts/defsmallfont/0401.lmp | Bin 0 -> 145 bytes .../game-strife/fonts/defsmallfont/0410.lmp | Bin 0 -> 168 bytes .../game-strife/fonts/defsmallfont/0411.lmp | Bin 0 -> 147 bytes .../game-strife/fonts/defsmallfont/0412.lmp | Bin 0 -> 137 bytes .../game-strife/fonts/defsmallfont/0413.lmp | Bin 0 -> 120 bytes .../game-strife/fonts/defsmallfont/0414.lmp | Bin 0 -> 186 bytes .../game-strife/fonts/defsmallfont/0415.lmp | Bin 0 -> 143 bytes .../game-strife/fonts/defsmallfont/0416.lmp | Bin 0 -> 204 bytes .../game-strife/fonts/defsmallfont/0417.lmp | Bin 0 -> 133 bytes .../game-strife/fonts/defsmallfont/0418.lmp | Bin 0 -> 169 bytes .../game-strife/fonts/defsmallfont/0419.lmp | Bin 0 -> 175 bytes .../game-strife/fonts/defsmallfont/041A.lmp | Bin 0 -> 126 bytes .../game-strife/fonts/defsmallfont/041B.lmp | Bin 0 -> 143 bytes .../game-strife/fonts/defsmallfont/041C.lmp | Bin 0 -> 182 bytes .../game-strife/fonts/defsmallfont/041D.lmp | Bin 0 -> 108 bytes .../game-strife/fonts/defsmallfont/041E.lmp | Bin 0 -> 142 bytes .../game-strife/fonts/defsmallfont/041F.lmp | Bin 0 -> 148 bytes .../game-strife/fonts/defsmallfont/0420.lmp | Bin 0 -> 138 bytes .../game-strife/fonts/defsmallfont/0421.lmp | Bin 0 -> 150 bytes .../game-strife/fonts/defsmallfont/0422.lmp | Bin 0 -> 122 bytes .../game-strife/fonts/defsmallfont/0423.lmp | Bin 0 -> 142 bytes .../game-strife/fonts/defsmallfont/0424.lmp | Bin 0 -> 152 bytes .../game-strife/fonts/defsmallfont/0425.lmp | Bin 0 -> 127 bytes .../game-strife/fonts/defsmallfont/0426.lmp | Bin 0 -> 164 bytes .../game-strife/fonts/defsmallfont/0427.lmp | Bin 0 -> 139 bytes .../game-strife/fonts/defsmallfont/0428.lmp | Bin 0 -> 198 bytes .../game-strife/fonts/defsmallfont/0429.lmp | Bin 0 -> 213 bytes .../game-strife/fonts/defsmallfont/042A.lmp | Bin 0 -> 160 bytes .../game-strife/fonts/defsmallfont/042B.lmp | Bin 0 -> 188 bytes .../game-strife/fonts/defsmallfont/042C.lmp | Bin 0 -> 136 bytes .../game-strife/fonts/defsmallfont/042D.lmp | Bin 0 -> 146 bytes .../game-strife/fonts/defsmallfont/042E.lmp | Bin 0 -> 215 bytes .../game-strife/fonts/defsmallfont/042F.lmp | Bin 0 -> 150 bytes .../game-strife/fonts/defsmallfont/2014.lmp | Bin 0 -> 188 bytes .../game-strife/fonts/defsmallfont2/0410.lmp | Bin 0 -> 96 bytes .../game-strife/fonts/defsmallfont2/0411.lmp | Bin 0 -> 107 bytes .../game-strife/fonts/defsmallfont2/0412.lmp | Bin 0 -> 89 bytes .../game-strife/fonts/defsmallfont2/0413.lmp | Bin 0 -> 95 bytes .../game-strife/fonts/defsmallfont2/0414.lmp | Bin 0 -> 138 bytes .../game-strife/fonts/defsmallfont2/0415.lmp | Bin 0 -> 89 bytes .../game-strife/fonts/defsmallfont2/0416.lmp | Bin 0 -> 169 bytes .../game-strife/fonts/defsmallfont2/0417.lmp | Bin 0 -> 113 bytes .../game-strife/fonts/defsmallfont2/0418.lmp | Bin 0 -> 120 bytes .../game-strife/fonts/defsmallfont2/0419.lmp | Bin 0 -> 127 bytes .../game-strife/fonts/defsmallfont2/041A.lmp | Bin 0 -> 98 bytes .../game-strife/fonts/defsmallfont2/041B.lmp | Bin 0 -> 116 bytes .../game-strife/fonts/defsmallfont2/041C.lmp | Bin 0 -> 131 bytes .../game-strife/fonts/defsmallfont2/041D.lmp | Bin 0 -> 84 bytes .../game-strife/fonts/defsmallfont2/041E.lmp | Bin 0 -> 111 bytes .../game-strife/fonts/defsmallfont2/041F.lmp | Bin 0 -> 105 bytes .../game-strife/fonts/defsmallfont2/0420.lmp | Bin 0 -> 101 bytes .../game-strife/fonts/defsmallfont2/0421.lmp | Bin 0 -> 86 bytes .../game-strife/fonts/defsmallfont2/0422.lmp | Bin 0 -> 87 bytes .../game-strife/fonts/defsmallfont2/0423.lmp | Bin 0 -> 119 bytes .../game-strife/fonts/defsmallfont2/0424.lmp | Bin 0 -> 122 bytes .../game-strife/fonts/defsmallfont2/0425.lmp | Bin 0 -> 122 bytes .../game-strife/fonts/defsmallfont2/0426.lmp | Bin 0 -> 117 bytes .../game-strife/fonts/defsmallfont2/0427.lmp | Bin 0 -> 96 bytes .../game-strife/fonts/defsmallfont2/0428.lmp | Bin 0 -> 139 bytes .../game-strife/fonts/defsmallfont2/0429.lmp | Bin 0 -> 150 bytes .../game-strife/fonts/defsmallfont2/042A.lmp | Bin 0 -> 109 bytes .../game-strife/fonts/defsmallfont2/042B.lmp | Bin 0 -> 142 bytes .../game-strife/fonts/defsmallfont2/042C.lmp | Bin 0 -> 99 bytes .../game-strife/fonts/defsmallfont2/042D.lmp | Bin 0 -> 97 bytes .../game-strife/fonts/defsmallfont2/042E.lmp | Bin 0 -> 168 bytes .../game-strife/fonts/defsmallfont2/042F.lmp | Bin 0 -> 110 bytes 217 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0410.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0411.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0412.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0413.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0414.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0415.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0416.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0417.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0418.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0419.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041A.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041B.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041C.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041D.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041E.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041F.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0420.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0421.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0422.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0423.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0424.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0425.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0426.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0427.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0428.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0429.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042A.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042B.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042C.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042D.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042E.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042F.lmp rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/005C.lmp (100%) rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/005D.lmp (100%) rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/005E.lmp (100%) rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/005F.lmp (100%) create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/00AB.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/00BB.lmp rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/00C4.lmp (100%) rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/00C5.lmp (100%) rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/00D6.lmp (100%) rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/00DC.lmp (100%) rename wadsrc_extra/static/filter/{game-raven => game-heretic}/fonts/defsmallfont/00DF.lmp (100%) create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0401.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0410.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0411.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0412.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0413.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0414.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0415.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0416.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0417.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0418.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0419.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041A.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041B.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041C.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041D.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041E.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041F.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0420.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0421.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0422.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0423.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0424.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0425.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0426.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0427.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0428.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0429.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042A.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042B.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042C.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042D.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042E.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042F.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/2014.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/201C.lmp create mode 100644 wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/201E.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0410.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0411.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0412.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0413.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0414.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0415.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0416.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0417.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0418.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0419.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041A.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041B.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041C.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041D.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041E.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041F.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0420.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0421.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0422.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0423.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0424.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0425.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0426.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0427.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0428.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0429.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042A.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042B.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042C.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042D.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042E.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042F.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00AB.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00BB.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0401.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0410.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0411.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0412.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0413.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0414.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0415.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0416.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0417.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0418.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0419.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041A.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041B.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041C.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041D.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041E.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041F.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0420.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0421.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0422.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0423.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0424.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0425.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0426.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0427.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0428.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0429.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042A.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042B.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042C.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042D.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042E.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042F.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/2014.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201C.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201E.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/00AB.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/00BB.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0401.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0410.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0411.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0412.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0413.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0414.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0415.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0416.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0417.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0418.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0419.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041A.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041B.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041C.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041D.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041E.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041F.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0420.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0421.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0422.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0423.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0424.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0425.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0426.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0427.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0428.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0429.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/042A.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/042B.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/042C.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/042D.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/042E.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/042F.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/2014.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0410.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0411.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0412.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0413.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0414.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0415.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0416.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0417.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0418.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0419.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041A.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041B.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041C.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041D.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041E.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041F.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0420.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0421.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0422.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0423.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0424.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0425.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0426.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0427.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0428.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0429.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042A.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042B.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042C.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042D.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042E.lmp create mode 100644 wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042F.lmp diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0410.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0410.lmp new file mode 100644 index 0000000000000000000000000000000000000000..2ffcdb6b902a17dc800cb00b719908ebe44fdff0 GIT binary patch literal 256 zcmXwz%?-jZ3`Wz^Ru!S!aAydXUWs5<>XZ zGvkF^$&K8}gFMNLyvdiWWSVk@0V1_K0LXcqMXb0P?==h}j+Dk3__(o>g<()NZPKim zib9nV*riKKNp~rn*#qv8acgIyO>&II-mJ-m?R@3tQrtHq!VfhKY%98x2&Zxzb55=O KF=ydvf$1NLl9jjs literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0411.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0411.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bf333fc4b13d5d8c7afba5232f69fbf0ac9ca784 GIT binary patch literal 254 zcmXAj(G9{d3`Enk70}Xc*nkz7ff<;AA((RDXGRoui~Jj7GH#7BHZoJcQT^xkH*I|6PwXERlxh6QN7t5>iZ(lWCw6*RMRHzpc6 zM_Ja;n>jEwWK(U`umiL+Zw5$d J98==j{{iCrk=pKeP0$22P=FmDTLL8@q%cV&EIlh8Pdp{8A%t%` zqhG)k+`t`d-~pcC1suG=2gF3AS|T&ISVVS5neVQ(wy-jrtBOcxC?al{RMm7Uc=a7b zG*m{+Y@E literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0413.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0413.lmp new file mode 100644 index 0000000000000000000000000000000000000000..36ad9318778d128e71c13967a374e69cf2831c82 GIT binary patch literal 217 zcmXYq!41Md3JD4OGCBFK-^PeRgU=3gc6Jnmh06R(q6DM1ISO z`wSPj!VT{5fG51*4IlV|Y*clTA;MJ;TeDJQW-vMPY$vD ioN`)AHHHq2N)4o|M|GOIYSp)M4=ZDDMsnSHZutY{ae4&+ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0414.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0414.lmp new file mode 100644 index 0000000000000000000000000000000000000000..6bc728471a8d0b80165bcea1760217a8603c3792 GIT binary patch literal 317 zcmXYr-3`Jp41|-WAdyyT#Sm=34!rWt3T(g#tiT9tzy>@v{z+j4Hb8`PAkvq{=j+*{ z8=Z6SvctUx2XF)@a0VA}1vhX9Pw)aCu=dVvz!r3E&Z;SuxKtGp!n5s}MTLp2oTd_@ zNX~PHftgFwiBvN_LR38b%7nv~K*a?Uc-5xFg1~AzzFQX7EHkotiW4+wp&&~D(8wwUu>W4^OTM$rSEp) ze5Aq~0@+KcrIzUZf4y literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0416.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0416.lmp new file mode 100644 index 0000000000000000000000000000000000000000..494b23530eca33b1a6ca5ff0f315825a89af65b8 GIT binary patch literal 385 zcmZvY&20if428Y0%kq;wao|h=^gs{L01^!#Q2{;BLkh?_E#$EF^9(m?;EFW7StPPi z80oXdPh6R8R%A^!WKWKy7^niXfxB6f zl1TujL-z~7+$=JmlfwfF!o5$=u{ zyY7uD+cGDf3#9>KFg%aH6qvz5y;IydEk99hwQbYyi2mU0i(dP_-nswxL$1JjEBLdY E2Z0XSQvd(} literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0417.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0417.lmp new file mode 100644 index 0000000000000000000000000000000000000000..8f206672bfaecb85c91f62245d1a33e1647a6de8 GIT binary patch literal 234 zcmXYr+Y!Pb6hwgp$3)YM{}y2rc3~MdVGXw6C-(uV#hG}*_;KLwva^>tEFpyNcHz9j z4es!OC%oVdA6Owp5jjOw-Qplp&2lmmnUktJo@%W%CwH?6!L@~vAVW^Ix=-W&RtmOi zbJaYwhMq_{^6!_DkN9k}-m#diY-+O3pjX#511QKo0wg7ZQX3i%vdsz(kv3`X5nttr@dJssbyv&sJI83 zwf{5Bsw&&kFkAZsnNo*~G4~0Rc-nUE8PJYEFi5H5Qql$UCZ44~YFkAiInwcgHZu<| Lfh|TlTmG)=WC00&1WJYM=%>;7$qDz{Oge&sRj`Vhjm z9LXm*!v(HzgF8In2`_lV2ig@WrsS$!qiR+{FEZqT7>9A37G*RycQ>mUkLpB~X^6$+ zGFxk**O*sl<(HHqWZ1=_uz_GZo>rl!ole6xDD9b~D!XE+ypyhKLc-Y`YPu US5$?IbKbYy{cr2!fUSP`18%0D82|tP literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041B.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bb676ac532fe8f1bc87f8ce681f8af8abdb5527b GIT binary patch literal 250 zcmXAiyAi@L5JV+|&CjMLN2KI5KnFBHP6yOL4b&j%PI62Mgv^L{wq~AYccr^My1_a3 zt0VUb&TxS%+~5umc)|{R-|M_r&L#a5z{I$hEN;c zu#(L9&Wt3JZ6-!7Yu%7iQOTuDC6|f)OTwh8%~RtB8f~>o5Y+(m`=z8a32$L0&+^s~Os!3CNCXF%M$@|Dj zVw4JrNGWN7P_mhML2J-@$~zR3__|yOxgVH{-cOb&_hSgLT=OuB(CFM>_Umm*^tS&H nt4d{9Rr#zb6#*|8;6P`YvXgU?D06L=-HIeMBVUy|roKWShHJ(+ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041D.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..e887cff9450d9d6926ae965b7fdac870164adc09 GIT binary patch literal 288 zcmXwz%MHRX5JcCCazJt@fNE%f7N~(5sDT=CqzGErf9}-41<8yZVe47;YBbMBT8QY| z&NwgN3U1&I9$*De@B$3p-~$eY=mg5d?5eehNGsKB%go3vw@_`gh(x-(VY``OVwTab zz-?sQV?;&_HMB6Rs+glxgt^TV!d(EHG0&4Ko`0!(hJ^>byHpheRQ9z?5$S(`7?UB5 U2y~9Xn3T%gWkV^5)WR_T0J)T_KmY&$ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041E.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..cbd53e0dc809cd1e94659ed4a01fef128d0069ee GIT binary patch literal 260 zcmW-b-3`Jp420dLsnVcs#5)VH0VA*jGcW@yFanS9Px8P9EP#X*&WZFz@%hfqPCF6( z`VsdDoWTWL!42HO13bYCyuk;2!Lo{2HDT@{skU0HDT+CpHB(g^<#a&LU81HUoubFI zl!ON)Bq(}TO4%0lY$)cVU12sGG3GHp2Y6wbqUzY5=UP?!w8A-rEigAk<~$U9r1_SR Pd^qNMvBXkXa60_~&s&oc literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041F.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/041F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a137d9f9db096abf68bd22f7bfd80da4be70b740 GIT binary patch literal 298 zcmXw!Z4Cl342HYFKkjgV7Yv{Q4QN0E8cqQUkkGGf2GBr4a=h)1ZBMf{-Jb18GZB5) zGvWnY!42HO11#VPUO>Sce88a)odE5aU3DsEw$g0YdTXsB_U4|Iij5m4;?`5KLnT&J z+-tT(8!j8CTxA=~EA7o{dN?!Hk&W}J%?;Wf;c%^?JxOUbDeEf%vXsz@qHHK(K{5h{YJ zN~2nB!3EV#OhQ#oj7m~#_WR|L5aFLfs7)86jT*i6QZkUsw#CT|dUHe=tS{RlqloRm h(1eN2-QcvC=WHMFgNO+RWxEn#fyKM_9YwSq-4Ct5wygjF literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0421.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0421.lmp new file mode 100644 index 0000000000000000000000000000000000000000..ee9724f75752b9f475f0ef21d17f4f0077fa21f2 GIT binary patch literal 216 zcmXwy>kYy%420b#K`oDM_|F1tzzWR33e3O?jKBuSKD+5GNa4yu$`|D>_T5HyBJyf` z-Uo6dCvqkiawRu%ClB%@dF5W`DS(y+KBowGv(~RE!r?rW-4>`}s^$n+ZIXd$28Lqh t5gd`sjcPXX$3I2^BJgvTrH&5sRL8`crKK<*j2-)LYc~5!&Zkb7syFv;b#nj! literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0422.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0422.lmp new file mode 100644 index 0000000000000000000000000000000000000000..d4b5a366fe3865368bff3c07fc59792763aee4c3 GIT binary patch literal 214 zcmXAju?<2o5JOM=p9=my)YP<0zzod541WeDprxk!IiJHUNWm8@z3Adt=NxP?vu{7@ zJc+Zoh^x4XyI93TJjF}Ag%yBgt=$UQ0^8PYZjGM9L`JRq9pK(=i3m2OQ=f?8AP@lt l&_)K(J&g>*R$@y>1+F2hMWyM`d4S@pxFVKS!+@2QzF@H04fXr+NRdUHv(l{V=T_C>P0>R zM9$eG7{Gu9i#zn)IbLmVUNAuBIqDmo)>b!(i?d^ z-`Jn0GL=%U>xuIP&hQEs_<&FN0)ubZHKjbl5uV@~&hQ2oc!!~nm}j%K+mpD*l9zT2 z5_dC$wYgVa!mSeKwXV(1455k~1`(~Mx;BGZ%#_BSQmWdHmLhkZ$oApX6!rg8&?00S{O}0uoSw1q8Hrd)Ie>29mO+$u!y7w41{*gz)Vr z-e+ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0426.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0426.lmp new file mode 100644 index 0000000000000000000000000000000000000000..0777d13d07f29f7e6a153cda709f2d40c12f8fc8 GIT binary patch literal 298 zcmXAi!BGP-5Co+<^EsP3p1g^LCmE0eF*pXtz>^FJf%j@>S9T0!;Hsk~B(?HlxKK>x|oIgURUYbd(Uf6%5rKgdq{%uULK{M z5ekr6Ly1W0F+W-In literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0428.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0428.lmp new file mode 100644 index 0000000000000000000000000000000000000000..c6525098b07e5e8245c729320e8ca125e9729cb8 GIT binary patch literal 405 zcmZvXv2DXJ5JgGIm1K2+S4f!+vVvQe&ISgufdOxj89YPEY>-hiiA&en}pLxf74+l8H8=T=CKHw9+;2Tykgbh5x6FkEfUf>l@5WAGLlsOI} zQ?1peYK8AG=4@3&Sv)zTh*VQAkwsB88jKD$Ka~=vvsXc%`wpMxPmZM2cXVPF*Q(Xr zo6X%zY3^oNnz}+u6I$t_6g>G$Ei=V+N=sPI(pp-a``?RmA1rU;egpsG7}@jwM)J5e Mre8P?*EnM53#oqd<^TWy literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0429.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0429.lmp new file mode 100644 index 0000000000000000000000000000000000000000..5225c051b863f73d7236f9be5d10b02aaa57e0fc GIT binary patch literal 440 zcmZvXF;2rk5Jh)orE!dsijpf(as#eFOG$2k#0^qXQ&S?2KuJHlGqX8C&JZD)w_`vl z82fqc@7e!nFVi-q^flk}e1J#T!wbB@2YiCT5l%4Wl&;_!Zr~Q~UFgs5ZAK)kQIL8k`Q6*d@a55>?UXalohhlcOTzKqqE- zGHV{*Ea6^jcX!9qEfiY1(90I3;>llXnJG^qOIRt|TY6mh{}&fNSf0iG1pdV_a^(Gv e6mfk_=XjeeB6HrHWh$pd8&||?;cd+TUHJxaA_wXK literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042A.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042A.lmp new file mode 100644 index 0000000000000000000000000000000000000000..852b17a2dcc83666cb80aa71b532c7d70bc9bbb1 GIT binary patch literal 258 zcmXYru@S;B3`HFhlH3t86BQ*bE3gAQumdwN0TWQjmYj+O7=VT|PX^yTS^rzIG>18a z@F_du9u9DX6P)1!SGd6)9`J-0yrF4gjHPK+&F{|4vL}<`ESY1PFv2XNJQ_CPXT_*X z)rP76D$AM@-H!jX6=6h7UJ%{s+mvXVR`tDSbarLFK;O9%*|Z{6kM!_+-EJ6Mm?e=i JuE~|k@&y5flFa}B literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042B.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..3af92647e3921c85297d707e6eec8cdf9911f48b GIT binary patch literal 367 zcmYL^&20if3`S>n`IBJDAr+*C)Q}F4IHZDz8mJ*Xqy{RW0wj;^Sx#wy0yv=Ic{frl zy^%l9XUl#~+mzCy?sz}p07v+SA2`7oF7OLCxI@>Z^a5}24j-_GFKAm4)!MGjhM^E{ znsaUXoSiU>XR6>BrBgFJX)EHzRLv|H+e9*$Gm)2zk@f#?ElP4g*(ATQk74xRwbBrSz>Q z_A|MVE4h(7d5|Z0kvI8}jpQt1R`Up~>%wxFYTX@GodrbuZ|G>!xdT0E7V!mU0D=}1 tQI>^4W78Eg#-`lvT>+L*?s40P5*Z60g&vsUcZBHs5bh>YhXZHOS$~x9gfRdB literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042D.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..32668b119d2615e570d74563bcb2d212286f35ad GIT binary patch literal 258 zcmX|)%MAiC5JR*1AcB^DI8g*mPz7C322Icc^UdC9fIAXWZ~zhMMPtX#%wZcsc=a9b zJve|PIDs>`fGfCxJ9vO6h!ZpSDKWchiK@&sntePGcP~(?HMKU(kP(C~(cP>jyotaS zX(m!)YseyFP(PcfpsYkS6DhhqtW_5$9Y6lV(`>f5H`h@n>Tv_3VGCA3CX_ILMP4b6 K48LF-Gln;L431&| literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042E.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..5259b879dc78e52cdd2151013a6d336c7d7933ef GIT binary patch literal 392 zcmXYsu~Ee^42B&ie)mY=RkX~&3XDKW#~l;E0u;=^4$MGFPbW*VnSc>!IP)oo@4h7Z z{p*)}FMr~f9A%CSa^RFQF*%^DNRLDicpean%g)|yA` zyt;QL5E*6OxC@s?rjDsZn~9w9frMo$(W@fs!d)yf6_4mpV(Y!F);)il@kVZ8jmX_{ hW95+#ICo*4Ywfhm>#nd!k15MB!pV)I6n;xN;}3oL;|~A; literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042F.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/042F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..15f2155dadf782545e655397ac4b62d4d27fef33 GIT binary patch literal 270 zcmYL@$qfQA3`L#EXpmsi5hpsJ23nv7dY}Y~pau@{7H+h_8Oi(%0xUht>$eLPB6`IZ zeh2p80FK}U&fo&B;07Mx334Ku6EjC1RlTWh1`*X5CJ{F?)phO#jWjbma(5MTk)Xni zfLZ&T)EYF3G-IA76fp)_%Ggj{p=0{Z%~lYF*5@=8-12sB&D8WS?cP5C%XKWEjkqhz P@(%v~S)^2Jox6)S;iH+n literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005C.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005C.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005C.lmp rename to wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005C.lmp diff --git a/wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005D.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005D.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005D.lmp rename to wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005D.lmp diff --git a/wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005E.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005E.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005E.lmp rename to wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005E.lmp diff --git a/wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005F.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005F.lmp similarity index 100% rename from wadsrc_extra/static/filter/game-raven/fonts/defsmallfont/005F.lmp rename to wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/005F.lmp diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/00AB.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/00AB.lmp new file mode 100644 index 0000000000000000000000000000000000000000..d91f95bbed922b6e306419c05ca848e9234891d2 GIT binary patch literal 112 zcmW-Xu?>JQ5CfkC%R8irB2iINGXMjy0sF7ObD=oa5ezF`vPcZJlLj6h^7=aDLi-4FUiF literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/00BB.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/00BB.lmp new file mode 100644 index 0000000000000000000000000000000000000000..dde0867e4dd9f9d8ba6a27e0597c40fed70f260a GIT binary patch literal 112 zcmW-X!3}^w2n0FK4L#iFVqyb!U;!53+o%1%#X-oh3v5`J*_#`4hXYQy;D!gxRpmjY cb!kdVNv+(p($eoImUlKq3=N!$wqc^ zkds{GCY=WacwBFDszpTr3TjT{_^Ck(GLk7_KGV-4mK5FD|6NH)pBEu|5JVTuu%eGF3kg|P+LWm|Kn}nS=;=8Cw~l#4M60(m`yI^9>|0;tH_Y&X z1yK3~h%8}Xu>lLP01L1H3rGREd$sCp{up7t;qe%zH#f6So!JXk zY}oO_8wXC9ON`vT8Y`xF4iZ_4Jm!4$WR3XuMbn+#QwbIN<{_mViSxGO-|t7)5b77I CLJ`CO literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0413.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0413.lmp new file mode 100644 index 0000000000000000000000000000000000000000..2db9bdd386060ff27dc368d8bdee9e00a8b169b1 GIT binary patch literal 120 zcmXYnI|_g>5Cs?H@jO5XX@b~!01w~+JbV_DHQSU(X$Wm0Y1P7_yF&I+nS0VX4!;nwl$jBohQv%EMgU# z*u^1EaS2xg1abvn9FjJZ9AfbP-N}TA@c9u^^v;I6T CG7-uE literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0416.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0416.lmp new file mode 100644 index 0000000000000000000000000000000000000000..fc520b5b19361f4f8a8f963989aba597fc3b027a GIT binary patch literal 196 zcmXAi!3hE}5JeMqKmQ^KLl`8m1iSEV2V20NJzIbUc=l`oc3^YHKiRvia^QhlJdbF0Gz f+=?BCK|<>8y2VuNDuxof;u{0z{pvZZhlu_MYB3ly literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0417.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0417.lmp new file mode 100644 index 0000000000000000000000000000000000000000..35ffaa7df7ebe74fc2518dab6e9c5a693b2be7bc GIT binary patch literal 138 zcmXYp(FuS+3`2XTCH@_Vlycy||IXk54&VR|;J2Gwb7IR2p$!=XBJ#vSUCBmva*&f; v4fg%z@ mB4V;oHY>a3scfQc@F?@Mc|M7x%<9x>;*-D57Phu literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041B.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..6448b522859b71e19e4a010a01e8876bcaa7f3a8 GIT binary patch literal 137 zcmXYnF$#b%5Ckv6xmXDz5`+}#t*q_st?hk)5Af&430TbDvNxT{%-*t)D{QdC0ViB= v!vh}Ny)=X?(LyWDDMhJR>z>mbS&etbsH2os^HGGfEXtRY~9sMca@sg~?R{=32D+sW&vi@fP67sSVVj}G9U^b8? k#19r{2g*o*l!3*O*|Jiy@`_OPQa}wNKsAi4AoU;<0qi0V%m4rY literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041E.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/041E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a240e32e90849f7efe30eb663cf8f25d2f7865dc GIT binary patch literal 144 zcmXYpO9}!p5JcO=qHz@nA%uXq9&qW}19$*$-~l{<>$&x0-UJt~yP!T7b2HndfCm{#3Y%zP2sEB;Fkvkl4!UZ=x q@WS9Y1ru`3DTdZnWAMwYYBD+(tA#>My<(S~a_P%D^w{lReP}<{{}09h literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0420.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0420.lmp new file mode 100644 index 0000000000000000000000000000000000000000..6052e03f892ed4256bee13f983ba0d026b5ebfe3 GIT binary patch literal 152 zcmd;N;9y{2`1fB2NLm818xRKraXb*`0dW-&w*m14AZFlTWo2iD;Qt_wqP(nxmAEJ&OYs8&n_q?w7C I9c0CS06dQpKL7v# literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0421.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0421.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a1347eb8012703f58fce197f6d24bc633d2f7fa7 GIT binary patch literal 152 zcmXYqI}U>|5JWfN(TWyXR)l0BdP-^zkOSlf+<*h5&Y@$T9g4Rz`yb5B>{nLe20Ogq z4F{a?fiHBusU90;D8B zTy}PLWqDRv5q5SUo0U~wQC@@}C=S*j1=au*Rg@Bwm4&L76=LNVgBk>+K?Z>}AX&ix E0DkQe>i_@% literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0426.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0426.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a395fc8ef1a718eb51bec491ae4f3c913652e4b7 GIT binary patch literal 144 zcmXYpK?;LF3`L{x8(kHO$Pkb)`>uO{9-#Z~dw^cR19<69pJ>PnkMNVx1~dD$JM#fg zc)=S!@P!pN=yX;ych9n9k#H%dxdh%_NVwAdP-!_6S!)Js8@P-z#k^-YrEgbUJwLtu E0o)Z53;+NC literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0427.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0427.lmp new file mode 100644 index 0000000000000000000000000000000000000000..62c603421fa6aa4f859691423d23570a0b99d5b2 GIT binary patch literal 119 zcmXYnF$#b%5Ckt0SsxIB2oloSrM0%T_5nV?|98eY@L-O)+nr2i_V$h4V21-vxZs8d j!Z0%3qO>k9T(!7`h!z)bROlu?l~}^1l;@oO1`+lFR>Thy literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0428.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0428.lmp new file mode 100644 index 0000000000000000000000000000000000000000..dad0cc925b0c9e38abb2fe355152df9b416ceb91 GIT binary patch literal 160 zcmXYqF$#b%3`Nr+1{|eB2n6X3oIQXCaCdii_W&Ni<63`83$Ofymt-U%qOUIaSFnK{ z9N+{OxWNNnkhs4}!d%=`nUO_`X?El^G{Z#@MY<7P%~Qx-nA;q)o0~z7eGVmZyMmhQ E4=HmLJpcdz literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0429.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0429.lmp new file mode 100644 index 0000000000000000000000000000000000000000..54134a5d6de13260465bbfc86f962f1687989d74 GIT binary patch literal 174 zcmXwyK?=e^3`H|Snu3c$DKZ3t^bW3j01x24`|i8<0A9cYcuU7OqXu61`Fwtk(u>Hu zT-Xa-;RY*gu)`f5@Prp6tz)W1SaW#JW@xk7^Az~0YmvXKiRPN+Y5d9-IR84r!@YL& TszJn09Eozij00K^v|ITAcPp{_9!6RbBLDyZ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042B.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b3b73944ee4e56d09b91b0f62049e11c3a7549c6 GIT binary patch literal 178 zcmd;PU}s=p`1jugNIC$q4-iKHaWW9+0dXY|Hvw@U5YGbQWkAfp&dLfzAp9T1R+N{O z5QDPCB*a8SfNVxKR#sUsf-~9K!Avn(Ss|bTCKgs!F@C5nkZC{wHceJaRtjdCh!DS! MI#3_T7AW`+0I)w6FaQ7m literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042C.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..d723760fabe836a9102fd8afa162998eebc772ca GIT binary patch literal 125 zcmd;JU}s=p`1fA}NSXk#0}%TFaX1hs0dX!6mjN*YJ1Z*?f$)D2TTxzCLJZ0llMoXT l0kRp{SXpJk2+m|@2Q$TFWrctWm{?d@#rS~?W+rx!K>&(!4~YN( literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042D.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..5d85497888f174603a30fc8d52ead25e5512eb00 GIT binary patch literal 129 zcmYL>!3lsc5CkvEvc5x*BM|)hw*U*U01L1H-!^YtCE&pg8cJueCxJUH?WQs}F_0%8K2e0oBi2wiq literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042E.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b685b3fde02e52dc4c441c04e9047b64cd7d6fbc GIT binary patch literal 176 zcmd;PU}s=p`1jugNIC$q4-iKHaS9OU0dW-&w*m1aAf5-rD}b1RofQN?TBYLYhDp6Ei#5J^+K47E1sC literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042F.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/042F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a954e2a5923f795d96cdfbe893227e14c4b41f58 GIT binary patch literal 132 zcmXwxu?>JQ3xD?Hisg zb=1>9BTY2ZLMv^w(?KU)Bo2V8e_O{^zp9pDTY&-y@4u?%VOxPL-doeSt^CnHv^pC+ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/201C.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/201C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..0317cfd0a011a6ab60228e93e1aae5a0748774f4 GIT binary patch literal 105 zcmXZSArgQ<3`5btZl*XKgU5hFVsSVmmiylTwfr3rugx^=lqEf7X0F(<o@$_6On!AWi^cMrKwJ_|L$?%Bn2I&i)@Hzz?FCz~YQd S?CdaUSs()>tqG-Bfyw~I+Y7S* literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0410.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0410.lmp new file mode 100644 index 0000000000000000000000000000000000000000..02de944a24fe170c2bfde90f93fe7aff88a61053 GIT binary patch literal 256 zcmXwz+YQ1n3`Nt@Ru!S!@Xrt|!4fRN5Fxg%EQfDqUO95Aq~$@*!Wcl4;5r28h(|03hda7O~=Hyw@;@I8qvC;N`|j7KTC9v`MpK zDhgFfV3#f_CEcZPW)HYW#;u)+Hpwv-d$T4Nw)2&nOL5Phu1F5)U~;w~QICEnsAz9LSf7cY8Gv)Ua2x16(?Dp11$wBFS#SPf~JS(XZ#*|{4N zjhv$_Yv|1!7$RB998HOwrpRs4)N4xn+iN~K9264JjFf5@-R1T=qaCuTwrbb`+L<>4 Kq%@8xaqa(ret0JU literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0412.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0412.lmp new file mode 100644 index 0000000000000000000000000000000000000000..8306ce47064e920e447a6cee07a0560f9432dff4 GIT binary patch literal 260 zcmX|)-3dZ542AoH`fz*qaR66v24`>vm+&d1A%xrqXK)5ra0C(RX$uCv(43s+l(2>n zzU_#90%vdmS8xM&@BmNn0&nmEF%hYj$jmJkkFOA8UhJ_3o_ IVK--LKb<~)>;M1& literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0413.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0413.lmp new file mode 100644 index 0000000000000000000000000000000000000000..102a117953d6ca74c21aa5cfb2d65e269a45dabb GIT binary patch literal 217 zcmXYq!3_d23_nuODZ)ffd(~8PYr(XYr>*WdEM}f#)>MZRL!}#Ln}aew ha?){cq6{4pnVLvvk4UXUdG;O5Len^^lH9hD>wj%UWsm>> literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0414.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0414.lmp new file mode 100644 index 0000000000000000000000000000000000000000..2a11c2bd86394a785ca656e3f01ba032243679ba GIT binary patch literal 317 zcmXYr!41MN3`LWsAdyyT#Sm=34qUmj0vj*_D{!r1%UCIAHedx-U;{+>4n%rs{Qdjw z(T&czciG|Ig9A8%6F7qlxPm))fG2o?4_JHWHed_7HfPn8N?fXn2;tfG%%Z}?R!&n1 zQ6%R%!@$g?=|rj-A0a9per3X8OQ7O{3A}1kVnN`)jsXtyTbn3`-#FjHrg^?)g$#Sm rtFthGtDrjDN;b6$gC%fXv4&ttKOhFb+aa?-Ydng$fMA`{h1xA&@Vc2@ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0415.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0415.lmp new file mode 100644 index 0000000000000000000000000000000000000000..754a65dc0cbe6cb6c7762693ad2bd3178be42cc6 GIT binary patch literal 228 zcmXYq(G9{d3`El;r41F^@XY{BzzFQX77S7OEX!)YS%D2$1*x1XBE8r?+vh2rQcBP2Jed#jF+)%17>bs0X(9qpi-fhSdExS``6km^1jski&n>x}QluippkW literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0416.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0416.lmp new file mode 100644 index 0000000000000000000000000000000000000000..4070b046373984e4f5b7de8830f3ee758f106ed4 GIT binary patch literal 385 zcmZvY-KhdW42840d;PiYlMg;yfIZlQHXzu5a4WC}TUe4q7)J2f7OcS3?Xvm_;x z0F3+YM}WCmWIih0qi3PYLNFUvRG_L!ei&n5`5?cdmihy;5T5sv6`@s&32=;Xcf{Cs zuT|NWIq_U5H4ua0dHkio3=Zn8;?8OLiE5)wlink`gR?Js?fUx9{nrn<0_&{cV?Pf& CzqD=u literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0417.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0417.lmp new file mode 100644 index 0000000000000000000000000000000000000000..c06bf6134c38905e884f7f86766808436a1dc968 GIT binary patch literal 234 zcmXYr(G9{d3`CQ(LA20a_-6=~U<<}zhsd_9DE(yxHeeQ{@*45+65r)?&K#By!gsrH zUf~9Jc)$|`Uhswwq$nb%sH$5WM5ZPq&$vz2WPVLcYl?kk0Rrz?GF#%OGE+vU*zaL6Ls^$%`; BYdHV_ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0418.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0418.lmp new file mode 100644 index 0000000000000000000000000000000000000000..83c0424dd2480b3cd6f6b1659bbe72df1e7295d2 GIT binary patch literal 276 zcmXwz%MAiC3`8C6EiBZ;kq&5q8mNI9I9j%4S>6LBPy;nk14zqwBNDwh{$wTx+7r=t zJ>oopGq`{&xPd!h@BmNn0&nmEb0caKv#YMHn=P3cO9oP!MIzlS+^zbwH%lb7%uECo z_dv7ue}-9AWm_6%Yo8!f>TogUK4B71+s-`$+7So_DOFrbx?tYKv-C%8t0*K#IzG^5 O=HVr<#Yl&XApQWBp@?Mw literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0419.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0419.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a46915f32e500b42e2aa69c002679f3026671362 GIT binary patch literal 300 zcmXAj(G5Z&3`HTlFBN0r3J&6@8@PfqID=c5G_+|NbPAVn21j@v-h&(pZMnDmbVw=9 z^O^GkSGd6)9`J-WeBcW|$T_7WoM0*OEv2}#xk?k z$hZf^vDcoQRkc(RLR*%G*_?`dcdrFWloAn%VQeCm;!w+(57U;;z%zniSg3LtmIIN+ c6s=_ta?2Qs%i6LIHtj@K`^F@Es#rDR9}l3B=Kufz literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041A.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041A.lmp new file mode 100644 index 0000000000000000000000000000000000000000..caa995e1bcf251cf929cd1e76d1319203cd82474 GIT binary patch literal 274 zcmXYr+YQ1n3`Ij*%A@K=Ou!7xzzod52K+>}WkqSfnSmvkfj^{hQflc~_Vsn*F^nOE zZ#j|AaDgk_;0_OPc)|L-U^iji?qgIwV2Icvn(ca# UdPP;ZIHg0!-T$^uj@aslKd6m^b^rhX literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041B.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..e3488d6553b2e40f212e1a34139ffb902bfa4f70 GIT binary patch literal 250 zcmXAi%MHRX5Jc@j!Y`pFPF%Uu03FZ(cRJu|*{hXtN}vW>pahOc=51o>Su}QS(|iq*PRLDPzfHWdEEnscQ4oxPeAnZCF%&AEWSLdRNMuT?o|1 K>EL@G==uYI1b0IK literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041C.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..5e681a7770b3201814d55c2fa5ceb17e0ecdc09a GIT binary patch literal 337 zcmYk0!3_c-5Jh3vy}24&um)T3W&^fh4c1@}UI#0!5d~+TVuAcgFSS;b1{U`ib(F3B9m&;l%}LHW;=Qx zIZ2FCArUDhEf7jJD_+nVw4U+~#U#Ei7eekAOhxZUOO*Q|gjlY5F^JIU++X(VZA$dE p{}8K6Wmr}DtSJ=%FBsrJXPL62bCM`?ZI<1VBs3#ml{%)rLLVTbqzV84 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041D.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..4f1c7fdd9a054bacf74cc17225ceba9593cd5f26 GIT binary patch literal 288 zcmXwz(FsB^3`J8O??Y%Ez-e5-6`a8toWU7F5<Fejxl57|@-BDFBgKe}~|X8-^I literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041E.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a34f0ba08aae14829b166b5cd9e416814549c754 GIT binary patch literal 260 zcmW-b(G9{d3`E_gL2Xbs;-3ZBfDzb%8JHllEi1}DBQOISumBQLI6Kmd;`5!IopvJn zjT7!OxPU9Tfjf8r1yAq-Z}0(MupC6JnJ|yEs`l2JDT=w6byHP~ayp{tE>TmFLD^$k z>xu^?Bq)1UYTXv}EEMz6t}vTLj5+3)1TQR8R*mgtZcTMe2RK965_3mnE}`Hf-M6IG Ohhwf6ORkj#XV4$nOnL19 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041F.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/041F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..796c87220f4452f0d3758c9ec68f7eabaab624a7 GIT binary patch literal 298 zcmXw!(G3D242Dbe%{w=67Z-2_XK)5*aE0174dEV~z!{vu8B9#@Z#jXlp-tg~J2Xm*bSxpaTraH25UbVSFyM#EcQK{onw1h(>Q<(qn5E+iAI5GuOFa=w1i5x46(hD0f0y8iJ2Na%*m1o6Yj=!^Y zqjT}PNitEm{d_kQc0>gB`t|i z5mZ$g)oKeasBUBus&Zmfl3KIh&5wi#{}e)Px)^QL;H{UEfm}8%PG+z$M}*$`vMn-* k*bWR$nAqGkPP2K=_5t6Em|#%0OA!{Bz3ZZ*h_<8q0V(R1ZU6uP literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0421.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0421.lmp new file mode 100644 index 0000000000000000000000000000000000000000..79cd7ca15afdb401daed6d4fb2633a86eaa0289c GIT binary patch literal 215 zcmXwy*$o0Q3`CPnf;Jr8@J|DDKnv7B3)H}m<*}@2mlEiJevrZ}hm>b|Cbnl2b|HjU z-?JXbk(|hxT*#H&$eldMljN1zG&cu&8re2?Gu1w|!= literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0423.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0423.lmp new file mode 100644 index 0000000000000000000000000000000000000000..85b3bdb279e8bdafeb012ac69933da3930178e12 GIT binary patch literal 232 zcmXYq(G9{d3`89ew6y)`Fbu#BEWs8m!2kp}tb!D-6;fVgpU=M0W;6S? zv;K>?ikrBLhj9oB DhzM_G literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0424.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0424.lmp new file mode 100644 index 0000000000000000000000000000000000000000..fbd50a9d8cfe1453613852239096e69b972e6e1a GIT binary patch literal 416 zcmY+9%S{9^42CnW)$YKFxl_h=KnE*vqJixI(ZM#rjicpQ*2q%Jo01Ft2rOc4i1wY6HPy8l%wncA_LNf9cC-|^=|r|icPW^IPr}2U zZJ~LYRGs2q82{3*Oes$bzftX9J^gT%OWpMDDc20qEfEo1Z2i&&T5Q%DR=;i9oW>c3 ihm;ODuQ`7Xyp7Me?r7RkHPeJ9-Ch~`$LP>=NC#i)IL=i7 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0425.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0425.lmp new file mode 100644 index 0000000000000000000000000000000000000000..1e48b4d2a3fbd30cc42b7609fe4f1fa3031c9b19 GIT binary patch literal 249 zcmW-a(Fp=E5JYn^C!C4>Sb!baf<4%RC0IeoF2l0thb`EHC0K(HCl`2uc|$TK9771d ze&T&57jh*xawiYc$cwzmhkVHtMQSaRi1d(DpVC^6fNBr3*%Qo%9k33ucVD3pSrXuA zt%qXfR8V)!`mzgl$O literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0426.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0426.lmp new file mode 100644 index 0000000000000000000000000000000000000000..9c2225658a6e13e54825beabd8c69a46992cc1f2 GIT binary patch literal 298 zcmXAi!EFN}5Jf@jT-LERN1t6wj_JTHq=wXx8gdvhU!xH|ri9dx8r*@U&4U0Bn9uP4 zR$fXekNuVX4X*GGAMgoZAozwK_=P(hYAI*9KwZqjeXpx@>%Hf#CuMnVEqh3U@m@|+ z&j-~`U#01P2>gyLhuBXk4Vuck4jJ%M&K7 H3^nHuihOuy literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0428.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0428.lmp new file mode 100644 index 0000000000000000000000000000000000000000..c944d9286b76c6b203664055243616c64e805cbe GIT binary patch literal 405 zcmZvXy=?%-%83>6W2)T2a4YERJaBbl7i5EL5 zOx<_Fy`$cvp3^d=bRBoRU*Q1n@Bsp6_=GR`h6_C9lveNpYuLaR_V5Nr$b*R0I_A0R zskP>(=9TZXEXA9uv3N>BQEhHfs*_^oG&mh>aY}^KC90y2vjLy(PmYSr20Agz3$y0o z%@*#pc6WCy-9n+I3%zVoDxUnMrkV0WWC|-qdrOZC|3`7*gXO=t-@tnuBS+qCq=@Td M#)b3zFOJyp2TX{`6#xJL literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0429.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0429.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b06c17ea43aaee80772e077942f0829718cf1646 GIT binary patch literal 440 zcmZvXF;2rk5Jh)o(KwDmMadOX<_5V!+LUkuByK=SO+DHjjYgXrq~r!%fioZ^^L7j< zMaF(!`+N5P*}HU`Qu>~cJRjf*Uf>NJ&hQQ&@Cjcq<&^GW3p?1u0UqHQUO}Ki9z?9x zIj>Yttu;S2uY9LJo!s4Gv!HS2`fc=OOFfxYjNR&xS5E^vh#+~EOFc)=T*CdOErR@MCO%q)8{DbA8PrU@g=BFdv-6Mj~V zx>RkL`meIADbeltPg@a2#N-9hoxV+pwrN%0dq!th<_q+lE0IkrQuRm=zt`=C!G&28 KDdU=4sVrZCCVAcf literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042B.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..ad857bb1b1d9cffc0852d0099d235f884f2bfb8a GIT binary patch literal 367 zcmYL^&1nNc3`S>n;~#L=KDdI^;2PXPAcs^CQiE%74?c*I5W^Z$fh%wcZomcP5GGH% z1`FPxPxDDg+q6z8{ndBgPxyud9N`2%aDgk_;10jgH7RZ24R)}H5BP$%6;ZA2%4`@4 z;ifs)rq9_4vv{Toj!`-_!;{t`UQE@@g0W2`6B>pbm3gO1+iN@i&pWdc%02#GLW!(8 z28CYI!*mO=ScGs_k-D6b8_qhd+c!eq^t7=voX^9+71P!XFfHz7ti%^m=MO(}ib ziTzA2MS7Ie?v!?&K>AUtB6;a0SJ0b uL|GOFjm=QZ7+Z3`4+W^9+~c+nB{CO23OzBy?+7uDA>2)*O$W}Pv;6?3M{Rll literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042D.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..839bd6177c636ec3a7e0b8698911b2ce973cc2a4 GIT binary patch literal 258 zcmX|);R!-9421jISF!Tk$6pTN5>DY3&JdCiLL9*r+`t9=F9`LjV&N;f>s_;?ZA$6Y zcewZ90FK}U&cMJG+`t_?z!T(&nfp|jUA1Oa=9bMqo`}0wDAiUXhM8srp=)+GYXxs2 za7DsIYK}k_8H4)SL=|NvYBQ0d+tXV0;-urpe|TEVF7Dwv%0xYHU<9^c1!O@9^H_qI~@{B6SPxtTRQ jcT0_xM_O?1!a9}GX_?ktVUg}r=7Wcm>qXA|R^^O8qjS5a literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042F.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/042F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..fe9c4a19f7f31b8cb4cb9951e98c0332f1f88df4 GIT binary patch literal 270 zcmYL@+X(_e3`H|L%P#0nM}FCXHQ0hR*nUkE-5Ow}Xgk43mhPnd&C@f<{`H9l5)Txkyl9 zM!>9nPHGJrMVc{B6N(svEM;t{&ghtabF&$u(E6OFf?M9Mt(ltsrQQ1nV7-n7v=Mh@ QS>M6mKZ}%VtxI?D1{tV-3IG5A literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00AB.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00AB.lmp new file mode 100644 index 0000000000000000000000000000000000000000..f61074ffeeafa5e4f39292f95cb0f35e550a2d6f GIT binary patch literal 112 zcmW-Xu?>JQ5CfkC%S%K`3Mxu!24Da-VE+|(E)-{)GSa*iB~k9yjs=D{QdC z9Ukz67aX!A_mNIg?^kIUgI+GB{WMi|>g>+`h@s5(%s3RtglxV2%_VAlFEH|(;Q9kO CDH3P^ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0411.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0411.lmp new file mode 100644 index 0000000000000000000000000000000000000000..fafa685af34fe425733f46c1afd685757f173392 GIT binary patch literal 158 zcmXZU!41MN5ClLw2^;&11a_}m{Aqv&Xn+Q&fD+QMSr8}9<8F1ELk{1$$W?A~ zmxny%C2!eeoJi2U4~A55GlstYAq=31D1__D?DdG@ysVk5Cg!Kki2woe;2^ZPQCyNpa2RWBqXH&0PrJ%S$o|_M#Opjd?%Z2vDG%) o?XXA*?1{`Pk{rjOHNYMC*77NmyEH)JfA7dfI)VEBnh#jQ{`u literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0414.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0414.lmp new file mode 100644 index 0000000000000000000000000000000000000000..faac470b0c7e4c804ab674fbbe764c94b382c446 GIT binary patch literal 163 zcmWm5yA1*{5CqVL(~T`cBxL(!*=Q#sBP6E)8lV6QpaB}70eU?%7rfPeW)Bw4Y#mqC zo809gPkG5(KJt~H%#%CZ$6ke=QwU=h+|Rw`3otB_y)LC}8PlNxsHA$bX{lKu_uiJg XFh&hPN~e<3_Mr<1FGt1Z380pLRcaVb literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0415.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0415.lmp new file mode 100644 index 0000000000000000000000000000000000000000..76977e17dc4029d326f290bac2139129d16f59d7 GIT binary patch literal 148 zcmXwy!3}^g3P@&r$}UPqFJ>O=cv-&ri@szM02Qe?CV<`K~702G6PYRBv!VaY!uQge>f^Gr<`1 z9Vh0QE_9_E-RVJ3deNIU`jEA%>Sqk&R6DRZU@tOE0M;(8#yG48%3AoydJ(Mx@Lsj` pLvM36h}4wRk$cw1sD%TbR7BvGcX`ND zUh|&xi@SCpy!&;2R`;##(vF|l`Wm{Y0<0R0JX_93 F?H}N$6Wjm* literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0418.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0418.lmp new file mode 100644 index 0000000000000000000000000000000000000000..425e0b6098880f3bd2816c41bd35fccc5fc6f273 GIT binary patch literal 130 zcmXxcu?c`c5Jb@xWX=ZU^pI2L5>s;vumE!lumHPv9R-88!SLC}f|=bu>n^g&Cc7MR v$|Y4@3JAD?%qb6~TL4lUyZp|9L?M#)N(qs_TJt#hH2!&PW3T*8Kz*b?g3A-j literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0419.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0419.lmp new file mode 100644 index 0000000000000000000000000000000000000000..4e4cf9e537942a4666cfeccb8485b16462b8c0b9 GIT binary patch literal 133 zcmWm6!3~2z3`9{ciUyw}p-on3LE}rVxl;fQq=6Jb0W@!h!?S$&8aFqy%#ZF@HreGT ze>voo;Sm7>SwQyIXEMte(Wd%Z^qT`6LCk8*$tQ_UcU9!F=6Y9U1X`WyThX8)P@~KX D!Nn9h literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041A.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041A.lmp new file mode 100644 index 0000000000000000000000000000000000000000..d818ea6e888ed2161da152918a864871f7b456f3 GIT binary patch literal 138 zcmXZU!41Md5Cgys7kqgmp*x}|MBYydpnw#>pEm{20kyOEqC940tt=0g&FmMe?n5?t z%1hqzk*`=L!9f_7-Ir;sWzS@}-Y%5ZxKLFXK^&n&;Yba@VgG5g>b8s?%`a3#ZAU)CK;+^6%$;2kLw|pM00HM96Qy D1{)M$ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041C.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..1eafc124ada9cd8c108958b81fb3d474f9ccc948 GIT binary patch literal 142 zcmW-ZJqiLb5QS%zonR}3ge7F*r4pJA5QX8R;BWzh5(DO4qpbrtfVH&)IDq4eFT~;_FPA@b5=7*!3*U`)I_RW} vZhFXhKw&_Y0F<1DXvVFY#@Mf_wG|0%DbE^0Yx9)L{I?V1$UmGngLYgWM(Yx) literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041E.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..5162a1aeea7a0e73cf6438fec49a09609930702e GIT binary patch literal 144 zcmXYpu?<2o3`9-B*U5DhMTsJ4Q&3Vf00XcA126zJTa*8YD4u<`@9ZWs`_2pX3OBgJ z1D^1LH+&#ON$&HoN#|arX)IbvBQ5RTne$KMY|@cd{x&aa01yHa!D~vWp@wL(0A_HKn9{D03!ZX^_*gwOAY9798{NobTWTk&JxW4 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0420.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0420.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b757ad836b4b10d1be737bad8a30f562b97b5c36 GIT binary patch literal 152 zcmXAi%ME}q3`0{sGC3nu6`_^^SbzmsfC1Qm0T_TY6H}aWc!?b+ib^LUZ(dkevXPw} z?{+4J4ppo6MGov1-v%Ows191%kKZs#bfE EKV9Dv+5i9m literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0421.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0421.lmp new file mode 100644 index 0000000000000000000000000000000000000000..4c4572395ec1e21ddd517750a7e07bcef35deb72 GIT binary patch literal 152 zcmXYq%MpVx3`7NSW=92NJkBtN0yuJ}fE17p=zsz^Q*_L;!{KT5Tggpk_A4`SffYXR zg$;H%;Dr7mxm3ERH0C#%Nt#kjvE}ZWy7k#a12WVRn*L>WZ>~5fkN2&Ys=x0rhZ+jM EE@e*<_5c6? literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0422.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0422.lmp new file mode 100644 index 0000000000000000000000000000000000000000..74b9733b77b75281c180c6e8395fd1077bb2df04 GIT binary patch literal 130 zcmW;E%ME}q3^{4r=@_75D&m#uEep literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0423.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0423.lmp new file mode 100644 index 0000000000000000000000000000000000000000..8e60a4301b16a49e5843cec7229030fc81059fd1 GIT binary patch literal 152 zcmXAg(G9{d5JTNG;CcXr8lj{EFhDn81QuWb2H>AxCg$*ok9W4^v#H*+@+ z^E5B>HXnl`k%x(7U?w-R{v}YQK3qCm0t>me?jS`D*!p(K!q&UCraww!^povW$#a@g H@;UGWI~x+8 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0424.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0424.lmp new file mode 100644 index 0000000000000000000000000000000000000000..86d320a70a46b4864a785bd81c6ef5ecb6afc97d GIT binary patch literal 184 zcmXZVu?<2o5ChO7LRJd;e4^;`I6Dba~_r>&{4=4$z=EDeVw5Uc&ke( cTKUHselaaM=(Db+=H67EA1y^kN)hUR0ggHx6aWAK literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0425.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0425.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b5197cff1b176433e175bc91891af3bf4bd83bfe GIT binary patch literal 156 zcmYj~u?>JQ3VU3#x57ZUDw5_k&3EBFp)*2gxFG)rId$ z8|`$^n?CfVADxssckp_Z>^_^8a@P^FmdSvc_zAd0u#9Mlr(346g%fxjFLv7uQ&VMF OGGL5o-`9Ifv@L%Vycik) literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0429.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0429.lmp new file mode 100644 index 0000000000000000000000000000000000000000..3cb13cee702eddce47ecffce8b6c176b96795bc8 GIT binary patch literal 174 zcmXZUK?(vf38TFKA0#y-Rx5x?z9zu}Gt zo_OJn556eH_7=0d%IpZ@21`vf7$00 ACjbBd literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042B.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..462243946aacd27bb8f3b05bf5639213fa736488 GIT binary patch literal 178 zcmXxd!3hE}5Czatck%t-yu|ttvISmKk033jxetTMu&tQ#|7h6#VOJ??zReO_N4mss7 um)v5B41xntECIi-FS&LyFL|ET8vtHMm2}V}>NUGhdT4v{Gm@oiBNQ*^?Ggb1 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042D.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..c8036ec795a63da4dddf94fc8660cbaa5c5eba01 GIT binary patch literal 129 zcmXZS%MFAu5ChQ3B1{^HBBBT+&t>lvKmim$0TjTQ<_TuChi7>{(FQZS+gG{BDx2(b x$SIeEK(c?M*+9-9MnK(tLS^}NvO-gg+5aBMt)`wWmiy$A3BSw8YP#k+#|V76ptzp-g|dC6No za>yxPnI`~`nFPiJvY@n_hb6Lm^Fj_o#7e&lQ_QRy7Oz*fh+s{OE5VO&m-B literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201C.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..9bdbbeeea394ad04df7ccadbd5e79f5d5fa90ec8 GIT binary patch literal 105 zcmd;JU||3O4InlIVk;na0%A`f4glgvAWj5g1{O|Eb|CoAz{1Y1Aj8S|pOKlJT^K|& XfyEh_KnftzazF-1S_4Y61C;>))vXK( literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201E.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..222edb99612ec162fe8261b4180cf87ced9db52c GIT binary patch literal 104 zcmXZRArgQv5JS;GI}=u;Kp`uUSR4+C<^DH7mEQsJHap3nEa|C*yJEwR11B!rP>Qf! amFy*=D%ZGQodSPkL; literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/00AB.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/00AB.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a165eb46a41e005a4043ccc638db0ebf11420400 GIT binary patch literal 89 zcmXYlI}!j86a$0d94e(+t&RI1z_`Z~pJJ0u5+VSztSq96Cb}5HJCf!CIn{`#*S90@ LTkrGQ3^#29NEH{v literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/00BB.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/00BB.lmp new file mode 100644 index 0000000000000000000000000000000000000000..cb65859818dafc36bf998d73d5def5f37847b7b6 GIT binary patch literal 89 zcmXAdF%G~W48#r)yrUoJ+`03O{C`3HM=)t3pDYh`Nf8%&!vilECa9WgxuI@%ME})2nEr@ZtTUo1$g9O0p2aZ0xZBXg+AE9Pb8USczgz_k~P8vGc2&e20I*Z nf)sr#q?)N-ptw7l0Zw9md&jz||FO~L3R5opJAHnJ^eNE*!#6T6 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0410.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0410.lmp new file mode 100644 index 0000000000000000000000000000000000000000..fce62590595c22bacf05e59f3adc71b6e7adcf8b GIT binary patch literal 168 zcmX|(%L#x$3n>;2vNH38QCYWJ?6*k!6 xfDOik7P*~~opj^1-@LwSWLL(e#%;{RFI+krAkvnc3U>3D6)G5a&Mtrc*E8 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0412.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0412.lmp new file mode 100644 index 0000000000000000000000000000000000000000..e18f7b5154e729746761122dbddfce8d3ca4625e GIT binary patch literal 137 zcmd;NU}pdU9U!&KR$Ry`KP~_kSivpi&kP@gD%zFDwE8 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0413.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0413.lmp new file mode 100644 index 0000000000000000000000000000000000000000..d98da187731e14a21e88b297007cc81c01b9b9ba GIT binary patch literal 120 zcmd;JU}pdU4InlFVh14h0pbWCP5|NzAT9u626k^4_zz+~dJF{K-eC6QCqMvWLsb1| SVD|O~%OlZXH9$TP{09IoP9tOh literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0414.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0414.lmp new file mode 100644 index 0000000000000000000000000000000000000000..581393ea2edf4fe5177c8f6b93b7dda83388f0fd GIT binary patch literal 186 zcmd;P;9vj&6Ckz)Vox9r1L9;L&IjT;AnpR<=|H>$h&KW;3yU`x{AXkb(~lo}d;e$P z0J0xFe*E|el=JAxlP5q4pbStIhyhl`45nEi6si=^0HAh|VGz@R`kx?-28uob84b4_ E01byfr~m)} literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0415.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0415.lmp new file mode 100644 index 0000000000000000000000000000000000000000..2005d323250f8011f930e004969bb5066dc1eda1 GIT binary patch literal 143 zcmd;NU}pdU9UwLXVn-nM1>#5`P6gsZAg%@Cb|7Y8^@f1|3~b)sj~+h;^8PchdwV~A gg2V>#VB+47fe@+&$a(^216d$8&_F1Q8Eo=@0J0D*T>t<8 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0416.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0416.lmp new file mode 100644 index 0000000000000000000000000000000000000000..6eb55cab7041502a74a06826a2c716a38b2e6a01 GIT binary patch literal 204 zcmY+8OAUZ95CxZCxF84voZb}y2;htW1aL+G0&swrwm!;~PXe3FcALz;wz1k$wa`Hi z1B@`i3=6EV!43ylE~>hEv_f)H$>F7FwG_O3cxEn)idjWRxDDs2*TzWp-;g8awL^+z NvmpC^>Wcq<;{-A@LW2MR literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0417.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0417.lmp new file mode 100644 index 0000000000000000000000000000000000000000..adc404bbd6ad4d9f87558c35d7e8fdb209810e5b GIT binary patch literal 133 zcmd;JU}pdU4InlEVjCd#0OAlJP5|N@Ag%yn7G?%-Z*PYGK;=N%+xroe{Rqf<3}rtC bvaqqAJO)CT-Y4EqK;|$q0nK4x0h9j$@jW9e literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0418.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0418.lmp new file mode 100644 index 0000000000000000000000000000000000000000..faafe75294b6c2c4f29b9d463610a80f15715361 GIT binary patch literal 169 zcmd;L;9vj&10c2mVh1-Fz_G5e)Jd!yuHEfCr_Th r*+4~)p8&;~SRo9c3O1-1kjViQ1nL3-C0S0OSX*52{OFujFI=ks6iv$r-S$Q|u;eZn^ wxZ!~WFX$A9iu*647^^q4>Sb<~Y_?A*z}p+le)8n;lP4fH8%POI V6e0{#fl%TNQNj#1g#|+W2LM-sC-ndT literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041B.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..f59666bcea68e0ef9adb7051ce4923884bcbf76e GIT binary patch literal 143 zcmXwwyA6Oa3JQ3JdL?)PFffY8` x;eZn^xZ#25O3E!B{wm42xT={|Hy(-0z*#Qd^1L6oM4H8QLVvsx|t2YGvXJGgCe)Jd!yuHEfCr=(fc>-jE SRR9IO|1&Xrdn06@fMo$m79b@6 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041E.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..11f11bd0b7f80d8af9479195dea65ea070450a61 GIT binary patch literal 142 zcmd;LU}pdU10c2pVizC|0OA-Z&IZ!uK->((AT^9E-eB;bfelDMdJH7~Gq3|$PoBWp kKn95OpMlxi8%VQ2D6ldh_wf^`mM4!vOrSE5Nl(B`0D^ieT>t<8 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041F.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/041F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..8279a0f2d63b8f0ce8051932f72da92e0a75f91c GIT binary patch literal 148 zcmd;NU}pdU9U!&t#3>@BY@E^o^^cV!Zy}_KvPe1_1fhzpZ fz~=1@Q~_25WIlQP7_0=y^ad&R{?Et)QTiVM{y;2a literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0421.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0421.lmp new file mode 100644 index 0000000000000000000000000000000000000000..02f86dce7642cb521cf5a8103ee65d7988e7d325 GIT binary patch literal 150 zcmd;NU}pdU9UwLXVn-nM1>#5`&H&Jg3_TAa=EYOx;P-luyJ}4X`i~s-t literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0423.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0423.lmp new file mode 100644 index 0000000000000000000000000000000000000000..8a9f3ef490c07c92356b07cf507e07fd7c118bbd GIT binary patch literal 142 zcmXxcF%Ezr425A((ZtiZIeLJXxH~($x;lDK;2!uFVv{c|56bK&XSHC(h8+h^T)6Sz ph3iBW*Gtj*Amt>57W=Ut2}&2Fl=43@sCZu2$kw9W**~?n{SQ;|DT4q2 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0424.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0424.lmp new file mode 100644 index 0000000000000000000000000000000000000000..4ff0d0dbbe372ffdccdda079998f568ec4605d6d GIT binary patch literal 152 zcmd;LU}pdU10c2lVkaQ>0pbWCP66TqAg%%8HXxn=#Ei_|An>1o6-YjUu^v5n3=(7a k_I?b6U{Meo1YqJ%9zS^kW5d({%>W9+Oan5!|HI4&0LgDKw*UYD literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0425.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0425.lmp new file mode 100644 index 0000000000000000000000000000000000000000..0b4813be9bcf5984edbbddea8aa752263a4c03fd GIT binary patch literal 127 zcmXwwyA6Oq3`4``bd16RY(VFRnwkNa`I0@37Z8zNV#W4i)pAzYV21-vxZsBLY!p-8 h-EESZG;>_)R;6%xpofzBSI+zMTVw=H2REx3dH{piCDH%@ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0426.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0426.lmp new file mode 100644 index 0000000000000000000000000000000000000000..a6ea425ab89643b1f10295dab8ff1d4f96d6e56a GIT binary patch literal 164 zcmd;L;9vj&10c2mVh1-Fz_G5e)Jd!yuHEfCqMvW lgA{?-EX)uZrVlL70oMoA2;_h@!el@?pF9C+WdSjP3;=oPHtPTY literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0427.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0427.lmp new file mode 100644 index 0000000000000000000000000000000000000000..7e770826e7338a0fb1e9028ae15aaad6d4f7d3ac GIT binary patch literal 139 zcmXYnyA6Oa3-p0PIS=Rm67)q; literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0429.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/0429.lmp new file mode 100644 index 0000000000000000000000000000000000000000..7585e2f74f0d28d90dc195c4250c6384f1d48ced GIT binary patch literal 213 zcmd;O;9vj&8zA-o;t(KC0OA}VE(hXfAnpg^SwOrDh&KW8ejq*r#0>1-Fz_G5e)Jd! zyuHEfCqMvWgA{?-jBH@#Fkx)U(Uib+qL|L%?F}^@XcdqH0#BX*&1YeOaQ*`TvNd&9tg5c|<%An^7E jv!4I~j15u*Vl%OVXiU}_6C9f4D4Xq`w^7=2*`R2Wj_Y8 b2(h0$e*E|e%$z4rfK2cIjI0ndz5fFM$h-lW_6CZA*g)kFHdqN<7^w9z2tbuT0Rbo*W;_7wJ~80{ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/2014.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont/2014.lmp new file mode 100644 index 0000000000000000000000000000000000000000..b153f0aeb8d300cd3efdb366ba7a8590c5298d99 GIT binary patch literal 188 zcmd;QU}j)o`1juhNcsSA2oT2raS9OU0C5Qr*8p(~5cdG_6d;}h#7ls94G?buVg_b! T5cm(G9}}RTK;JQ3aBzYP+~5IY nYRx@{T&o?;RYQsyUFq2j8y=FVjQ{s9(QmY^UYQ=gSl MAIM__k<4Hw030I_DF6Tf literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0416.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0416.lmp new file mode 100644 index 0000000000000000000000000000000000000000..26481f37d62248145ff46e2d405241d967faea52 GIT binary patch literal 169 zcmXBMF%H8Z3_APtI}^kdSJ=_v&kxPUi799?R3yd z7k%lbhkhgpz>?g(O9omi#mrTEs;$A4Q!YTfQn`mka-GwNsm7Lt5(S$v9kE$lvX2iF IQ#G#s2giscX#fBK literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0417.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0417.lmp new file mode 100644 index 0000000000000000000000000000000000000000..ca45943844fce6a4afd81889f485ca473da4107c GIT binary patch literal 113 zcmZw5F%E!02t-lX;Cc}&8xCM^&n%_2_rC!Sy(I5v!Y)(#4m#BuoZR+Ce?*DJ`rn?UgTnJe-E4O09jsqudJb0lhZ{9Bj X52H*mRhf6oDr%mg!ga*ogE7Si)lL<6 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0419.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0419.lmp new file mode 100644 index 0000000000000000000000000000000000000000..266504b61aa0e115cf1dea97d1f9d2e5c5b8a835 GIT binary patch literal 127 zcmZw8u?m1N3F4um*xtt&hCDHyw=sg3m3>0Swuu-<=$wggHF2WriV1S gS4V51`AcRY3SdfR4(n$Ita^_+^J#>?UayRa7bu|{D*ylh literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041A.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041A.lmp new file mode 100644 index 0000000000000000000000000000000000000000..217478999eed07c43ed6ade2cccd3fefd85695f0 GIT binary patch literal 98 zcmZQ)U}FFQ6(H6FVoM-)hVs3DbSMxrum%MM1_g(N{AXZ;u=Mr+GqURI2k8UBey Yk(nVd2#IE30jdH?VAaUP!T`|*0IiW1umAu6 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041D.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..202efca5134e6cd23d72996a60e375db4ad82de1 GIT binary patch literal 84 zcmZQ)U}FFQ6(H6FVoM-)M&f$`*$k{fL4iTRAtC=6*dQ!@{r`-t`uaioK=7Z5DG0~_ J3xN3g{{f*}4$}Yt literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041E.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/041E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..dc7ee6af7b04d6cdb84a106083f4d434b7d7c1e9 GIT binary patch literal 111 zcmXYoF%G~m2m=XeqCBM=oxAq|aacR||1Y4XD$-$NnITw}s4LHa=OpMfPP U2*d<40znK$=0Gsb!~|9V0P*Y;od5s; literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0421.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0421.lmp new file mode 100644 index 0000000000000000000000000000000000000000..0ac0c5b092b53e0a9a6b7b9b4447949305c32b4a GIT binary patch literal 86 zcmZQ$U}FFQ1t8W0Vq+k-gJN$W&A<{A6c`j7{GWjp%m@kj&%hQGq_3|ZqObp-feFN9 QVG03p7#V@0tRUh)0PeI8o&W#< literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0422.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0422.lmp new file mode 100644 index 0000000000000000000000000000000000000000..24c47f31d3a36712b3b945e20b5d66f9fc0ddd49 GIT binary patch literal 87 zcmXYlF%Ez*6hiqX){8iG`RVNLUhMs^g49a#!h-_^GpDJhnakY&?rsE0VIwnzo$P$Z O5X!Q7TJwt{+C(*yrSIB;}zc1XR!-PO_muL%}j32A4mrdepEjdnWdqMIIi$sIsi hi9kf!7}27&v`NL;ds_XIN=983`3OCF0aOgG{Q;6P8O{Iz literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0425.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0425.lmp new file mode 100644 index 0000000000000000000000000000000000000000..c409c5c3090058bb8a9b29fc92e658d86572bc4c GIT binary patch literal 122 zcmXZTArgQv3`Ef-P^L%0Md8u7Bo$~p_m^Rz?aWIeek)ddZ=;FfVzWYq_P Q5FiUl5Q#~gJkW^$0AZdUCIA2c literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0429.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/0429.lmp new file mode 100644 index 0000000000000000000000000000000000000000..7e7185e697c4a632d0475666d9d34ad6091e4787 GIT binary patch literal 150 zcmd;LU}pdU10c2nVpkyc2jVCoP6gt8Ag%)9Rv_*NVg}ZrpunKukdXfjY!H^d{(nYR YeIN({vXBIkm_*8lhW=+|0-5w50GCuD4gdfE literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042A.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042A.lmp new file mode 100644 index 0000000000000000000000000000000000000000..140c1c1a1119190b60cc12f01c570c88f6a9be45 GIT binary patch literal 109 zcmYMoI}U(Q2t-lved1EAq_wxUa3Hpp?tcY1FBXy+#UDOCrMMe!)v;fBLKbZR literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042B.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042B.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bbf2cfefbf22cdfcb86b5c4c6c29e03f08793c58 GIT binary patch literal 142 zcmZ|Gp$>pB3`Nn7Z3up*Xgr$GPGFHJG@kz+cR`?Na@vL;=&sBZTK|3L$oT<{Z62@y literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042C.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..4e91a02e97fbda992277048fa53d78ac9d873d07 GIT binary patch literal 99 zcmZQ)U}FFQ6(H6FVoM-)24Wu|4h7;^AZB0<3JMGg4hi|szy@LI>;GqD)z=Tw4*{~6 VSb`9YV2}tib8xUekY-^7kpRa06bJwS literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042D.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..e50cdd903ca34b10310f08137c19f607796bba10 GIT binary patch literal 97 zcmXxXF%p0<2t-jxlylfyP}|!(*=*ze4-%I`W*&UP!fFmV<&s+-dBq&S<|LPOAoVmd Tb6M1ve-6w_--jwyt!wLkmPivF literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042E.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..3c5e8beb4ccee0b0398ccd1919d9917f3848b29e GIT binary patch literal 168 zcmZY1F%Ezr5Jb@d#KyyHV{LCKQd--40WV;0?M?MVV~iv(8Q5hywJN8_fDsuBR&3aD u;KT(*r76u>H=k>=8qJa!(FHN)>9fZump!j!YP|lJx6H-TP`Z3j?R)@7xgHe& literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042F.lmp b/wadsrc_extra/static/filter/game-strife/fonts/defsmallfont2/042F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..cfa4e9201af99bcf5c881234fc2a5afbccc9037d GIT binary patch literal 110 zcmY+)yA6Oq3 Date: Sat, 9 Feb 2019 23:57:05 +0100 Subject: [PATCH 7/7] - re-added the existing characters of the Raven font for Hexen and fixed the palette for the Cyrillic ones. These were identical with the Heretic versions. --- .../game-hexen/fonts/defsmallfont/005C.lmp | Bin 0 -> 92 bytes .../game-hexen/fonts/defsmallfont/005D.lmp | Bin 0 -> 92 bytes .../game-hexen/fonts/defsmallfont/005E.lmp | Bin 0 -> 28 bytes .../game-hexen/fonts/defsmallfont/005F.lmp | Bin 0 -> 92 bytes .../game-hexen/fonts/defsmallfont/00AB.lmp | Bin 112 -> 112 bytes .../game-hexen/fonts/defsmallfont/00BB.lmp | Bin 112 -> 112 bytes .../game-hexen/fonts/defsmallfont/00C4.lmp | Bin 0 -> 168 bytes .../game-hexen/fonts/defsmallfont/00C5.lmp | Bin 0 -> 165 bytes .../game-hexen/fonts/defsmallfont/00D6.lmp | Bin 0 -> 171 bytes .../game-hexen/fonts/defsmallfont/00DC.lmp | Bin 0 -> 173 bytes .../game-hexen/fonts/defsmallfont/00DF.lmp | Bin 0 -> 163 bytes .../game-hexen/fonts/defsmallfont/0410.lmp | Bin 148 -> 147 bytes .../game-hexen/fonts/defsmallfont/0411.lmp | Bin 158 -> 158 bytes .../game-hexen/fonts/defsmallfont/0412.lmp | Bin 142 -> 142 bytes .../game-hexen/fonts/defsmallfont/0413.lmp | Bin 120 -> 120 bytes .../game-hexen/fonts/defsmallfont/0414.lmp | Bin 163 -> 163 bytes .../game-hexen/fonts/defsmallfont/0415.lmp | Bin 148 -> 145 bytes .../game-hexen/fonts/defsmallfont/0416.lmp | Bin 196 -> 196 bytes .../game-hexen/fonts/defsmallfont/0417.lmp | Bin 138 -> 138 bytes .../game-hexen/fonts/defsmallfont/0418.lmp | Bin 130 -> 130 bytes .../game-hexen/fonts/defsmallfont/0419.lmp | Bin 133 -> 133 bytes .../game-hexen/fonts/defsmallfont/041A.lmp | Bin 138 -> 138 bytes .../game-hexen/fonts/defsmallfont/041B.lmp | Bin 137 -> 137 bytes .../game-hexen/fonts/defsmallfont/041C.lmp | Bin 142 -> 142 bytes .../game-hexen/fonts/defsmallfont/041D.lmp | Bin 128 -> 132 bytes .../game-hexen/fonts/defsmallfont/041E.lmp | Bin 144 -> 143 bytes .../game-hexen/fonts/defsmallfont/041F.lmp | Bin 130 -> 130 bytes .../game-hexen/fonts/defsmallfont/0420.lmp | Bin 152 -> 152 bytes .../game-hexen/fonts/defsmallfont/0421.lmp | Bin 152 -> 149 bytes .../game-hexen/fonts/defsmallfont/0422.lmp | Bin 130 -> 130 bytes .../game-hexen/fonts/defsmallfont/0423.lmp | Bin 152 -> 151 bytes .../game-hexen/fonts/defsmallfont/0424.lmp | Bin 184 -> 184 bytes .../game-hexen/fonts/defsmallfont/0425.lmp | Bin 156 -> 154 bytes .../game-hexen/fonts/defsmallfont/0426.lmp | Bin 144 -> 144 bytes .../game-hexen/fonts/defsmallfont/0427.lmp | Bin 119 -> 119 bytes .../game-hexen/fonts/defsmallfont/0428.lmp | Bin 160 -> 160 bytes .../game-hexen/fonts/defsmallfont/0429.lmp | Bin 174 -> 174 bytes .../game-hexen/fonts/defsmallfont/042A.lmp | Bin 135 -> 135 bytes .../game-hexen/fonts/defsmallfont/042B.lmp | Bin 178 -> 178 bytes .../game-hexen/fonts/defsmallfont/042C.lmp | Bin 125 -> 125 bytes .../game-hexen/fonts/defsmallfont/042D.lmp | Bin 129 -> 129 bytes .../game-hexen/fonts/defsmallfont/042E.lmp | Bin 176 -> 176 bytes .../game-hexen/fonts/defsmallfont/042F.lmp | Bin 132 -> 132 bytes .../game-hexen/fonts/defsmallfont/2014.lmp | Bin 188 -> 188 bytes .../game-hexen/fonts/defsmallfont/201C.lmp | Bin 105 -> 105 bytes .../game-hexen/fonts/defsmallfont/201E.lmp | Bin 104 -> 104 bytes 46 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005C.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005D.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005E.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005F.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00C4.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00C5.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00D6.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00DC.lmp create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00DF.lmp diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005C.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005C.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bddfa8a356d3542f0d4f946cd8431283e4b0e644 GIT binary patch literal 92 zcmZQ)U}j)o`1M}}Na_Hw2@u-=u?rCU0C5NqGcYSDDJd)e2hj>(T3J~h%9m480*Wgu P%YbPmB`GKk)bSqxQNRyR literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005D.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005D.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bddfa8a356d3542f0d4f946cd8431283e4b0e644 GIT binary patch literal 92 zcmZQ)U}j)o`1M}}Na_Hw2@u-=u?rCU0C5NqGcYSDDJd)e2hj>(T3J~h%9m480*Wgu P%YbPmB`GKk)bSqxQNRyR literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005E.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005E.lmp new file mode 100644 index 0000000000000000000000000000000000000000..79af547de8ebf5d4232e43fd1232807c8d6efe62 GIT binary patch literal 28 XcmZQ#U}OLR0U#CwF&O^?0fYnqF7gN@ literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005F.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/005F.lmp new file mode 100644 index 0000000000000000000000000000000000000000..bddfa8a356d3542f0d4f946cd8431283e4b0e644 GIT binary patch literal 92 zcmZQ)U}j)o`1M}}Na_Hw2@u-=u?rCU0C5NqGcYSDDJd)e2hj>(T3J~h%9m480*Wgu P%YbPmB`GKk)bSqxQNRyR literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00AB.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00AB.lmp index f61074ffeeafa5e4f39292f95cb0f35e550a2d6f..19da358e41c956215ab37e505c89cb6b7079ae99 100644 GIT binary patch delta 79 zcmW-X!41G535*_!poNBz2Ex*Do+^Zfi!*#Nt4BNZMUvI!>8NT LkSfv<(ue8;_?-(I diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00BB.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00BB.lmp index 22c382b519fd51fd879f06fd1d866633be4aaa37..16eb6067b3fa889fd534306e1071b803c45bd91c 100644 GIT binary patch delta 79 zcmW-X(G9>L6auT(bO{riBk3@m#!=i@dBO)rV2t_wST)O9SAh<9MAS#(wc&6#dS0nY Mjb_SzMwS$x4PQ79wg3PC delta 79 zcmW-X$q@h{5CXlrCJC$bWiUo#C}!-!G7oxybMD$$C8U=s3}`mL%9uL%c?ea%Ohl)P Kik9}8z4-vD7YiK# diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00C4.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00C4.lmp new file mode 100644 index 0000000000000000000000000000000000000000..e93ede5533fcd387e6c3ddd5ab41dc67334b0c04 GIT binary patch literal 168 zcmX}l%ME}a5Cl--FH(RZ5F%vu>d_LczzS@^2CTpeY!+vY3VFbi9k9k49TUy8&`KNa zbkIo`H8lW{Vk+J07ASe-Vk|Hsd*{0pU*~<@CMd;6n^g Lqh(S*;HS@Ma;~cq~46!eorRFU* P9Zn3bS{S3|H?H~**1;I5 literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00D6.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00D6.lmp new file mode 100644 index 0000000000000000000000000000000000000000..2fc034052addd5b1275f22cee32b499f9dd098e7 GIT binary patch literal 171 zcmXYq(Fwya5JQiqlz0GRVvGa2p9H!=7w80?pc{08PS6FitMhDn@DKt?7c5x6J3QbC zFL=WTzVL$sY?55MB64pwOI2FSA~g$A^qlr>AI=FDauIi-kfj@v{!tetEq#SzRW7v< Q8JlEM+`5_i3jc<*6B*|i)&Kwi literal 0 HcmV?d00001 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00DC.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/00DC.lmp new file mode 100644 index 0000000000000000000000000000000000000000..1a06ecd1de1212da82f0ada72b700a43b60d5f93 GIT binary patch literal 173 zcmX}k(Fp=E5QO1yN5m8m!Uf44|2_#eU;|cQ1-4)bR$v8|8fU}lz_$=KvnizDxyV&+ za+ilZ1wEZt)DQ!u<1V3HC3EaR5oWKcOz%o1G*T%vhtp%EXyvR=tp-kHO2Cfyg_; M9)GSa*iB~k9yjs=D{QdC z9Ukz67aX!A_mNIg?^kIUgI+GB{WMi|>g>+`h@s5(%s3RtglxV2%_VAlFEH|(;Q9kO CDH3P^ diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0411.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0411.lmp index fafa685af34fe425733f46c1afd685757f173392..fb5961475be6f675e4186af5cfbad29cbf13e329 100644 GIT binary patch delta 98 zcmXYoK?;B{5Cgkf!9GBiEsH{O@}{5hUHXB3wYDPUkRg*IMealJoOGgB3)tGt$ASt42ZGa_O1%aX&_sF0lrKUT>t<8 delta 98 zcmXZT%L#xm6hzTHKV#eqnjjB_nFh2O>(U0&YINc9a=68c-G|{h)3wZGwMcH*!4%^c kfO99-UosqYpoUTM#JqZzYG}z!b{(0fVW?)3`bPS;7iLxvy#N3J diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0412.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0412.lmp index a6a381d438a255fa7cc51fc5122d33db53c5b6d8..6b966352fc86a0fb20b8c5dd891c950a28882807 100644 GIT binary patch delta 101 zcmXYpOA3H65JMd)dIBjULkr2OJ5S`1iZ`zDvj{vM;dSeF9VY>h9MeihjeP^eKzMe4 dy%<^hd_n!0Y$Z_SZ2_7`(|u0rJ&k07aRc|}6czvg delta 101 zcmXAhK?;B{5CdH)vFC!cm8FI32YiuFD*jm4dPo?CkRe0v^NIwc*|ThB+V$8;XHrY9 fWqLr7J(#|s^JlZv6wSSWOjVQ5*FfU?2tw}{mCh0o diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0413.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0413.lmp index 036e8ab110cc2ebe2d286ebf1a6f102eb4803f3a..0a45b8110e0dedb4bc042b1614c7772419d91242 100644 GIT binary patch delta 81 zcmb=Zn4sgMq@=6_1pgV>m6YV=<)oybYz0YiNpWRmpt!QKoRTs~(SHVJB_*&tkd}n< K#i2A%!G8d<-Vovd delta 81 zcmXYlyA6Oa3`CKT&TL@fB0+a8qhz3r!N$ZyRPQs!b9e9{%-+q&)@lTh4qU}gm(ryQ QiQnJJAd^7(+ZO@lpIbl*t{Y}!me5l4emHM-^p;Lw sOo8mRP@&r$}UPqFJ>O=cv-&ri@szM02Qe?CV<`K~702G6PYRBv!oI9xv(A<+*NPghbYcV&srWTD3_f p0x(P#5>VRF%5o>vtmiVwY5cCKuly@3vVVmQP+(mP;{{e17&HI? delta 124 zcmXYp!3hH~5CgqjtaAg4Z7}B`y;4o8NgpZd`f}Egj~FC0x83%Ae}I)v>6#e5lx10J xS0jS}c1W?4V?O7IHl0BC>aX}&E`=?MAhLP?yQ;HpS2{=s9tYrCXp-`d^#iS56?*^x diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0417.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0417.lmp index c8ec4da94140e116c5d009b40e1c135d676ed55a..2efe76f16e873a730640e062d9062c99c24d8c9c 100644 GIT binary patch delta 81 zcmXZSF$#b{3`9{QiYE|B2o`^;y@j<$+sYfSDVAv-!|&GZd*0Thu^dtooKU8eT+^-_ SpG|mr)Nea@jj@`f%_#n+6A$zN delta 81 zcmW;CK?;B{5CcG0H1=E&+okl7e8jU)>&YM2MM7W*88+;_pPZ$+98!bx1j3}F;UdF8 WO+A|akJnZ_cH7Ak;apA9W(CS4nI{7=K{j?wq%^#%43wnQE(jt{a>PQcVyk`_pn<9T0mzu(jT`ZSn=T$`Szp diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041B.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041B.lmp index 7acf74f2a087e5726f0aae215f1574f41d1aed86..77aef63b31b1f4d7c0f1ec85cbe9cd4884cb5232 100644 GIT binary patch delta 92 zcmXYnK?;B{5Cgl1))$Dhl%*sm@BNC8>dhao5rrIv$t+uT&kFz@2rFcFZ)Btb4DU@g ZWub~!l7p%xx9_h%w|eZS63bMe#RFgl5>5aB delta 92 zcmXBLK?;B%6og^l!qIgQp~ypKuFzFFl)G+hR=eRF{$a!J^8zRbra@}%Rhj{0_g0sN b2=v697fM~=i|PN%w}D!YeOsMHi4Zv-{SFW& diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041C.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041C.lmp index 1eafc124ada9cd8c108958b81fb3d474f9ccc948..a7202cdb993d8130027fca94f8518618aa44ad1b 100644 GIT binary patch delta 101 zcmXYpK?=Yi5Ch$o))&a4$QH6EZ@#EclK$AH(wssv$&evWzX1nkh`?1#*56y!)ad1O fubGU`Z3iqRMnnzNTA9_-ScmwLs%v$yku9vJ-uj|GN&4e$^b$fc$%rF<&kO5j9+KJBYLVpuEs}4* hBYJPesJ`utb7n+TVQlA0wbhe#NRt#R{=32s}c|>D=GbFU{_L-my?ndS5^kI nfhJA5QX8R;BWzh5(DO4qpbrtfVH&)IDq4eFT~;_FPA@b5=7*!3*U`)I_RW} vZhFXhKw&_Y0F<1DXvVFY#@Mf_wG|0%DbE^0Yx9)L{I?V1$UmGngLYgWM(Yx) diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041E.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041E.lmp index 5162a1aeea7a0e73cf6438fec49a09609930702e..c25542b7257cc5bdb0157a74175083a8fec8f9e7 100644 GIT binary patch delta 104 zcmXYp!3}^g3^t4L~(y15R&1BnG>cUM8zL e_xf>W4y+vZYt+$Lo)tfw=lRHLCoNf(LZlZ&)ejW_ diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041F.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/041F.lmp index 4fb74bf3f04b1b60306ff515901d85bcac3b5f89..da4b9f7297fa41f294781a6b75c8d010e6e6e7de 100644 GIT binary patch delta 93 zcmZo-Y+{_C6Q-oBq@?tpfn7;SK~6?W63kXsmXZ_~)l^pg&%manBn4Ce5(YA5piH1@ Xc{v$5d8kg1Msc8OMplqK(7^uyW4#hU delta 93 zcmXBLu?>JQ3`EhS;OLQ1NMt4G+-4pI$^>j|EYtns{gqdK=L02RX(#V4twyW1TFyh& a639jb0U-F(_2|+^Xu!v-xXv5hDrq18OAr(Q diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0420.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0420.lmp index b757ad836b4b10d1be737bad8a30f562b97b5c36..108eb57ae689d8157ee06de9d1ff4dae3b8ae227 100644 GIT binary patch literal 152 zcmXBN%ME}a5CqWm7qtLmAOy^CGO+<0umKCO0}HSK&sHqX;^Dy#1EH5rMBcP;U1_78 z4m#6c0PDLFB-s%`nas3 Gevv+yz8IGP literal 152 zcmXAi%ME}q3`0{sGC3nu6`_^^SbzmsfC1Qm0T_TY6H}aWc!?b+ib^LUZ(dkevXPw} z?{+4J4ppo6MGov1-v%Ows191%kKZs#bfE EKV9Dv+5i9m diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0421.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0421.lmp index 4c4572395ec1e21ddd517750a7e07bcef35deb72..a02f2d1efcca902207321a25da87e4e97282993c 100644 GIT binary patch literal 149 zcmXYpyA6Oa3`89WLJWYSpeUeoOG(WD48R6#zyQc2LsmXr&KWZ>~5fkN2&Ys=x0rhZ+jM EE@e*<_5c6? diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0422.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0422.lmp index 74b9733b77b75281c180c6e8395fd1077bb2df04..db269314b1f67b33981b8d60b8ad3997ea97ff2f 100644 GIT binary patch delta 93 zcmXww%L#xm5CvUPtUy9!NnqYJ^;l3Uu;aJ}JiYI9>-Mx8#2zdd0#uBpt delta 93 zcmW-Y!3}^Q5Cl1+D-9S#2_(B;>#-mzuw%UNn`CCXb^D$d7-5xK1vVo&!cG>5B}Qi; bl{Q>DOXrdDEzRZvk>?H6c}G8NAwBp38odxs diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0423.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0423.lmp index 8e60a4301b16a49e5843cec7229030fc81059fd1..7978f087d9e1091c0d100ea23574bef12b8525f9 100644 GIT binary patch delta 112 zcmXAgOAdfA5JEe(elB248`B!tdoOR}PH#KXxPeE2*B-miiv&gk;9-ye={FCFtWBk| j%)AxCg$*ok9W4^v#H*+@+ z^E5B>HXnl`k%x(7U?w-R{v}YQK3qCm0t>me?jS`D*!p(K!q&UCraww!^povW$#a@g H@;UGWI~x+8 diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0424.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0424.lmp index 86d320a70a46b4864a785bd81c6ef5ecb6afc97d..09a6efc882f182abf2d71ce6539c974c968a9e22 100644 GIT binary patch literal 184 zcmYMtyA47y425A6A#@A+C{g5Goh(5|OHa=NEWiRRKu=H0f|#F|i1bCaW1XyRGP6f) zxVPA0j{}Z4;fxEexZ#eJq%mT#l-#ATl{A<7E4x&AwrLD?WpQYv?#=uBZM@Zz^M9>< W)<`18UvtXl&iwsRAtzEIQt<>-;vYT$ delta 133 zcmXYq!41PO3?N3G`A_lWerU7;6Q diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0425.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0425.lmp index b5197cff1b176433e175bc91891af3bf4bd83bfe..bef7228e58452017ad9329d99f3d9fc31a8e03d8 100644 GIT binary patch literal 154 zcmd;NU}s=p`1fB2NSXt&8xRKpaU2k50C5QrHvn-z5Hm6=DJijni2n@CN=gb!N-RK1 z3dChsR{k%qBqt7}7}%AR>IjCwmQ6)`Ds6jv)WDr;b G!U_QLB^e9= literal 156 zcmYj~u?>JQ3H8cO{U4ufc7EE9KV!Z delta 80 zcmW-X!3}^Q5CkECr3BOv@3Q-~6APjZJI2$`W->c-KGzMbRHSo!P)WBzu3Si1s9b^O UEmVpzk6Q|s`gZL7FGvwlyob3DMgRZ+ diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0428.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0428.lmp index 93d87c12448bee30f1ac80f0e677a5cfe001b6c9..7467d1268e9dc453aa9bce5f373b1bc81e852efe 100644 GIT binary patch literal 160 zcmXYqF$#b%3`NsH3+_@VA(rF<&K|%6xVyW%djJpMajn0#ffqjEB^k&Q(VJ)V1*~8L zJ2=1zE^vbfxK97dmh0X9|`qW}N^ delta 125 zcmXYpQ3}H_3`3K_w0svzsWD!VF42?i96d>{n0aCTlApvIb=3R%fC6TDkv-f@$}Dxa tBa&B;0E1ldw^&rNW4A@K2H$^2c(}JVO9LV&e&$nC4q@L?{(LBJegUc07AOD! diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042A.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042A.lmp index 520a4c03be73b7383af086fd9e3013e2e183ce8f..dd96c4ee25674ffff36d6489406df43cebd1b261 100644 GIT binary patch delta 87 zcmZo?Y-gNc9-yS8q^zX$pMhOTNlso)N)pPJl#&z|2eKL2fZ|{TXDTa$nUZpHqCf>q QEJ{j}nm`6KlQPI40RFfUivR!s delta 87 zcmW-X!3lss5Ch#);x!<*-eZOA%L;76uI_8c8iYW?WQGlUt{X&>@3aDOM0Y@&^uD(y ZZXg2+G^HrD{?sEj31yLd>Yhuc>I14C4|M_+Q&}0zl$4Vb1u9@-QBsoBgz5sB1_WRe^?_`Gg8u-2Z5^`! delta 127 zcmXwxQ3`+{5JWX%^ji>7Y>N>(L?`PQouv!fve4h-@n&BC`scdA2uv4%W0zKq$=Yfu r${v6aVn_-oF`BKLWO6R6#!0~iasbqUy-An;zm=TwIfi*^qS5>SeV!Ex diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042C.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042C.lmp index 8323fe38a2e0eb32c4d6827aeef8ced3b17d2a06..288cdd3838eeaf3289ed9ab236df1cf60ded1d40 100644 GIT binary patch delta 84 zcmb=eouKEhq@=8*^q+xUNl8IoPD&EWmXwkd7YDK#*_4#zzzEJ%Rt7UA<>W+x3Yb`w Olq5BQ3}z-}kU;?Ej1fx! delta 84 zcmW;CK?;B{5CcH154Y(_d4NF!m=kN@G WBSDD}-N$O=8Hcn=*CF*KxkvqS7!K$F diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042D.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042D.lmp index c8036ec795a63da4dddf94fc8660cbaa5c5eba01..7877d45c5aee322fd682f5a867306b9377668dee 100644 GIT binary patch delta 54 zcmZo(YM?4)fJTTy#ewollFG_J6M<@E TkjbfGj3vWw3n!Fw7j< delta 129 zcmXYo%ME}a5JW|G7&#k4G(^mvtia-|!cy!I*U#%RoTppxPYBS|`#9@8@jI%RnKSes4Rc7{8`0Wj6mjbJ~o0AEO2B1_@&m5&!@I diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042F.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/042F.lmp index efaf819f915949679fc7deb0ad112b7e5827c8ba..425e8d91a365576a00552a9670779611c840e97f 100644 GIT binary patch delta 97 zcmXxc(FuSs3yhz+O(5QWnl@P?PDCzW^EPPF yp~rv`6J{(}v0=x76XI0W%s=&^)vspdJIAUPoIdwo&GL7SRn5XaHVtzuKl&T7b|V-7 literal 188 zcmY+-Ar62r3_#H)OGOoy5CR+qi9{liNF)-8L?V$$u1CfPHi3BiY1(9oI1#yg&D)?w yhaLk)Oqj7?#fBXRPKZ-gGyl|wR==8+?;NXIaQfVTHOt>QRy7Oz*fh+s{OE5VO&m-B diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201C.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201C.lmp index 9bdbbeeea394ad04df7ccadbd5e79f5d5fa90ec8..18f38ddddbf1cbfaa7a91bd19132891cdb80ea10 100644 GIT binary patch literal 105 zcmXYnArgQv5Ca3P;0qvgrZ^-PSBJ#%{~w^rc0g>BxxGnQ($fmL!43yhIN^dDlp<_5 ZB_g6J+sn!rM$V?X|8#HkT>fG6_X1V~6KMbd literal 105 zcmd;JU||3O4InlIVk;na0%A`f4glgvAWj5g1{O|Eb|CoAz{1Y1Aj8S|pOKlJT^K|& XfyEh_KnftzazF-1S_4Y61C;>))vXK( diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201E.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/201E.lmp index 222edb99612ec162fe8261b4180cf87ced9db52c..16271f778572d7b0af324bf1195364f6e9e25754 100644 GIT binary patch literal 104 zcmd;JU||3O4InlEVoM-)1Y!>$_6On!AWi^cMrI`t_|L!sBxID8|APcHK{OLsoRLXc R873_UWPqeKptKTD832Pw5m^8L literal 104 zcmXZRArgQv5JS;GI}=u;Kp`uUSR4+C<^DH7mEQsJHap3nEa|C*yJEwR11B!rP>Qf! amFy*=D%ZGQodSPkL;