mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-23 21:24:27 +00:00
Merge branch 'master' of https://github.com/FWGS/hlsdk-xash3d
This commit is contained in:
commit
3728c6c7c2
@ -54,6 +54,8 @@ float rel_pitch;
|
||||
#define IMPULSE_DOWN 2
|
||||
#define IMPULSE_UP 4
|
||||
|
||||
bool CL_IsDead();
|
||||
Vector dead_viewangles(0, 0, 0);
|
||||
|
||||
void IN_ToggleButtons( float forwardmove, float sidemove )
|
||||
{
|
||||
@ -152,51 +154,68 @@ void IN_ClientLookEvent( float relyaw, float relpitch )
|
||||
void IN_Move( float frametime, usercmd_t *cmd )
|
||||
{
|
||||
Vector viewangles;
|
||||
gEngfuncs.GetViewAngles( viewangles );
|
||||
bool fLadder = false;
|
||||
|
||||
if( gHUD.m_iIntermission )
|
||||
return; // we can't move during intermission
|
||||
|
||||
if( cl_laddermode->value != 2 )
|
||||
fLadder = gEngfuncs.GetLocalPlayer()->curstate.movetype == MOVETYPE_FLY;
|
||||
//if( ac_forwardmove || ac_sidemove )
|
||||
//gEngfuncs.Con_Printf( "Move: %f %f %f %f\n", ac_forwardmove, ac_sidemove, rel_pitch, rel_yaw );
|
||||
{
|
||||
cl_entity_t *pplayer = gEngfuncs.GetLocalPlayer();
|
||||
if( pplayer )
|
||||
fLadder = pplayer->curstate.movetype == MOVETYPE_FLY;
|
||||
}
|
||||
//if(ac_forwardmove || ac_sidemove)
|
||||
//gEngfuncs.Con_Printf("Move: %f %f %f %f\n", ac_forwardmove, ac_sidemove, rel_pitch, rel_yaw);
|
||||
#if 0
|
||||
if( in_mlook.state & 1 )
|
||||
{
|
||||
V_StopPitchDrift();
|
||||
}
|
||||
#endif
|
||||
if( !gHUD.m_iIntermission )
|
||||
if( CL_IsDead() )
|
||||
{
|
||||
if( gHUD.GetSensitivity() != 0 )
|
||||
{
|
||||
rel_yaw *= gHUD.GetSensitivity();
|
||||
rel_pitch *= gHUD.GetSensitivity();
|
||||
}
|
||||
else
|
||||
{
|
||||
rel_yaw *= sensitivity->value;
|
||||
rel_pitch *= sensitivity->value;
|
||||
}
|
||||
|
||||
viewangles[YAW] += rel_yaw;
|
||||
if( fLadder )
|
||||
{
|
||||
if( cl_laddermode->value == 1 )
|
||||
viewangles[YAW] -= ac_sidemove * 5;
|
||||
ac_sidemove = 0;
|
||||
}
|
||||
if( gHUD.m_MOTD.m_bShow )
|
||||
gHUD.m_MOTD.scroll += rel_pitch;
|
||||
else
|
||||
viewangles[PITCH] += rel_pitch;
|
||||
if( viewangles[PITCH] > cl_pitchdown->value )
|
||||
viewangles[PITCH] = cl_pitchdown->value;
|
||||
if( viewangles[PITCH] < -cl_pitchup->value )
|
||||
viewangles[PITCH] = -cl_pitchup->value;
|
||||
viewangles = dead_viewangles; // HACKHACK: see below
|
||||
}
|
||||
float rgfl[3];
|
||||
viewangles.CopyToArray( rgfl );
|
||||
gEngfuncs.SetViewAngles( rgfl );
|
||||
else
|
||||
{
|
||||
gEngfuncs.GetViewAngles( viewangles );
|
||||
}
|
||||
if( gHUD.GetSensitivity() != 0 )
|
||||
{
|
||||
rel_yaw *= gHUD.GetSensitivity();
|
||||
rel_pitch *= gHUD.GetSensitivity();
|
||||
}
|
||||
else
|
||||
{
|
||||
rel_yaw *= sensitivity->value;
|
||||
rel_pitch *= sensitivity->value;
|
||||
}
|
||||
viewangles[YAW] += rel_yaw;
|
||||
if( fLadder )
|
||||
{
|
||||
if( cl_laddermode->value == 1 )
|
||||
viewangles[YAW] -= ac_sidemove * 5;
|
||||
ac_sidemove = 0;
|
||||
}
|
||||
if( gHUD.m_MOTD.m_bShow )
|
||||
gHUD.m_MOTD.scroll += rel_pitch;
|
||||
else
|
||||
viewangles[PITCH] += rel_pitch;
|
||||
|
||||
if( viewangles[PITCH] > cl_pitchdown->value )
|
||||
viewangles[PITCH] = cl_pitchdown->value;
|
||||
if( viewangles[PITCH] < -cl_pitchup->value )
|
||||
viewangles[PITCH] = -cl_pitchup->value;
|
||||
|
||||
// HACKHACK: change viewangles directly in viewcode,
|
||||
// so viewangles when player is dead will not be changed on server
|
||||
if( !CL_IsDead() )
|
||||
{
|
||||
gEngfuncs.SetViewAngles( viewangles );
|
||||
}
|
||||
|
||||
dead_viewangles = viewangles; // keep them actual
|
||||
if( ac_movecount )
|
||||
{
|
||||
IN_ToggleButtons( ac_forwardmove / ac_movecount, ac_sidemove / ac_movecount );
|
||||
@ -204,13 +223,13 @@ void IN_Move( float frametime, usercmd_t *cmd )
|
||||
cmd->forwardmove = ac_forwardmove * cl_forwardspeed->value / ac_movecount;
|
||||
if( ac_sidemove )
|
||||
cmd->sidemove = ac_sidemove * cl_sidespeed->value / ac_movecount;
|
||||
if(in_speed.state & 1)
|
||||
if( in_speed.state & 1 )
|
||||
{
|
||||
cmd->forwardmove *= cl_movespeedkey->value;
|
||||
cmd->sidemove *= cl_movespeedkey->value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ac_sidemove = ac_forwardmove = rel_pitch = rel_yaw = 0;
|
||||
ac_movecount = 0;
|
||||
}
|
||||
|
@ -78,6 +78,7 @@ extern cvar_t *cl_forwardspeed;
|
||||
extern cvar_t *chase_active;
|
||||
extern cvar_t *scr_ofsx, *scr_ofsy, *scr_ofsz;
|
||||
extern cvar_t *cl_vsmoothing;
|
||||
extern Vector dead_viewangles;
|
||||
|
||||
#define CAM_MODE_RELAX 1
|
||||
#define CAM_MODE_FOCUS 2
|
||||
@ -429,7 +430,7 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams )
|
||||
ent = gEngfuncs.GetLocalPlayer();
|
||||
}
|
||||
|
||||
// view is the weapon model (only visible from inside body )
|
||||
// view is the weapon model (only visible from inside body)
|
||||
view = gEngfuncs.GetViewModel();
|
||||
|
||||
// transform the view offset by the model's matrix to get the offset from
|
||||
@ -441,7 +442,14 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams )
|
||||
pparams->vieworg[2] += bob ;
|
||||
VectorAdd( pparams->vieworg, pparams->viewheight, pparams->vieworg );
|
||||
|
||||
VectorCopy( pparams->cl_viewangles, pparams->viewangles );
|
||||
if( pparams->health <= 0 )
|
||||
{
|
||||
VectorCopy( dead_viewangles, pparams->viewangles );
|
||||
}
|
||||
else
|
||||
{
|
||||
VectorCopy( pparams->cl_viewangles, pparams->viewangles );
|
||||
}
|
||||
|
||||
gEngfuncs.V_CalcShake();
|
||||
gEngfuncs.V_ApplyShake( pparams->vieworg, pparams->viewangles, 1.0 );
|
||||
@ -519,7 +527,14 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams )
|
||||
V_AddIdle( pparams );
|
||||
|
||||
// offsets
|
||||
VectorCopy( pparams->cl_viewangles, angles );
|
||||
if ( pparams->health <= 0 )
|
||||
{
|
||||
VectorCopy( dead_viewangles, angles );
|
||||
}
|
||||
else
|
||||
{
|
||||
VectorCopy( pparams->cl_viewangles, angles );
|
||||
}
|
||||
|
||||
AngleVectors( angles, pparams->forward, pparams->right, pparams->up );
|
||||
|
||||
@ -553,8 +568,14 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams )
|
||||
}
|
||||
|
||||
// Give gun our viewangles
|
||||
VectorCopy( pparams->cl_viewangles, view->angles );
|
||||
|
||||
if( pparams->health <= 0 )
|
||||
{
|
||||
VectorCopy( dead_viewangles, view->angles );
|
||||
}
|
||||
else
|
||||
{
|
||||
VectorCopy( pparams->cl_viewangles, view->angles );
|
||||
}
|
||||
// set up gun position
|
||||
V_CalcGunAngle( pparams );
|
||||
|
||||
@ -616,6 +637,7 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams )
|
||||
float steptime;
|
||||
|
||||
steptime = pparams->time - lasttime;
|
||||
|
||||
if( steptime < 0 )
|
||||
//FIXME I_Error( "steptime < 0" );
|
||||
steptime = 0;
|
||||
|
@ -579,7 +579,9 @@ void CGauss::WeaponIdle( void )
|
||||
iAnim = GAUSS_FIDGET;
|
||||
m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 3;
|
||||
}
|
||||
#ifndef CLIENT_DLL
|
||||
SendWeaponAnim( iAnim );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user