mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-04 15:31:21 +00:00
Make name tag font(s) into fontdefs, and some more general cleanup.
This commit is contained in:
parent
be729c334f
commit
a6153b62f2
4 changed files with 47 additions and 59 deletions
|
@ -1718,7 +1718,7 @@ static void CON_DrawHudlines(void)
|
||||||
;//charwidth = 4 * con_scalefactor;
|
;//charwidth = 4 * con_scalefactor;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//charwidth = (hu_font['A'-HU_FONTSTART]->width) * con_scalefactor;
|
//charwidth = (hu_font.chars['A'-HU_FONTSTART]->width) * con_scalefactor;
|
||||||
V_DrawCharacter(x, y, (INT32)(*p) | charflags | cv_constextsize.value | V_NOSCALESTART, true);
|
V_DrawCharacter(x, y, (INT32)(*p) | charflags | cv_constextsize.value | V_NOSCALESTART, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,21 +58,22 @@
|
||||||
#define HU_CSAY 2 // Server CECHOes to everyone.
|
#define HU_CSAY 2 // Server CECHOes to everyone.
|
||||||
|
|
||||||
//-------------------------------------------
|
//-------------------------------------------
|
||||||
// heads up font
|
// Fonts & stuff
|
||||||
//-------------------------------------------
|
//-------------------------------------------
|
||||||
|
// Font definitions
|
||||||
fontdef_t hu_font;
|
fontdef_t hu_font;
|
||||||
fontdef_t tny_font;
|
fontdef_t tny_font;
|
||||||
fontdef_t cred_font;
|
fontdef_t cred_font;
|
||||||
fontdef_t lt_font;
|
fontdef_t lt_font;
|
||||||
|
fontdef_t ntb_font;
|
||||||
|
fontdef_t nto_font;
|
||||||
|
|
||||||
|
// Numbers
|
||||||
patch_t *tallnum[10]; // 0-9
|
patch_t *tallnum[10]; // 0-9
|
||||||
patch_t *nightsnum[10]; // 0-9
|
patch_t *nightsnum[10]; // 0-9
|
||||||
|
|
||||||
patch_t *ttlnum[10]; // act numbers (0-9)
|
patch_t *ttlnum[10]; // act numbers (0-9)
|
||||||
|
patch_t *tallminus;
|
||||||
// Name tag fonts
|
patch_t *tallinfin;
|
||||||
patch_t *ntb_font[NT_FONTSIZE];
|
|
||||||
patch_t *nto_font[NT_FONTSIZE];
|
|
||||||
|
|
||||||
static player_t *plr;
|
static player_t *plr;
|
||||||
boolean chat_on; // entering a chat message?
|
boolean chat_on; // entering a chat message?
|
||||||
|
@ -87,8 +88,6 @@ patch_t *bflagico;
|
||||||
patch_t *rmatcico;
|
patch_t *rmatcico;
|
||||||
patch_t *bmatcico;
|
patch_t *bmatcico;
|
||||||
patch_t *tagico;
|
patch_t *tagico;
|
||||||
patch_t *tallminus;
|
|
||||||
patch_t *tallinfin;
|
|
||||||
|
|
||||||
//-------------------------------------------
|
//-------------------------------------------
|
||||||
// coop hud
|
// coop hud
|
||||||
|
@ -217,6 +216,20 @@ void HU_LoadGraphics(void)
|
||||||
lt_font.chars[i] = NULL;
|
lt_font.chars[i] = NULL;
|
||||||
else
|
else
|
||||||
lt_font.chars[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
lt_font.chars[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
||||||
|
|
||||||
|
// name tag font base
|
||||||
|
sprintf(buffer, "NTFNT%.3d", j);
|
||||||
|
if (W_CheckNumForName(buffer) == LUMPERROR)
|
||||||
|
ntb_font.chars[i] = NULL;
|
||||||
|
else
|
||||||
|
ntb_font.chars[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
||||||
|
|
||||||
|
// name tag font outline
|
||||||
|
sprintf(buffer, "NTFNO%.3d", j);
|
||||||
|
if (W_CheckNumForName(buffer) == LUMPERROR)
|
||||||
|
nto_font.chars[i] = NULL;
|
||||||
|
else
|
||||||
|
nto_font.chars[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
hu_font.kerning = 0;
|
hu_font.kerning = 0;
|
||||||
|
@ -235,6 +248,10 @@ void HU_LoadGraphics(void)
|
||||||
lt_font.spacewidth = 16;
|
lt_font.spacewidth = 16;
|
||||||
lt_font.linespacing = 20;
|
lt_font.linespacing = 20;
|
||||||
|
|
||||||
|
ntb_font.kerning = nto_font.kerning = 0;
|
||||||
|
ntb_font.spacewidth = nto_font.spacewidth = 4;
|
||||||
|
ntb_font.linespacing = nto_font.linespacing = 21;
|
||||||
|
|
||||||
//cache numbers too!
|
//cache numbers too!
|
||||||
for (i = 0; i < 10; i++)
|
for (i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
|
@ -242,36 +259,14 @@ void HU_LoadGraphics(void)
|
||||||
tallnum[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
tallnum[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
||||||
sprintf(buffer, "NGTNUM%d", i);
|
sprintf(buffer, "NGTNUM%d", i);
|
||||||
nightsnum[i] = (patch_t *) W_CachePatchName(buffer, PU_HUDGFX);
|
nightsnum[i] = (patch_t *) W_CachePatchName(buffer, PU_HUDGFX);
|
||||||
|
sprintf(buffer, "TTL%.2d", i);
|
||||||
|
ttlnum[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
// minus for negative tallnums
|
// minus for negative tallnums
|
||||||
tallminus = (patch_t *)W_CachePatchName("STTMINUS", PU_HUDGFX);
|
tallminus = (patch_t *)W_CachePatchName("STTMINUS", PU_HUDGFX);
|
||||||
tallinfin = (patch_t *)W_CachePatchName("STTINFIN", PU_HUDGFX);
|
tallinfin = (patch_t *)W_CachePatchName("STTINFIN", PU_HUDGFX);
|
||||||
|
|
||||||
// cache act numbers for level titles
|
|
||||||
for (i = 0; i < 10; i++)
|
|
||||||
{
|
|
||||||
sprintf(buffer, "TTL%.2d", i);
|
|
||||||
ttlnum[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
|
||||||
}
|
|
||||||
|
|
||||||
// cache the base name tag font & outline for entire game execution
|
|
||||||
j = NT_FONTSTART;
|
|
||||||
for (i = 0; i < NT_FONTSIZE; i++, j++)
|
|
||||||
{
|
|
||||||
sprintf(buffer, "NTFNT%.3d", j);
|
|
||||||
if (W_CheckNumForName(buffer) == LUMPERROR)
|
|
||||||
ntb_font[i] = NULL;
|
|
||||||
else
|
|
||||||
ntb_font[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
|
||||||
|
|
||||||
sprintf(buffer, "NTFNO%.3d", j);
|
|
||||||
if (W_CheckNumForName(buffer) == LUMPERROR)
|
|
||||||
nto_font[i] = NULL;
|
|
||||||
else
|
|
||||||
nto_font[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
|
||||||
}
|
|
||||||
|
|
||||||
// cache the crosshairs, don't bother to know which one is being used,
|
// cache the crosshairs, don't bother to know which one is being used,
|
||||||
// just cache all 3, they're so small anyway.
|
// just cache all 3, they're so small anyway.
|
||||||
for (i = 0; i < HU_CROSSHAIRS; i++)
|
for (i = 0; i < HU_CROSSHAIRS; i++)
|
||||||
|
@ -1148,7 +1143,7 @@ boolean HU_Responder(event_t *ev)
|
||||||
else
|
else
|
||||||
c_input++;
|
c_input++;
|
||||||
}
|
}
|
||||||
else if ((c >= HU_FONTSTART && c <= HU_FONTEND && hu_font[c-HU_FONTSTART])
|
else if ((c >= HU_FONTSTART && c <= HU_FONTEND && hu_font.chars[c-HU_FONTSTART])
|
||||||
|| c == ' ') // Allow spaces, of course
|
|| c == ' ') // Allow spaces, of course
|
||||||
{
|
{
|
||||||
if (CHAT_MUTE || strlen(w_chat) >= HU_MAXMSGLEN)
|
if (CHAT_MUTE || strlen(w_chat) >= HU_MAXMSGLEN)
|
||||||
|
|
|
@ -19,18 +19,12 @@
|
||||||
#include "r_defs.h"
|
#include "r_defs.h"
|
||||||
|
|
||||||
//------------------------------------
|
//------------------------------------
|
||||||
// heads up font
|
// Fonts & stuff
|
||||||
//------------------------------------
|
//------------------------------------
|
||||||
#define HU_FONTSTART '\x16' // the first font character
|
#define HU_FONTSTART '\x16' // the first font character
|
||||||
#define HU_FONTEND '~'
|
#define HU_FONTEND '~'
|
||||||
#define HU_FONTSIZE (HU_FONTEND - HU_FONTSTART + 1)
|
#define HU_FONTSIZE (HU_FONTEND - HU_FONTSTART + 1)
|
||||||
|
|
||||||
// Name tag font
|
|
||||||
// Used by base and outline font set
|
|
||||||
#define NT_FONTSTART '!' // the first font character
|
|
||||||
#define NT_FONTEND 'Z' // the last font character
|
|
||||||
#define NT_FONTSIZE (NT_FONTEND - NT_FONTSTART + 1)
|
|
||||||
|
|
||||||
#define HU_CROSSHAIRS 3 // maximum of 9 - see HU_Init();
|
#define HU_CROSSHAIRS 3 // maximum of 9 - see HU_Init();
|
||||||
|
|
||||||
extern char *shiftxform; // english translation shift table
|
extern char *shiftxform; // english translation shift table
|
||||||
|
@ -45,6 +39,12 @@ typedef struct
|
||||||
} fontdef_t;
|
} fontdef_t;
|
||||||
|
|
||||||
extern fontdef_t hu_font, tny_font, cred_font, lt_font;
|
extern fontdef_t hu_font, tny_font, cred_font, lt_font;
|
||||||
|
extern fontdef_t ntb_font, nto_font;
|
||||||
|
extern patch_t *tallnum[10];
|
||||||
|
extern patch_t *nightsnum[10];
|
||||||
|
extern patch_t *ttlnum[10];
|
||||||
|
extern patch_t *tallminus;
|
||||||
|
extern patch_t *tallinfin;
|
||||||
|
|
||||||
//------------------------------------
|
//------------------------------------
|
||||||
// sorted player lines
|
// sorted player lines
|
||||||
|
@ -78,19 +78,12 @@ void HU_AddChatText(const char *text, boolean playsound);
|
||||||
// set true when entering a chat message
|
// set true when entering a chat message
|
||||||
extern boolean chat_on;
|
extern boolean chat_on;
|
||||||
|
|
||||||
extern patch_t *tallnum[10];
|
|
||||||
extern patch_t *nightsnum[10];
|
|
||||||
extern patch_t *ntb_font[NT_FONTSIZE];
|
|
||||||
extern patch_t *nto_font[NT_FONTSIZE];
|
|
||||||
extern patch_t *ttlnum[10];
|
|
||||||
extern patch_t *emeraldpics[3][8];
|
extern patch_t *emeraldpics[3][8];
|
||||||
extern patch_t *rflagico;
|
extern patch_t *rflagico;
|
||||||
extern patch_t *bflagico;
|
extern patch_t *bflagico;
|
||||||
extern patch_t *rmatcico;
|
extern patch_t *rmatcico;
|
||||||
extern patch_t *bmatcico;
|
extern patch_t *bmatcico;
|
||||||
extern patch_t *tagico;
|
extern patch_t *tagico;
|
||||||
extern patch_t *tallminus;
|
|
||||||
extern patch_t *tallinfin;
|
|
||||||
extern patch_t *tokenicon;
|
extern patch_t *tokenicon;
|
||||||
|
|
||||||
// set true whenever the tab rankings are being shown for any reason
|
// set true whenever the tab rankings are being shown for any reason
|
||||||
|
|
|
@ -2387,21 +2387,21 @@ static void V_DrawNameTagLine(INT32 x, INT32 y, INT32 option, fixed_t scale, UIN
|
||||||
if (*ch == '\n')
|
if (*ch == '\n')
|
||||||
{
|
{
|
||||||
cx = x<<FRACBITS;
|
cx = x<<FRACBITS;
|
||||||
cy += FixedMul((21*dupy)*FRACUNIT, scale);
|
cy += FixedMul((ntb_font.linespacing*dupy)*FRACUNIT, scale);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
c = toupper(*ch);
|
c = toupper(*ch);
|
||||||
c -= NT_FONTSTART;
|
c -= HU_FONTSTART;
|
||||||
|
|
||||||
// character does not exist or is a space
|
// character does not exist or is a space
|
||||||
if (c < 0 || c >= NT_FONTSIZE || !ntb_font[c] || !nto_font[c])
|
if (c < 0 || c >= HU_FONTSIZE || !ntb_font.chars[c] || !nto_font.chars[c])
|
||||||
{
|
{
|
||||||
cx += FixedMul((4 * dupx)*FRACUNIT, scale);
|
cx += FixedMul((ntb_font.spacewidth * dupx)*FRACUNIT, scale);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
w = FixedMul(((ntb_font[c]->width)+2 * dupx) * FRACUNIT, scale);
|
w = FixedMul(((ntb_font.chars[c]->width)+2 * dupx) * FRACUNIT, scale);
|
||||||
|
|
||||||
if (FixedInt(cx) > scrwidth)
|
if (FixedInt(cx) > scrwidth)
|
||||||
continue;
|
continue;
|
||||||
|
@ -2411,8 +2411,8 @@ static void V_DrawNameTagLine(INT32 x, INT32 y, INT32 option, fixed_t scale, UIN
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
V_DrawFixedPatch(cx, cy, scale, option, nto_font[c], outlinecolormap);
|
V_DrawFixedPatch(cx, cy, scale, option, nto_font.chars[c], outlinecolormap);
|
||||||
V_DrawFixedPatch(cx, cy, scale, option, ntb_font[c], basecolormap);
|
V_DrawFixedPatch(cx, cy, scale, option, ntb_font.chars[c], basecolormap);
|
||||||
|
|
||||||
cx += w;
|
cx += w;
|
||||||
}
|
}
|
||||||
|
@ -2538,11 +2538,11 @@ INT32 V_NameTagWidth(const char *string)
|
||||||
|
|
||||||
for (i = 0; i < strlen(string); i++)
|
for (i = 0; i < strlen(string); i++)
|
||||||
{
|
{
|
||||||
c = toupper(string[i]) - NT_FONTSTART;
|
c = toupper(string[i]) - HU_FONTSTART;
|
||||||
if (c < 0 || c >= NT_FONTSIZE || !ntb_font[c] || !nto_font[c])
|
if (c < 0 || c >= HU_FONTSIZE || !ntb_font.chars[c] || !nto_font.chars[c])
|
||||||
w += 4;
|
w += ntb_font.spacewidth;
|
||||||
else
|
else
|
||||||
w += (ntb_font[c]->width)+2;
|
w += (ntb_font.chars[c]->width)+2;
|
||||||
}
|
}
|
||||||
|
|
||||||
return w;
|
return w;
|
||||||
|
|
Loading…
Reference in a new issue