diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg index b780ff75f02b2eab69886c10575428cdb661dc97..7b325b6287172a98684cf046c2c958cffe435ba3 100644 --- a/extras/conf/SRB2-22.cfg +++ b/extras/conf/SRB2-22.cfg @@ -2417,6 +2417,7 @@ linedeftypes prefix = "(439)"; flags8text = "[3] Set delay by backside sector"; flags64text = "[6] Only existing"; + flags8192text = "[13] Use backside textures"; } 440 diff --git a/src/p_spec.c b/src/p_spec.c index ebabe6a7988ff38047ae4aa071032dbc20fca44d..ade4339b9d4cda0575b4795e2cfc4abe12c5292e 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -2093,7 +2093,7 @@ void P_SwitchWeather(INT32 weathernum) { case PRECIP_SNOW: // snow curWeather = PRECIP_SNOW; - + if (purge) P_SpawnPrecipitation(); @@ -2997,6 +2997,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec) size_t linenum; side_t *set = &sides[line->sidenum[0]], *this; boolean always = !(line->flags & ML_NOCLIMB); // If noclimb: Only change mid texture if mid texture already exists on tagged lines, etc. + boolean backside = line->flags & ML_EFFECT6 && line->sidenum[1] != 0xffff; // If Effect 6 is set, use backside textures if provided for (linenum = 0; linenum < numlines; linenum++) { @@ -3015,6 +3016,9 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec) if (lines[linenum].sidenum[1] == 0xffff) continue; // One-sided stops here. + if (backside) + set = &sides[line->sidenum[1]]; + // Back side this = &sides[lines[linenum].sidenum[1]]; if (always || this->toptexture) this->toptexture = set->toptexture;