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
No edit summary
(added note about chained patch materials working in l4d2)
 
(27 intermediate revisions by 16 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. Can be anything.
{{Source topicon}}
;<code>insert</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:
:The [[:Category:List of Shader Parameters|parameters]] to add, inside <code>{</code> and <code>}</code>. If you pass one that already exists it will override the original.
;<code>include</code>:The base material from which to inherit.{{note|The ''complete'' path is required, including <code>materials\</code> and <tt>.vmt</tt>.}}
:{{tip|<code><parameter> ""</code> can be used to remove an established value.}}
;<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.}}
;<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>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 19: Line 20:
  }
  }
  }
  }
{{note|<code>include</code> requires the complete path to the base material, including the <code>materials\</code> folder and <code>.vmt</code> extension.}}
[[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
	}
}