Prop Footsteps
Jump to navigation
Jump to search
For player footsteps, Valve used MASK_PLAYERSOLID_BRUSHONLY
rather than MASK_PLAYERSOLID
. This difference made it so only the static world would have dynamic footsteps. The following precedure will show how to fix this issue.

PlayStepSound
is overridden by the player entity (i.e. HL2MP).Basic Fix
src\cl_dll\c_baseplayer.cpp
Shift Start Up
// Straight down end.z -= 64; |
→ | // Straight down start.z += 1; end.z -= 64; |
Change Trace Mask
UTIL_TraceRay( ray, MASK_PLAYERSOLID_BRUSHONLY, this, COLLISION_GROUP_PLAYER_MOVEMENT, &trace ); |
↓ |
UTIL_TraceRay( ray, MASK_PLAYERSOLID, this, COLLISION_GROUP_PLAYER_MOVEMENT, &trace ); |
Shift Start Up
// Straight down end[2] -= 64; |
→ | // Straight down start[2] += 1; end[2] -= 64; |
Change Trace Mask
TracePlayerBBox( start, end, MASK_PLAYERSOLID_BRUSHONLY, COLLISION_GROUP_PLAYER_MOVEMENT, trace ); |
↓ |
TracePlayerBBox( start, end, MASK_PLAYERSOLID, COLLISION_GROUP_PLAYER_MOVEMENT, trace ); |
HL2MP Override Removal
src\cl_dll\hl2mp\c_hl2mp_player.h
Prototype Removal
- PlayStepSound
- PrecacheFootStepSounds
Symbol Removal
- PlayStepSound
- PrecacheFootStepSounds
src\dlls\hl2mp_dll\hl2mp_player.cpp
Precache
Remove
PrecacheFootStepSounds();
From function CHL2MP_Player::Precache
src\dlls\hl2mp_dll\hl2mp_player.h
Prototype Removal
- PlayStepSound
- PrecacheFootStepSounds