summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--src/cgame/cg_draw.c3
-rw-r--r--src/cgame/cg_ents.c3
-rw-r--r--src/cgame/cg_players.c6
-rw-r--r--src/game/bg_pmove.c5
5 files changed, 15 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 4aeaf7fc..184a27f9 100644
--- a/Makefile
+++ b/Makefile
@@ -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( &cent->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;