From bd1b4ac9c3c96abb0821f87d9d7c76a585a68046 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Sun, 22 Sep 2024 00:44:27 -0700 Subject: [PATCH] Fix general flag handling in boxed drawing mode (transparency, slidein) --- src/k_hud.cpp | 2 +- src/v_video.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/k_hud.cpp b/src/k_hud.cpp index 7453d3864..54f0ff13d 100644 --- a/src/k_hud.cpp +++ b/src/k_hud.cpp @@ -6512,7 +6512,7 @@ void K_drawKartHUD(void) if (0) { // Draw::TextElement text = Draw::TextElement().parse("A B C X Y Z \nST L R U D L R "); - Draw::TextElement text = Draw::TextElement().parse("Unpressed Pressed Animated "); + Draw::TextElement text = Draw::TextElement().parse("Unpressed Pressed Animated "); UINT8 fakeoff = (stplyr - players)*40; Draw(5, 5+fakeoff).align((srb2::Draw::Align)0).font(Draw::Font::kMenu).text(text); diff --git a/src/v_video.cpp b/src/v_video.cpp index 520935a78..3c6c80bb3 100644 --- a/src/v_video.cpp +++ b/src/v_video.cpp @@ -2613,6 +2613,8 @@ void V_DrawStringScaled( boolean nodanceoverride; INT32 dancecounter; + INT32 boxedflags = ((flags) & (~V_HUDTRANS)) | (V_40TRANS); + boolean largebutton = false; fixed_t cx, cy; @@ -2738,7 +2740,7 @@ void V_DrawStringScaled( { cy -= 2*FRACUNIT; - Draw(FixedToFloat(cx), FixedToFloat(cy)-3).patch(gen_button_keyleft[anim]); + Draw(FixedToFloat(cx), FixedToFloat(cy)-3).flags(flags).patch(gen_button_keyleft[anim]); cx += 3*FRACUNIT; ssave = s; @@ -2753,8 +2755,9 @@ void V_DrawStringScaled( Draw(FixedToFloat(working)+1, FixedToFloat(cy)-3) .width(FixedToFloat(cx - working)-1) + .flags(flags) .stretch(Draw::Stretch::kWidth).patch(gen_button_keycenter[anim]); - Draw(FixedToFloat(cx), FixedToFloat(cy)-3).patch(gen_button_keyright[anim]); + Draw(FixedToFloat(cx), FixedToFloat(cy)-3).flags(flags).patch(gen_button_keyright[anim]); s = ssave; cx = cxsave; @@ -2969,7 +2972,7 @@ void V_DrawStringScaled( if (boxed != 1) { V_DrawFixedPatch(cx + cxoff + patchxofs, cy + cyoff + (boxed == 3 ? 2*FRACUNIT : 0), scale, - flags | ((!!boxed) ? V_40TRANS : 0), font->font[c], colormap); + boxed ? boxedflags : flags, font->font[c], boxed ? 0 : colormap); } cx += cw;