This article's documentation is for anything that uses the Source engine. Click here for more information.

Patch: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Code block fix)
(added note about chained patch materials working in l4d2)
 
(24 intermediate revisions by 14 users not shown)
Line 1: Line 1:
'''<code>Patch</code>''' is a special shader that allows materials to [[Wikipedia:Inheritance (computer science)|inherit]] from each other. This is achieved with two commands:
{{LanguageBar}}


;<code>include</code>
<!-- Add the categories to the main page, not here. Some template, such as {{This is a}}, and all Table templates should be placed to the main page. -->
:The base material from which to inherit.
{{Source topicon}}
:{{note|The ''complete'' path is required, including <code>materials\</code> and <code>.vmt</code>.}}
{{this is a|pixel shader|name=Patch}} It is a special shader that allows materials to [[Wikipedia:Inheritance (computer science)|inherit]] from each other. This is achieved with two commands:
;<code>insert</code>
;<code>include</code>:The base material from which to inherit.{{note|The ''complete'' path is required, including <code>materials\</code> and <tt>.vmt</tt>.}}
:The [[:Category:List of Shader Parameters|parameters]] to add, inside <code>{</code> and <code>}</code>. Those that already exist are overridden.
;<code>insert</code>:The [[:Category:List of Shader Parameters|parameters]] to add, inside <code>{</code> and <tt>}</tt>. Those that already exist are overridden.{{tip|<code><parameter> ""</code> can be used to remove an established value.}}
:{{tip|<code><parameter> ""</code> can be used to remove an established value.}}
;<code>replace</code>:The [[:Category:List of Shader Parameters|parameters]] to replace, inside <code>{</code> and <tt>}</tt>.{{todo|Check if this is Orange-Box only. Seen in {{Tf2}} and {{css}}.}}
;<code>replace</code>
:The [[:Category:List of Shader Parameters|parameters]] to replace, inside <code>{</code> and <code>}</code>.  
:{{todo|Check if this is Orange-Box only. Seen in TF2.}}


<code>Patch</code>'s only limitation is that it cannot change a material's [[shader]].
<tt>Patch</tt>'s only limitations are that it cannot change a material's [[shader]], and a <code>Patch</code> material cannot use <code>include</code> to inherit from another <code>Patch</code> material.
 
:{{note|<tt>Patch</tt> material including other <tt>Patch</tt> materials seems to work fine in {{sfm}} and {{l4d2}}. The "The Last Stand" update added wounded L4D1 infected materials, which include their default materials, which in turn include the shared material.}}
== Example ==


==Example==
  '''patch'''
  '''patch'''
  {
  {
Line 23: Line 20:
  }
  }
  }
  }
[[Category:List of Shaders]]

Latest revision as of 10:20, 6 November 2024

English (en)Español (es)Translate (Translate)

Patch is a Pixel shader available in all Source Source games. It is a special shader that allows materials to inherit from each other. This is achieved with two commands:

include
The base material from which to inherit.
Note.pngNote:The complete path is required, including materials\ and .vmt.
insert
The parameters to add, inside { and }. Those that already exist are overridden.
Tip.pngTip:<parameter> "" can be used to remove an established value.
replace
The parameters to replace, inside { and }.
Todo: Check if this is Orange-Box only. Seen in Team Fortress 2 and Counter-Strike: Source.

Patch's only limitations are that it cannot change a material's shader, and a Patch material cannot use include to inherit from another Patch material.

Note.pngNote:Patch material including other Patch materials seems to work fine in Source Filmmaker and Left 4 Dead 2. The "The Last Stand" update added wounded L4D1 infected materials, which include their default materials, which in turn include the shared material.

Example

patch
{
	include materials\models\infected\common\common_infected_shared.vmt
	insert
	{
		$basetexture models\infected\common\military_national_guard\common_military_upper_01
	}
}