- added UDMF_fields for sector plane reflectiveness.

This commit is contained in:
Christoph Oelckers 2016-12-28 01:09:42 +01:00
parent 80f1661931
commit 6322c81719
4 changed files with 23 additions and 0 deletions

View file

@ -214,6 +214,9 @@ Note: All <bool> fields default to false unless mentioned otherwise.
damagehazard = <bool>; // Changes damage model to Strife's delayed damage for the given sector. Default = false.
floorterrain = <string>; // Sets the terrain for the sector's floor. Default = 'use the flat texture's terrain definition.'
ceilingterrain = <string>; // Sets the terrain for the sector's ceiling. Default = 'use the flat texture's terrain definition.'
floor_reflect = <float>; // reflectiveness of floor (OpenGL only, not functional on sloped sectors)
ceiling_reflect = <float>; // reflectiveness of ceiling (OpenGL only, not functional on sloped sectors)
portal_ceil_alpha = <float> // translucency of ceiling portal (default is 0 (not visible))
portal_ceil_blocksound = <bool> // ceiling portal blocks sound.
@ -406,6 +409,9 @@ Added 'moreids' for linedefs and sectors.
added clarification about character encoding
added sector damage properties.
1.27 05.01.2016
floor_reflect and ceiling_reflect.
===============================================================================
EOF
===============================================================================

View file

@ -575,6 +575,8 @@ xx(damageterraineffect)
xx(damagehazard)
xx(floorterrain)
xx(ceilingterrain)
xx(floor_reflect)
xx(ceiling_reflect)
// USDF keywords
xx(Amount)

View file

@ -4080,6 +4080,13 @@ void P_SetupLevel (const char *lumpname, int position)
// set up world state
P_SpawnSpecials ();
// disable reflective planes on sloped sectors.
for (auto i = 0; i < numsectors; i++)
{
if (sectors[i].floorplane.isSlope()) sectors[i].reflect[sector_t::floor] = 0;
if (sectors[i].ceilingplane.isSlope()) sectors[i].reflect[sector_t::ceiling] = 0;
}
// This must be done BEFORE the PolyObj Spawn!!!
Renderer->PreprocessLevel();

View file

@ -1563,6 +1563,14 @@ public:
sec->terrainnum[sector_t::ceiling] = P_FindTerrain(CheckString(key));
break;
case NAME_floor_reflect:
sec->reflect[sector_t::floor] = (float)CheckFloat(key);
break;
case NAME_ceiling_reflect:
sec->reflect[sector_t::ceiling] = (float)CheckFloat(key);
break;
case NAME_MoreIds:
// delay parsing of the tag string until parsing of the sector is complete
// This ensures that the ID is always the first tag in the list.