diff --git a/extras/conf/udb/Includes/Kart2_common.cfg b/extras/conf/udb/Includes/Kart2_common.cfg index 5b4f645cf..6833f740e 100644 --- a/extras/conf/udb/Includes/Kart2_common.cfg +++ b/extras/conf/udb/Includes/Kart2_common.cfg @@ -139,10 +139,10 @@ mapformat_udmf } // LINEDEF RENDERSTYLES - /*linedefrenderstyles + linedefrenderstyles { include("Kart2_misc.cfg", "linedefrenderstyles"); - }*/ + } // THING FLAGS thingflags diff --git a/extras/conf/udb/Includes/Kart2_misc.cfg b/extras/conf/udb/Includes/Kart2_misc.cfg index 2f93dff72..d8659f4ac 100644 --- a/extras/conf/udb/Includes/Kart2_misc.cfg +++ b/extras/conf/udb/Includes/Kart2_misc.cfg @@ -67,11 +67,14 @@ linedefactivations_udmf nonet = "No Netgame"; } -/*linedefrenderstyles +linedefrenderstyles { translucent = "Translucent"; - fog = "Fog"; -}*/ + add = "Add"; + subtract = "Subtract"; + reversesubtract = "Reverse subtract"; + modulate = "Modulate"; +} sectorflags { diff --git a/src/p_setup.c b/src/p_setup.c index a4f21ee76..aa22f878f 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1526,6 +1526,19 @@ static void ParseTextmapLinedefParameter(UINT32 i, char *param, char *val) lines[i].sidenum[1] = atol(val); else if (fastcmp(param, "alpha")) lines[i].alpha = FLOAT_TO_FIXED(atof(val)); + else if (fastcmp(param, "blendmode") || fastcmp(param, "renderstyle")) + { + if (fastcmp(val, "translucent")) + lines[i].blendmode = AST_COPY; + else if (fastcmp(val, "add")) + lines[i].blendmode = AST_ADD; + else if (fastcmp(val, "subtract")) + lines[i].blendmode = AST_SUBTRACT; + else if (fastcmp(val, "reversesubtract")) + lines[i].blendmode = AST_REVERSESUBTRACT; + else if (fastcmp(val, "modulate")) + lines[i].blendmode = AST_MODULATE; + } else if (fastcmp(param, "executordelay")) lines[i].executordelay = atol(val);