light_surface

From Valve Developer Community
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

light_surface is an internal point entity available in VHLT VHLT. It is used to create a texlight that can be toggled or animated like a regular light entity, and is converted to light or light_spot after HLRAD is done compiling.

Keyvalues

Targetname:

Name (targetname) <string>
The targetname that other entities refer to this entity by.

Light:

Color + Brightness (_light) <color255 + int>
The RGB color and brightness of the light. Colors must be between 0 and 255; brightness can be anything.
Note.pngNote:Negative brightness will suck out the amount of lighting that the equivalent positive brightness would cast.
Appearance (lightstyle) (style) <choices>
Various lightstyle presets. Cannot be used on named lights.
Lightstyle presets (epilepsy warning)
Literal Value Description Sequence Preview
0 Normal m Lightstyle 0.png
10 Fluorescent flicker mmamammmmammamamaaamammma Lightstyle 10.gif
2 Slow, strong pulse abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba Lightstyle 2.gif
11 Slow pulse, noblack abcdefghijklmnopqrrqponmlkjihgfedcba Lightstyle 11.gif
5 Gentle pulse jklmnopqrstuvwxyzyxwvutsrqponmlkj Lightstyle 5.gif
1 Flicker A mmnmmommommnonmmonqnmmo Lightstyle 1.gif
6 Flicker B nmonqnmomnmomomno Lightstyle 6.gif
3 Candle A mmmmmaaaaammmmmaaaaaabcdefgabcdefg Lightstyle 3.gif
7 Candle B mmmaaaabcdefgmmmmaaaammmaamm Lightstyle 7.gif
8 Candle C mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa Lightstyle 8.gif
4 Fast strobe mamamamamama Lightstyle 4.gif
9 Slow strobe aaaaaaaazzzzzzzz Lightstyle 9.gif
12 Underwater light mutation mmnnmmnnnmmnn Lightstyle 12.gif
63 Testing (Off) !FGD a Lightstyle 63.png
Custom Appearance (pattern) <string>
A string of english letters, like a sequence of piano keys, that define a pattern of brightness. a is 0%, m is 100%, and z is 200%. Updates at 10 Hz. Requires light to have a targetname.

ZHLT light source:

ZHLT Fade <float>
ZHLT Falloff <integer>
  • 0 : Default
  • 1 : Inverse Linear
  • 2 : Inverse Square


Texture name (_tex) <texture>
Filter max distance (_frange) <float>
max distance from face center to this entity
Filter max dist to plane (_fdist) <float>
max distance from face plane to this entity
Filter entity classname (_fclass) <classname>
Only cast this texlight from brush faces on entities with this classname.
Filter entity name (_fclass) <targetname>
Only cast this texlight from brush faces on entities with this targetname.
Color (_texcolor) <color255>
Average color of texture used in bounce calculations, as well as when _light is set to 255 255 255.
Inner (bright) angle (_cone) <float>
Default 90
Outer (fading) angle (_cone2) <float>
Default 90
Emission scale (_scale) <float>
1 is default, 0 is non-emissive.
Sample grid size (_chop) <float>
In units; not affected by texture scale
Dark gap in front of texlight (_texlightgap) <float>
In texels; size of gap between surface and light.
Fast mode (_fast) <integer choices>
[Clarify]
  • 0, absent, or null - Automatic
  • 1 - Fast enabled
  • 2 - Fast disabled
Classname in game (convertto) <string>
HLRAD will rename this entity after compiling so that it can be recognized by the game.

Flags

Start off : [1]
Not in Deathmatch : [2048]

[confirm]

Enhanced FGD entry

The default FGD entry is designed for Hammer 3.5, and as such does not use the description field available in newer editors, instead requiring users to read comments in the FGD itself, nor does it use the float KV type. The Jack FGD further adds a texture picker in leu of manually typing out the texture name.

J.A.C.K. J.A.C.K.
@PointClass color(255 255 0) = light_surface : "Advanced texture light"
[
	_tex(shader) : "Texture name" : "" : "texture name (not case sensitive)
	_frange(float) : " Filter max distance" : "" : "max distance from face center to this entity"
	_fdist(float) : " Filter max dist to plane" : "" : "max distance from face plane to this entity"
	_fclass(string) : " Filter entity classname" : ""
	_fname(target_destination) : " Filter entity name" : ""
	_light(color255) : "Brightness" : "255 255 255 80" : "value >= 80 will ensure full brightness. Setting color to ''255 255 255'' will use texture color instead."
	_texcolor(color255) : " Texture color" : "" : "bounce light as if the texture is in this color. Also used for emission if light color is set to ''255 255 255''"
	_cone(string) : " Inner (bright) angle" : "" : "should be 90 (default) for conventional texlights"
	_cone2(string) : " Outer (fading) angle" : "" : "should be 90 (default) for conventional texlights"
	_scale(string) : " Adjust emit scale" : "" : "Default 1.0; 0.0 means no emitting"
	_chop(string) : " Grid size of sampling" : "" : "in units; not affected by texture scale"
	_texlightgap(choices) : " Texlight gap" : "" : "in texture pixels; size of dark area near the light source" =
	[
		"": "Default (no gap)"
		"0.0": "0.0 - no gap"
		"3.0": "3.0 - small gap"
		"12.0": "12.0 - large gap"
	]
	_fast(choices) : " Fast" : "" =
	[
		"": "Auto"
		1: "Yes"
		2: "No"
	]
	convertto(choices) : "Classname in game" : "light" : "'light_surface' will not be recognized by the game if we don't change its classname." =
	[
		"light" : "light"
		"light_spot" : "light_spot"
	]
	targetname(target_source) : " Name" : "" : "create a new light style with this name"
	style(choices) : " Appearance (no name allowed)" : "" : "use predefined light styles which have predefined patterns" =
	[
		"" : "Normal"
		10: "Fluorescent flicker"
		2 : "Slow, strong pulse"
		11: "Slow pulse, noblack"
		5 : "Gentle pulse"
		1 : "Flicker A"
		6 : "Flicker B"
		3 : "Candle A"
		7 : "Candle B"
		8 : "Candle C"
		4 : "Fast strobe"
		9 : "Slow strobe"
		12 : "Underwater mutation"
	]
	//  Light of the same style share the same pattern.
	pattern(string) : " Custom Appearance" : "" : "pattern defined by a sequence of letters"
	spawnflags(flags) =
	[
		1 : "Initially dark" : 0
		2048 : "Not in Deathmatch" : 0
	]
]
TrenchBroom TrenchBroom
@PointClass color(255 255 0) = light_surface : "Advanced texture light"
[
	_tex(string) : "Texture name" : "" : "texture name (not case sensitive)
	_frange(float) : " Filter max distance" : "" : "max distance from face center to this entity"
	_fdist(float) : " Filter max dist to plane" : "" : "max distance from face plane to this entity"
	_fclass(string) : " Filter entity classname" : ""
	_fname(target_destination) : " Filter entity name" : ""
	_light(color255) : "Brightness" : "255 255 255 80" : "value >= 80 will ensure full brightness. Setting color to ''255 255 255'' will use texture color instead."
	_texcolor(color255) : " Texture color" : "" : "bounce light as if the texture is in this color. Also used for emission if light color is set to ''255 255 255''"
	_cone(string) : " Inner (bright) angle" : "" : "should be 90 (default) for conventional texlights"
	_cone2(string) : " Outer (fading) angle" : "" : "should be 90 (default) for conventional texlights"
	_scale(string) : " Adjust emit scale" : "" : "Default 1.0; 0.0 means no emitting"
	_chop(string) : " Grid size of sampling" : "" : "in units; not affected by texture scale"
	_texlightgap(choices) : " Texlight gap" : "" : "in texture pixels; size of dark area near the light source" =
	[
		"": "Default (no gap)"
		"0.0": "0.0 - no gap"
		"3.0": "3.0 - small gap"
		"12.0": "12.0 - large gap"
	]
	_fast(choices) : " Fast" : "" =
	[
		"": "Auto"
		1: "Yes"
		2: "No"
	]
	convertto(choices) : "Classname in game" : "light" : "'light_surface' will not be recognized by the game if we don't change its classname." =
	[
		"light" : "light"
		"light_spot" : "light_spot"
	]
	targetname(target_source) : " Name" : "" : "create a new light style with this name"
	style(choices) : " Appearance (no name allowed)" : "" : "use predefined light styles which have predefined patterns" =
	[
		"" : "Normal"
		10: "Fluorescent flicker"
		2 : "Slow, strong pulse"
		11: "Slow pulse, noblack"
		5 : "Gentle pulse"
		1 : "Flicker A"
		6 : "Flicker B"
		3 : "Candle A"
		7 : "Candle B"
		8 : "Candle C"
		4 : "Fast strobe"
		9 : "Slow strobe"
		12 : "Underwater mutation"
	]
	//  Light of the same style share the same pattern.
	pattern(string) : " Custom Appearance" : "" : "pattern defined by a sequence of letters"
	spawnflags(flags) =
	[
		1 : "Initially dark" : 0
		2048 : "Not in Deathmatch" : 0
	]
]