hard-code startchar to HU_FONTSTART for all widgets

This commit is contained in:
Fabian Greffrath 2023-08-09 20:44:04 +02:00
parent 7ab38ec4a6
commit 34bc2ef837
3 changed files with 29 additions and 35 deletions

View File

@ -94,13 +94,12 @@ void HUlib_clearTextLine(hu_textline_t* t)
// Returns nothing
//
void HUlib_initTextLine(hu_textline_t *t, int x, int y, patch_t ***f, int sc,
void HUlib_initTextLine(hu_textline_t *t, int x, int y, patch_t ***f,
char *cr, void (*builder)(void)) //jff 2/16/98 add color range parameter
{
t->x = x;
t->y = y;
t->f = f;
t->sc = sc;
t->cr = cr;
t->builder = builder;
HUlib_clearTextLine(t);
@ -153,8 +152,8 @@ void HUlib_addStringToTextLine(hu_textline_t *l, char *s)
}
else if (c == '\t')
w = (w + TABWIDTH) & ~TABWIDTH;
else if (c != ' ' && c >= l->sc && c <= HU_FONTEND + 6)
w += SHORT(f[c - l->sc]->width);
else if (c != ' ' && c >= HU_FONTSTART && c <= HU_FONTEND + 6)
w += SHORT(f[c - HU_FONTSTART]->width);
else
w += 4;
@ -274,13 +273,13 @@ static void HUlib_drawTextLineAligned(hu_textline_t *l, boolean drawcursor)
}
}
else
if (c != ' ' && c >= l->sc && c <= HU_FONTEND + 6)
if (c != ' ' && c >= HU_FONTSTART && c <= HU_FONTEND + 6)
{
int w = SHORT(f[c - l->sc]->width);
int w = SHORT(f[c - HU_FONTSTART]->width);
if (x+w > SCREENWIDTH)
break;
// killough 1/18/98 -- support multiple lines:
V_DrawPatchTranslated(x, y, FG, f[c - l->sc], l->cr);
V_DrawPatchTranslated(x, y, FG, f[c - HU_FONTSTART], l->cr);
x += w;
}
else
@ -292,8 +291,8 @@ static void HUlib_drawTextLineAligned(hu_textline_t *l, boolean drawcursor)
// draw the cursor if requested
// killough 1/18/98 -- support multiple lines
if (drawcursor && x + SHORT(f['_' - l->sc]->width) <= SCREENWIDTH)
V_DrawPatchTranslated(x, y, FG, f['_' - l->sc], l->cr);
if (drawcursor && x + SHORT(f['_' - HU_FONTSTART]->width) <= SCREENWIDTH)
V_DrawPatchTranslated(x, y, FG, f['_' - HU_FONTSTART], l->cr);
}
void HUlib_drawTextLine(hu_textline_t *l, align_t align, boolean drawcursor)
@ -360,7 +359,7 @@ void HUlib_eraseTextLine(hu_textline_t* l)
//jff 2/16/98 add color range parameter
void HUlib_initSText(hu_stext_t *s, int x, int y, int h, patch_t ***font,
int startchar, char *cr, boolean *on)
char *cr, boolean *on)
{
int i;
@ -370,7 +369,7 @@ void HUlib_initSText(hu_stext_t *s, int x, int y, int h, patch_t ***font,
s->cl = 0;
for (i=0;i<h;i++)
HUlib_initTextLine(s->l+i, x, y - i*(SHORT((*font[0])->height)+1),
font, startchar, cr, NULL);
font, cr, NULL);
}
//
@ -474,7 +473,7 @@ void HUlib_eraseSText(hu_stext_t* s)
//
void HUlib_initMText(hu_mtext_t *m, int x, int y, patch_t ***font,
int startchar, char *cr, boolean *on)
char *cr, boolean *on)
{
int i;
@ -488,7 +487,7 @@ void HUlib_initMText(hu_mtext_t *m, int x, int y, patch_t ***font,
y += HU_REFRESHSPACING * hud_msg_lines;
for (i=0; i<hud_msg_lines; i++, y -= HU_REFRESHSPACING)
HUlib_initTextLine(&m->l[i], x, y, font, startchar, cr, NULL);
HUlib_initTextLine(&m->l[i], x, y, font, cr, NULL);
}
//
@ -604,12 +603,12 @@ void HUlib_eraseMText(hu_mtext_t *m)
//jff 2/16/98 add color range parameter
void HUlib_initIText(hu_itext_t *it, int x, int y, patch_t ***font,
int startchar, char *cr, boolean *on)
char *cr, boolean *on)
{
it->lm = 0; // default left margin is start of text
it->on = on;
it->laston = true;
HUlib_initTextLine(&it->l, x, y, font, startchar, cr, NULL);
HUlib_initTextLine(&it->l, x, y, font, cr, NULL);
}
// The following deletion routines adhere to the left margin restriction

View File

@ -52,7 +52,6 @@ typedef struct
int y;
patch_t ***f; // font
int sc; // start character
char *cr; //jff 2/16/52 output color range
// killough 1/23/98: Support multiple lines:
@ -158,7 +157,6 @@ void HUlib_initTextLine
int x,
int y,
patch_t ***f,
int sc,
char *cr, //jff 2/16/98 add color range parameter
void (*builder)(void)
);
@ -186,7 +184,6 @@ void HUlib_initSText
int y,
int h,
patch_t ***font,
int startchar,
char *cr, //jff 2/16/98 add color range parameter
boolean* on );
@ -209,7 +206,6 @@ void HUlib_initMText
int x,
int y,
patch_t ***font,
int startchar,
char *cr,
boolean *on
);
@ -234,7 +230,6 @@ void HUlib_initIText
int x,
int y,
patch_t ***font,
int startchar,
char *cr, //jff 2/16/98 add color range parameter
boolean* on );

View File

@ -569,15 +569,15 @@ void HU_Start(void)
// create the message widget
// messages to player in upper-left of screen
HUlib_initSText(&w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, &hu_font,
HU_FONTSTART, colrngs[hudcolor_mesg], &message_on);
colrngs[hudcolor_mesg], &message_on);
// create the secret message widget
HUlib_initSText(&w_secret, 0, 100 - 2*SHORT(hu_font[0]->height), HU_MSGHEIGHT, &hu_font,
HU_FONTSTART, colrngs[CR_GOLD], &secret_on);
colrngs[CR_GOLD], &secret_on);
//jff 2/26/98 add the text refresh widget initialization
HUlib_initMText(&w_rtext, HU_MSGX, HU_MSGY, &hu_font,
HU_FONTSTART, colrngs[hudcolor_mesg], &message_list_on); // killough 11/98
colrngs[hudcolor_mesg], &message_list_on); // killough 11/98
// create the hud text refresh widget
// scrolling display of last hud_msg_lines messages received
@ -588,44 +588,44 @@ void HU_Start(void)
// create the chat widget
HUlib_initIText(&w_chat, HU_INPUTX, HU_INPUTY, &hu_font,
HU_FONTSTART, colrngs[hudcolor_chat], &chat_on);
colrngs[hudcolor_chat], &chat_on);
// create the inputbuffer widgets, one per player
for (i = 0; i < MAXPLAYERS; i++)
{
HUlib_initIText(&w_inputbuffer[i], 0, 0, 0,
0, colrngs[hudcolor_chat], &always_off);
colrngs[hudcolor_chat], &always_off);
}
//jff 2/16/98 added some HUD widgets
// create the map title widget - map title display in lower left of automap
HUlib_initTextLine(&w_title, HU_TITLEX, HU_TITLEY, &hu_font,
HU_FONTSTART, colrngs[hudcolor_titl], NULL); // [FG] built only once below
colrngs[hudcolor_titl], NULL); // [FG] built only once below
// create the hud health widget
HUlib_initTextLine(&w_health, 0, 0, &hu_font2, HU_FONTSTART, colrngs[CR_GREEN], HU_widget_build_health);
HUlib_initTextLine(&w_health, 0, 0, &hu_font2, colrngs[CR_GREEN], HU_widget_build_health);
// create the hud armor widget
HUlib_initTextLine(&w_armor, 0, 0, &hu_font2, HU_FONTSTART, colrngs[CR_GREEN], HU_widget_build_armor);
HUlib_initTextLine(&w_armor, 0, 0, &hu_font2, colrngs[CR_GREEN], HU_widget_build_armor);
// create the hud ammo widget
HUlib_initTextLine(&w_ammo, 0, 0, &hu_font2, HU_FONTSTART, colrngs[CR_GOLD], HU_widget_build_ammo);
HUlib_initTextLine(&w_ammo, 0, 0, &hu_font2, colrngs[CR_GOLD], HU_widget_build_ammo);
// create the hud weapons widget
HUlib_initTextLine(&w_weapon, 0, 0, &hu_font2, HU_FONTSTART, colrngs[CR_GRAY], HU_widget_build_weapon);
HUlib_initTextLine(&w_weapon, 0, 0, &hu_font2, colrngs[CR_GRAY], HU_widget_build_weapon);
// create the hud keys widget
HUlib_initTextLine(&w_keys, 0, 0, &hu_font2, HU_FONTSTART, colrngs[CR_GRAY], deathmatch ? HU_widget_build_frag : HU_widget_build_keys);
HUlib_initTextLine(&w_keys, 0, 0, &hu_font2, colrngs[CR_GRAY], deathmatch ? HU_widget_build_frag : HU_widget_build_keys);
// create the hud monster/secret widget
HUlib_initTextLine(&w_monsec, 0, 0, &hu_font2, HU_FONTSTART, colrngs[CR_GRAY], HU_widget_build_monsec);
HUlib_initTextLine(&w_monsec, 0, 0, &hu_font2, colrngs[CR_GRAY], HU_widget_build_monsec);
HUlib_initTextLine(&w_sttime, 0, 0, &hu_font2, HU_FONTSTART, colrngs[CR_GRAY], HU_widget_build_sttime);
HUlib_initTextLine(&w_sttime, 0, 0, &hu_font2, colrngs[CR_GRAY], HU_widget_build_sttime);
// create the automaps coordinate widget
HUlib_initTextLine(&w_coord, 0, 0, &hu_font2, HU_FONTSTART, colrngs[hudcolor_xyco], HU_widget_build_coord);
HUlib_initTextLine(&w_coord, 0, 0, &hu_font2, colrngs[hudcolor_xyco], HU_widget_build_coord);
HUlib_initTextLine(&w_fps, 0, 0, &hu_font2, HU_FONTSTART, colrngs[hudcolor_xyco], HU_widget_build_fps);
HUlib_initTextLine(&w_fps, 0, 0, &hu_font2, colrngs[hudcolor_xyco], HU_widget_build_fps);
// initialize the automap's level title widget
HU_widget_build_title();