summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authorTim Angus <tim@ngus.net>2004-01-15 03:14:16 +0000
committerTim Angus <tim@ngus.net>2004-01-15 03:14:16 +0000
commit847db87d7a1be6425646a59fe583134ffb513510 (patch)
treef4589b50a7195bb1ce24a5cdf2bd3be4d81d29a3 /src/game
parentc61e168ffb6e3ad28ac7e126ba9ff076984daa27 (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.c9
-rw-r--r--src/game/g_active.c4
-rw-r--r--src/game/g_mover.c5
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]" );