diff --git a/specs/udmf_zdoom.txt b/specs/udmf_zdoom.txt index e79ae196b..f20525d13 100644 --- a/specs/udmf_zdoom.txt +++ b/specs/udmf_zdoom.txt @@ -203,7 +203,11 @@ Note: All fields default to false unless mentioned otherwise. // sound sequence thing in the sector will override this property. hidden = ; // if true this sector will not be drawn on the textured automap. waterzone = ; // Sector is under water and swimmable - moreids = ; // Additional sector IDs/tags, specified as a space separated list of numbers (e.g. "2 666 1003 4505") + moreids = ; // Additional sector IDs/tags, specified as a space separated list of numbers (e.g. "2 666 1003 4505") + damageamount = ; // Amount of damage inflicted by this sector, default = 0 + damagetype = ; // Damage type for sector damage, Default = "None". (generic damage) + damageinterval = ; // Interval in tics between damage application, default = 32. + leakiness = ; // Probability of leaking through radiation suit (0 = never, 256 = always), default = 0. * Note about dropactors @@ -377,6 +381,10 @@ Changed language describing the DIALOGUE lump to mention USDF as an option. 1.25 19.04.2015 Added 'moreids' for linedefs and sectors. +1.26 05.01.2016 +added clarification about character encoding +added sector damage properties. + =============================================================================== EOF =============================================================================== diff --git a/src/namedef.h b/src/namedef.h index f9d436f28..cad58bfa3 100644 --- a/src/namedef.h +++ b/src/namedef.h @@ -506,6 +506,10 @@ xx(floorplane_a) xx(floorplane_b) xx(floorplane_c) xx(floorplane_d) +xx(damageamount) +xx(damagetype) +xx(damageinterval) +xx(leakiness) // USDF keywords xx(Amount) diff --git a/src/p_udmf.cpp b/src/p_udmf.cpp index db0c952cf..89c039aef 100644 --- a/src/p_udmf.cpp +++ b/src/p_udmf.cpp @@ -1299,6 +1299,8 @@ public: sec->prevsec = -1; // stair retriggering until build completes sec->heightsec = NULL; // sector used to get floor and ceiling height sec->sectornum = index; + sec->damageinterval = 32; + sec->leakydamage = 5; if (floordrop) sec->Flags = SECF_FLOORDROP; // killough 3/7/98: end changes @@ -1524,6 +1526,23 @@ public: cp[3] = CheckFloat(key); break; + case NAME_damageamount: + sec->damageamount = CheckInt(key); + break; + + case NAME_damagetype: + sec->damagetype = CheckString(key); + break; + + case NAME_damageinterval: + sec->damageinterval = CheckInt(key); + if (sec->damageinterval < 1) sec->damageinterval = 1; + break; + + case NAME_leakiness: + sec->leakydamage = CheckInt(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.