User:MrFunreal/Sandbox: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Replaced content 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.<br>MrFunreal (User talk:MrFunrea...")
Tag: Replaced
 
Line 7: Line 7:
}}
}}
{{clr}}
{{clr}}
==List of L4D2 Detail sprites==
{{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 their [[Detail_props|detail props]] 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 [[#Making_materials_compatible|Making materials compatible]].


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>
- All caught up. Previous edits been turned into standalone page edits. -
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.<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.}}
 
==Separated by Detail Material==
These four lists show all materials in L4D2 that do make use of %DetailType in their vmt files.<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.
{{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.
{{Table
|
{{tr|{{th|Material Name }} {{th|%DetailType used }} }}
{{tr|{{td|blendswampmudroots01_lowdensity }} {{td|urban_overgrown_lowdensity      }} }}
{{tr|{{td|blend_blacktop_07 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_blacktop_08 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_blacktop_09 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_brick_brick01 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_brick_brick02 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_brick_dirt_01 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_brick_grass_01 }} {{td|urban_dry_overgrown            }} }}
{{tr|{{td|blend_dirt_cane }} {{td|urban_dry_overgrown            }} }}
{{tr|{{td|blend_grass_concrete_01 }} {{td|urban_dry_overgrown            }} }}
{{tr|{{td|blend_grass_grass_02 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_grass_grass_02_lowdensity }} {{td|urban_grass_overgrown_lowdensity}} }}
{{tr|{{td|blend_grass_gravel_01 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_grass_gravel_lowdensity }} {{td|urban_grass_overgrown_lowdensity}} }}
{{tr|{{td|blend_grass_mud_01 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_milltowngrass01wet }} {{td|urban_dry_overgrown            }} }}
{{tr|{{td|blend_rubble_03 }} {{td|urban_grass_overgrown          }} }}
{{tr|{{td|blend_urbandirtlawn01 }} {{td|urban_dry_overgrown            }} }}
{{tr|{{td|blend_urbandirtlawn01wet }} {{td|urban_dry_overgrown            }} }}
{{tr|{{td|blend_urbandirtlawn01wet }} {{td|urban_dry_overgrown            }} }}
{{tr|{{td|blendswampmudleaves02b }} {{td|urban_overgrown                }} }}
{{tr|{{td|blendswampmudroots01 }} {{td|urban_overgrown                }} }}
{{tr|{{td|blendswamprootleaves01 }} {{td|urban_overgrown                }} }}
{{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.
 
{{Table
|
{{tr|{{th|Material Name }} {{th|%DetailType used }} }}
{{tr|{{td|blend_alleydirt_leaves* }} {{td|alleydirt_leaves }} }}
{{tr|{{td|blend_docks_grass_dirt* }} {{td|urban_overgrown_docks }} }}
{{tr|{{td|blend_leaves_dirt }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blend_leaves_dirt_nomod }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blend_leaves_forest }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blenddirt01grass_ruddy_small }} {{td|rural_dkdirt_grass }} }}
{{tr|{{td|blenddirtlawn01 }} {{td|rural_dkdirt_grass_smalltown}} }}
{{tr|{{td|blenddirtleaves }} {{td|rural_dirt_leaves }} }}
{{tr|{{td|blenddirtleaves02 }} {{td|rural_dirt_leaves }} }}
{{tr|{{td|blenddirtleaves03 }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blenddirtleaves03_smalltown }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blenddirtleaves03_smalltown2 }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blenddirtleaves04 }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blenddirtleaves_docks* }} {{td|urban_overgrown_docks }} }}
{{tr|{{td|blenddrkdirtgrass_ruddy }} {{td|rural_dkdirt_grass_trainyard}} }}
{{tr|{{td|blenddrygrassdirt }} {{td|rural_dirt_road }} }}
{{tr|{{td|blendleavestrainyarddirt }} {{td|rural_trainyarddirt_leaves }} }}
{{tr|{{td|blendroadleaves01 }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blendroadleaves01b }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|blendrootleaves01 }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|grasslawn_dry01 }} {{td|rural_dkdirt_grass }} }}
{{tr|{{td|grasslawn_patchy01_detailprop }} {{td|rural_dirt_leaves02 }} }}
{{tr|{{td|tiblendrockleaves1 }} {{td|rural_dirt_leaves }} }}
{{tr|{{td|tiblendrockstone1 }} {{td|rural_dirt_leaves }} }}
{{tr|{{td|tiblendrockstone2 }} {{td|rural_dirt_leaves }} }}
{{tr|{{td|tiblendrockstone3 }} {{td|rural_dirt_leaves }} }}
{{tr|{{td|tiblendrockstone4 }} {{td|rural_dirt_leaves }} }}
}}
{{note|* These materials only exist in the provided Github Repo. As they originally were broken or didn't exist.}}
===No Detail Material===
The following materials do not have any grass or plant sprites. This allows them to be used with any other material without issue.
{{ExpandBox|title=Materials without Details/Sprites|
* 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|4}}.<br>
This list shows what %DetailTypes exist and which <code>Detail Material File</code> they use. Pick any of these for your custom materials.
 
{{Table
|
{{tr|{{th|%DetailType }} {{th|Detail Material File }} }}
{{tr|{{td|compound_gravelgrass }} {{td|detail/detailsprites }} }}
{{tr|{{td|desert_2weeds1shrub_01 }} {{td|detail/detailsprites }} }}
{{tr|{{td|militia_darkleaves_grass }} {{td|detail/detailsprites }} }}
{{tr|{{td|militia_leaves_darkleaves }} {{td|detail/detailsprites }} }}
{{tr|{{td|militia_leaves_grass }} {{td|detail/detailsprites }} }}
{{tr|{{td|militia_leaves_sand }} {{td|detail/detailsprites }} }}
{{tr|{{td|militia_rock_grass }} {{td|detail/detailsprites }} }}
{{tr|{{td|militia_sand_grass }} {{td|detail/detailsprites }} }}
{{tr|{{td|prodgrasses }} {{td|detail/detailsprites }} }}
{{tr|{{td|rural_cornfield_leaves }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_dirt_leaves }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_dirt_leaves02 }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_dirt_leaves02_lowdensity }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_dirt_road }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_dkdirt_grass }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_dkdirt_grass_smalltown }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_dkdirt_grass_trainyard }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_grass_leaves }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_gravel_weeds01 }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|rural_trainyarddirt_leaves }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|swamp_ground01 }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|urban_dirt_leaves02 }} {{td|detail/ruraldetailsprites }} }}
{{tr|{{td|urban_dry_overgrown }} {{td|detail/detailsprites_overgrown }} }}
{{tr|{{td|urban_grass_overgrown }} {{td|detail/detailsprites_overgrown }} }}
{{tr|{{td|urban_grass_overgrown_lowdensity }} {{td|detail/detailsprites_overgrown }} }}
{{tr|{{td|urban_overgrown }} {{td|detail/detailsprites_overgrown }} }}
{{tr|{{td|urban_overgrown_lowdensity }} {{td|detail/detailsprites_overgrown }} }}
{{tr|{{td|alleydirt_leaves }} {{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, recreate the folderpath like any regular addon would, edit the %DetailType value in the vmt, 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, until this gameinfo edit is undone or the vpk is deleted.<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, as the game already has this material.
 
 
[[Category:Left 4 Dead 2]]
[[Category:Level Design]]
[[Category:Tutorials]]

Latest revision as of 11:33, 30 June 2025

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.
Assume the data on this page to not be fully fleshed out for as long as it remains here.
MrFunreal (talk)

- All caught up. Previous edits been turned into standalone page edits. -