Skip to content

Mrfunreal/L4D2-FGD-Edits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project modifies the entire FGD of L4D2 to improve the mapping experience.
It also adds tool textures to differentiate all brush entities you want to use.
Includes Hammer++ and Tools++ additions, which have also been modified for even better QOL.

Some examples include:

  • Worldspawn entity that lets you pick Skybox, music string, and daytime from a dropdown.
  • Func_areaportal window with added distance pickers.
  • New and modified helper models/sprites
  • Further explanations of obtuse keyvalues.
  • More autovisgroups
  • Frustums for all camera entities

See documentation below for more info. Not everything is documented, because i forgot many small edits i made.
But as soon as you begin to make maps, you'll realize that some things have changed for the better.
File Issues for suggestions, or visit the Dead 4 Mods discord or my private discord.

⚠️ $${\color{red}Warning:}$$
You must change the default entity from info_survivor_position to info_player_start, or another entitiy without a model!
Swapping from any entity with a model to an entity that now got a helper model -when it previously did not have one- can cause crashes.

Install

  1. Download the latest release's "Source Code" into Steam\steamapps\common\Left 4 Dead 2\bin
  2. Create a folder named L4D2-FGD-Edits, unpack the contents of the zip into that folder.
    (Hammer_vpk, Detailtype_helper, Left4dead2_ADDON.fgd, Visgroups.fgd)
  3. You should end up with the directory Steam\steamapps\common\Left 4 Dead 2\bin\L4D2-FGD-Edits
  4. In hammer click on Tools - Options
  5. In the "Game Configuration" tab, look for the "Game Data Files" box use ONLY the left4dead2_ADDON.fgd.
    Even if Tools++ is installed. Its FGD edits are incorporated here.

  1. Open Steam\steamapps\common\Left 4 Dead 2\left4dead2\Gameinfo.txt
  2. Scroll down to the first few game lines.
Game	update
Game	left4dead2_dlc3
Game	left4dead2_dlc2
Game	left4dead2_dlc1
Game	|gameinfo_path|.
Game	hl2
  1. Add the folowing above Game Update

Game bin\L4D2-FGD-Edits\hammer_vpk

Images

Details

Generic helper models for randomized weapon spawns.

Better Axis helper

Colorable helpers

Custom helper for Vrad++ light_projected

hlp_origin_vector to get values for vscripts

Cubemap Helpers.

Info_survivor_position with helper models.

more tool textures

Color codiing *some* entities

hlp_player_scale_measure to easily model narrow spots

connecting lines for ropes in Hammer++

Areaportal Distance Picker.

Already deployed upgrades.

More Visgroups.

Better Melee spawn.

Obsolete's unused or not programmed entities.

New icon sprites.

Worldspawn settings.




Damage Types

Blend Textures displaying what detail they use.
Doesn't work in Hammer++!

Documentation of the FGD Edits:

Theres many small edits that are not documented, because i honestly forgot to document them.

New Base Entities

  • Classname - Just to easily add this function to entities
  • LagCompensate - Just to easily add this function to entities
  • ThinkFunction - Just to easily add this function to entities
  • WeaponSpawnCarry - A base for Carryable weapons
  • WarnBBox - Adds warning about brush entity using the BBox. Meaning you're unable to use diagonal brush entities.

New Point Entities

  • hlp_origin_Vector - Just gives you the origin of where this entity is and gives you a radius option. Only useful for getting vectors for Vscripts.
  • weapon_gascan - Usually you'd have a prop_physics using desired model.
  • weapon_gnome - Usually you'd have a prop_physics using desired model.
  • weapon_cola_bottles - Usually you'd have a prop_physics using desired model.
  • weapon_fireworkcrate - Usually you'd have a prop_physics using desired model. (Does not explode until picked up first)
  • weapon_oxygentank - Usually you'd have a prop_physics using desired model. (Does not explode until picked up first)
  • weapon_propanetank - Usually you'd have a prop_physics using desired model. (Does not explode until picked up first)
  • upgrade_laser_sight - Spawnpoint for JUST the laser.
  • upgrade_ammo_incendiary - Already deployed Incendiary ammo.
  • upgrade_ammo_explosive - Already deployed explosive ammo.

FGD Edits:

  • Areaportals
    • Added sphere for easy setup of fade distances.
  • Cubemap
    • Added 512x512, 1024x1024x 2048x2048 resolution.
  • Damagetype
    • Properly documented existin damage types.
    • Added unused damage types.
    • Trigger_hurt, trigger_hurt_ghost, point_hurt, and filter_damage_type make use of the new damage types.
  • Func_block_charge
    • Remade fgd entry to only contain parts this entity actually uses.
    • Added warning about this brush using AABB/BBOX.
  • Info_game_event_proxy
    • Added all existing game events to a drop down list, so you can pick which to use.
  • Navattributeregion
    • Added all usable nav attributes.
  • Info_survivor_position
    • New helper model.
    • Being able to pick model, survivor name and gamemodes from a dropdown.
  • Prop_physics
    • Added parentname
    • The model window has a note listing all carryable items models, to copypaste into model field.
  • Prop_static_base
    • Made "disablevertexlighting" to be off by default.
  • Prop_door_rotating
    • Spawns with a model of a door
    • Enabled "Disable shadows" on by default. They use dynamic shadows that look out of place.
    • Rearranged keyvalue order.
    • Removed the health/axis keyvalues. They do nothing.
    • Added ReadMe keyvalue about getting sound overwrites to work (They're broken in L4D2. There is a workaround using logic_auto to manually assign sounds.)
  • Prop_door_rotating_checkpoint
    • Same changes as prop_door_rotating
    • The model window has a note listing all saferoom doors, to copypaste into model field.
  • Color_correction
    • Added tip notes and obsoleted things.
  • Func_fish_pool
    • Added helper sphere to see how large the pool is.
  • Env_smoketrail
    • Added sphere for spawnradius.
  • Env_physics_blocker & env_player_blocker
    • Changed size of box
  • func_lod & env_fire
    • Adds classname, lagcompensate keyvalues
  • logic_auto
    • Removed useless global states. L4d2 has none.
  • Trigger_finale
    • Hamradio as default radio.
  • prop_car_glass & prop_car_alarm
    • Made entities use the only models they always use as default model. Way easier to setup now.
  • TriggerOnce
    • Listed obsolete flags as obsolete (Applies to all triggers)
  • WeaponSpawnSingle
    • Renamed WeaponSkin, to make it more obvious what it is. Applies to all weapon spawns. (Skin and Weaponskin are not the same, but you need to edit both.)
  • weapon_spawn
    • Added generic weapon helper model
  • weapon_ammo_spawn
    • The model window has a note listing both ammo models, to copypaste into model field.
  • weapon_melee_spawn
    • Added ability to pick helper model from list.
    • Added model browser to browse for custom melee models, to copy paste into helper model field.
    • Added a note about what melee weapon names are valid
  • prop_minigun_l4d1 & prop_mounted_machine_gun
    • Removed prop_dynamic as base, because none of its keyvalues affect the mounted weapons.
  • Worldspawn
    • Removed obsolete keyvalues.
    • Made DetailMaterial a drop down to pick from possible detail material files.
    • TimeOfDay only affects if the witch sits or stands. So i renamed it and turned it into a drop down menu to pick Witch behaviour.
    • Turned MusicPostFix into a dropdown to pick music type.
    • Turned SkyName into a dropdown to Skybox texture.
  • Visgroups
    • Added a whole lot of visgroups for various entities.
  • func_nav_avoidance_obstacle
    • Added warning about this brush using AABB/BBOX.
  • func_detail_blocker
    • Added warning about this brush using AABB/BBOX.
  • Light entity
    • removed "Entity to point at" from Light, as its omnidirectional and can't point at anything.
    • removed "Maximum distance" from light_spot, as it does not work.
    • changed "Hard Falloff" to choice picker, as its only No/Yes.
  • func_breakable_surf
    • Added missing keyvalues (that should not be edited) because hammer would highlight them as missing.
    • expanded the info on what textures can be used at all.
  • mounted guns
    • Re-added modelname to 50cal. It cannot be used. (model can't be changed, but game throws error if this is missing).
    • Added "Disableshadows" to mounted guns.
    • Added lighting origin.

Other edits

  • Tool textures specifically for every kind of tool brush entity. like trigger_once, trigger_hurt, info_changelevel...
  • Entirely new tool texture: ToolsNonsolidButton. A texture that is not solid, does not cut visleafes and is invisible. Perfect for buttons that you would need to clip through, or don't want the collision of the brush entity to be a factor. (Does not need to be shipped with the map.)
  • A lot of new sprites for entities that didn't have one. Like the director and icons for all three tonemap entities.
  • Various differently colored sprites for logic_relay. For people who like to color code their things.
  • L4D2 specific measure textures for doors, jump height, crouch space...
  • Added alleydirt_leaves and urban_overgrown_docks $detailtype, with the required detail.vbsp
  • Added "tool" keyword to Scavengeboundary texture TankWall texture. (use the material keywork search, not material name search.)

New / Better Helpermodels

  • Weapon_Item_Spawn
  • Info_Zombie_Spawn
  • Info_Survivor_Position
  • Commentary_Zombie_Spawner
  • Point_Viewcontrol_Multiplayer
  • Point_Viewcontrol_Survivor
  • Point_Deathfall_Camera
  • Info_Teleport_Destination
  • Upgrade_Spawn
  • Env_Steam
  • Sky_Camera
  • Env_Lightglow
  • Point_Spotlight
  • Beam_Spotlight
  • Light_Spot
  • Path_Track
  • Move_Track

New Sprites

  • Point_Nav_Attribute_Region
  • Env_Tonemap_Controller_Infected
  • Env_Tonemap_Controller_Ghost
  • Postprocess_Controller
  • Info_Director
  • Light_Directional
  • Env_Sun
  • Info_Map_Parameters
  • Info_Map_Parameters_Versus
  • Logic_Relay
  • Point_Clientcommand
  • Point_Servercommand
  • Point_Broadcastclientcommand
  • Info_Goal_Infected_Chase
  • Env_Texturetoggle
  • Info_Remarkable
  • Env_Entity_Maker
  • Ambient_Music
  • Point_Script_Use_Target
  • Point_Prop_Use_Target
  • Info_Target_Instructor_Hint
  • Env_Detail_Controller
  • Path_Track
  • Info_Elevator_Floor

See Also:

About

This is a collection of FGD edits that can be put together to make L4D2's Hammer easier to use and more useful.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors