- Added ML_BLOCKUSE line flag, accessible through UDMF and Line_SetBlocking.

SVN r1561 (trunk)
This commit is contained in:
Christoph Oelckers 2009-04-28 20:53:07 +00:00
parent 511ddb028c
commit 3bbef315f6
7 changed files with 17 additions and 3 deletions

View file

@ -1,4 +1,7 @@
April 25, 2009 (Changes by Graf Zahl) April 28, 2009 (Changes by Graf Zahl)
- Added ML_BLOCKUSE line flag, accessible through UDMF and Line_SetBlocking.
April 25, 2009 (Changes by Graf Zahl)
- Fixed handling of embedded WADs. - Fixed handling of embedded WADs.
April 23, 2009 (Changes by Graf Zahl) April 23, 2009 (Changes by Graf Zahl)

View file

@ -1,5 +1,5 @@
=============================================================================== ===============================================================================
Universal Doom Map Format ZDoom extensions v1.5 - 22.02.2009 Universal Doom Map Format ZDoom extensions v1.6 - 28.04.2009
Copyright (c) 2008 Christoph Oelckers. Copyright (c) 2008 Christoph Oelckers.
@ -103,6 +103,7 @@ Note: All <bool> fields default to false unless mentioned otherwise.
midtex3d = <bool>; // Actors can walk on mid texture. midtex3d = <bool>; // Actors can walk on mid texture.
checkswitchrange = <bool>;// Switches can only be activated when vertically reachable. checkswitchrange = <bool>;// Switches can only be activated when vertically reachable.
blockprojectiles = <bool>;// Line blocks all projectiles blockprojectiles = <bool>;// Line blocks all projectiles
blockuse = <bool>; // Line blocks all use actions
} }
@ -234,6 +235,9 @@ this uses array syntax. No functional changes
1.5 22.02.2009 1.5 22.02.2009
Added blockprojectiles to lines and firstsideonly to conversion notes Added blockprojectiles to lines and firstsideonly to conversion notes
1.6 28.04.2009
Added blockuse line flag.
=============================================================================== ===============================================================================
EOF EOF
=============================================================================== ===============================================================================

View file

@ -150,6 +150,7 @@ enum ELineFlags
ML_CHECKSWITCHRANGE = 0x00400000, ML_CHECKSWITCHRANGE = 0x00400000,
ML_FIRSTSIDEONLY = 0x00800000, // activated only when crossed from front side ML_FIRSTSIDEONLY = 0x00800000, // activated only when crossed from front side
ML_BLOCKPROJECTILE = 0x01000000, ML_BLOCKPROJECTILE = 0x01000000,
ML_BLOCKUSE = 0x02000000, // blocks all use actions through this line
}; };

View file

@ -412,5 +412,6 @@ xx(lightabsolute)
xx(nofakecontrast) xx(nofakecontrast)
xx(smoothlighting) xx(smoothlighting)
xx(blockprojectiles) xx(blockprojectiles)
xx(blockuse)
xx(Renderstyle) xx(Renderstyle)

View file

@ -2369,6 +2369,7 @@ FUNC(LS_Line_SetBlocking)
ML_BLOCKPROJECTILE, ML_BLOCKPROJECTILE,
ML_BLOCKEVERYTHING, ML_BLOCKEVERYTHING,
ML_RAILING, ML_RAILING,
ML_BLOCKUSE,
-1 -1
}; };

View file

@ -3636,7 +3636,7 @@ bool P_UseTraverse(AActor *usething, fixed_t endx, fixed_t endy, bool &foundline
if (in->d.line->special == 0 || !(in->d.line->activation & (SPAC_Use|SPAC_UseThrough))) if (in->d.line->special == 0 || !(in->d.line->activation & (SPAC_Use|SPAC_UseThrough)))
{ {
blocked: blocked:
if (in->d.line->flags & ML_BLOCKEVERYTHING) if (in->d.line->flags & (ML_BLOCKEVERYTHING|ML_BLOCKUSE))
{ {
open.range = 0; open.range = 0;
} }

View file

@ -633,6 +633,10 @@ struct UDMFParser
Flag(ld->flags, ML_BLOCKPROJECTILE, key); Flag(ld->flags, ML_BLOCKPROJECTILE, key);
break; break;
case NAME_blockuse:
Flag(ld->flags, ML_BLOCKUSE, key);
break;
default: default:
break; break;
} }