From 476aceb5d71963260236aa3f6314329db8b23adf Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 28 Jan 2017 21:22:48 +0100 Subject: [PATCH] - added new properties to UDMF spec. - implemented color_absolute flag, --- specs/udmf_zdoom.txt | 24 ++++++++++++++++++------ src/namedef.h | 1 + src/p_udmf.cpp | 3 +++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/specs/udmf_zdoom.txt b/specs/udmf_zdoom.txt index 112e54bfc8..379f1aefa2 100644 --- a/specs/udmf_zdoom.txt +++ b/specs/udmf_zdoom.txt @@ -216,13 +216,22 @@ Note: All fields default to false unless mentioned otherwise. ceilingterrain = ; // Sets the terrain for the sector's ceiling. Default = 'use the flat texture's terrain definition.' floor_reflect = ; // reflectiveness of floor (OpenGL only, not functional on sloped sectors) ceiling_reflect = ; // reflectiveness of ceiling (OpenGL only, not functional on sloped sectors) - floorglowcolor = ; // Sector's floor glow color as RRGGBB value, default = 'use texture's definition'. Set to -1 to disable glowing. - floorglowheight = ; // Height of floor glow. This only has an effect for the sector's own glow color, but not for a texture based glow. - ceilingglowcolor = ; // Sector's ceiling glow color as RRGGBB value, default = 'use texture's definition'. Set to -1 to disable glowing. - ceilingglowheight = ; // Height of ceiling glow. This only has an effect for the sector's own glow color, but not for a texture based glow. fogdensity = ; // Sets an explicit fog density for the sector, overriding the default calculation from the light level. Value range is 0-510, // 0 meaning that the default is to be used, 2 equalling the density of a light level of 250, and 255 equalling the density of - // a light level of 0. + // a light level of 0. (OpenGL only) + floorglowcolor = ; // Sector's floor glow color as RRGGBB value, default = 'use texture's definition'. Set to -1 to disable glowing. (OpenGL 3.x and newer only) + floorglowheight = ; // Height of floor glow. This only has an effect for the sector's own glow color, but not for a texture based glow. (OpenGL 3.x and newer only) + ceilingglowcolor = ; // Sector's ceiling glow color as RRGGBB value, default = 'use texture's definition'. Set to -1 to disable glowing. (OpenGL 3.x and newer only) + ceilingglowheight = ; // Height of ceiling glow. This only has an effect for the sector's own glow color, but not for a texture based glow. (OpenGL 3.x and newer only) + color_floor = ; // Material color of sector's floor (OpenGL only, dynamic lighting only works properly in OpenGL 3.x and later) Default is white (0xffffff) + color_ceiling = ; // Material color of sector's ceiling (OpenGL only, dynamic lighting only works properly in OpenGL 3.x and later) Default is white (0xffffff) + color_walltop = ; // Material color of top of sector's sidedefs (OpenGL only, dynamic lighting only works properly in OpenGL 3.x and later, + in OpenGL 2.x this will define the entire wall's color) Default is white (0xffffff) + color_wallbottom = ; // Material color of bottom of sector's sidedefs (OpenGL 3.x and later only) Default is white (0xffffff) + color_sprites = ; // Material color of sprites in sector (OpenGL only.) Default is white (0xffffff) + color_absolute = // treats the above properties as absolute, i.e. final light level is only defined by the color, the sector's light level is ignored + for calculating the light color. The sector's light level is only used for fog density calculations.) + portal_ceil_blocksound = // ceiling portal blocks sound. portal_ceil_disabled = // ceiling portal disabled. @@ -413,9 +422,12 @@ Added 'moreids' for linedefs and sectors. added clarification about character encoding added sector damage properties. -1.27 05.01.2016 +1.27 05.01.2017 floor_reflect and ceiling_reflect. +1.28 28.01.2017 +sector material colors. + =============================================================================== EOF =============================================================================== diff --git a/src/namedef.h b/src/namedef.h index ef7f1c58da..65719d1754 100644 --- a/src/namedef.h +++ b/src/namedef.h @@ -554,6 +554,7 @@ xx(Color_Ceiling) xx(Color_Walltop) xx(Color_Wallbottom) xx(Color_Sprites) +xx(Color_Absolute) xx(Desaturation) xx(SoundSequence) xx(Silent) diff --git a/src/p_udmf.cpp b/src/p_udmf.cpp index 6c732d67fb..0998f5204e 100644 --- a/src/p_udmf.cpp +++ b/src/p_udmf.cpp @@ -1480,6 +1480,9 @@ public: sec->SpecialColors[sector_t::sprites] = CheckInt(key) || 0xff000000; break; + case NAME_Color_Absolute: + Flag(sec->MoreFlags, SECF_SPECIALCOLORSABSOLUTE, key); + case NAME_Desaturation: desaturation = int(255*CheckFloat(key)); continue;