mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-02-16 17:21:10 +00:00
Merge remote-tracking branch 'origin/master' into vulkan2
This commit is contained in:
commit
7b06fbe28e
41 changed files with 155 additions and 3801 deletions
|
@ -210,13 +210,23 @@ void FGameConfigFile::DoAutoloadSetup (FIWadManager *iwad_man)
|
||||||
RenameSection("Freedoom2.Autoload", "doom.freedoom.phase2.Autoload");
|
RenameSection("Freedoom2.Autoload", "doom.freedoom.phase2.Autoload");
|
||||||
RenameSection("Freedoom1.Autoload", "doom.freedoom.phase1.Autoload");
|
RenameSection("Freedoom1.Autoload", "doom.freedoom.phase1.Autoload");
|
||||||
RenameSection("Freedoom.Autoload", "doom.freedoom.Autoload");
|
RenameSection("Freedoom.Autoload", "doom.freedoom.Autoload");
|
||||||
RenameSection("DoomBFG.Autoload", "doom.doom1.bfg.Autoload");
|
RenameSection("DoomBFG.Autoload", "doom.id.doom1.bfg.Autoload");
|
||||||
RenameSection("DoomU.Autoload", "doom.doom1.ultimate.Autoload");
|
RenameSection("DoomU.Autoload", "doom.id.doom1.ultimate.Autoload");
|
||||||
RenameSection("Doom1.Autoload", "doom.doom1.registered.Autoload");
|
RenameSection("Doom1.Autoload", "doom.id.doom1.registered.Autoload");
|
||||||
RenameSection("TNT.Autoload", "doom.doom2.tnt.Autoload");
|
RenameSection("TNT.Autoload", "doom.id.doom2.tnt.Autoload");
|
||||||
RenameSection("Plutonia.Autoload", "doom.doom2.plutonia.Autoload");
|
RenameSection("Plutonia.Autoload", "doom.id.doom2.plutonia.Autoload");
|
||||||
RenameSection("Doom2BFG.Autoload", "doom.doom2.bfg.Autoload");
|
RenameSection("Doom2BFG.Autoload", "doom.id.doom2.bfg.Autoload");
|
||||||
RenameSection("Doom2.Autoload", "doom.doom2.commercial.Autoload");
|
RenameSection("Doom2.Autoload", "doom.id.doom2.commercial.Autoload");
|
||||||
|
}
|
||||||
|
else if (last < 218)
|
||||||
|
{
|
||||||
|
RenameSection("doom.doom1.bfg.Autoload", "doom.id.doom1.bfg.Autoload");
|
||||||
|
RenameSection("doom.doom1.ultimate.Autoload", "doom.id.doom1.ultimate.Autoload");
|
||||||
|
RenameSection("doom.doom1.registered.Autoload", "doom.id.doom1.registered.Autoload");
|
||||||
|
RenameSection("doom.doom2.tnt.Autoload", "doom.id.doom2.tnt.Autoload");
|
||||||
|
RenameSection("doom.doom2.plutonia.Autoload", "doom.id.doom2.plutonia.Autoload");
|
||||||
|
RenameSection("doom.doom2.bfg.Autoload", "doom.id.doom2.bfg.Autoload");
|
||||||
|
RenameSection("doom.doom2.commercial.Autoload", "doom.id.doom2.commercial.Autoload");
|
||||||
}
|
}
|
||||||
const FString *pAuto;
|
const FString *pAuto;
|
||||||
for (int num = 0; (pAuto = iwad_man->GetAutoname(num)) != NULL; num++)
|
for (int num = 0; (pAuto = iwad_man->GetAutoname(num)) != NULL; num++)
|
||||||
|
|
|
@ -765,12 +765,30 @@ void FMapInfoParser::ParseCluster()
|
||||||
ParseAssign();
|
ParseAssign();
|
||||||
if (ParseLookupName(clusterinfo->EnterText))
|
if (ParseLookupName(clusterinfo->EnterText))
|
||||||
clusterinfo->flags |= CLUSTER_LOOKUPENTERTEXT;
|
clusterinfo->flags |= CLUSTER_LOOKUPENTERTEXT;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FStringf testlabel("CLUSTERENTER%d", clusterinfo->cluster);
|
||||||
|
if (GStrings.MatchDefaultString(testlabel, clusterinfo->EnterText))
|
||||||
|
{
|
||||||
|
clusterinfo->EnterText = testlabel;
|
||||||
|
clusterinfo->flags |= CLUSTER_LOOKUPENTERTEXT;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (sc.Compare("exittext"))
|
else if (sc.Compare("exittext"))
|
||||||
{
|
{
|
||||||
ParseAssign();
|
ParseAssign();
|
||||||
if (ParseLookupName(clusterinfo->ExitText))
|
if (ParseLookupName(clusterinfo->ExitText))
|
||||||
clusterinfo->flags |= CLUSTER_LOOKUPEXITTEXT;
|
clusterinfo->flags |= CLUSTER_LOOKUPEXITTEXT;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FStringf testlabel("CLUSTEREXIT%d", clusterinfo->cluster);
|
||||||
|
if (GStrings.MatchDefaultString(testlabel, clusterinfo->ExitText))
|
||||||
|
{
|
||||||
|
clusterinfo->ExitText = testlabel;
|
||||||
|
clusterinfo->flags |= CLUSTER_LOOKUPEXITTEXT;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (sc.Compare("music"))
|
else if (sc.Compare("music"))
|
||||||
{
|
{
|
||||||
|
@ -1933,8 +1951,8 @@ level_info_t *FMapInfoParser::ParseMapHeader(level_info_t &defaultinfo)
|
||||||
// Workaround to allow localizazion of IWADs which do not have a string label here (e.g. HACX.WAD)
|
// Workaround to allow localizazion of IWADs which do not have a string label here (e.g. HACX.WAD)
|
||||||
// This checks for a string labelled with the MapName and if that is identical to what got parsed here
|
// This checks for a string labelled with the MapName and if that is identical to what got parsed here
|
||||||
// the string table entry will be used.
|
// the string table entry will be used.
|
||||||
auto c = GStrings.GetLanguageString(levelinfo->MapName, FStringTable::default_table);
|
|
||||||
if (c && !strcmp(c, sc.String))
|
if (GStrings.MatchDefaultString(levelinfo->MapName, sc.String))
|
||||||
{
|
{
|
||||||
levelinfo->flags |= LEVEL_LOOKUPLEVELNAME;
|
levelinfo->flags |= LEVEL_LOOKUPLEVELNAME;
|
||||||
levelinfo->LevelName = levelinfo->MapName;
|
levelinfo->LevelName = levelinfo->MapName;
|
||||||
|
|
|
@ -367,6 +367,7 @@ void FResourceFile::PostProcessArchive(void *lumps, size_t lumpsize)
|
||||||
{
|
{
|
||||||
// Entries in archives are sorted alphabetically
|
// Entries in archives are sorted alphabetically
|
||||||
qsort(lumps, NumLumps, lumpsize, lumpcmp);
|
qsort(lumps, NumLumps, lumpsize, lumpcmp);
|
||||||
|
|
||||||
|
|
||||||
// Filter out lumps using the same names as the Autoload.* sections
|
// Filter out lumps using the same names as the Autoload.* sections
|
||||||
// in the ini file use. We reduce the maximum lump concidered after
|
// in the ini file use. We reduce the maximum lump concidered after
|
||||||
|
@ -406,7 +407,17 @@ int FResourceFile::FilterLumps(FString filtername, void *lumps, size_t lumpsize,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
filter << "filter/" << filtername << '/';
|
filter << "filter/" << filtername << '/';
|
||||||
if (FindPrefixRange(filter, lumps, lumpsize, max, start, end))
|
|
||||||
|
bool found = FindPrefixRange(filter, lumps, lumpsize, max, start, end);
|
||||||
|
|
||||||
|
// Workaround for old Doom filter names.
|
||||||
|
if (!found && filtername.IndexOf("doom.id.doom") == 0)
|
||||||
|
{
|
||||||
|
filter.Substitute("doom.id.doom", "doom.doom");
|
||||||
|
found = FindPrefixRange(filter, lumps, lumpsize, max, start, end);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found)
|
||||||
{
|
{
|
||||||
void *from = (uint8_t *)lumps + start * lumpsize;
|
void *from = (uint8_t *)lumps + start * lumpsize;
|
||||||
|
|
||||||
|
|
|
@ -250,6 +250,10 @@ bool FStringTable::ParseLanguageCSV(const TArray<uint8_t> &buffer)
|
||||||
{
|
{
|
||||||
InsertString(langentry.second, strName, str);
|
InsertString(langentry.second, strName, str);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DeleteString(langentry.second, strName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -372,6 +376,17 @@ void FStringTable::LoadLanguage (const TArray<uint8_t> &buffer)
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
|
void FStringTable::DeleteString(int langid, FName label)
|
||||||
|
{
|
||||||
|
allStrings[langid].Remove(label);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void FStringTable::InsertString(int langid, FName label, const FString &string)
|
void FStringTable::InsertString(int langid, FName label, const FString &string)
|
||||||
{
|
{
|
||||||
const char *strlangid = (const char *)&langid;
|
const char *strlangid = (const char *)&langid;
|
||||||
|
@ -386,7 +401,7 @@ void FStringTable::InsertString(int langid, FName label, const FString &string)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
FString macroname(te.strings[0].GetChars() + index + 2, endindex - index - 2);
|
FString macroname(te.strings[0].GetChars() + index + 2, endindex - index - 2);
|
||||||
FStringf lookupstr("%s/%s", strlangid, macroname.GetChars());
|
FStringf lookupstr("%s/%s", strlangid, macroname.GetChars());
|
||||||
FStringf replacee("@[%s]", macroname.GetChars());
|
FStringf replacee("@[%s]", macroname.GetChars());
|
||||||
FName lookupname(lookupstr, true);
|
FName lookupname(lookupstr, true);
|
||||||
auto replace = allMacros.CheckKey(lookupname);
|
auto replace = allMacros.CheckKey(lookupname);
|
||||||
|
@ -550,6 +565,20 @@ const char *FStringTable::GetLanguageString(const char *name, uint32_t langtable
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FStringTable::MatchDefaultString(const char *name, const char *content) const
|
||||||
|
{
|
||||||
|
// This only compares the first line to avoid problems with bad linefeeds. For the few cases where this feature is needed it is sufficient.
|
||||||
|
auto c = GetLanguageString(name, FStringTable::default_table);
|
||||||
|
if (!c) return false;
|
||||||
|
|
||||||
|
// Check a secondary key, in case the text comparison cannot be done due to needed orthographic fixes (see Harmony's exit text)
|
||||||
|
FStringf checkkey("%s_CHECK", name);
|
||||||
|
auto cc = GetLanguageString(checkkey, FStringTable::default_table);
|
||||||
|
if (cc) c = cc;
|
||||||
|
|
||||||
|
return (c && !strnicmp(c, content, strcspn(content, "\n\r\t")));
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// Finds a string by name and returns its value. If the string does
|
// Finds a string by name and returns its value. If the string does
|
||||||
|
|
|
@ -89,6 +89,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *GetLanguageString(const char *name, uint32_t langtable, int gender = -1) const;
|
const char *GetLanguageString(const char *name, uint32_t langtable, int gender = -1) const;
|
||||||
|
bool MatchDefaultString(const char *name, const char *content) const;
|
||||||
const char *GetString(const char *name, uint32_t *langtable, int gender = -1) const;
|
const char *GetString(const char *name, uint32_t *langtable, int gender = -1) const;
|
||||||
const char *operator() (const char *name) const; // Never returns NULL
|
const char *operator() (const char *name) const; // Never returns NULL
|
||||||
const char *operator[] (const char *name) const
|
const char *operator[] (const char *name) const
|
||||||
|
@ -110,6 +111,7 @@ private:
|
||||||
bool LoadLanguageFromSpreadsheet(int lumpnum, const TArray<uint8_t> &buffer);
|
bool LoadLanguageFromSpreadsheet(int lumpnum, const TArray<uint8_t> &buffer);
|
||||||
bool readMacros(int lumpnum);
|
bool readMacros(int lumpnum);
|
||||||
void InsertString(int langid, FName label, const FString &string);
|
void InsertString(int langid, FName label, const FString &string);
|
||||||
|
void DeleteString(int langid, FName label);
|
||||||
|
|
||||||
static size_t ProcessEscapes (char *str);
|
static size_t ProcessEscapes (char *str);
|
||||||
};
|
};
|
||||||
|
|
|
@ -130,6 +130,9 @@ void HU_SortPlayers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool SB_ForceActive = false;
|
bool SB_ForceActive = false;
|
||||||
|
static FFont *displayFont;
|
||||||
|
static int FontScale;
|
||||||
|
|
||||||
|
|
||||||
// PRIVATE DATA DEFINITIONS ------------------------------------------------
|
// PRIVATE DATA DEFINITIONS ------------------------------------------------
|
||||||
|
|
||||||
|
@ -143,6 +146,9 @@ bool SB_ForceActive = false;
|
||||||
|
|
||||||
void HU_DrawScores (player_t *player)
|
void HU_DrawScores (player_t *player)
|
||||||
{
|
{
|
||||||
|
displayFont = NewSmallFont;
|
||||||
|
FontScale = MAX(screen->GetHeight() / 400, 1);
|
||||||
|
|
||||||
if (deathmatch)
|
if (deathmatch)
|
||||||
{
|
{
|
||||||
if (teamplay)
|
if (teamplay)
|
||||||
|
@ -195,7 +201,7 @@ void HU_DrawScores (player_t *player)
|
||||||
|
|
||||||
void HU_GetPlayerWidths(int &maxnamewidth, int &maxscorewidth, int &maxiconheight)
|
void HU_GetPlayerWidths(int &maxnamewidth, int &maxscorewidth, int &maxiconheight)
|
||||||
{
|
{
|
||||||
maxnamewidth = SmallFont->StringWidth("Name");
|
maxnamewidth = displayFont->StringWidth("Name");
|
||||||
maxscorewidth = 0;
|
maxscorewidth = 0;
|
||||||
maxiconheight = 0;
|
maxiconheight = 0;
|
||||||
|
|
||||||
|
@ -203,7 +209,7 @@ void HU_GetPlayerWidths(int &maxnamewidth, int &maxscorewidth, int &maxiconheigh
|
||||||
{
|
{
|
||||||
if (playeringame[i])
|
if (playeringame[i])
|
||||||
{
|
{
|
||||||
int width = SmallFont->StringWidth(players[i].userinfo.GetName());
|
int width = displayFont->StringWidth(players[i].userinfo.GetName());
|
||||||
if (width > maxnamewidth)
|
if (width > maxnamewidth)
|
||||||
{
|
{
|
||||||
maxnamewidth = width;
|
maxnamewidth = width;
|
||||||
|
@ -235,6 +241,11 @@ void HU_GetPlayerWidths(int &maxnamewidth, int &maxscorewidth, int &maxiconheigh
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
|
static void HU_DrawFontScaled(double x, double y, int color, const char *text)
|
||||||
|
{
|
||||||
|
screen->DrawText(displayFont, color, x / FontScale, y / FontScale, text, DTA_VirtualWidth, screen->GetWidth() / FontScale, DTA_VirtualHeight, screen->GetHeight() / FontScale, TAG_END);
|
||||||
|
}
|
||||||
|
|
||||||
static void HU_DoDrawScores (player_t *player, player_t *sortedplayers[MAXPLAYERS])
|
static void HU_DoDrawScores (player_t *player, player_t *sortedplayers[MAXPLAYERS])
|
||||||
{
|
{
|
||||||
int color;
|
int color;
|
||||||
|
@ -258,7 +269,7 @@ static void HU_DoDrawScores (player_t *player, player_t *sortedplayers[MAXPLAYER
|
||||||
}
|
}
|
||||||
|
|
||||||
HU_GetPlayerWidths(maxnamewidth, maxscorewidth, maxiconheight);
|
HU_GetPlayerWidths(maxnamewidth, maxscorewidth, maxiconheight);
|
||||||
height = SmallFont->GetHeight() * CleanYfac;
|
height = displayFont->GetHeight() * FontScale;
|
||||||
lineheight = MAX(height, maxiconheight * CleanYfac);
|
lineheight = MAX(height, maxiconheight * CleanYfac);
|
||||||
ypadding = (lineheight - height + 1) / 2;
|
ypadding = (lineheight - height + 1) / 2;
|
||||||
|
|
||||||
|
@ -327,23 +338,16 @@ static void HU_DoDrawScores (player_t *player, player_t *sortedplayers[MAXPLAYER
|
||||||
*text_name = GStrings("SCORE_NAME"),
|
*text_name = GStrings("SCORE_NAME"),
|
||||||
*text_delay = GStrings("SCORE_DELAY");
|
*text_delay = GStrings("SCORE_DELAY");
|
||||||
|
|
||||||
col2 = (SmallFont->StringWidth(text_color) + 8) * CleanXfac;
|
col2 = (displayFont->StringWidth(text_color) + 16) * FontScale;
|
||||||
col3 = col2 + (SmallFont->StringWidth(text_frags) + 8) * CleanXfac;
|
col3 = col2 + (displayFont->StringWidth(text_frags) + 16) * FontScale;
|
||||||
col4 = col3 + maxscorewidth * CleanXfac;
|
col4 = col3 + maxscorewidth * FontScale;
|
||||||
col5 = col4 + (maxnamewidth + 8) * CleanXfac;
|
col5 = col4 + (maxnamewidth + 16) * FontScale;
|
||||||
x = (SCREENWIDTH >> 1) - (((SmallFont->StringWidth(text_delay) * CleanXfac) + col5) >> 1);
|
x = (SCREENWIDTH >> 1) - (((displayFont->StringWidth(text_delay) * FontScale) + col5) >> 1);
|
||||||
|
|
||||||
screen->DrawText (SmallFont, color, x, y, text_color,
|
//HU_DrawFontScaled(x, y, color, text_color);
|
||||||
DTA_CleanNoMove, true, TAG_DONE);
|
HU_DrawFontScaled(x + col2, y, color, text_frags);
|
||||||
|
HU_DrawFontScaled(x + col4, y, color, text_name);
|
||||||
screen->DrawText (SmallFont, color, x + col2, y, text_frags,
|
HU_DrawFontScaled(x + col5, y, color, text_delay);
|
||||||
DTA_CleanNoMove, true, TAG_DONE);
|
|
||||||
|
|
||||||
screen->DrawText (SmallFont, color, x + col4, y, text_name,
|
|
||||||
DTA_CleanNoMove, true, TAG_DONE);
|
|
||||||
|
|
||||||
screen->DrawText(SmallFont, color, x + col5, y, text_delay,
|
|
||||||
DTA_CleanNoMove, true, TAG_DONE);
|
|
||||||
|
|
||||||
y += height + 6 * CleanYfac;
|
y += height + 6 * CleanYfac;
|
||||||
bottom -= height;
|
bottom -= height;
|
||||||
|
@ -385,9 +389,8 @@ static void HU_DrawTimeRemaining (int y)
|
||||||
mysnprintf (str, countof(str), "Level ends in %d:%02d:%02d", hours, minutes, seconds);
|
mysnprintf (str, countof(str), "Level ends in %d:%02d:%02d", hours, minutes, seconds);
|
||||||
else
|
else
|
||||||
mysnprintf (str, countof(str), "Level ends in %d:%02d", minutes, seconds);
|
mysnprintf (str, countof(str), "Level ends in %d:%02d", minutes, seconds);
|
||||||
|
|
||||||
screen->DrawText (SmallFont, CR_GREY, SCREENWIDTH/2 - SmallFont->StringWidth (str)/2*CleanXfac,
|
HU_DrawFontScaled(SCREENWIDTH / 2 - displayFont->StringWidth(str) / 2 * FontScale, y, CR_GRAY, str);
|
||||||
y, str, DTA_CleanNoMove, true, TAG_DONE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -407,7 +410,7 @@ static void HU_DrawPlayer (player_t *player, bool highlight, int col1, int col2,
|
||||||
// The teamplay mode uses colors to show teams, so we need some
|
// The teamplay mode uses colors to show teams, so we need some
|
||||||
// other way to do highlighting. And it may as well be used for
|
// other way to do highlighting. And it may as well be used for
|
||||||
// all modes for the sake of consistancy.
|
// all modes for the sake of consistancy.
|
||||||
screen->Dim(MAKERGB(200,245,255), 0.125f, col1 - 12*CleanXfac, y - 1, col5 + (maxnamewidth + 24)*CleanXfac, height + 2);
|
screen->Dim(MAKERGB(200,245,255), 0.125f, col1 - 12*FontScale, y - 1, col5 + (maxnamewidth + 24)*FontScale, height + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
col2 += col1;
|
col2 += col1;
|
||||||
|
@ -419,8 +422,7 @@ static void HU_DrawPlayer (player_t *player, bool highlight, int col1, int col2,
|
||||||
HU_DrawColorBar(col1, y, height, (int)(player - players));
|
HU_DrawColorBar(col1, y, height, (int)(player - players));
|
||||||
mysnprintf (str, countof(str), "%d", deathmatch ? player->fragcount : player->killcount);
|
mysnprintf (str, countof(str), "%d", deathmatch ? player->fragcount : player->killcount);
|
||||||
|
|
||||||
screen->DrawText (SmallFont, color, col2, y + ypadding, player->playerstate == PST_DEAD && !deathmatch ? "DEAD" : str,
|
HU_DrawFontScaled(col2, y + ypadding, color, player->playerstate == PST_DEAD && !deathmatch ? "DEAD" : str);
|
||||||
DTA_CleanNoMove, true, TAG_DONE);
|
|
||||||
|
|
||||||
auto icon = FSetTextureID(player->mo->IntVar(NAME_ScoreIcon));
|
auto icon = FSetTextureID(player->mo->IntVar(NAME_ScoreIcon));
|
||||||
if (icon.isValid())
|
if (icon.isValid())
|
||||||
|
@ -431,8 +433,7 @@ static void HU_DrawPlayer (player_t *player, bool highlight, int col1, int col2,
|
||||||
TAG_DONE);
|
TAG_DONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
screen->DrawText (SmallFont, color, col4, y + ypadding, player->userinfo.GetName(),
|
HU_DrawFontScaled(col4, y + ypadding, color, player->userinfo.GetName());
|
||||||
DTA_CleanNoMove, true, TAG_DONE);
|
|
||||||
|
|
||||||
int avgdelay = 0;
|
int avgdelay = 0;
|
||||||
for (int i = 0; i < BACKUPTICS; i++)
|
for (int i = 0; i < BACKUPTICS; i++)
|
||||||
|
@ -443,8 +444,7 @@ static void HU_DrawPlayer (player_t *player, bool highlight, int col1, int col2,
|
||||||
|
|
||||||
mysnprintf(str, countof(str), "%d", (avgdelay * ticdup) * (1000 / TICRATE));
|
mysnprintf(str, countof(str), "%d", (avgdelay * ticdup) * (1000 / TICRATE));
|
||||||
|
|
||||||
screen->DrawText(SmallFont, color, col5, y + ypadding, str,
|
HU_DrawFontScaled(col5, y + ypadding, color, str);
|
||||||
DTA_CleanNoMove, true, TAG_DONE);
|
|
||||||
|
|
||||||
if (teamplay && Teams[player->userinfo.GetTeam()].GetLogo().IsNotEmpty ())
|
if (teamplay && Teams[player->userinfo.GetTeam()].GetLogo().IsNotEmpty ())
|
||||||
{
|
{
|
||||||
|
@ -467,7 +467,10 @@ void HU_DrawColorBar(int x, int y, int height, int playernum)
|
||||||
D_GetPlayerColor (playernum, &h, &s, &v, NULL);
|
D_GetPlayerColor (playernum, &h, &s, &v, NULL);
|
||||||
HSVtoRGB (&r, &g, &b, h, s, v);
|
HSVtoRGB (&r, &g, &b, h, s, v);
|
||||||
|
|
||||||
screen->Clear (x, y, x + 24*CleanXfac, y + height, -1,
|
//float aspect = ActiveRatio(SCREENWIDTH, SCREENHEIGHT);
|
||||||
|
//if (!AspectTallerThanWide(aspect)) x += (screen->GetWidth() - AspectBaseWidth(aspect)) / 2;
|
||||||
|
|
||||||
|
screen->Clear (x, y, x + 24*FontScale, y + height, -1,
|
||||||
MAKEARGB(255,clamp(int(r*255.f),0,255),
|
MAKEARGB(255,clamp(int(r*255.f),0,255),
|
||||||
clamp(int(g*255.f),0,255),
|
clamp(int(g*255.f),0,255),
|
||||||
clamp(int(b*255.f),0,255)));
|
clamp(int(b*255.f),0,255)));
|
||||||
|
|
|
@ -65,7 +65,7 @@ const char *GetVersionString();
|
||||||
// Version stored in the ini's [LastRun] section.
|
// Version stored in the ini's [LastRun] section.
|
||||||
// Bump it if you made some configuration change that you want to
|
// Bump it if you made some configuration change that you want to
|
||||||
// be able to migrate in FGameConfigFile::DoGlobalSetup().
|
// be able to migrate in FGameConfigFile::DoGlobalSetup().
|
||||||
#define LASTRUNVERSION "217"
|
#define LASTRUNVERSION "218"
|
||||||
|
|
||||||
// Protocol version used in demos.
|
// Protocol version used in demos.
|
||||||
// Bump it if you change existing DEM_ commands or add new ones.
|
// Bump it if you change existing DEM_ commands or add new ones.
|
||||||
|
|
|
@ -1,162 +0,0 @@
|
||||||
BAR1A0, 10, 32, iwad
|
|
||||||
BAR1B0, 10, 32, iwad
|
|
||||||
BEXPA0, 10, 32, iwad
|
|
||||||
BEXPB0, 10, 31, iwad
|
|
||||||
BEXPC0, 19, 36, iwad
|
|
||||||
BEXPD0, 27, 49, iwad
|
|
||||||
BEXPE0, 29, 52, iwad
|
|
||||||
BOS2I0, 20, 71, iwad
|
|
||||||
BOS2J0, 26, 62, iwad
|
|
||||||
BOS2K0, 26, 52, iwad
|
|
||||||
BOS2L0, 29, 33, iwad
|
|
||||||
BOS2M0, 30, 29, iwad
|
|
||||||
BOS2N0, 30, 29, iwad
|
|
||||||
BOS2O0, 30, 29, iwad
|
|
||||||
BOSSI0, 20, 72, iwad
|
|
||||||
BOSSJ0, 26, 63, iwad
|
|
||||||
BOSSK0, 26, 51, iwad
|
|
||||||
BOSSL0, 29, 33, iwad
|
|
||||||
BOSSM0, 30, 29, iwad
|
|
||||||
BOSSN0, 30, 29, iwad
|
|
||||||
BOSSO0, 30, 29, iwad
|
|
||||||
BRS1A0, 13, 8, iwad
|
|
||||||
BSPIJ0, 50, 54, iwad
|
|
||||||
BSPIK0, 50, 57, iwad
|
|
||||||
BSPIL0, 47, 52, iwad
|
|
||||||
BSPIM0, 45, 44, iwad
|
|
||||||
BSPIN0, 45, 42, iwad
|
|
||||||
BSPIO0, 45, 30, iwad
|
|
||||||
BSPIP0, 45, 28, iwad
|
|
||||||
CBRAA0, 15, 60, iwad
|
|
||||||
CEYEA0, 21, 59, iwad
|
|
||||||
CEYEB0, 21, 58, iwad
|
|
||||||
CEYEC0, 21, 59, iwad
|
|
||||||
COL1A0, 16, 51, iwad
|
|
||||||
COL2A0, 16, 39, iwad
|
|
||||||
COL3A0, 16, 52, iwad
|
|
||||||
COL4A0, 17, 39, iwad
|
|
||||||
COL5A0, 16, 44, iwad
|
|
||||||
COL5B0, 16, 45, iwad
|
|
||||||
COL6A0, 17, 47, iwad
|
|
||||||
COLUA0, 9, 45, iwad
|
|
||||||
CPOSH0, 20, 61, iwad
|
|
||||||
CPOSI0, 23, 64, iwad
|
|
||||||
CPOSJ0, 28, 59, iwad
|
|
||||||
CPOSK0, 30, 48, iwad
|
|
||||||
CPOSL0, 31, 34, iwad
|
|
||||||
CPOSM0, 32, 22, iwad
|
|
||||||
CPOSN0, 32, 18, iwad
|
|
||||||
CPOSO0, 26, 59, iwad
|
|
||||||
CPOSP0, 28, 59, iwad
|
|
||||||
CPOSQ0, 30, 48, iwad
|
|
||||||
CPOSR0, 32, 40, iwad
|
|
||||||
CPOSS0, 32, 31, iwad
|
|
||||||
CPOST0, 32, 19, iwad
|
|
||||||
CYBRH0, 60, 108, iwad
|
|
||||||
CYBRI0, 55, 110, iwad
|
|
||||||
CYBRJ0, 49, 113, iwad
|
|
||||||
CYBRK0, 56, 114, iwad
|
|
||||||
CYBRL0, 62, 121, iwad
|
|
||||||
CYBRM0, 67, 128, iwad
|
|
||||||
CYBRN0, 70, 132, iwad
|
|
||||||
CYBRO0, 69, 132, iwad
|
|
||||||
CYBRP0, 60, 28, iwad
|
|
||||||
ELECA0, 19, 125, iwad
|
|
||||||
FATTO0, 35, 43, iwad
|
|
||||||
FATTP0, 36, 41, iwad
|
|
||||||
FATTQ0, 36, 40, iwad
|
|
||||||
FATTR0, 36, 40, iwad
|
|
||||||
FATTS0, 36, 40, iwad
|
|
||||||
FATTT0, 36, 39, iwad
|
|
||||||
FCANA0, 19, 52, iwad
|
|
||||||
FCANB0, 19, 52, iwad
|
|
||||||
FCANC0, 19, 50, iwad
|
|
||||||
PLAYH0, 16, 50, iwad
|
|
||||||
PLAYI0, 11, 42, iwad
|
|
||||||
PLAYJ0, 12, 45, iwad
|
|
||||||
PLAYK0, 17, 37, iwad
|
|
||||||
PLAYL0, 27, 14, iwad
|
|
||||||
PLAYM0, 27, 14, iwad
|
|
||||||
PLAYN0, 27, 14, iwad
|
|
||||||
POB1A0, 16, 6, iwad
|
|
||||||
POB2A0, 14, 3, iwad
|
|
||||||
POL1A0, 22, 65, iwad
|
|
||||||
POL2A0, 19, 66, iwad
|
|
||||||
POL3A0, 19, 42, iwad
|
|
||||||
POL3B0, 19, 42, iwad
|
|
||||||
POL4A0, 19, 55, iwad
|
|
||||||
POL5A0, 27, 8, iwad
|
|
||||||
POL6A0, 17, 65, iwad
|
|
||||||
POL6B0, 19, 65, iwad
|
|
||||||
POSSH0, 19, 55, iwad
|
|
||||||
POSSL0, 22, 14, iwad
|
|
||||||
SARGI0, 25, 56, iwad
|
|
||||||
SARGM0, 33, 43, iwad
|
|
||||||
SARGN0, 33, 29, iwad
|
|
||||||
SKELM0, 27, 78, iwad
|
|
||||||
SKELN0, 38, 69, iwad
|
|
||||||
SKELO0, 28, 55, iwad
|
|
||||||
SKELP0, 28, 35, iwad
|
|
||||||
SKELQ0, 40, 20, iwad
|
|
||||||
SMITA0, 22, 44, iwad
|
|
||||||
SPIDJ0, 79, 102, iwad
|
|
||||||
SPIDK0, 95, 95, iwad
|
|
||||||
SPIDL0, 94, 88, iwad
|
|
||||||
SPIDM0, 94, 76, iwad
|
|
||||||
SPIDN0, 98, 71, iwad
|
|
||||||
SPIDO0, 101, 68, iwad
|
|
||||||
SPIDP0, 104, 85, iwad
|
|
||||||
SPIDQ0, 109, 90, iwad
|
|
||||||
SPIDR0, 110, 111, iwad
|
|
||||||
SPIDS0, 98, 35, iwad
|
|
||||||
SPOSH0, 14, 60, iwad
|
|
||||||
SPOSL0, 24, 15, iwad
|
|
||||||
SSWVI0, 18, 54, iwad
|
|
||||||
SSWVJ0, 15, 44, iwad
|
|
||||||
SSWVK0, 15, 40, iwad
|
|
||||||
SSWVL0, 15, 25, iwad
|
|
||||||
SSWVM0, 24, 13, iwad
|
|
||||||
SSWVN0, 15, 57, iwad
|
|
||||||
SSWVO0, 22, 59, iwad
|
|
||||||
SSWVP0, 25, 58, iwad
|
|
||||||
TBLUA0, 14, 94, iwad
|
|
||||||
TBLUB0, 14, 94, iwad
|
|
||||||
TBLUC0, 14, 94, iwad
|
|
||||||
TBLUD0, 14, 95, iwad
|
|
||||||
TGRNA0, 14, 94, iwad
|
|
||||||
TGRNB0, 14, 89, iwad
|
|
||||||
TGRNC0, 14, 89, iwad
|
|
||||||
TGRND0, 14, 95, iwad
|
|
||||||
TLMPA0, 11, 78, iwad
|
|
||||||
TLMPB0, 11, 78, iwad
|
|
||||||
TLMPC0, 11, 78, iwad
|
|
||||||
TLMPD0, 11, 78, iwad
|
|
||||||
TLP2A0, 10, 58, iwad
|
|
||||||
TLP2B0, 10, 58, iwad
|
|
||||||
TLP2C0, 10, 58, iwad
|
|
||||||
TLP2D0, 10, 58, iwad
|
|
||||||
TRE1A0, 25, 67, iwad
|
|
||||||
TREDA0, 14, 94, iwad
|
|
||||||
TREDB0, 14, 89, iwad
|
|
||||||
TREDC0, 14, 89, iwad
|
|
||||||
TREDD0, 14, 95, iwad
|
|
||||||
TROOI0, 22, 62, iwad
|
|
||||||
TROOJ0, 21, 59, iwad
|
|
||||||
TROOM0, 29, 20, iwad
|
|
||||||
TROON0, 24, 59, iwad
|
|
||||||
TROOO0, 20, 61, iwad
|
|
||||||
TROOP0, 24, 61, iwad
|
|
||||||
TROOQ0, 24, 61, iwad
|
|
||||||
TROOR0, 24, 44, iwad
|
|
||||||
TROOS0, 27, 34, iwad
|
|
||||||
TROOT0, 27, 31, iwad
|
|
||||||
TROOU0, 27, 18, iwad
|
|
||||||
VILER0, 18, 80, iwad
|
|
||||||
VILES0, 23, 76, iwad
|
|
||||||
VILET0, 27, 69, iwad
|
|
||||||
VILEU0, 35, 56, iwad
|
|
||||||
VILEV0, 34, 45, iwad
|
|
||||||
VILEW0, 34, 35, iwad
|
|
||||||
VILEX0, 34, 23, iwad
|
|
||||||
VILEY0, 34, 20, iwad
|
|
||||||
VILEZ0, 34, 20, iwad
|
|
|
@ -307,7 +307,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "DOOM: BFG Edition"
|
Name = "DOOM: BFG Edition"
|
||||||
Autoname = "doom.doom1.bfg"
|
Autoname = "doom.id.doom1.bfg"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
IWADName = "doom.wad", 2
|
IWADName = "doom.wad", 2
|
||||||
|
@ -324,7 +324,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "DOOM: Complete: WadSmoosh"
|
Name = "DOOM: Complete: WadSmoosh"
|
||||||
Autoname = "doom.doom2.wadsmoosh"
|
Autoname = "doom.id.doom2.wadsmoosh"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
Mapinfo = "mapinfo/doom2.txt"
|
Mapinfo = "mapinfo/doom2.txt"
|
||||||
|
@ -337,7 +337,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "The Ultimate DOOM"
|
Name = "The Ultimate DOOM"
|
||||||
Autoname = "doom.doom1.ultimate"
|
Autoname = "doom.id.doom1.ultimate"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
IWADName = "doom.wad"
|
IWADName = "doom.wad"
|
||||||
|
@ -353,7 +353,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "DOOM Registered"
|
Name = "DOOM Registered"
|
||||||
Autoname = "doom.doom1.registered"
|
Autoname = "doom.id.doom1.registered"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
IWADName = "doom.wad", 1
|
IWADName = "doom.wad", 1
|
||||||
|
@ -381,7 +381,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "Final Doom: TNT - Evilution"
|
Name = "Final Doom: TNT - Evilution"
|
||||||
Autoname = "doom.doom2.tnt"
|
Autoname = "doom.id.doom2.tnt"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
IWADName = "tnt.wad"
|
IWADName = "tnt.wad"
|
||||||
|
@ -395,7 +395,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "Final Doom: Plutonia Experiment"
|
Name = "Final Doom: Plutonia Experiment"
|
||||||
Autoname = "doom.doom2.plutonia"
|
Autoname = "doom.id.doom2.plutonia"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
IWADName = "plutonia.wad"
|
IWADName = "plutonia.wad"
|
||||||
|
@ -409,7 +409,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "DOOM 2: BFG Edition"
|
Name = "DOOM 2: BFG Edition"
|
||||||
Autoname = "doom.doom2.bfg"
|
Autoname = "doom.id.doom2.bfg"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
IWADName = "doom2.wad"
|
IWADName = "doom2.wad"
|
||||||
|
@ -425,7 +425,7 @@ IWad
|
||||||
IWad
|
IWad
|
||||||
{
|
{
|
||||||
Name = "DOOM 2: Hell on Earth"
|
Name = "DOOM 2: Hell on Earth"
|
||||||
Autoname = "doom.doom2.commercial"
|
Autoname = "doom.id.doom2.commercial"
|
||||||
Game = "Doom"
|
Game = "Doom"
|
||||||
Config = "Doom"
|
Config = "Doom"
|
||||||
IWADName = "doom2.wad", 1
|
IWADName = "doom2.wad", 1
|
||||||
|
|
|
@ -41,7 +41,7 @@ class os_SearchField : OptionMenuItemTextField
|
||||||
override String Represent()
|
override String Represent()
|
||||||
{
|
{
|
||||||
return mEnter
|
return mEnter
|
||||||
? mEnter.GetText() .. SmallFont.GetCursor()
|
? mEnter.GetText() .. NewSmallFont.GetCursor()
|
||||||
: mText;
|
: mText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ class CoopStatusScreen : StatusScreen
|
||||||
acceleratestage = 0;
|
acceleratestage = 0;
|
||||||
ng_state = 1;
|
ng_state = 1;
|
||||||
displayFont = NewSmallFont;
|
displayFont = NewSmallFont;
|
||||||
FontScale = max(screen.GetHeight() / 480, 1);
|
FontScale = max(screen.GetHeight() / 400, 1);
|
||||||
RowHeight = int(max((displayFont.GetHeight() + 1) * FontScale, 1));
|
RowHeight = int(max((displayFont.GetHeight() + 1) * FontScale, 1));
|
||||||
|
|
||||||
cnt_pause = Thinker.TICRATE;
|
cnt_pause = Thinker.TICRATE;
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
class DeathmatchStatusScreen : StatusScreen
|
class DeathmatchStatusScreen : StatusScreen
|
||||||
{
|
{
|
||||||
int textcolor;
|
int textcolor;
|
||||||
|
double FontScale;
|
||||||
|
int RowHeight;
|
||||||
|
Font displayFont;
|
||||||
|
|
||||||
//====================================================================
|
//====================================================================
|
||||||
//
|
//
|
||||||
|
@ -13,10 +16,14 @@ class DeathmatchStatusScreen : StatusScreen
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
textcolor = (gameinfo.gametype & GAME_Raven) ? Font.CR_GREEN : Font.CR_UNTRANSLATED;
|
textcolor = Font.CR_GRAY;
|
||||||
|
|
||||||
CurState = StatCount;
|
CurState = StatCount;
|
||||||
acceleratestage = 0;
|
acceleratestage = 0;
|
||||||
|
displayFont = NewSmallFont;
|
||||||
|
FontScale = max(screen.GetHeight() / 400, 1);
|
||||||
|
RowHeight = max((displayFont.GetHeight() + 1) * FontScale, 1);
|
||||||
|
|
||||||
for(i = 0; i < MAXPLAYERS; i++)
|
for(i = 0; i < MAXPLAYERS; i++)
|
||||||
{
|
{
|
||||||
playerready[i] = false;
|
playerready[i] = false;
|
||||||
|
@ -160,7 +167,7 @@ class DeathmatchStatusScreen : StatusScreen
|
||||||
Vector2 readyoffset = TexMan.GetScaledOffset(readyico);
|
Vector2 readyoffset = TexMan.GetScaledOffset(readyico);
|
||||||
height = int(readysize.Y - readyoffset.Y);
|
height = int(readysize.Y - readyoffset.Y);
|
||||||
maxiconheight = MAX(height, maxiconheight);
|
maxiconheight = MAX(height, maxiconheight);
|
||||||
height = SmallFont.GetHeight() * CleanYfac;
|
height = displayFont.GetHeight() * FontScale;
|
||||||
lineheight = MAX(height, maxiconheight * CleanYfac);
|
lineheight = MAX(height, maxiconheight * CleanYfac);
|
||||||
ypadding = (lineheight - height + 1) / 2;
|
ypadding = (lineheight - height + 1) / 2;
|
||||||
y += CleanYfac;
|
y += CleanYfac;
|
||||||
|
@ -169,22 +176,22 @@ class DeathmatchStatusScreen : StatusScreen
|
||||||
//text_color = Stringtable.Localize("$SCORE_COLOR");
|
//text_color = Stringtable.Localize("$SCORE_COLOR");
|
||||||
text_frags = Stringtable.Localize("$SCORE_FRAGS");
|
text_frags = Stringtable.Localize("$SCORE_FRAGS");
|
||||||
|
|
||||||
icon_x = 8 * CleanXfac;
|
icon_x = 8 * FontScale;
|
||||||
name_x = icon_x + maxscorewidth * CleanXfac;
|
name_x = icon_x + maxscorewidth * FontScale;
|
||||||
frags_x = name_x + (maxnamewidth + MAX(SmallFont.StringWidth("XXXXX"), SmallFont.StringWidth(text_frags)) + 8) * CleanXfac;
|
frags_x = name_x + (maxnamewidth + 1 + MAX(displayFont.StringWidth("XXXXXXXXXX"), displayFont.StringWidth(text_frags)) + 16) * FontScale;
|
||||||
deaths_x = frags_x + ((deaths_len = SmallFont.StringWidth(text_deaths)) + 8) * CleanXfac;
|
deaths_x = frags_x + ((deaths_len = displayFont.StringWidth(text_deaths)) + 16) * FontScale;
|
||||||
|
|
||||||
x = (Screen.GetWidth() - deaths_x) >> 1;
|
x = (Screen.GetWidth() - deaths_x) >> 1;
|
||||||
icon_x += x;
|
icon_x += x;
|
||||||
name_x += x;
|
name_x += x;
|
||||||
frags_x += x;
|
frags_x += x;
|
||||||
deaths_x += x;
|
deaths_x += x;
|
||||||
|
|
||||||
screen.DrawText(SmallFont, textcolor, name_x, y, Stringtable.Localize("$SCORE_NAME"), DTA_CleanNoMove, true);
|
drawTextScaled(displayFont, name_x, y, Stringtable.Localize("$SCORE_NAME"), FontScale, textcolor);
|
||||||
screen.DrawText(SmallFont, textcolor, frags_x - SmallFont.StringWidth(text_frags) * CleanXfac, y, text_frags, DTA_CleanNoMove, true);
|
drawTextScaled(displayFont, frags_x - displayFont.StringWidth(text_frags) * FontScale, y, text_frags, FontScale, textcolor);
|
||||||
screen.DrawText(SmallFont, textcolor, deaths_x - deaths_len * CleanXfac, y, text_deaths, DTA_CleanNoMove, true);
|
drawTextScaled(displayFont, deaths_x - deaths_len * FontScale, y, text_deaths, FontScale, textcolor);
|
||||||
y += height + 6 * CleanYfac;
|
y += height + 6 * FontScale;
|
||||||
|
|
||||||
// Sort all players
|
// Sort all players
|
||||||
Array<int> sortedplayers;
|
Array<int> sortedplayers;
|
||||||
GetSortedPlayers(sortedplayers, teamplay);
|
GetSortedPlayers(sortedplayers, teamplay);
|
||||||
|
@ -208,22 +215,25 @@ class DeathmatchStatusScreen : StatusScreen
|
||||||
{
|
{
|
||||||
screen.DrawTexture(player.mo.ScoreIcon, true, icon_x, y, DTA_CleanNoMove, true);
|
screen.DrawTexture(player.mo.ScoreIcon, true, icon_x, y, DTA_CleanNoMove, true);
|
||||||
}
|
}
|
||||||
screen.DrawText(SmallFont, thiscolor, name_x, y + ypadding, player.GetUserName(), DTA_CleanNoMove, true);
|
|
||||||
drawNum(SmallFont, frags_x, y + ypadding, cnt_frags[pnum], 0, false, thiscolor, true);
|
drawTextScaled(displayFont, name_x, y + ypadding, player.GetUserName(), FontScale, thiscolor);
|
||||||
|
drawNumScaled(displayFont, frags_x, y + ypadding, FontScale, cnt_frags[pnum], 0, textcolor);
|
||||||
|
|
||||||
if (ng_state >= 2)
|
if (ng_state >= 2)
|
||||||
{
|
{
|
||||||
drawNum(SmallFont, deaths_x, y + ypadding, cnt_deaths[pnum], 0, false, thiscolor, true);
|
drawNumScaled(displayFont, deaths_x, y + ypadding, FontScale, cnt_deaths[pnum], 0, textcolor);
|
||||||
}
|
}
|
||||||
y += lineheight + CleanYfac;
|
y += lineheight + CleanYfac;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw "TOTAL" line
|
// Draw "TOTAL" line
|
||||||
y += height + 3 * CleanYfac;
|
y += height + 3 * CleanYfac;
|
||||||
screen.DrawText(SmallFont, textcolor, name_x, y, Stringtable.Localize("$SCORE_TOTAL"), DTA_CleanNoMove, true);
|
drawTextScaled(displayFont, name_x, y, Stringtable.Localize("$SCORE_TOTAL"), FontScale, textcolor);
|
||||||
drawNum(SmallFont, frags_x, y, total_frags, 0, false, textcolor, true);
|
drawNumScaled(displayFont, frags_x, y, FontScale, total_frags, 0, textcolor);
|
||||||
|
|
||||||
if (ng_state >= 4)
|
if (ng_state >= 4)
|
||||||
{
|
{
|
||||||
drawNum(SmallFont, deaths_x, y, total_deaths, 0, false, textcolor, true);
|
drawNumScaled(displayFont, deaths_x, y, FontScale, total_deaths, 0, textcolor);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw game time
|
// Draw game time
|
||||||
|
@ -235,7 +245,6 @@ class DeathmatchStatusScreen : StatusScreen
|
||||||
seconds = seconds % 60;
|
seconds = seconds % 60;
|
||||||
|
|
||||||
String leveltime = Stringtable.Localize("$SCORE_LVLTIME") .. ": " .. String.Format("%02i:%02i:%02i", hours, minutes, seconds);
|
String leveltime = Stringtable.Localize("$SCORE_LVLTIME") .. ": " .. String.Format("%02i:%02i:%02i", hours, minutes, seconds);
|
||||||
|
drawTextScaled(displayFont, x, y, leveltime, FontScale, textcolor);
|
||||||
screen.DrawText(SmallFont, textcolor, x, y, leveltime, DTA_CleanNoMove, true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load diff
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/0108.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/0108.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/011C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/011C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/0124.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/0124.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/0134.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/0134.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/015C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/015C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/016C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigfont/016C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0108.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0108.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0109.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0109.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/011C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/011C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/011D.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/011D.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0124.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0124.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0125.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0125.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0134.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0134.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0135.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/0135.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/015C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/015C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/015D.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/015D.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/016C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/016C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/016D.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/bigupper/016D.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0108.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0108.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/011C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/011C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0124.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0124.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0134.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/0134.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/015C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/015C.lmp
Normal file
Binary file not shown.
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/016C.lmp
Normal file
BIN
wadsrc_extra/static/filter/game-doom/fonts/defsmallfont/016C.lmp
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue