From 0090925fac05a17fbaf69b9bc15207dc511b1053 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 23 Dec 2019 21:29:14 +0600 Subject: [PATCH] Implement renderstyle and transparent actor sprite rendering in automap (#997) * Implement renderstyle and transparent actor sprite rendering in automap * Add "am_advspriterender" CVAR and add invisible actor checks. * Rename cvar to `am_thingrenderstyles` --- src/am_map.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/am_map.cpp b/src/am_map.cpp index 7c1e8f5f4..3c246e5f4 100644 --- a/src/am_map.cpp +++ b/src/am_map.cpp @@ -124,6 +124,7 @@ struct islope_t //============================================================================= CVAR(Bool, am_textured, false, CVAR_ARCHIVE) +CVAR(Bool, am_thingrenderstyles, true, CVAR_ARCHIVE) CVAR(Int, am_showsubsector, -1, 0); @@ -2882,7 +2883,8 @@ void DAutomap::drawThings () t = sec.thinglist; while (t) { - if (am_cheat > 0 || !(t->flags6 & MF6_NOTONAUTOMAP)) + if (am_cheat > 0 || !(t->flags6 & MF6_NOTONAUTOMAP) + || (am_thingrenderstyles && !(t->renderflags & RF_INVISIBLE))) { DVector3 pos = t->PosRelative(MapPortalGroup); p.x = pos.X; @@ -2918,7 +2920,9 @@ void DAutomap::drawThings () const double spriteXScale = (t->Scale.X * (10. / 16.) * scale_mtof); const double spriteYScale = (t->Scale.Y * (10. / 16.) * scale_mtof); - DrawMarker (texture, p.x, p.y, 0, !!(frame->Flip & (1 << rotation)), + if (am_thingrenderstyles) DrawMarker(texture, p.x, p.y, 0, !!(frame->Flip & (1 << rotation)), + spriteXScale, spriteYScale, t->Translation, t->Alpha, t->fillcolor, t->RenderStyle); + else DrawMarker(texture, p.x, p.y, 0, !!(frame->Flip & (1 << rotation)), spriteXScale, spriteYScale, t->Translation, 1., 0, LegacyRenderStyles[STYLE_Normal]); } else