Improve HUD-track control help clarity

This commit is contained in:
AJ Martinez 2024-03-04 00:31:22 -07:00
parent 9ee58e4f7e
commit 1c78a7ebeb
2 changed files with 11 additions and 3 deletions

View file

@ -600,6 +600,8 @@ void K_DrawTargetTracking(const TargetTracking& target)
.align(Draw::Align::kCenter); .align(Draw::Align::kCenter);
}; };
srb2::Draw::Font splitfont = (r_splitscreen > 1) ? Draw::Font::kThin : Draw::Font::kMenu;
switch (target.mobj->type) switch (target.mobj->type)
{ {
case MT_BATTLEUFO_SPAWNER: case MT_BATTLEUFO_SPAWNER:
@ -619,13 +621,13 @@ void K_DrawTargetTracking(const TargetTracking& target)
.flags(V_SPLITSCREEN) .flags(V_SPLITSCREEN)
.font(Draw::Font::kMenu) .font(Draw::Font::kMenu)
.align(Draw::Align::kCenter) .align(Draw::Align::kCenter)
.text(((leveltime/3)%2) ? "\x93 " : " \x92"); .text(((leveltime/3)%2) ? "\xB3 " : " \xB2");
break; break;
case MT_GARDENTOP: case MT_GARDENTOP:
Draw(FixedToFloat(result.x), FixedToFloat(result.y)) Draw(FixedToFloat(result.x), FixedToFloat(result.y))
.flags(V_SPLITSCREEN) .flags(V_SPLITSCREEN)
.font(Draw::Font::kMenu) .font(splitfont)
.align(Draw::Align::kCenter) .align(Draw::Align::kCenter)
.text("Try \xA7!"); .text("Try \xA7!");

View file

@ -48,6 +48,7 @@ enum {
/* wavepause will take mobjinfo reactiontime automatically */ /* wavepause will take mobjinfo reactiontime automatically */
#define top_wavepause(o) ((o)->reactiontime) #define top_wavepause(o) ((o)->reactiontime)
#define top_helpme(o) ((o)->cusval) #define top_helpme(o) ((o)->cusval)
#define top_lifetime(o) ((o)->cvmem)
#define spark_top(o) ((o)->target) #define spark_top(o) ((o)->target)
#define spark_angle(o) ((o)->movedir) #define spark_angle(o) ((o)->movedir)
@ -135,6 +136,7 @@ init_top
top_sound(top) = sfx_None; top_sound(top) = sfx_None;
top_waveangle(top) = 0; top_waveangle(top) = 0;
top_helpme(top) = (mode == TOP_ANCHORED) ? 1 : 0; top_helpme(top) = (mode == TOP_ANCHORED) ? 1 : 0;
top_lifetime(top) = 0;
} }
static void static void
@ -436,6 +438,8 @@ anchor_top (mobj_t *top)
top->momy = 0; top->momy = 0;
top->momz = rider->momz; top->momz = rider->momz;
top_lifetime(top)++;
/* The Z momentum can put the Top slightly ahead of the /* The Z momentum can put the Top slightly ahead of the
player in that axis too. It looks cool if the Top player in that axis too. It looks cool if the Top
falls below you but not if it bounces up. */ falls below you but not if it bounces up. */
@ -695,5 +699,7 @@ Obj_GardenTopPlayerIsGrinding (const player_t *player)
boolean boolean
Obj_GardenTopPlayerNeedsHelp (const mobj_t *top) Obj_GardenTopPlayerNeedsHelp (const mobj_t *top)
{ {
return top ? top_helpme(top) : false; if (top && top_mode(top) != TOP_ANCHORED)
return false;
return top ? (top_helpme(top) || top_lifetime(top) < 3*TICRATE) : false;
} }