summaryrefslogtreecommitdiff
path: root/src/cgame
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgame')
-rw-r--r--src/cgame/cg_local.h8
-rw-r--r--src/cgame/cg_players.c28
2 files changed, 28 insertions, 8 deletions
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h
index 72ed253f..6d062b1d 100644
--- a/src/cgame/cg_local.h
+++ b/src/cgame/cg_local.h
@@ -123,17 +123,17 @@ typedef enum
} jetPackState_t;
//particle system stuff
-#define MAX_SHADER_FRAMES 64
+#define MAX_SHADER_FRAMES 32
#define MAX_EJECTORS_PER_SYSTEM 4
#define MAX_PARTICLES_PER_EJECTOR 4
-#define MAX_BASEPARTICLE_SYSTEMS 512
+#define MAX_BASEPARTICLE_SYSTEMS 192
#define MAX_BASEPARTICLE_EJECTORS MAX_BASEPARTICLE_SYSTEMS*MAX_EJECTORS_PER_SYSTEM
#define MAX_BASEPARTICLES MAX_BASEPARTICLE_EJECTORS*MAX_PARTICLES_PER_EJECTOR
-#define MAX_PARTICLE_SYSTEMS 64
+#define MAX_PARTICLE_SYSTEMS 48
#define MAX_PARTICLE_EJECTORS MAX_PARTICLE_SYSTEMS*MAX_EJECTORS_PER_SYSTEM
-#define MAX_PARTICLES MAX_PARTICLE_EJECTORS*8
+#define MAX_PARTICLES MAX_PARTICLE_EJECTORS*5
#define PARTICLES_INFINITE -1
#define PARTICLES_SAME_AS_INITIAL -2
diff --git a/src/cgame/cg_players.c b/src/cgame/cg_players.c
index 9dd06cd7..e5e2ec28 100644
--- a/src/cgame/cg_players.c
+++ b/src/cgame/cg_players.c
@@ -1396,9 +1396,10 @@ static void CG_PlayerUpgrades( centity_t *cent, refEntity_t *torso )
int held, active;
refEntity_t jetpack;
refEntity_t flash;
+ entityState_t *es = &cent->currentState;
- held = cent->currentState.modelindex;
- active = cent->currentState.modelindex2;
+ held = es->modelindex;
+ active = es->modelindex2;
if( held & ( 1 << UP_JETPACK ) )
{
@@ -1419,7 +1420,7 @@ static void CG_PlayerUpgrades( centity_t *cent, refEntity_t *torso )
if( active & ( 1 << UP_JETPACK ) )
{
- if( cent->currentState.pos.trDelta[ 2 ] > 10.0f )
+ if( es->pos.trDelta[ 2 ] > 10.0f )
{
if( cent->jetPackState != JPS_ASCENDING )
{
@@ -1433,7 +1434,7 @@ static void CG_PlayerUpgrades( centity_t *cent, refEntity_t *torso )
trap_S_AddLoopingSound( cent->currentState.number, cent->lerpOrigin,
vec3_origin, cgs.media.jetpackAscendSound );
}
- else if( cent->currentState.pos.trDelta[ 2 ] < -10.0f )
+ else if( es->pos.trDelta[ 2 ] < -10.0f )
{
if( cent->jetPackState != JPS_DESCENDING )
{
@@ -1496,6 +1497,25 @@ static void CG_PlayerUpgrades( centity_t *cent, refEntity_t *torso )
cent->jetPackState = JPS_OFF;
cent->jetPackPS = NULL;
}
+
+ if( es->eFlags & EF_BLOBLOCKED )
+ {
+ vec3_t temp, origin, up = { 0.0f, 0.0f, 1.0f };
+ trace_t tr;
+ float size;
+
+ VectorCopy( es->pos.trBase, temp );
+ temp[ 2 ] -= 4096.0f;
+
+ CG_Trace( &tr, es->pos.trBase, NULL, NULL, temp, es->number, MASK_SOLID );
+ VectorCopy( tr.endpos, origin );
+
+ size = 32.0f;
+
+ if( size > 0.0f )
+ CG_ImpactMark( cgs.media.creepShader, origin, up,
+ 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, qfalse, size, qtrue );
+ }
}