Func water (Source): Difference between revisions
Jump to navigation
Jump to search

Important:Does not work with the Water shader.
Refract can be used as a workaround for dynamic refraction with cubemapped reflections, although Valve does not provide any materials which do this.
Existing materials which are compatible include:
Confirm:Does the Water shader work if using cubemap reflections and refractions, instead of the real-time versions? This would still be beneficial for the ability to have two normal maps scrolling in different directions.
Code:Both
Note:All
No edit summary |
SirYodaJedi (talk | contribs) |
||
(40 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar}} | ||
{{ | {{TabsBar}} | ||
{{CD|CBaseDoor|file1=doors.cpp}} | |||
{{Ent not in fgd}} | |||
{{obsolete|entity=1|replacement=[[func_water_analog]]. Non-moving water brushes should be part of [[worldspawn]]}} | |||
{{This is a|semi-internal=1|brush entity|name=func_water}} An entity-based water brush, being assigned [[CONTENTS_WATER|water contents]] by [[VBSP]]. A legacy entity from the {{goldsrc|4}} engine, deprecated by {{ent|func_water_analog}}. It is still used in some {{hls|2}} maps. | |||
{{toc-right}} | |||
{{important|Does not work with the {{ent|water (shader)|alt=Water}} shader.<br>{{ent|Refract}} can be used as a workaround for dynamic refraction with cubemapped reflections, although Valve does not provide any materials which do this.<br>Existing materials which are compatible include: | |||
* {{file|nature/water_movingplane|vmt}} ([[LightmappedGeneric]]) | |||
* {{file|nature/water_dx70|vmt}} ([[LightmappedGeneric]]) | |||
* {{file|nature/hazard_liquid|vmt}} ([[LightmappedGeneric]]) {{only|{{portal}}}} | |||
* {{file|liquids/!greenslime|vmt}} ([[UnlitTwoTexture]]) {{only|{{hls}} {{hldms}} {{jbep3}} }} | |||
{{Confirm|Does the Water shader work if using cubemap reflections and refractions, instead of the real-time versions? This would still be beneficial for the ability to have two normal maps scrolling in different directions.}} }} | |||
{{bug|Water must be part of the world in {{l4ds}} otherwise it doesn't work properly and acts as non-solid brush.|hidetested=1}} | |||
{{codenote|Both <code>func_water</code> and {{ent|func_door}} are linked to [[CBaseDoor]] C++ class. The game code checks the {{mono|classname}} KV to distinguish between them, applying specific behaviors if the classname is "func_water". As such, using [[AddOutput]] to change the classname of a func_water may have unexpected effects.}} | |||
== | == Keyvalues == | ||
{{KV Targetname}} | |||
{{OtherKIO|func_door|All}} | |||
== FGD Code == | |||
While {{mono|func_water}} exists in {{codelink|base.fgd}}, it is commented out. It can either be uncommented, or this simpler FGD entry can be added anywhere after the {{ent|func_door}} entry. | |||
<syntaxhighlight lang=cpp> | |||
@SolidClass base(func_door) = func_water : "A water brush entity that moves linearly along a given distance, in a given direction." [] | |||
</syntaxhighlight> | |||
== | == See also == | ||
* {{ent|func_water_analog}} | |||
*{{ |
Latest revision as of 07:55, 9 May 2025


![]() |
---|
CBaseDoor |
![]() |

This entity is obsolete. Its use is discouraged. It may only exist/function in older engine branches.
It has since been deprecated by: func_water_analog. Non-moving water brushes should be part of worldspawn.
It has since been deprecated by: func_water_analog. Non-moving water brushes should be part of worldspawn.
func_water
is a semi-internal brush entity available in all Source games. An entity-based water brush, being assigned water contents by VBSP. A legacy entity from the
GoldSrc engine, deprecated by func_water_analog. It is still used in some
Half-Life: Source maps.

Refract can be used as a workaround for dynamic refraction with cubemapped reflections, although Valve does not provide any materials which do this.
Existing materials which are compatible include:
nature/water_movingplane.vmt
(LightmappedGeneric)nature/water_dx70.vmt
(LightmappedGeneric)nature/hazard_liquid.vmt
(LightmappedGeneric) (only in)
liquids/!greenslime.vmt
(UnlitTwoTexture) (only in)


func_water
and func_door are linked to CBaseDoor C++ class. The game code checks the classname KV to distinguish between them, applying specific behaviors if the classname is "func_water". As such, using AddOutput to change the classname of a func_water may have unexpected effects.Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities

Keyvalues / Inputs / Outputs
are same as func_door.FGD Code
While func_water exists in base.fgd, it is commented out. It can either be uncommented, or this simpler FGD entry can be added anywhere after the func_door entry.
@SolidClass base(func_door) = func_water : "A water brush entity that moves linearly along a given distance, in a given direction." []