UDMF: Lighting
Based on !1572 (merged). You know the drill by now.
This branch adapts all the linedef types that involve sector and plane lighting to UDMF:
- Floor and ceiling lighting can now be set directly in the sector via the
lightfloor
andlightceiling
fields. By default, these values are relative to the sector's light level (or if the surface is affected by a shadowcasting FOF, relative to that). If thelightfloorabsolute
/lightceilingabsolute
flag is set, they're absolute values instead. - I retained the old method for creating floor/ceiling lighting by copying the light level from a control sector (linedef type 600). This is mostly useless in UDMF since it's easier to just set the lighting directly in the sector. One possible exception is if you want to fade your plane lighting independently of the sector light level, because linedef type 420 (fade light level) doesn't allow you to do that.
- Linedef type 402 copies the control sector's light levels to the target sectors. By default, it copies the overall sector light level and both plane light levels, but you can toggle this with a set of flags.
- Linedef type 467 is new. It allows you to set/modify sector and plane light levels in a similar manner to the FOF/PolyObject translucency linedef executors.
- Linedef type 420 (fade light level) now allows you to specify the destination light level relative to the current light level. Again, similar to what the FOF/PolyObject translucency fade linedefs do.
- The flicker/glow/blink effects (linedef type 416-419, 602-605) have been adapted to UDMF. All of them move between two different light levels in some fashion. You can either specify both on the control linedef or take the second one from the target sector.
Edited by MascaraSnake