mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Dialogue UI: Tactical Normie Countermeasure
Fade and overlay with Genesis font depending on context
This commit is contained in:
parent
e76262ae5b
commit
2143fc6662
4 changed files with 56 additions and 0 deletions
|
|
@ -294,9 +294,26 @@ void Dialogue::Tick(void)
|
||||||
{
|
{
|
||||||
slide += kSlideSpeed;
|
slide += kSlideSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (P_LevelIsFrozen())
|
||||||
|
{
|
||||||
|
if (fade > 0)
|
||||||
|
{
|
||||||
|
fade--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (fade < 5)
|
||||||
|
{
|
||||||
|
fade++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (fade > 0)
|
||||||
|
{
|
||||||
|
fade--;
|
||||||
|
}
|
||||||
|
|
||||||
if (slide > 0)
|
if (slide > 0)
|
||||||
{
|
{
|
||||||
slide -= kSlideSpeed;
|
slide -= kSlideSpeed;
|
||||||
|
|
@ -342,6 +359,11 @@ INT32 Dialogue::SlideAmount(fixed_t multiplier)
|
||||||
return Easing_OutCubic(slide, 0, multiplier);
|
return Easing_OutCubic(slide, 0, multiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INT32 Dialogue::FadeAmount(void)
|
||||||
|
{
|
||||||
|
return fade;
|
||||||
|
}
|
||||||
|
|
||||||
void Dialogue::Draw(void)
|
void Dialogue::Draw(void)
|
||||||
{
|
{
|
||||||
if (slide == 0)
|
if (slide == 0)
|
||||||
|
|
@ -516,6 +538,7 @@ void Dialogue::Unset(void)
|
||||||
Dismiss();
|
Dismiss();
|
||||||
SetSpeaker();
|
SetSpeaker();
|
||||||
slide = 0;
|
slide = 0;
|
||||||
|
fade = 0;
|
||||||
current_era = 0;
|
current_era = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -547,3 +570,8 @@ INT32 K_GetDialogueSlide(fixed_t multiplier)
|
||||||
{
|
{
|
||||||
return g_dialogue.SlideAmount(multiplier);
|
return g_dialogue.SlideAmount(multiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INT32 K_GetDialogueFade(void)
|
||||||
|
{
|
||||||
|
return g_dialogue.FadeAmount();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ void K_TickDialogue(void);
|
||||||
|
|
||||||
boolean K_DialogueFreeze(void);
|
boolean K_DialogueFreeze(void);
|
||||||
INT32 K_GetDialogueSlide(fixed_t multiplier);
|
INT32 K_GetDialogueSlide(fixed_t multiplier);
|
||||||
|
INT32 K_GetDialogueFade(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ public:
|
||||||
void Draw(void);
|
void Draw(void);
|
||||||
|
|
||||||
INT32 SlideAmount(fixed_t multiplier);
|
INT32 SlideAmount(fixed_t multiplier);
|
||||||
|
INT32 FadeAmount(void);
|
||||||
|
|
||||||
void Dismiss(void);
|
void Dismiss(void);
|
||||||
void Unset(void);
|
void Unset(void);
|
||||||
|
|
@ -94,6 +95,7 @@ private:
|
||||||
|
|
||||||
bool active;
|
bool active;
|
||||||
fixed_t slide;
|
fixed_t slide;
|
||||||
|
INT32 fade;
|
||||||
|
|
||||||
bool dismissable;
|
bool dismissable;
|
||||||
bool freeze;
|
bool freeze;
|
||||||
|
|
|
||||||
|
|
@ -7654,6 +7654,31 @@ void K_drawKartHUD(void)
|
||||||
{
|
{
|
||||||
if (g_emeraldWin)
|
if (g_emeraldWin)
|
||||||
K_drawEmeraldWin(false);
|
K_drawEmeraldWin(false);
|
||||||
|
|
||||||
|
// Tacitcal Normie Countermeasure
|
||||||
|
INT32 dfade = K_GetDialogueFade();
|
||||||
|
if (dfade)
|
||||||
|
{
|
||||||
|
V_DrawFadeScreen(31, dfade); // Fade out
|
||||||
|
|
||||||
|
srb2::Draw normiedraw = srb2::Draw()
|
||||||
|
.clipx(0.f, BASEVIDWIDTH)
|
||||||
|
.y((BASEVIDHEIGHT - 36)/2)
|
||||||
|
.flags((10 - dfade)<<FF_TRANSSHIFT)
|
||||||
|
.font(srb2::Draw::Font::kGenesis);
|
||||||
|
|
||||||
|
const char *normietext = "COMMUNICATION IN PROGRESS!! ";
|
||||||
|
INT32 normiew = srb2::Draw::TextElement(normietext).font(srb2::Draw::Font::kGenesis).width();
|
||||||
|
INT32 normiex = -((static_cast<INT32>(timeinmap)) % normiew);
|
||||||
|
|
||||||
|
while (normiex < BASEVIDWIDTH)
|
||||||
|
{
|
||||||
|
normiedraw
|
||||||
|
.x(normiex)
|
||||||
|
.text(normietext);
|
||||||
|
normiex += normiew;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// In case of font debugging break glass
|
// In case of font debugging break glass
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue