diff options
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | src/cgame/cg_draw.c | 3 | ||||
-rw-r--r-- | src/cgame/cg_ents.c | 3 | ||||
-rw-r--r-- | src/cgame/cg_players.c | 6 | ||||
-rw-r--r-- | src/game/bg_pmove.c | 5 |
5 files changed, 15 insertions, 3 deletions
@@ -35,6 +35,7 @@ GOBJ = \ $(GDIRNAME)/g_team.o \ $(GDIRNAME)/g_trigger.o \ $(GDIRNAME)/g_utils.o \ + $(GDIRNAME)/g_maprotation.o \ $(GDIRNAME)/g_weapon.o CGOBJ = \ diff --git a/src/cgame/cg_draw.c b/src/cgame/cg_draw.c index 56bec3df..36e49f6f 100644 --- a/src/cgame/cg_draw.c +++ b/src/cgame/cg_draw.c @@ -982,7 +982,8 @@ static void CG_DrawUsableBuildable( rectDef_t *rect, qhandle_t shader, vec4_t co es = &cg_entities[ trace.entityNum ].currentState; - if( es->eType == ET_BUILDABLE && BG_FindUsableForBuildable( es->modelindex ) ) + if( es->eType == ET_BUILDABLE && BG_FindUsableForBuildable( es->modelindex ) && + cg.predictedPlayerState.stats[ STAT_PTEAM ] == BG_FindTeamForBuildable( es->modelindex ) ) { //hack to prevent showing the usable buildable when you aren't carrying an energy weapon if( ( es->modelindex == BA_H_REACTOR || es->modelindex == BA_H_REPEATER ) && diff --git a/src/cgame/cg_ents.c b/src/cgame/cg_ents.c index b56a1a40..1ae81676 100644 --- a/src/cgame/cg_ents.c +++ b/src/cgame/cg_ents.c @@ -879,6 +879,9 @@ static void CG_CEntityPVSEnter( centity_t *cent ) cent->buildablePS = NULL; cent->entityPS = NULL; + + //make sure entities entering the PVS don't get stale animation data + memset( ¢->lerpFrame, 0, sizeof( lerpFrame_t ) ); } diff --git a/src/cgame/cg_players.c b/src/cgame/cg_players.c index a48f8ce6..78161b6a 100644 --- a/src/cgame/cg_players.c +++ b/src/cgame/cg_players.c @@ -1490,6 +1490,12 @@ static void CG_PlayerUpgrades( centity_t *cent, refEntity_t *torso ) cent->jetPackPS = NULL; } } + else if( cent->jetPackPS != NULL ) + { + CG_DestroyParticleSystem( cent->jetPackPS ); + cent->jetPackState = JPS_OFF; + cent->jetPackPS = NULL; + } } diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c index 79399019..7001abb9 100644 --- a/src/game/bg_pmove.c +++ b/src/game/bg_pmove.c @@ -393,7 +393,8 @@ static float PM_CmdScale( usercmd_t *cmd ) if( BG_FindJumpMagnitudeForClass( pm->ps->stats[ STAT_PCLASS ] ) == 0.0f ) cmd->upmove = 0; - if( !( pm->ps->pm_flags & PMF_DUCKED ) && cmd->upmove < 0 ) + //prevent speed distortions for non ducking classes + if( !( pm->ps->pm_flags & PMF_DUCKED ) && pm->ps->pm_type != PM_JETPACK && cmd->upmove < 0 ) cmd->upmove = 0; } @@ -3222,7 +3223,7 @@ void PmoveSingle (pmove_t *pmove) else if( pm->cmd.forwardmove > 0 || ( pm->cmd.forwardmove == 0 && pm->cmd.rightmove ) ) pm->ps->pm_flags &= ~PMF_BACKWARDS_RUN; - if ( pm->ps->pm_type >= PM_DEAD ) + if( pm->ps->pm_type >= PM_DEAD ) { pm->cmd.forwardmove = 0; pm->cmd.rightmove = 0; |