Skip to content

Commit

Permalink
Hexen: Fullscreen HUD Variations (#1271)
Browse files Browse the repository at this point in the history
* Hexen: Adding Fullscreen Hud Variations

* Whitespace Fixes
  • Loading branch information
Noseey authored Feb 10, 2025
1 parent 06ccd1f commit 8b476a7
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 67 deletions.
4 changes: 2 additions & 2 deletions src/hexen/ct_chat.c
Original file line number Diff line number Diff line change
Expand Up @@ -379,11 +379,11 @@ void CT_Drawer(void)
patch = W_CacheLumpNum(FontABaseLump +
chat_msg[consoleplayer][i] - 33,
PU_CACHE);
V_DrawPatch(x, 10, patch);
V_DrawSBPatch(x, 10, patch);
x += patch->width;
}
}
V_DrawPatch(x, 10, W_CacheLumpName("FONTA59", PU_CACHE));
V_DrawSBPatch(x, 10, W_CacheLumpName("FONTA59", PU_CACHE));
BorderTopRefresh = true;
UpdateState |= I_MESSAGES;
}
Expand Down
8 changes: 8 additions & 0 deletions src/hexen/h2_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1109,6 +1109,8 @@ static void DrawAndBlit(void)
{
break;
}
// [crispy] check for translucent HUD
SB_Translucent(TRANSLUCENT_HUD && (!automapactive || crispy->automapoverlay));
if (automapactive && !crispy->automapoverlay)
{
// [crispy] update automap while playing
Expand All @@ -1128,6 +1130,7 @@ static void DrawAndBlit(void)
UpdateState |= I_FULLVIEW;
SB_Drawer();
CrispyDrawStats();
SB_Translucent(false);
break;
case GS_INTERMISSION:
IN_Drawer();
Expand Down Expand Up @@ -1158,9 +1161,14 @@ static void DrawAndBlit(void)
}
}

// [crispy] check for translucent HUD
SB_Translucent(TRANSLUCENT_HUD && (!automapactive || crispy->automapoverlay));

// Draw current message
DrawMessage();

SB_Translucent(false);

// Draw Menu
MN_Drawer();

Expand Down
8 changes: 4 additions & 4 deletions src/hexen/mn_menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ void MN_DrTextA(const char *text, int x, int y)
else
{
p = W_CacheLumpNum(FontABaseLump + c - 33, PU_CACHE);
V_DrawPatch(x, y, p);
V_DrawSBPatch(x, y, p);
x += SHORT(p->width) - 1;
}
}
Expand Down Expand Up @@ -627,7 +627,7 @@ void MN_DrTextAYellow(const char *text, int x, int y)
else
{
p = W_CacheLumpNum(FontAYellowBaseLump + c - 33, PU_CACHE);
V_DrawPatch(x, y, p);
V_DrawSBPatch(x, y, p);
x += SHORT(p->width) - 1;
}
}
Expand Down Expand Up @@ -1120,7 +1120,7 @@ static void DrawOptionsMenu(void)

static void DrawOptions2Menu(void)
{
DrawSlider(&Options2Menu, 1, 9, BETWEEN(3, 11, screenblocks) - 3);
DrawSlider(&Options2Menu, 1, 14, screenblocks - 3);
DrawSlider(&Options2Menu, 3, 16, snd_MaxVolume);
DrawSlider(&Options2Menu, 5, 16, snd_MusicVolume);
}
Expand Down Expand Up @@ -1569,7 +1569,7 @@ static void SCScreenSize(int option)
{
if (option == RIGHT_DIR)
{
if (screenblocks < 12)
if (screenblocks < 16)
{
screenblocks++;
}
Expand Down
4 changes: 4 additions & 0 deletions src/hexen/r_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ extern int NUMCOLORMAPS; // number of diminishing
#define LOOKDIRMIN 110 // [crispy] -110, actually
#define LOOKDIRMAX 90
#define LOOKDIRS (LOOKDIRMIN + 1 + LOOKDIRMAX) // [crispy] lookdir range: -110..0..90
#define TRANSLUCENT_HUD (screenblocks == 14 || screenblocks == 16) // [crispy] determine if translucent hud is selected
/*
==============================================================================
Expand Down Expand Up @@ -652,4 +653,7 @@ void R_DrawSpanLow(void);
void R_InitBuffer(int width, int height);
void R_InitTranslationTables(void);

extern void (*V_DrawSBPatch)(int x, int y, patch_t *patch); // [crispy] for conditional drawing of status bar elements
void SB_Translucent(boolean translucent); // [crispy] on/off status bar translucency

#endif // __R_LOCAL__
Loading

0 comments on commit 8b476a7

Please sign in to comment.