Fix general flag handling in boxed drawing mode (transparency, slidein)

This commit is contained in:
Antonio Martinez 2024-09-22 00:44:27 -07:00 committed by AJ Martinez
parent 16727f8df8
commit bd1b4ac9c3
2 changed files with 7 additions and 4 deletions

View file

@ -6512,7 +6512,7 @@ void K_drawKartHUD(void)
if (0)
{
// Draw::TextElement text = Draw::TextElement().parse("A <a> B <b> C <c> X <x> Y <y> Z <z>\nST <start> L <l> R <r> U <up> D <down> L <left> R <right>");
Draw::TextElement text = Draw::TextElement().parse("Unpressed <lua1> Pressed <lua2_pressed> Animated <lua3_animated>");
Draw::TextElement text = Draw::TextElement().parse("Unpressed <y> Pressed <y_pressed> Animated <y_animated>");
UINT8 fakeoff = (stplyr - players)*40;
Draw(5, 5+fakeoff).align((srb2::Draw::Align)0).font(Draw::Font::kMenu).text(text);

View file

@ -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;