diff options
author | Tim Angus <tim@ngus.net> | 2004-01-15 03:14:16 +0000 |
---|---|---|
committer | Tim Angus <tim@ngus.net> | 2004-01-15 03:14:16 +0000 |
commit | 847db87d7a1be6425646a59fe583134ffb513510 (patch) | |
tree | f4589b50a7195bb1ce24a5cdf2bd3be4d81d29a3 /src/game | |
parent | c61e168ffb6e3ad28ac7e126ba9ff076984daa27 (diff) |
* Fixed physics bug where movers would displace buildables
* Light flares are now occluded by the player in 3rd person mode
* Setting s_initsound 0 no longer causes the weapon.cfg loader to complain
* Limited viewangles to +/-90 degrees when grabbed
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/bg_pmove.c | 9 | ||||
-rw-r--r-- | src/game/g_active.c | 4 | ||||
-rw-r--r-- | src/game/g_mover.c | 5 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c index c9a57fc0..a6b8a63b 100644 --- a/src/game/bg_pmove.c +++ b/src/game/bg_pmove.c @@ -3110,9 +3110,14 @@ void PM_UpdateViewAngles( playerState_t *ps, const usercmd_t *cmd ) while( diff < -180.0f ) diff += 360.0f; - if( diff < 0 ) + if( diff < -90.0f ) + ps->delta_angles[ i ] += ANGLE2SHORT( fabs( diff ) - 90.0f ); + else if( diff > 90.0f ) + ps->delta_angles[ i ] -= ANGLE2SHORT( fabs( diff ) - 90.0f ); + + if( diff < 0.0f ) ps->delta_angles[ i ] += ANGLE2SHORT( fabs( diff ) * 0.05f ); - else if( diff > 0 ) + else if( diff > 0.0f ) ps->delta_angles[ i ] -= ANGLE2SHORT( fabs( diff ) * 0.05f ); } } diff --git a/src/game/g_active.c b/src/game/g_active.c index 21ff144e..90136f11 100644 --- a/src/game/g_active.c +++ b/src/game/g_active.c @@ -496,7 +496,7 @@ void ClientTimerActions( gentity_t *ent, int msec ) if( client->ps.weapon == WP_BIGMOFO ) { if( client->ps.stats[ STAT_MISC ] < BMOFO_CHARGE_TIME && ucmd->buttons & BUTTON_ATTACK2 && - ( ucmd->forwardmove > 0 || aRight ) ) + ( ucmd->forwardmove > 0 ) ) { client->charging = qfalse; //should already be off, just making sure @@ -514,7 +514,7 @@ void ClientTimerActions( gentity_t *ent, int msec ) client->charging = qtrue; //if the charger has stopped moving take a chunk of charge away - if( VectorLength( client->ps.velocity ) < 64.0f ) + if( VectorLength( client->ps.velocity ) < 64.0f || aRight ) client->ps.stats[ STAT_MISC ] = client->ps.stats[ STAT_MISC ] >> 1; //can't charge backwards diff --git a/src/game/g_mover.c b/src/game/g_mover.c index 3d171343..3bc4e94b 100644 --- a/src/game/g_mover.c +++ b/src/game/g_mover.c @@ -129,6 +129,11 @@ qboolean G_TryPushingEntity( gentity_t *check, gentity_t *pusher, vec3_t move, v check->s.groundEntityNum != pusher->s.number ) return qfalse; + //don't try to move buildables unless standing on a mover + if( check->s.eType == ET_BUILDABLE && + check->s.groundEntityNum != pusher->s.number ) + return qfalse; + // save off the old position if( pushed_p > &pushed[ MAX_GENTITIES ] ) G_Error( "pushed_p > &pushed[MAX_GENTITIES]" ); |