diff options
Diffstat (limited to 'src/cgame')
-rw-r--r-- | src/cgame/cg_ents.c | 9 | ||||
-rw-r--r-- | src/cgame/cg_local.h | 1 | ||||
-rw-r--r-- | src/cgame/cg_main.c | 1 | ||||
-rw-r--r-- | src/cgame/cg_servercmds.c | 3 | ||||
-rw-r--r-- | src/cgame/cg_weapons.c | 5 |
5 files changed, 18 insertions, 1 deletions
diff --git a/src/cgame/cg_ents.c b/src/cgame/cg_ents.c index c09f1c0f..9b57e627 100644 --- a/src/cgame/cg_ents.c +++ b/src/cgame/cg_ents.c @@ -361,6 +361,15 @@ static void CG_Missile( centity_t *cent ) switch( cent->currentState.weapon ) { + case WP_BLASTER: + ent.reType = RT_SPRITE; + ent.radius = 4; + ent.rotation = 0; + ent.customShader = cgs.media.blasterShader; + trap_R_AddRefEntityToScene( &ent ); + return; + break; + case WP_PULSE_RIFLE: ent.reType = RT_SPRITE; ent.radius = 4; diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h index c37d5f60..c5fbfbeb 100644 --- a/src/cgame/cg_local.h +++ b/src/cgame/cg_local.h @@ -817,6 +817,7 @@ typedef struct qhandle_t smokePuffRageProShader; qhandle_t shotgunSmokePuffShader; qhandle_t plasmaBallShader; + qhandle_t blasterShader; qhandle_t waterBubbleShader; qhandle_t bloodTrailShader; diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c index f070b4a3..f68c7da1 100644 --- a/src/cgame/cg_main.c +++ b/src/cgame/cg_main.c @@ -693,6 +693,7 @@ static void CG_RegisterGraphics( void ) cgs.media.smokePuffShader = trap_R_RegisterShader( "smokePuff" ); cgs.media.smokePuffRageProShader = trap_R_RegisterShader( "smokePuffRagePro" ); cgs.media.shotgunSmokePuffShader = trap_R_RegisterShader( "shotgunSmokePuff" ); + cgs.media.blasterShader = trap_R_RegisterShader( "sprites/plasma1" ); cgs.media.plasmaBallShader = trap_R_RegisterShader( "sprites/plasma1" ); cgs.media.bloodTrailShader = trap_R_RegisterShader( "bloodTrail" ); cgs.media.connectionShader = trap_R_RegisterShader( "disconnected" ); diff --git a/src/cgame/cg_servercmds.c b/src/cgame/cg_servercmds.c index 8e9cba9f..31685518 100644 --- a/src/cgame/cg_servercmds.c +++ b/src/cgame/cg_servercmds.c @@ -516,7 +516,8 @@ static void CG_SetUIVars( void ) //determine what the player is carrying for( i = WP_NONE + 1; i < WP_NUM_WEAPONS; i++ ) { - if( BG_gotWeapon( i, cg.snap->ps.stats ) ) + if( BG_gotWeapon( i, cg.snap->ps.stats ) && + BG_FindPurchasableForWeapon( i ) ) strcat( carriageCvar, va( "W%d ", i ) ); } for( i = UP_NONE + 1; i < UP_NUM_UPGRADES; i++ ) diff --git a/src/cgame/cg_weapons.c b/src/cgame/cg_weapons.c index 58bbcea1..1b9f7599 100644 --- a/src/cgame/cg_weapons.c +++ b/src/cgame/cg_weapons.c @@ -1591,6 +1591,11 @@ void CG_MissileHitWall( int weapon, int clientNum, vec3_t origin, vec3_t dir, im isSprite = qtrue; break; + case WP_BLASTER: + mark = cgs.media.burnMarkShader; + radius = 4; + break; + case WP_FLAMER: sfx = cgs.media.sfx_flamerexp; mark = cgs.media.burnMarkShader; |