Poly flags

These are all the surface (poly) flags used in UE1

To check for a flag in script:

local Actor aBrush;
local name TexName, TexGroup;
local int TexFlags;
local Vector HitLoc, HitNorm, TraceStart, TraceEnd;
local bool bSpecialPoly;

TraceStart = Location;
TraceEnd = TraceStart + Vector(ViewRotation) * 128;

foreach TraceTexture(class'Actor', aBrush, TexName, TexGroup, TexFlags, HitLoc, HitNorm, TraceEnd, TraceStart)
    bSpecialPoly = (TexFlags & 4096) == 4096;
Bit Value (dec) Value (hex) Name Description
0 0x0 Use settings from Surface Properties for each individual surface of the brush.
0 1 0x1 PF_Invisible Polygon is invisible.
1 2 0x2 PF_Masked Polygon should be drawn masked. Use for palettized textures to make the first color in the palette (in Paint Shop Pro at least) invisible, see Color Blending.
2 4 0x4 PF_Translucent Darker parts of the texture become transparent, see Color Blending.
3 8 0x8 PF_NotSolid Polygon is not solid doesn't block.
4 16 0x10 PF_Environment Polygon should be drawn environment mapped.
4 16 0x10 PF_ForceViewZone Force current iViewZone in OccludeBSP (reuse Environment flag).
5 32 0x20 PF_Semisolid Polygon is semi-solid, collision solid CSG nonsolid.
6 64 0x40 PF_Modulated Greyer parts of the texture become transparent, see Color Blending.
7 128 0x80 PF_FakeBackdrop Poly looks exactly like backdrop (parallax SkyBox visible through surface).
8 256 0x100 PF_TwoSided Poly is visible from both sides.
9 512 0x200 PF_AutoUPan Automatically pans in U direction; change speed in ZoneInfo or LevelInfo -> ZoneLight.
10 1024 0x400 PF_AutoVPan Automatically pans in V direction; change speed in ZoneInfo or LevelInfo -> ZoneLight.
11 2048 0x800 PF_NoSmooth Don't smooth textures.
12 4096 0x1000 PF_BigWavy Poly has a big wavy pattern in it.
12 4096 0x1000 PF_SpecialPoly Game-specific poly-level render control (reuse BigWavy flag).
13 8192 0x2000 PF_SmallWavy Small wavy pattern (for water/enviro reflection).
14 16384 0x4000 PF_Flat Flat surface.
15 32768 0x8000 PF_LowShadowDetail Reduces shadow detail; in conjunction with High Shadow Detail (below), makes extra low shadow detail
16 65536 0x10000 PF_NoMerge Don't merge poly's nodes before lighting when rendering.
17 131072 0x20000 PF_CloudWavy Polygon appears wavy like clouds.
18 262144 0x40000 PF_DirtyShadows Dirty shadows.
19 524288 0x80000 PF_BrightCorners Brighten convex corners; no dark shadows at the edges of the surface.
20 1048576 0x100000 PF_SpecialLit Surface only gets light from Special Lit lights.
21 2097152 0x200000 PF_Gouraud Gouraud shaded.
21 2097152 0x200000 PF_NoBoundRejection Disable bound rejection in OccludeBSP (reuse Gourard flag).
22 4194304 0x400000 PF_Unlit Surface ignores lighting and is full bright.
23 8388608 0x800000 PF_HighShadowDetail Enhances shadow detail.
24 16777216 0x1000000 PF_Memorized Editor: Poly is remembered.
24 16777216 0x1000000 PF_RenderHint Internal: Rendering optimization hint.
25 33554432 0x2000000 PF_Selected Editor: Poly is selected.
26 67108864 0x4000000 PF_Portal Portal between iZones.
27 134217728 0x8000000 PF_Mirrored Reflective surface.
28 268435456 0x10000000 PF_Highlighted Editor: Poly is highlighted.
29 536870912 0x20000000 (unused?)
30 1073741824 0x40000000 PF_FlatShaded FPoly has been split by SplitPolyWithPlane.
30 1073741824 0x40000000 PF_EdProcessed Internal: FPoly was already processed in editorBuildFPolys.
30 1073741824 0x40000000 PF_RenderFog Internal: Render with fogmapping.
31 2147483648 0x80000000 PF_EdCut Internal: FPoly has been split by SplitPolyWithPlane.
31 2147483648 0x80000000 PF_Occlude Internal: Occludes even if PF_NoOcclude.