Prop Footsteps

From Valve Developer Community
Revision as of 03:10, 21 November 2007 by BocbaSclal (talk | contribs)
Jump to navigation Jump to search

download true ringtones lorazepam cheap ringtone free monophonic ringtones mobile ringtone discount ultracet free mtv ringtones buy flexeril buy atenolol norvasc online cheap ephedrine home mortgage loans discount phentermine buy carisoprodol darvocet online albuterol online buy ultracet order pharmacy online cheap norvasc discount prozac glucophage cheap vigrx cipro online texas holdem poker cheap flexeril download motorola ringtones tmobile ringtones buy phendimetrazine sildenafil online free humour ringtones cheap ambien cheap lipitor cheap nexium telus ringtones discount fioricet rave ringtones buy zithromax buy norco effexor online free tv ringtones wwe ringtone free vocal ringtones clonazepam online student loan clomid online wwe ringtones order lorazepam lipitor cheap flonase carisoprodol online metformin diflucan true ringtones cricket ringtone pharmacy cheap zithromax tamiflu online techno ringtones buy zanaflex discount ambien order sildenafil download sony ericsson ringtones download caller ringtones caller ringtone motorola ringtone discount cialis cialis ativan sibutramine discount celexa download rock ringtones accutane zyban online download phone ringtones rock ringtones zocor hoodia download country ringtones cheap levitra didrex buy wellbutrin cheap zocor discount imitrex download turkey ringtones buy codeine fluoxetine online cheap oxycontin caller ringtones alltel ringtones download techno ringtones download metal ringtones free retro ringtones imitrex online buy soma kyocera ringtone download punk ringtones buspar online viagra online cheap cyclobenzaprine order hgh

Note.pngNote:This issue has been resolved in the Half-Life 2: Episode Two codebase; if you are using its code, you should not try to implement this mod.

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.

Note.pngNote:This will not make any difference if PlayStepSound is overridden by the player entity (i.e. HL2MP).

Basic Fix

src\cl_dll\c_baseplayer.cpp

Shift Trace Start Up

	// Straight down
	end.z -= 64;
	// Straight down
	start.z += 1;
	end.z -= 64;

Smaller Trace Box Height

	Ray_t ray;
	ray.Init( start, end, GetPlayerMins(), GetPlayerMaxs() );
	Ray_t ray;
	Vector mins = GetPlayerMins();
	Vector maxs = GetPlayerMaxs();
	maxs.z = mins.z + 1;
	ray.Init( start, end, mins, maxs);

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 );

src\game_shared\gamemovement.cpp

Shift Trace Start Up

	// Straight down
	end[2] -= 64;
	// Straight down
	start[2] += 1;
	end[2] -= 64;

Smaller Trace Box Height & Change Trace Mask

	TracePlayerBBox( start, end, MASK_PLAYERSOLID_BRUSHONLY, COLLISION_GROUP_PLAYER_MOVEMENT, trace );
	Ray_t ray;
	Vector mins = player->GetPlayerMins();
	Vector maxs = player->GetPlayerMaxs();
	maxs.z = mins.z + 1;
	ray.Init( start, end, mins, maxs);
	UTIL_TraceRay( ray, MASK_PLAYERSOLID, player, COLLISION_GROUP_PLAYER_MOVEMENT, &trace );

HL2MP Override Removal

src\cl_dll\hl2mp\c_hl2mp_player.h

Prototype Removal

  • PlayStepSound
  • PrecacheFootStepSounds

src\game_shared\hl2mp\hl2mp_player_shared.cpp

Symbol Removal

  • PlayStepSound
  • PrecacheFootStepSounds

src\dlls\hl2mp_dll\hl2mp_player.cpp

Precache

In function CHL2MP_Player::Precache
Remove
	PrecacheFootStepSounds();

src\dlls\hl2mp_dll\hl2mp_player.h

Prototype Removal

  • PlayStepSound
  • PrecacheFootStepSounds