Entity Types
Point Entities
Point entities are reconstructed with their properties, positions, and I/O connections. Supported entities include:- Player spawns (
info_player_*) - Lights (
light,light_spot,light_environment) - Props (
prop_static,prop_dynamic) - Cubemaps (
env_cubemap) - Overlays (
info_overlay) - NPCs and triggers
- Logic entities
Brush Entities
Brush entities are reconstructed with their geometry and entity-specific properties. Supported entities include:func_detail- Detail brushesfunc_brush- Generic brush entitiesfunc_door,func_door_rotating- Doorsfunc_movelinear,func_rotating- Moving entitiesfunc_breakable- Breakable brushesfunc_button- Brush-based buttonsfunc_ladder- Laddersfunc_areaportal- Areaportalsfunc_occluder- Occluders
Special Entity Handling
Static Props (prop_static)
Static props are fully reconstructed with all version-specific properties:
- Model path and skin
- Position, angles, and scale
- Fade distances (
fademindist,fademaxdist) - Lighting properties (
disablevertexlighting,disableselfshadowing) - DX levels and CPU/GPU levels
- Render color and alpha
- Lighting origins (
info_lightingentities)
Overlays (info_overlay)
Overlays are reconstructed with:
- Material/texture assignment
- UV coordinates and basis vectors
- Linked brush sides
- Fade distances and system levels
- Render order
Cubemaps (env_cubemap)
Cubemaps are reconstructed with position and size, plus linked brush sides:
Detail Brushes (func_detail)
Detail brushes can be automatically merged based on proximity:
Ladders (func_ladder)
Ladders are reconstructed from brush data. BSPSource automatically converts func_simpleladder (L4D engine) back to func_ladder:
Areaportals (func_areaportal)
Areaportals are reconstructed with automatic geometry rebuilding:
Areaportals without valid geometry or portal numbers are automatically skipped with warnings.
Occluders (func_occluder)
Occluders are reconstructed similarly to areaportals:
Vis Clusters (func_viscluster)
Vis clusters are reconstructed from leaf cluster data:
Entity Processing
Entity I/O Connections
All entity I/O connections are preserved:Entity Rotation Fixing
Brush entities can have rotation “baked in” for better Hammer display:Light Entity Processing
Light entities have automatic style fixing:- Custom styles (≥32) are converted back to preset styles when possible
defaultstyleproperty is used to restore original presets- Invalid style formats trigger warnings
Special Entity Handling
Worldspawn:world_minsandworld_maxsare removed (Hammer-unknown)mapversionis rebuilt from BSP revision
scaleproperty removed when model starts with “model” (prevents Hammer crashes)
- Skipped during entity writing (engine-only entities)
- Processed to restore overlay targetnames
- Not written as separate entities
Entity Filtering
You can selectively enable/disable entity types:Entity Protection Handling
Entities with protection flags are marked in visgroups:- Entities with
no_decompproperty → “VMEX flagged entities” visgroup - Protected brushes → “VMEX protector brushes” visgroup
Game-Specific Features
No More Room in Hell (NMRiH)
NMO objective data is integrated:- Objective entities are grouped in visgroups
- Extraction entities reuse NMO entity IDs
- Anti-objective entities are properly categorized
Vampire: The Masquerade - Bloodlines
Escaped quotes in entity properties are automatically cleaned:Left 4 Dead Engine
func_simpleladder entities are automatically converted to func_ladder.
Camera Generation
Cameras are automatically generated from player spawn entities:All entity hammerIDs are preserved when possible and added to the UID blacklist to prevent conflicts.