User:MrFunreal/Sandbox: Difference between revisions
(Created page with "{{Metanotice | hex = #ff00ff | id = | textstyle = font-family:monospace; | style = border:1px solid currentcolor; | text = This is a test page for edits I want to do ''eventually'', without having to have a half baked page because i don't have enough time to edit it on one sitting. Or whatever possible reason i might have.<br> Assume the data on this page to not be fully fleshed out for as long as it remains here. }} ==L4D2 Detail sprites== {{l4d2|4}} has three differen...") |
No edit summary |
||
Line 4: | Line 4: | ||
| textstyle = font-family:monospace; | | textstyle = font-family:monospace; | ||
| style = border:1px solid currentcolor; | | style = border:1px solid currentcolor; | ||
| text = This is a test page for edits I want to do ''eventually'', without having to have a half baked page because i don't have enough time to edit it on one sitting. Or whatever possible reason i might have.<br> | | text = This is a test page for edits I want to do ''eventually'', without having to have a half baked page because i don't have enough time to edit it on one sitting. Or whatever possible reason i might have.<br>Assume the data on this page to not be fully fleshed out for as long as it remains here.<br>[[User:MrFunreal|MrFunreal]] ([[User talk:MrFunreal|talk]]) | ||
Assume the data on this page to not be fully fleshed out for as long as it remains here. | |||
}} | }} | ||
==L4D2 Detail sprites== | {{clr}} | ||
{{l4d2|4}} has three different sources of where it got its detail sprites from. Some from {{css|1}}, | ==List of L4D2 Detail sprites== | ||
Unfortunately, these are sometimes mutually exclusive, by virtue of needing to use a different "Detail Material File" setting in {{hammer|4}}.<br> | {{l4d2|4}} has three different sources of where it got its nature textures and their detail sprites from. Some from {{css|1}}, {{l4d|1}}, and some made new for {{l4d2|1}}.<br> | ||
Unfortunately, these are sometimes mutually exclusive, by virtue of needing to use a different "<code>Detail Material File</code>" setting, which can be found when heading to "Map Properties" in {{hammer|4}}.<br> | |||
Luckily this can be avoided by taking a few extra steps, as described in the "Making materials compatible" section below. | |||
This page helps to remove the confusion as to what materials are compatible with each other, by listing them by what "<code>Detail Material File</code>" they must use.<br> | |||
Should you want multiple materials that are not compatible because of different "<code>Detail Material File</code>" requirements, you will need to create a dupe of the vmt that you want to use and swap its %Detailtype to one using the same "Detail Material". | |||
{{warning|%Detailtype "alleydirt_leaves" was never ported from L4D1 to L4D2. It's only used on "nature/blend_alleydirt_leaves", from Crash Course. | {{warning|%Detailtype "alleydirt_leaves" was never ported from L4D1 to L4D2. It's only used on "nature/blend_alleydirt_leaves", from Crash Course.<br>%Detailtype "urban_overgrown_docks" does not exist in neither L4D1 nor L4D2.<br>These two are contained in this [https://github.com/Mrfunreal/L4D2-FGD-Edits Github Repo], amongst many other updates to hammers fgd.}} | ||
%Detailtype "urban_overgrown_docks" does not exist in neither L4D1 nor L4D2. | |||
These two are contained in this [https://github.com/Mrfunreal/L4D2-FGD-Edits Github Repo], amongst many other updates to hammers fgd.}} | |||
== | ==Separated by Detail Material== | ||
These four lists show all materials in L4D2 that do make use of %Detailtype in their vmt files.<br> | |||
'''BlendLeavesTrainyardDirtB.vmt''' is the only material that uses detail/detailsprites. Which means your map can not use any other materials with sprites on it, as none other share this Detail Material.<br> | Refer to these when deciding what materials to use, in order to make sure you only use the ones with the identical <code>Detail Material File</code> setting in Hammer. | ||
===DetailSprites=== | |||
'''BlendLeavesTrainyardDirtB.vmt''' is the only material that uses detail/detailsprites. | |||
Which means your map can not use any other materials with sprites on it, as none other share this Detail Material.<br> | |||
But you may easily edit this vmt to use a different detailtype. Whatever detail type this vmt has when compiling the map will be used, no matter of the vmt on other machines are not the same. | But you may easily edit this vmt to use a different detailtype. Whatever detail type this vmt has when compiling the map will be used, no matter of the vmt on other machines are not the same. | ||
{{note|While there are more %Detailtype that use detail/detailsprites.vmt, no other ones are being used.}} | |||
===DetailSprites_Overgrown=== | |||
These blend materials all use "details/DetailSprites_Overgrown.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with. | These blend materials all use "details/DetailSprites_Overgrown.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with. | ||
{{Table | {{Table | ||
Line 53: | Line 57: | ||
{{tr|{{td|blendswamprootleaves01_lowdensity }} {{td|urban_overgrown_lowdensity }} }} | {{tr|{{td|blendswamprootleaves01_lowdensity }} {{td|urban_overgrown_lowdensity }} }} | ||
}} | }} | ||
===RuralDetailSprites=== | |||
These blend materials all use "details/RuralDetailSprites.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with. | These blend materials all use "details/RuralDetailSprites.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with. | ||
{{Table | {{Table | ||
| | | | ||
{{tr|{{th|Material Name }} {{th|%Detailtype used }} }} | |||
{{tr|{{td|blend_alleydirt_leaves* }} {{td|alleydirt_leaves }} }} | {{tr|{{td|blend_alleydirt_leaves* }} {{td|alleydirt_leaves }} }} | ||
{{tr|{{td|blend_docks_grass_dirt* }} {{td|urban_overgrown_docks }} }} | {{tr|{{td|blend_docks_grass_dirt* }} {{td|urban_overgrown_docks }} }} | ||
Line 85: | Line 90: | ||
{{tr|{{td|tiblendrockstone3 }} {{td|rural_dirt_leaves }} }} | {{tr|{{td|tiblendrockstone3 }} {{td|rural_dirt_leaves }} }} | ||
{{tr|{{td|tiblendrockstone4 }} {{td|rural_dirt_leaves }} }} | {{tr|{{td|tiblendrockstone4 }} {{td|rural_dirt_leaves }} }} | ||
}} | }} | ||
{{note|* These materials only exist in the | {{note|* These materials only exist in the provided Github Repo. As they originally were broken or didn't exist.}} | ||
===No Detail Material=== | |||
{{ExpandBox|title=Materials without Details/Sprites| | {{ExpandBox|title=Materials without Details/Sprites| | ||
* blend_alley_conc_dirt | * blend_alley_conc_dirt | ||
Line 180: | Line 184: | ||
* zblendwetrockurock | * zblendwetrockurock | ||
}} | }} | ||
== | ==Existing %detailtypes== | ||
When creating custom materials you must make sure all materials make use of the same "Detail Material" setting in Hammer {{hammer|4}}.<br> | When creating custom materials you must make sure all materials make use of the same "Detail Material" setting in Hammer {{hammer|4}}.<br> | ||
This list | This list shows what %detailtypes exist and which <code>Detail Material File</code> they use. Pick any of these for your custom materials. | ||
{{Table | {{Table | ||
| | | | ||
Line 216: | Line 221: | ||
{{tr|{{td|urban_overgrown_docks }} {{td|detail/ruraldetailsprites }} }} | {{tr|{{td|urban_overgrown_docks }} {{td|detail/ruraldetailsprites }} }} | ||
}} | }} | ||
==Making materials compatible== | |||
If you do want to use two or more materials that are usually mutually exclusive, you need to edit them to use any %Detailtype from the table above that use the same <code>Detail Material File</code>. | |||
You can achieve this ''without'' needing to ship a custom material with your map. | |||
Simply take the file out of your game, edit the %Detailtype value, and then pack it with the original file name and pack into a vpk named pak01_dir.vpk.<br> | |||
Once that is done, create a folder in your L4D2 directory, next to the DLC folders, named "Detailtype_edits" that contains this pak01_dir.vpk.<br> | |||
Next, open the gameinfo.txt in <code>steamapps\common\Left 4 Dead 2\left4dead2</code> and scroll down until you see "Game update". Above that line, add "Game Detailtype_edits".<br> | |||
This will successfully mount your modified materials with different %Detailtype value. | |||
As long as you only change the %Detailtype value, the game will read that date during compile and use that modified %Detailtype value in every subsequent compile.<br> | |||
The genius of this approach is that the maps remember what %Detailtype value had been used when the map was compiled.<br> | |||
This means that the custom %Detailtype value is kept and you do not need to ship this modified material with your map. | |||
[[Category:Left 4 Dead 2]] | [[Category:Left 4 Dead 2]] | ||
[[Category:Level Design]] | [[Category:Level Design]] | ||
[[Category:Tutorials]] | [[Category:Tutorials]] |
Revision as of 10:49, 30 June 2025
Assume the data on this page to not be fully fleshed out for as long as it remains here.
MrFunreal (talk)
List of L4D2 Detail sprites
Left 4 Dead 2 has three different sources of where it got its nature textures and their detail sprites from. Some from Counter-Strike: Source, Left 4 Dead, and some made new for Left 4 Dead 2.
Unfortunately, these are sometimes mutually exclusive, by virtue of needing to use a different "Detail Material File
" setting, which can be found when heading to "Map Properties" in Hammer.
Luckily this can be avoided by taking a few extra steps, as described in the "Making materials compatible" section below.
This page helps to remove the confusion as to what materials are compatible with each other, by listing them by what "Detail Material File
" they must use.
Should you want multiple materials that are not compatible because of different "Detail Material File
" requirements, you will need to create a dupe of the vmt that you want to use and swap its %Detailtype to one using the same "Detail Material".

%Detailtype "urban_overgrown_docks" does not exist in neither L4D1 nor L4D2.
These two are contained in this Github Repo, amongst many other updates to hammers fgd.
Separated by Detail Material
These four lists show all materials in L4D2 that do make use of %Detailtype in their vmt files.
Refer to these when deciding what materials to use, in order to make sure you only use the ones with the identical Detail Material File
setting in Hammer.
DetailSprites
BlendLeavesTrainyardDirtB.vmt is the only material that uses detail/detailsprites.
Which means your map can not use any other materials with sprites on it, as none other share this Detail Material.
But you may easily edit this vmt to use a different detailtype. Whatever detail type this vmt has when compiling the map will be used, no matter of the vmt on other machines are not the same.

DetailSprites_Overgrown
These blend materials all use "details/DetailSprites_Overgrown.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with.
Material Name | %Detailtype used |
---|---|
blendswampmudroots01_lowdensity | urban_overgrown_lowdensity |
blend_blacktop_07 | urban_grass_overgrown |
blend_blacktop_08 | urban_grass_overgrown |
blend_blacktop_09 | urban_grass_overgrown |
blend_brick_brick01 | urban_grass_overgrown |
blend_brick_brick02 | urban_grass_overgrown |
blend_brick_dirt_01 | urban_grass_overgrown |
blend_brick_grass_01 | urban_dry_overgrown |
blend_dirt_cane | urban_dry_overgrown |
blend_grass_concrete_01 | urban_dry_overgrown |
blend_grass_grass_02 | urban_grass_overgrown |
blend_grass_grass_02_lowdensity | urban_grass_overgrown_lowdensity |
blend_grass_gravel_01 | urban_grass_overgrown |
blend_grass_gravel_lowdensity | urban_grass_overgrown_lowdensity |
blend_grass_mud_01 | urban_grass_overgrown |
blend_milltowngrass01wet | urban_dry_overgrown |
blend_rubble_03 | urban_grass_overgrown |
blend_urbandirtlawn01 | urban_dry_overgrown |
blend_urbandirtlawn01wet | urban_dry_overgrown |
blend_urbandirtlawn01wet | urban_dry_overgrown |
blendswampmudleaves02b | urban_overgrown |
blendswampmudroots01 | urban_overgrown |
blendswamprootleaves01 | urban_overgrown |
blendswamprootleaves01_lowdensity | urban_overgrown_lowdensity |
RuralDetailSprites
These blend materials all use "details/RuralDetailSprites.vmt". These can only be used with each other, or any blend materials that do not have any sprites to begin with.
Material Name | %Detailtype used |
---|---|
blend_alleydirt_leaves* | alleydirt_leaves |
blend_docks_grass_dirt* | urban_overgrown_docks |
blend_leaves_dirt | rural_dirt_leaves02 |
blend_leaves_dirt_nomod | rural_dirt_leaves02 |
blend_leaves_forest | rural_dirt_leaves02 |
blenddirt01grass_ruddy_small | rural_dkdirt_grass |
blenddirtlawn01 | rural_dkdirt_grass_smalltown |
blenddirtleaves | rural_dirt_leaves |
blenddirtleaves02 | rural_dirt_leaves |
blenddirtleaves03 | rural_dirt_leaves02 |
blenddirtleaves03_smalltown | rural_dirt_leaves02 |
blenddirtleaves03_smalltown2 | rural_dirt_leaves02 |
blenddirtleaves04 | rural_dirt_leaves02 |
blenddirtleaves_docks* | urban_overgrown_docks |
blenddrkdirtgrass_ruddy | rural_dkdirt_grass_trainyard |
blenddrygrassdirt | rural_dirt_road |
blendleavestrainyarddirt | rural_trainyarddirt_leaves |
blendroadleaves01 | rural_dirt_leaves02 |
blendroadleaves01b | rural_dirt_leaves02 |
blendrootleaves01 | rural_dirt_leaves02 |
grasslawn_dry01 | rural_dkdirt_grass |
grasslawn_patchy01_detailprop | rural_dirt_leaves02 |
tiblendrockleaves1 | rural_dirt_leaves |
tiblendrockstone1 | rural_dirt_leaves |
tiblendrockstone2 | rural_dirt_leaves |
tiblendrockstone3 | rural_dirt_leaves |
tiblendrockstone4 | rural_dirt_leaves |

No Detail Material
- blend_alley_conc_dirt
- blend_blacktop_01
- blend_blacktop_01_cheap
- blend_blacktop_01_wet
- blend_blacktop_02
- blend_blacktop_02wet
- blend_blacktop_03
- blend_blacktop_03wet
- blend_blacktop_03wet_dirt
- blend_blacktop_04
- blend_blacktop_05
- blend_blacktop_06
- blend_blacktop_06
- blend_blacktop_brick_01
- blend_blacktop_brick_01b
- blend_blacktop_cobb_01
- blend_blacktop_cobb_01dry
- blend_blacktop_cobb_02
- blend_blacktop_cobb_02_dry
- blend_cliff_leaves
- blend_concrete_01
- blend_dirt_concrete_01
- blend_dirt_concrete_01wet
- blend_dirt_concrete_02
- blend_dirt_concrete_03
- blend_dirt_concrete_03wet
- blend_dirt_concrete_04
- blend_dirt_concrete_06
- blend_dirt_ext_01
- blend_dirt_ext_03
- blend_dirt_mud_01
- blend_dirtrubble01
- blend_docks_dirt_gravel
- blend_docks_grass_pavement
- blend_donner_rubble1_dirtfloor013a
- blend_grass_black_01
- blend_grass_grass_01
- blend_grass_grass_02_cheap
- blend_grass_gravel_01_cheap
- blend_grasslawn_dirt_nosprites
- blend_leaves_dirt_nodetail
- blend_leaves_dirt_nodetail_mod
- blend_leaves_estuary
- blend_logs_moss
- blend_lots_conc_dirt
- blend_lots_conc_grass
- blend_lots_conc_pavement
- blend_milltowngrass02wet
- blend_milltowngrass03wet
- blend_milltowngrass04wet
- blend_river_dirt02
- blend_roof_01
- blend_rubble_01
- blend_rubble_02
- blend_sand03_cliff
- blend_sidewalk02
- blend_sidewalk_01
- blend_sidewalk_01_wet
- blend_sidewalk_01dry
- blend_sidewalk_dirt
- blend_sidewalk_grass
- blend_urbandirtlawn01_cheap
- blendbeachleaves
- blendconcrete38a12a_noshadow
- blendconcrete_dirt
- blenddirtcorn01
- blenddirtdirt001a
- blenddirtleaves03_burned
- blenddirtleaves03_nodetail
- blenddirtparkinglot01
- blendgrassstonepath
- blendgraveldirt001a
- blendmudleaves
- blendpavementleaves
- blendrockcavewall
- blendrockleaves
- blendrockleaves02
- blendrockleaves03
- blendrockwaterleaves
- blendrockwaterrock
- blendswamprootleaves01_cheap
- grassdirt_blend
- milground011_rock2b
- ti_nospr_blendrockstone1
- ti_nospr_blendrockstone2
- ti_nospr_blendrockstone3
- ti_nospr_blendrockstone4
- tiblendwaterrockstone
- zblendwetrockurock
Existing %detailtypes
When creating custom materials you must make sure all materials make use of the same "Detail Material" setting in Hammer Hammer.
This list shows what %detailtypes exist and which Detail Material File
they use. Pick any of these for your custom materials.
%detailtype | Detail Material File |
---|---|
compound_gravelgrass | detail/detailsprites |
desert_2weeds1shrub_01 | detail/detailsprites |
militia_darkleaves_grass | detail/detailsprites |
militia_leaves_darkleaves | detail/detailsprites |
militia_leaves_grass | detail/detailsprites |
militia_leaves_sand | detail/detailsprites |
militia_rock_grass | detail/detailsprites |
militia_sand_grass | detail/detailsprites |
prodgrasses | detail/detailsprites |
rural_cornfield_leaves | detail/ruraldetailsprites |
rural_dirt_leaves | detail/ruraldetailsprites |
rural_dirt_leaves02 | detail/ruraldetailsprites |
rural_dirt_leaves02_lowdensity | detail/ruraldetailsprites |
rural_dirt_road | detail/ruraldetailsprites |
rural_dkdirt_grass | detail/ruraldetailsprites |
rural_dkdirt_grass_smalltown | detail/ruraldetailsprites |
rural_dkdirt_grass_trainyard | detail/ruraldetailsprites |
rural_grass_leaves | detail/ruraldetailsprites |
rural_gravel_weeds01 | detail/ruraldetailsprites |
rural_trainyarddirt_leaves | detail/ruraldetailsprites |
swamp_ground01 | detail/ruraldetailsprites |
urban_dirt_leaves02 | detail/ruraldetailsprites |
urban_dry_overgrown | detail/detailsprites_overgrown |
urban_grass_overgrown | detail/detailsprites_overgrown |
urban_grass_overgrown_lowdensity | detail/detailsprites_overgrown |
urban_overgrown | detail/detailsprites_overgrown |
urban_overgrown_lowdensity | detail/detailsprites_overgrown |
alleydirt_leaves | detail/ruraldetailsprites |
urban_overgrown_docks | detail/ruraldetailsprites |
Making materials compatible
If you do want to use two or more materials that are usually mutually exclusive, you need to edit them to use any %Detailtype from the table above that use the same Detail Material File
.
You can achieve this without needing to ship a custom material with your map.
Simply take the file out of your game, edit the %Detailtype value, and then pack it with the original file name and pack into a vpk named pak01_dir.vpk.
Once that is done, create a folder in your L4D2 directory, next to the DLC folders, named "Detailtype_edits" that contains this pak01_dir.vpk.
Next, open the gameinfo.txt in steamapps\common\Left 4 Dead 2\left4dead2
and scroll down until you see "Game update". Above that line, add "Game Detailtype_edits".
This will successfully mount your modified materials with different %Detailtype value.
As long as you only change the %Detailtype value, the game will read that date during compile and use that modified %Detailtype value in every subsequent compile.
The genius of this approach is that the maps remember what %Detailtype value had been used when the map was compiled.
This means that the custom %Detailtype value is kept and you do not need to ship this modified material with your map.