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

User:Cvoxalury/Sandbox: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Drafting up $additive article)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
Separate article for Goldsrc Hammer: its ''brief'' history, then mapper content - Introduction, features, <s>basic overview of toolbars (main pages are separate)</s>, and organised directing to separate tutorial pages. And alternatives.
==$additive==
Redirects: "VHE", "Hammer (GoldSrc)", "Valve Hammer Editor (GoldSrc)"
{{this is a|shader parameter|name=$additive}}
It specifies that the material should be rendered additively; that is, its colour values will be added to underlying pixels. This means, among other things, that the material will always brighten the world behind it. This is useful for effects like volumetric dust, light sprites, etc.


== Valve Hammer Editor ==
The amount of brightening depends on the brightness of the texture. A fully black texture will become invisible, which can be a useful exploit (see below).
[[File:Hammer Editor 3.5 Splash Screen.png|thumb|right|The splash screen of version 3.5.]]
[[File:vhe main view.jpg|thumb|right|The main view of VHE 3.5. The map c1a0.[[RMF|rmf]] is loaded.]]
<span style="font-weight:bold; color:white">Valve Hammer Editor</span>, often called simply '''Hammer''' and '''VHE''', and originally called '''Worldcraft''', is [[Valve]]'s in-house level editor for {{gldsrc|1.bold}} games.
{{ModernImportant|While it's functional, Hammer hasn't been updated since the early 2000s. '''Consider the [[{{FULLPAGENAME}}#Hammer alternatives|list of alternatives]] - modern editors that support GoldSrc.'''}}
__TOC__
=== History ===
'''Worldcraft''' started in 1996 as a level editor for [[Quake]] created by Ben Morris. Valve, having just started working on {{hl|1.bold}}, hired Morris and purchased the rights to the editor. Over the course of development, support for Quake and [[Quake II]] was dropped, and the editor was re-christened as '''Hammer'''.  


The last version released by Valve is '''3.4'''; it is available in [[Steam]] as part of [[Half-Life SDK]]. There is also a community-released update '''3.5'''.
This does work together with $color and $color2, allowing to control the strength of the additive blending, and change it with Proxies.


=== Downloading and using VHE ===
$additive is supported by almost every shader (todo - double check which do and don't work with it, like water or refract), and does not require the texture to have an alpha channel. It also doesn't share the numerous caveats of $translucent and $alphatest, such as being mutually exclusive with $selfillum, or other shader parameters that make use of the alpha channel, for that matter. (todo - double check which do and don't work with it, like bumpmap)
{{seealso|[[:Category:GoldSrc Level Design|the index of articles pertaining to GoldSrc level design.]]}}
VHE can be '''downloaded''' in [[Steam]] with <u>Half-Life SDK</u> (located in the '''Library''' among '''Tools'''; or [steam://install/254430/ click here] to install it directly from Steam). However, that version isn't the latest, and lacks important features such as model previews.


A more updated '''Hammer 3.5''' can be downloaded [https://twhl.info/wiki/embed/Valve_Hammer_Editor_3.5 from TWHL], from  [https://valvedev.info/tools/worldcraft/hammer3_5.zip VDU], from [https://www.moddb.com/downloads/valve-hammer-editor-35 ModDB] and in other community places.
===Special uses===
Because $additive works by adding colour values, pixels that have 0 colour (that is, RGB 0 0 0 - black) become invisible with it. However, this does not necessarily prevent other shader paramters from working, such as $detail, $selfillum, $emissiveblend, $envmap. This trick can be quite useful for creating overlaying effects, very clear but reflective glass, or even making translucent and/or glowing cables. In a way, this also allows for having a kind of masked application.


'''For setting it up''', see [[Configuring Hammer for Half-Life]]. That tutorial is effectively the same for other GoldSrc games.
== Document the 'tile' type of [[func_breakable_surf]] ==
Document its hardcoded pre-requesites and differences. Won't do much good until a leak-free pack of tile crack textures is made


Alternatively, see the {{twhl|Tutorial: Setup Guide: Hammer}} on TWHL wiki.
draft:


For '''creating your first map''', see TWHL's {{twhl|Tutorial: In the Beginning Part 1 }} and further. The local tutorial on VDC is pending construction.
{{quote|
So it relies on a bunch of things
;1) the vmt of the undamaged tile, which, is simply enough, the green tiles here. LightmappedGeneric
;2) the vmt of the damaged tile, which is a ShatteredGlass, with a proxy and $detail, same exact deal as the glass material, just tile instead. This vmt is referenced in 1) as $crackmaterial
;3) a bunch of hardcoded mats:


=== Features ===
{{code|"models/brokentile/tilebroken_03a";}}
Goldsrc level design, and by extension, '''Hammer''' relies on building [[Leak|enclosed]] levels with [[brush]] geometry, populating them with entities, and compiling them. To that end, '''Hammer''' enables you to:
* Create geometry of virtually any complexity by combining [[Block Tool|Primitives]];
* Choose and [[Applying Materials|apply textures]] to those primitives' faces via the Material Browser and the Texture tool, deciding their alignment, scale and rotation;
* Place base and game-specific [[:Category:Half-Life Entities|Entities]] - defined in the [[FGD]] - with the help of the [[Entity Tool]], and converting brushes into [[Brush entity|Solid Entities]];
* Set up events, [[Triggers_(GoldSrc)|triggers]], [[Scripted sequence (GoldSrc)|scripted sequences]], paths and other types of map logic by editing the settings of each entity;
* Create and load [[Prefab_(GoldSrc)|Prefabs]];
* Use compile tools (which you can replace with any compatible ones of your choosing) to turn your map into a game-ready [[BSP (GoldSrc)|BSP]].


=== Hammer alternatives ===
{{code|"models/brokentile/tilebroken_03b";}}
Modern alternatives for working with GoldSrc levels include:
* {{jack|2.bold}} (formerly Jackhammer) - many improvements, new features and QoL; also supports idTech titles;
* {{trenchbroom|2.bold}} - primarily an idTech (Quake games engine) editor with recent added support for GoldSrc; open-source;
* {{nrc|2.bold}} - also primarily a Quake-games editor with full support for GoldSrc; open source;
* {{quark|2.bold}} - multi-purpose tool and level editor, supports GoldSrc;


Historical (mostly not actively developed) alternatives include:
{{code|"models/brokentile/tilebroken_03c";}}
* {{sledge|2.bold}} - open source;
* [https://valvedev.info/tools/bsp/ '''BSP''' (editor)] - an older tool that is maintained by the community. It was also the tool several of Valve designers used to work on Half-Life, until Worldcraft was purchased and BSP was phased out.


=== Developer resources ===
{{code|"models/brokentile/tilebroken_03d";}}
* '''{{twhl}}''' - a large collection of GoldSrc tutorials with a community forum.
* [https://valvedev.info/ '''Valve Developer Union'''] (VDU) - a collection of archived tutorials for GoldSrc modding.
* [https://www.the303.org/ The 303's] tutorials and resources.
* [http://www.slackiller.com/tommy14/tutorials.htm Tommy of Escondido's] Mapping Help tutorials.
* [[:Category:GoldSrc FGDs|List of GoldSrc FGD]] files.


=== Legacy versions ===
{{Note|The earlier versions of Worldcraft are mostly a historical curiosity. You'd have to jump through a few hoops to get them to work, and they'll be lacking features. You're almost guaranteed to never need to use them!}}
* Worldcraft versions 1.x support Quake I, i. e. idTech 2 engine. Version 1.6 supports Quake II and Hexen I&II.
* Worldcraft versions 2.x mark Half-Life oriented, Valve-released versions. 2.0 released with Half-Life and was on its retail disc.
* Worldcraft versions 3.3 and 3.4 were released by Valve. 3.5 was in the works and released as beta, but never ''officially'' released by Valve.
Various versions can be downloaded from [https://valvearchive.com/archive/Other%20Files/Hammer%20Editor%20Archive/Worldcraft%20Versions/ Valve Archive].


=== External links ===
{{code|"models/brokentile/tilebroken_02a";}}
* [https://valvedev.info/tools/worldcraft/ Overview of Worldcraft] on Valve Developer Union
 
* [https://www.moddb.com/downloads/valve-hammer-editor-352 VHE 3.5.3] on ModDB - the ''very'' latest version of VHE.
{{code|"models/brokentile/tilebroken_02b";}}
 
{{code|"models/brokentile/tilebroken_02c";}}
 
{{code|"models/brokentile/tilebroken_02d";}}
 
 
{{code|"models/brokentile/tilebroken_01a";}}
 
{{code|"models/brokentile/tilebroken_01b);}}
 
{{code|"models/brokentile/tilebroken_01c";}}
 
{{code|"models/brokentile/tilebroken_01d";}}
 
These had to be copied from the 2003 leak. But they're simple small cracked tiles to form the edges; the BrokenGlass folder can be used as reference in making substitutions for them.
 
The 3) is the biggest obstacle but other than it, it doesn't need much.
 
It can even very feasibly be un-hardcoded in a mod and turned into a setting of the entity.}}
 
== Sky Lists ==
 
Rework of the sky list template so it's more compact and easier to read.
{{Todo|All the pics in the lists currently are heavy pngs (20kb jpegs were replaced by 100+kb pngs), they have to be replaced by optimised thumbnails.}}
 
=== HL2 ===
{| class=standard-table style="text-align:center"
! width=512|Preview
! width=70|Name
! width=120|Maps
! width=50 |Angles
! width=50|Pitch
! width=120|Brightness
! width=120|Ambience
! width=100|HDR Brightness (Scale)
! width=100|HDR Ambience (Scale)
! width=80|Sun Spread Angle
|-
| height=128 | [[Image:Sky_day01_01.png|512px]] <!--
-->|| '''sky_day01_01''' <!--
-->|| background01<br>d1_trainstation_01 to d1_trainstation_06 <!--
-->|| 0 165 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(237,218,143); color:black" | '''{{vec4|237|218|143|800}}''' <!--
-->|| style="background: rgb(190,201,220); color:black" | '''{{vec4|190|201|220|100}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day01_04.png|512px]] <!--
-->|| '''sky_day01_04''' <!--
-->|| d1_canals_01<br>d1_canals_01a<br>d1_canals_02 <!--
-->|| 0 165 0 <!--
-->|| -55 <!--
-->|| style="background: rgb(248,234,205); color:black" | '''{{vec4|248|234|205|1000}}''' <!--
-->|| style="background: rgb(194,236,252); color:black" | '''{{vec4|194|236|252|175}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=4 | [[Image:Sky_day01_05.png|512px]] <!--
-->|| rowspan=4 | '''sky_day01_05''' <!--
-->|| d1_canals_03 <!--
-->|| 0 165 0 <!--
-->|| -83 <!--
-->|| style="background: rgb(243,224,158); color:black" | '''{{vec4|243|224|158|1200}}''' <!--
-->|| style="background: rgb(194,236,252); color:black" | '''{{vec4|194|236|252|225}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| d1_canals_05 <!--
-->|| 0 104 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(248,233,186); color:black" | '''{{vec4|248|233|186|800}}''' <!--
-->|| style="background: rgb(140,167,174); color:black" | '''{{vec4|140|167|174|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| background02<br>d1_canals_06<br>d1_canals_07 <!--
-->|| 0 104 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(248,233,186); color:black" | '''{{vec4|248|233|186|860}}''' <!--
-->|| style="background: rgb(140,167,174); color:black" | '''{{vec4|140|167|174|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| d1_canals_08 <!--
-->|| 0 104 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(243,219,143); color:black" | '''{{vec4|243|219|143|860}}''' <!--
-->|| style="background: rgb(140,167,174); color:black" | '''{{vec4|140|167|174|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day01_06.png|512px]] <!--
-->|| '''sky_day01_06''' <!--
-->|| d1_canals_09 to d1_canals_11 <!--
-->|| 0 148 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(240,187,117); color:black" | '''{{vec4|240|187|117|1000}}''' <!--
-->|| style="background: rgb(135,172,180); color:black" | '''{{vec4|135|172|180|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day01_07.png|512px]] <!--
-->|| '''sky_day01_07''' <!--
-->|| d1_canals_12 <!--
-->|| 0 108 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(235,166,71); color:black" | '''{{vec4|235|166|71|1000}}''' <!--
-->|| style="background: rgb(135,172,180); color:black" | '''{{vec4|135|172|180|150}}''' <!--
-->|| -1 -1 -1 -1 (.5) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|height=128 | [[Image:Sky_day01_08.png|512px]] <!--
-->|| '''sky_day01_08''' <!--
-->|| d1_canals_13<br>d1_eli_01 <!--
-->|| 0 108 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(235,155,71); color:black" | '''{{vec4|235|155|71|1000}}''' <!--
-->|| style="background: rgb(105,142,165); color:black" | '''{{vec4|105|142|165|120}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=2 | [[Image:Sky_day01_09.png|512px]] <!--
-->|| rowspan=2 | '''sky_day01_09''' <!--
-->|| d1_eli_02 <!--
-->|| 0 12 0 <!--
-->|| -45 <!--
-->|| style="background: rgb(175,230,239); color:black" | '''{{vec4|175|230|239|65}}''' <!--
-->|| style="background: rgb(83,104,130); color:white" | '''{{vec4|83|104|130|50}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| d1_eli_02<br>d1_town_01 to d1_town_03 <!--
-->|| 0 12 0 <!--
-->|| -45 <!--
-->|| style="background: rgb(175,230,239); color:black" | '''{{vec4|175|230|239|50}}''' <!--
-->|| style="background: rgb(43,45,57); color:white" | '''{{vec4|43|45|57|5}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|- <!-- headers are repeated for each day so the reader doesn't have to scroll all the way back to remind what each column is -->
| style="background:#949494; color:black" | '''Preview''' <!--
-->||style="background:#949494; color:black" | '''Name''' <!--
-->||style="background:#949494; color:black" | '''Maps''' <!--
-->||style="background:#949494; color:black" | '''Angles''' <!--
-->||style="background:#949494; color:black" | '''Pitch''' <!--
-->||style="background:#949494; color:black" | '''Brightness''' <!--
-->||style="background:#949494; color:black" | '''Ambience''' <!--
-->||style="background:#949494; color:black" | '''HDR Brightness (Scale)''' <!--
-->||style="background:#949494; color:black" | '''HDR Ambience (Scale)''' <!--
-->||style="background:#949494; color:black" | '''Sun Spread Angle'''
|-
| height=128 | [[Image:Sky_day02_01.png|512px]] <!--
-->|| | '''sky_day02_01''' <!--
-->|| | d1_town_05  <!--
-->|| | 0 225 0 <!--
-->|| | -25 <!--
-->|| style="background: rgb(254,242,160); color:black" | '''{{vec4|254|242|160|400}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|80}}''' <!--
-->|| | -1 -1 -1 -1 (.7) <!--
-->|| | -1 -1 -1 -1 (1) <!--
-->|| | 0
|-
| height=128 | [[Image:Sky_day02_02.png|512px]] <!--
-->|| '''sky_day02_02''' <!--
-->|| d2_coast_01  <!--
-->|| 0 225 0 <!--
-->|| -20 <!--
-->|| style="background: rgb(255,244,213); color:black" | '''{{vec4|255|244|213|700}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|50}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=2 | [[Image:Sky_day02_03.png|512px]] <!--
-->|| rowspan=2 | '''sky_day02_03''' <!--
-->|| d2_coast_03 <!--
-->|| 0 280 0 <!--
-->|| -45 <!--
-->|| style="background: rgb(243,238,224); color:black" | '''{{vec4|243|238|224|500}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|100}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| d2_coast_04 <!--
-->|| 0 290 0 <!--
-->|| -45 <!--
-->|| style="background: rgb(243,238,224); color:black" | '''{{vec4|243|238|224|500}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|50}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day02_04.png|512px]] <!--
-->|| '''sky_day02_04''' <!--
-->|| d2_coast_05 <!--
-->|| 0 240 0 <!--
-->|| -45 <!--
-->|| style="background: rgb(243,238,224); color:black" | '''{{vec4|243|238|224|400}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|50}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day02_05.png|512px]] <!--
-->|| '''sky_day02_05''' <!--
-->|| background04<br>d2_coast_08 <!--
-->|| 0 135 0 <!--
-->|| -30 <!--
-->|| style="background: rgb(255,255,249); color:black" | '''{{vec4|255|255|249|448}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|100}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day02_06.png|512px]] <!--
-->|| '''sky_day02_06''' <!--
-->|| d2_coast_09 <!--
-->|| 0 270 0 <!--
-->|| -20 <!--
-->|| style="background: rgb(255,252,230); color:black" | '''{{vec4|255|252|230|475}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|120}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=2 | [[Image:Sky_day02_07.png|512px]] <!--
-->|| rowspan=2 | '''sky_day02_07''' <!--
-->|| d2_coast_10 <!--
-->|| 0 225 0 <!--
-->|| -15 <!--
-->|| style="background: rgb(255,252,230); color:black" | '''{{vec4|255|252|230|500}}''' <!--
-->|| style="background: rgb(183,204,210); color:black" | '''{{vec4|183|204|210|140}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| d2_coast_11 <!--
-->|| 0 230 0 <!--
-->|| -15 <!--
-->|| style="background: rgb(255,252,230); color:black" | '''{{vec4|255|252|230|400}}''' <!--
-->|| style="background: rgb(175,199,205); color:black" | '''{{vec4|175|199|205|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=5 | [[Image:Sky_day02_09.png|512px]] <!--
-->|| rowspan=5 | '''sky_day02_09''' <!--
-->|| d2_coast_12 <!--
-->|| 0 200 0 <!--
-->|| -5 <!--
-->|| style="background: rgb(237,232,209); color:black" | '''{{vec4|237|232|209|70}}''' <!--
-->|| style="background: rgb(122,140,169); color:black" | '''{{vec4|122|140|169|60}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1.3) <!--
-->|| 0
|-
|  d2_prison_01 <!--
-->|| 0 200 0 <!--
-->|| -5 <!--
-->|| style="background: rgb(217,226,234); color:black" | '''{{vec4|217|226|234|0}}''' <!--
-->|| style="background: rgb(122,140,169); color:black" | '''{{vec4|122|140|169|20}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| 0
|-
| d2_prison_02 <!--
-->|| 0 200 0 <!--
-->|| -5 <!--
-->|| style="background: rgb(221,232,240); color:black" | '''{{vec4|221|232|240|20}}''' <!--
-->|| style="background: rgb(103,143,184); color:black" | '''{{vec4|103|143|184|125}}''' <!--
-->|| -1 -1 -1 -1 (.5) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| d2_prison_03 <!--
-->|| 0 200 0 <!--
-->|| -5 <!--
-->|| style="background: rgb(221,232,240); color:black" | '''{{vec4|221|232|240|20}}''' <!--
-->|| style="background: rgb(103,143,184); color:black" | '''{{vec4|103|143|184|125}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| d2_prison_04 to d2_prison_08 <!--
-->|| 0 200 0 <!--
-->|| -5 <!--
-->|| style="background: rgb(221,232,240); color:black" | '''{{vec4|221|232|240|20}}''' <!--
-->|| style="background: rgb(103,143,184); color:black" | '''{{vec4|103|143|184|125}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day02_10.png|512px]] <!--
-->|| '''sky_day02_10''' <!--
-->|| d2_coast_07 <!--
-->|| 0 135 0 <!--
-->|| -30 <!--
-->|| style="background: rgb(255,255,249); color:black" | '''{{vec4|255|255|249|448}}''' <!--
-->|| style="background: rgb(172,196,204); color:black" | '''{{vec4|172|196|204|100}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|- <!-- headers are repeated for each day so the reader doesn't have to scroll all the way back to remind what each column is -->
| style="background:#949494; color:black" | '''Preview''' <!--
-->||style="background:#949494; color:black" | '''Name''' <!--
-->||style="background:#949494; color:black" | '''Maps''' <!--
-->||style="background:#949494; color:black" | '''Angles''' <!--
-->||style="background:#949494; color:black" | '''Pitch''' <!--
-->||style="background:#949494; color:black" | '''Brightness''' <!--
-->||style="background:#949494; color:black" | '''Ambience''' <!--
-->||style="background:#949494; color:black" | '''HDR Brightness (Scale)''' <!--
-->||style="background:#949494; color:black" | '''HDR Ambience (Scale)''' <!--
-->||style="background:#949494; color:black" | '''Sun Spread Angle'''
|-
| height=128 rowspan=3 | [[Image:Sky_day03_01.png|512px]] <!--
-->|| rowspan=3 | '''sky_day03_01''' <!--
-->|| d3_c17_01 <!--
-->|| 0 165 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(237,218,143); color:black" | '''{{vec4|237|218|143|800}}''' <!--
-->|| style="background: rgb(190,201,220); color:black" | '''{{vec4|190|201|220|100}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|| d3_c17_02 <!--
-->|| 0 126 0 <!--
-->|| -25 <!--
-->|| style="background: rgb(245,200,150); color:black" | '''{{vec4|245|200|150|1000}}''' <!--
-->|| style="background: rgb(148,173,205); color:black" | '''{{vec4|148|173|205|60}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|| d3_c17_03 <!--
-->|| 0 150 0 <!--
-->|| -30 <!--
-->|| style="background: rgb(236,218,145); color:black" | '''{{vec4|236|218|145|600}}''' <!--
-->|| style="background: rgb(160,184,211); color:black" | '''{{vec4|160|184|211|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=2 | [[Image:Sky_day03_02.png|512px]] <!--
-->|| rowspan=2 | '''sky_day03_02''' <!--
-->|| d3_c17_04 <!--
-->|| 0 140 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(236,218,145); color:black" | '''{{vec4|236|218|145|650}}''' <!--
-->|| style="background: rgb(160,184,211); color:black" | '''{{vec4|160|184|211|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|| d3_c17_05 <!--
-->||  0 120 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(236,218,145); color:black" | '''{{vec4|236|218|145|650}}''' <!--
-->|| style="background: rgb(160,184,211); color:black" | '''{{vec4|160|184|211|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=2 | [[Image:Sky_day03_03.png|512px]] <!--
-->|| rowspan=2 | '''sky_day03_03''' <!--
-->|| d3_c17_06a <!--
-->|| 0 120 0 <!--
-->|| -40 <!--
-->|| style="background: rgb(236,218,145); color:black" | '''{{vec4|236|218|145|700}}''' <!--
-->|| style="background: rgb(160,184,211); color:black" | '''{{vec4|160|184|211|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|| d3_c17_06b<br>d3_c17_07 <!--
-->|| 0 115 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(236,218,145); color:black" | '''{{vec4|236|218|145|700}}''' <!--
-->|| style="background: rgb(160,184,211); color:black" | '''{{vec4|160|184|211|150}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=3 | [[Image:Sky_day03_04.png|512px]] <!--
-->|| rowspan=3 | '''sky_day03_04''' <!--
-->|| d3_c17_08 <!--
-->|| 0 53 0 <!--
-->|| -60 <!--
-->|| style="background: rgb(239,207,141); color:black" | '''{{vec4|239|207|141|350}}''' <!--
-->|| style="background: rgb(75,96,116); color:white" | '''{{vec4|75|96|116|300}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|| d3_c17_09 <!--
-->|| 0 50 0 <!--
-->|| -35 <!--
-->|| style="background: rgb(237,218,143); color:black" | '''{{vec4|237|218|143|650}}''' <!--
-->|| style="background: rgb(190,201,220); color:black" | '''{{vec4|190|201|220|100}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|| d3_c17_10a<br>d3_c17_10b <!--
-->||  0 50 0 <!--
-->|| -20 <!--
-->|| style="background: rgb(238,207,142); color:black" | '''{{vec4|238|207|142|600}}''' <!--
-->|| style="background: rgb(190,201,220); color:black" | '''{{vec4|190|201|220|100}}''' <!--
-->||  -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 rowspan=5 | [[Image:Sky_day03_05.png|512px]] <!--
-->|| rowspan=5 | '''sky_day03_05''' <!--
-->|| background06 <!--
-->|| 0 82 0 <!--
-->|| -12 <!--
-->|| style="background: rgb(238,200,128); color:black" | '''{{vec4|238|200|128|450}}''' <!--
-->|| style="background: rgb(75,96,116); color:white" | '''{{vec4|75|96|116|250}}''' <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
|| d3_c17_11 <!--
-->|| 0 82 0 <!--
-->|| -12 <!--
-->|| style="background: rgb(238,200,128); color:black" | '''{{vec4|238|200|128|450}}''' <!--
-->|| style="background: rgb(75,96,116); color:white" | '''{{vec4|75|96|116|150}}''' <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| -1 -1 -1 -1 (1.3) <!--
-->|| 0
|-
|| d3_c17_12 <!--
-->|| 0 82 0 <!--
-->|| -8 <!--
-->|| style="background: rgb(238,200,128); color:black" | '''{{vec4|238|200|128|450}}''' <!--
-->|| style="background: rgb(75,96,116); color:white" | '''{{vec4|75|96|116|150}}''' <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| -1 -1 -1 -1 (1.3) <!--
-->|| 0
|-
|| d3_c17_12b <!--
-->|| 0 40 0 <!--
-->|| -8 <!--
-->|| style="background: rgb(239,207,141); color:black" | '''{{vec4|239|207|141|350}}''' <!--
-->|| style="background: rgb(75,96,116); color:white" | '''{{vec4|75|96|116|300}}''' <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| -1 -1 -1 -1 (1.3) <!--
-->|| 0
|-
|| d3_c17_13<br>d3_citadel_01 <!--
-->|| 0 82 0 <!--
-->|| -12 <!--
-->|| style="background: rgb(238,200,128); color:black" | '''{{vec4|238|200|128|450}}''' <!--
-->|| style="background: rgb(75,96,116); color:white" | '''{{vec4|75|96|116|250}}''' <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| -1 -1 -1 -1 (1.3) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day03_06.png|512px]] <!--
-->|| '''sky_day03_06''' <!--
-->|| d3_citadel_05<br>d3_breen_01 <!--
-->|| 0 280 0 <!--
-->|| -21 <!--
-->|| style="background: rgb(221,112,13); color:black" | '''{{vec4|221|112|13|300}}''' <!--
-->|| style="background: rgb(255,255,255); color:black" | '''{{vec4|255|255|255|20}}''' <!--
-->|| -1 -1 -1 -1 (.7) <!--
-->|| -1 -1 -1 -1 (1) <!--
-->|| 0
|-
| height=128 | [[Image:Sky_day03_06b.png|512px]] <!--
-->|| '''sky_day03_06b''' <!--
-->|| colspan=8 | N/A
|-
| height=128 | [[Image:Sky_wasteland02.png|512px]] <!--
-->|| '''sky_wasteland02''' <!--
-->|| colspan=8 | N/A
|-
| height=128 | [[Image:Sky_borealis01.png|512px]] <!--
-->|| '''sky_borealis01''' <!--
-->|| N/A <!--
-->|| 0 185 0 <!--
-->|| -2 <!--
-->|| style="background: rgb(245,255,168); color:black" | '''{{vec4|245|255|168|40}}''' <!--
-->|| style="background: rgb(120,226,255); color:black" | '''{{vec4|120|226|255|10}}''' <!--
-->|| colspan=3 | N/A
|}
 
 
----

Latest revision as of 15:47, 14 January 2025

$additive

$additive is a material shader parameter available in all Source Source games. It specifies that the material should be rendered additively; that is, its colour values will be added to underlying pixels. This means, among other things, that the material will always brighten the world behind it. This is useful for effects like volumetric dust, light sprites, etc.

The amount of brightening depends on the brightness of the texture. A fully black texture will become invisible, which can be a useful exploit (see below).

This does work together with $color and $color2, allowing to control the strength of the additive blending, and change it with Proxies.

$additive is supported by almost every shader (todo - double check which do and don't work with it, like water or refract), and does not require the texture to have an alpha channel. It also doesn't share the numerous caveats of $translucent and $alphatest, such as being mutually exclusive with $selfillum, or other shader parameters that make use of the alpha channel, for that matter. (todo - double check which do and don't work with it, like bumpmap)

Special uses

Because $additive works by adding colour values, pixels that have 0 colour (that is, RGB 0 0 0 - black) become invisible with it. However, this does not necessarily prevent other shader paramters from working, such as $detail, $selfillum, $emissiveblend, $envmap. This trick can be quite useful for creating overlaying effects, very clear but reflective glass, or even making translucent and/or glowing cables. In a way, this also allows for having a kind of masked application.

Document the 'tile' type of func_breakable_surf

Document its hardcoded pre-requesites and differences. Won't do much good until a leak-free pack of tile crack textures is made

draft:

So it relies on a bunch of things
1) the vmt of the undamaged tile, which, is simply enough, the green tiles here. LightmappedGeneric
2) the vmt of the damaged tile, which is a ShatteredGlass, with a proxy and $detail, same exact deal as the glass material, just tile instead. This vmt is referenced in 1) as $crackmaterial
3) a bunch of hardcoded mats

"models/brokentile/tilebroken_03a";

"models/brokentile/tilebroken_03b";

"models/brokentile/tilebroken_03c";

"models/brokentile/tilebroken_03d";


"models/brokentile/tilebroken_02a";

"models/brokentile/tilebroken_02b";

"models/brokentile/tilebroken_02c";

"models/brokentile/tilebroken_02d";


"models/brokentile/tilebroken_01a";

"models/brokentile/tilebroken_01b);

"models/brokentile/tilebroken_01c";

"models/brokentile/tilebroken_01d";

These had to be copied from the 2003 leak. But they're simple small cracked tiles to form the edges; the BrokenGlass folder can be used as reference in making substitutions for them.

The 3) is the biggest obstacle but other than it, it doesn't need much.

It can even very feasibly be un-hardcoded in a mod and turned into a setting of the entity.

Sky Lists

Rework of the sky list template so it's more compact and easier to read.

Todo: All the pics in the lists currently are heavy pngs (20kb jpegs were replaced by 100+kb pngs), they have to be replaced by optimised thumbnails.

HL2

Preview Name Maps Angles Pitch Brightness Ambience HDR Brightness (Scale) HDR Ambience (Scale) Sun Spread Angle
Sky day01 01.png sky_day01_01 background01
d1_trainstation_01 to d1_trainstation_06
0 165 0 -35 237 218 143 800 190 201 220 100 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day01 04.png sky_day01_04 d1_canals_01
d1_canals_01a
d1_canals_02
0 165 0 -55 248 234 205 1000 194 236 252 175 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day01 05.png sky_day01_05 d1_canals_03 0 165 0 -83 243 224 158 1200 194 236 252 225 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d1_canals_05 0 104 0 -35 248 233 186 800 140 167 174 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
background02
d1_canals_06
d1_canals_07
0 104 0 -35 248 233 186 860 140 167 174 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d1_canals_08 0 104 0 -35 243 219 143 860 140 167 174 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day01 06.png sky_day01_06 d1_canals_09 to d1_canals_11 0 148 0 -35 240 187 117 1000 135 172 180 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day01 07.png sky_day01_07 d1_canals_12 0 108 0 -35 235 166 71 1000 135 172 180 150 -1 -1 -1 -1 (.5) -1 -1 -1 -1 (1) 0
Sky day01 08.png sky_day01_08 d1_canals_13
d1_eli_01
0 108 0 -35 235 155 71 1000 105 142 165 120 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day01 09.png sky_day01_09 d1_eli_02 0 12 0 -45 175 230 239 65 83 104 130 50 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d1_eli_02
d1_town_01 to d1_town_03
0 12 0 -45 175 230 239 50 43 45 57 5 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Preview Name Maps Angles Pitch Brightness Ambience HDR Brightness (Scale) HDR Ambience (Scale) Sun Spread Angle
Sky day02 01.png sky_day02_01 d1_town_05 0 225 0 -25 254 242 160 400 172 196 204 80 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day02 02.png sky_day02_02 d2_coast_01 0 225 0 -20 255 244 213 700 172 196 204 50 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day02 03.png sky_day02_03 d2_coast_03 0 280 0 -45 243 238 224 500 172 196 204 100 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d2_coast_04 0 290 0 -45 243 238 224 500 172 196 204 50 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day02 04.png sky_day02_04 d2_coast_05 0 240 0 -45 243 238 224 400 172 196 204 50 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day02 05.png sky_day02_05 background04
d2_coast_08
0 135 0 -30 255 255 249 448 172 196 204 100 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day02 06.png sky_day02_06 d2_coast_09 0 270 0 -20 255 252 230 475 172 196 204 120 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day02 07.png sky_day02_07 d2_coast_10 0 225 0 -15 255 252 230 500 183 204 210 140 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d2_coast_11 0 230 0 -15 255 252 230 400 175 199 205 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day02 09.png sky_day02_09 d2_coast_12 0 200 0 -5 237 232 209 70 122 140 169 60 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1.3) 0
d2_prison_01 0 200 0 -5 217 226 234 0 122 140 169 20 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (.7) 0
d2_prison_02 0 200 0 -5 221 232 240 20 103 143 184 125 -1 -1 -1 -1 (.5) -1 -1 -1 -1 (1) 0
d2_prison_03 0 200 0 -5 221 232 240 20 103 143 184 125 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d2_prison_04 to d2_prison_08 0 200 0 -5 221 232 240 20 103 143 184 125 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (.7) 0
Sky day02 10.png sky_day02_10 d2_coast_07 0 135 0 -30 255 255 249 448 172 196 204 100 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Preview Name Maps Angles Pitch Brightness Ambience HDR Brightness (Scale) HDR Ambience (Scale) Sun Spread Angle
Sky day03 01.png sky_day03_01 d3_c17_01 0 165 0 -35 237 218 143 800 190 201 220 100 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d3_c17_02 0 126 0 -25 245 200 150 1000 148 173 205 60 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d3_c17_03 0 150 0 -30 236 218 145 600 160 184 211 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day03 02.png sky_day03_02 d3_c17_04 0 140 0 -35 236 218 145 650 160 184 211 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d3_c17_05 0 120 0 -35 236 218 145 650 160 184 211 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day03 03.png sky_day03_03 d3_c17_06a 0 120 0 -40 236 218 145 700 160 184 211 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d3_c17_06b
d3_c17_07
0 115 0 -35 236 218 145 700 160 184 211 150 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day03 04.png sky_day03_04 d3_c17_08 0 53 0 -60 239 207 141 350 75 96 116 300 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d3_c17_09 0 50 0 -35 237 218 143 650 190 201 220 100 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
d3_c17_10a
d3_c17_10b
0 50 0 -20 238 207 142 600 190 201 220 100 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day03 05.png sky_day03_05 background06 0 82 0 -12 238 200 128 450 75 96 116 250 -1 -1 -1 -1 (1) -1 -1 -1 -1 (1) 0
d3_c17_11 0 82 0 -12 238 200 128 450 75 96 116 150 -1 -1 -1 -1 (1) -1 -1 -1 -1 (1.3) 0
d3_c17_12 0 82 0 -8 238 200 128 450 75 96 116 150 -1 -1 -1 -1 (1) -1 -1 -1 -1 (1.3) 0
d3_c17_12b 0 40 0 -8 239 207 141 350 75 96 116 300 -1 -1 -1 -1 (1) -1 -1 -1 -1 (1.3) 0
d3_c17_13
d3_citadel_01
0 82 0 -12 238 200 128 450 75 96 116 250 -1 -1 -1 -1 (1) -1 -1 -1 -1 (1.3) 0
Sky day03 06.png sky_day03_06 d3_citadel_05
d3_breen_01
0 280 0 -21 221 112 13 300 255 255 255 20 -1 -1 -1 -1 (.7) -1 -1 -1 -1 (1) 0
Sky day03 06b.png sky_day03_06b N/A
Sky wasteland02.png sky_wasteland02 N/A
Sky borealis01.png sky_borealis01 N/A 0 185 0 -2 245 255 168 40 120 226 255 10 N/A