summaryrefslogtreecommitdiff
path: root/src/cgame
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgame')
-rw-r--r--src/cgame/cg_draw.c40
-rw-r--r--src/cgame/cg_drawtools.c57
-rw-r--r--src/cgame/cg_local.h6
-rw-r--r--src/cgame/cg_main.c27
-rw-r--r--src/cgame/cg_weapons.c4
5 files changed, 24 insertions, 110 deletions
diff --git a/src/cgame/cg_draw.c b/src/cgame/cg_draw.c
index a479f3b4..cf35d086 100644
--- a/src/cgame/cg_draw.c
+++ b/src/cgame/cg_draw.c
@@ -1924,12 +1924,11 @@ static void CG_DrawCrosshair( void )
qhandle_t hShader;
float f;
float x, y;
- int ca;
if( !cg_drawCrosshair.integer )
return;
- if( ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_SPECTATOR ) ||
+ if( ( cg.snap->ps.persistant[ PERS_TEAM ] == TEAM_SPECTATOR ) ||
( cg.snap->ps.stats[ STAT_STATE ] & SS_INFESTING ) ||
( cg.snap->ps.stats[ STAT_STATE ] & SS_HOVELING ) )
return;
@@ -1937,41 +1936,20 @@ static void CG_DrawCrosshair( void )
if( cg.renderingThirdPerson )
return;
- // set color based on health
- if( cg_crosshairHealth.integer )
- {
- vec4_t hcolor;
-
- CG_ColorForHealth( hcolor );
- trap_R_SetColor( hcolor );
- }
- else
- trap_R_SetColor( NULL );
-
- w = h = cg_crosshairSize.value;
-
- // pulse the size of the crosshair when picking up items
- f = cg.time - cg.itemPickupBlendTime;
- if( f > 0 && f < ITEM_BLOB_TIME )
- {
- f /= ITEM_BLOB_TIME;
- w *= ( 1 + f );
- h *= ( 1 + f );
- }
+ w = h = BG_FindCrosshairSizeForWeapon( cg.snap->ps.weapon );
x = cg_crosshairX.integer;
y = cg_crosshairY.integer;
CG_AdjustFrom640( &x, &y, &w, &h );
-
- ca = cg_drawCrosshair.integer;
- if( ca < 0 )
- ca = 0;
- hShader = cgs.media.crosshairShader[ ca % NUM_CROSSHAIRS ];
+ hShader = cgs.media.crosshairShader[ cg.snap->ps.weapon ];
- trap_R_DrawStretchPic( x + cg.refdef.x + 0.5 * ( cg.refdef.width - w ),
- y + cg.refdef.y + 0.5 * ( cg.refdef.height - h ),
- w, h, 0, 0, 1, 1, hShader );
+ if( hShader != 0 )
+ {
+ trap_R_DrawStretchPic( x + cg.refdef.x + 0.5 * ( cg.refdef.width - w ),
+ y + cg.refdef.y + 0.5 * ( cg.refdef.height - h ),
+ w, h, 0, 0, 1, 1, hShader );
+ }
}
diff --git a/src/cgame/cg_drawtools.c b/src/cgame/cg_drawtools.c
index d5df1f42..05c06b65 100644
--- a/src/cgame/cg_drawtools.c
+++ b/src/cgame/cg_drawtools.c
@@ -306,60 +306,3 @@ float *CG_FadeColor( int startMsec, int totalMsec )
return color;
}
-
-
-/*
-=================
-CG_GetColorForHealth
-=================
-*/
-void CG_GetColorForHealth( int health, int armor, vec4_t hcolor )
-{
- int count;
- int max;
-
- // calculate the total points of damage that can
- // be sustained at the current health / armor level
- if( health <= 0 )
- {
- VectorClear( hcolor ); // black
- hcolor[ 3 ] = 1;
- return;
- }
-
- count = armor;
- max = health;
-
- if( max < count )
- count = max;
-
- health += count;
-
- // set the color based on health
- hcolor[ 0 ] = 1.0;
- hcolor[ 3 ] = 1.0;
-
- if( health >= 100 )
- hcolor[ 2 ] = 1.0;
- else if( health < 66 )
- hcolor[ 2 ] = 0;
- else
- hcolor[ 2 ] = ( health - 66 ) / 33.0;
-
- if( health > 60 )
- hcolor[ 1 ] = 1.0;
- else if( health < 30 )
- hcolor[ 1 ] = 0;
- else
- hcolor[ 1 ] = ( health - 30 ) / 30.0;
-}
-
-/*
-=================
-CG_ColorForHealth
-=================
-*/
-void CG_ColorForHealth( vec4_t hcolor )
-{
- CG_GetColorForHealth( cg.snap->ps.stats[ STAT_HEALTH ], 0, hcolor );
-}
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h
index 99bb91cf..25763f37 100644
--- a/src/cgame/cg_local.h
+++ b/src/cgame/cg_local.h
@@ -797,7 +797,7 @@ typedef struct
qhandle_t selectShader;
qhandle_t viewBloodShader;
qhandle_t tracerShader;
- qhandle_t crosshairShader[ NUM_CROSSHAIRS ];
+ qhandle_t crosshairShader[ WP_NUM_WEAPONS ];
qhandle_t backTileShader;
qhandle_t noammoShader;
@@ -909,6 +909,8 @@ typedef struct
sfxHandle_t alienStageTransition;
sfxHandle_t humanStageTransition;
+ sfxHandle_t humanBuildableExpl;
+
qhandle_t cursor;
qhandle_t selectCursor;
qhandle_t sizeCursor;
@@ -1045,8 +1047,6 @@ extern vmCvar_t cg_drawTeamOverlay;
extern vmCvar_t cg_teamOverlayUserinfo;
extern vmCvar_t cg_crosshairX;
extern vmCvar_t cg_crosshairY;
-extern vmCvar_t cg_crosshairSize;
-extern vmCvar_t cg_crosshairHealth;
extern vmCvar_t cg_drawStatus;
extern vmCvar_t cg_draw2D;
extern vmCvar_t cg_animSpeed;
diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c
index e0b4936d..551a5baf 100644
--- a/src/cgame/cg_main.c
+++ b/src/cgame/cg_main.c
@@ -116,10 +116,8 @@ vmCvar_t cg_drawAmmoWarning;
vmCvar_t cg_drawCrosshair;
vmCvar_t cg_drawCrosshairNames;
vmCvar_t cg_drawRewards;
-vmCvar_t cg_crosshairSize;
vmCvar_t cg_crosshairX;
vmCvar_t cg_crosshairY;
-vmCvar_t cg_crosshairHealth;
vmCvar_t cg_draw2D;
vmCvar_t cg_drawStatus;
vmCvar_t cg_animSpeed;
@@ -237,8 +235,6 @@ static cvarTable_t cvarTable[ ] =
{ &cg_drawCrosshair, "cg_drawCrosshair", "4", CVAR_ARCHIVE },
{ &cg_drawCrosshairNames, "cg_drawCrosshairNames", "1", CVAR_ARCHIVE },
{ &cg_drawRewards, "cg_drawRewards", "1", CVAR_ARCHIVE },
- { &cg_crosshairSize, "cg_crosshairSize", "24", CVAR_ARCHIVE },
- { &cg_crosshairHealth, "cg_crosshairHealth", "1", CVAR_ARCHIVE },
{ &cg_crosshairX, "cg_crosshairX", "0", CVAR_ARCHIVE },
{ &cg_crosshairY, "cg_crosshairY", "0", CVAR_ARCHIVE },
{ &cg_brassTime, "cg_brassTime", "2500", CVAR_ARCHIVE },
@@ -544,18 +540,6 @@ const char *CG_Argv( int arg )
/*
=================
-CG_RegisterItemSounds
-
-The server says this item is used on this level
-=================
-*/
-static void CG_RegisterItemSounds( int itemNum )
-{
-}
-
-
-/*
-=================
CG_RegisterSounds
called during a precache command
@@ -639,6 +623,8 @@ static void CG_RegisterSounds( void )
cgs.media.jetpackDescendSound = trap_S_RegisterSound( "sound/upgrades/jetpack/low.wav", qfalse );
cgs.media.jetpackIdleSound = trap_S_RegisterSound( "sound/upgrades/jetpack/idle.wav", qfalse );
cgs.media.jetpackAscendSound = trap_S_RegisterSound( "sound/upgrades/jetpack/hi.wav", qfalse );
+
+ cgs.media.humanBuildableExpl = trap_S_RegisterSound( "sound/weapons/rocket/rocklx1a.wav", qfalse );
// FIXME: only needed with item
cgs.media.sfx_ric1 = trap_S_RegisterSound( "sound/weapons/machinegun/ric1.wav", qfalse );
@@ -721,8 +707,13 @@ static void CG_RegisterGraphics( void )
cgs.media.tracerShader = trap_R_RegisterShader( "gfx/misc/tracer" );
cgs.media.selectShader = trap_R_RegisterShader( "gfx/2d/select" );
- for( i = 0 ; i < NUM_CROSSHAIRS ; i++ )
- cgs.media.crosshairShader[ i ] = trap_R_RegisterShader( va( "gfx/2d/crosshair%c", 'a' + i ) );
+ for( i = WP_NONE + 1 ; i < WP_NUM_WEAPONS ; i++ )
+ {
+ char *crosshair = BG_FindCrosshairForWeapon( i );
+
+ if( crosshair != NULL )
+ cgs.media.crosshairShader[ i ] = trap_R_RegisterShader( crosshair );
+ }
cgs.media.backTileShader = trap_R_RegisterShader( "gfx/2d/backtile" );
cgs.media.noammoShader = trap_R_RegisterShader( "icons/noammo" );
diff --git a/src/cgame/cg_weapons.c b/src/cgame/cg_weapons.c
index e8c6aedf..1293afbc 100644
--- a/src/cgame/cg_weapons.c
+++ b/src/cgame/cg_weapons.c
@@ -322,7 +322,9 @@ void CG_RegisterWeapon( int weaponNum )
case WP_FLAMER:
weaponInfo->missileSound = trap_S_RegisterSound( "sound/weapons/flamer/fireloop.wav", qfalse );
- MAKERGB( weaponInfo->flashDlightColor, 0.25, 0.1, 0 );
+ MAKERGB( weaponInfo->flashDlightColor, 0.25f, 0.1f, 0 );
+ MAKERGB( weaponInfo->missileDlightColor, 0.25f, 0.1f, 0 );
+ weaponInfo->missileDlight = 200;
//weaponInfo->flashSound[ 0 ] = trap_S_RegisterSound( "sound/weapons/railgun/railgf1a.wav", qfalse );
/*cgs.media.flameExplShader = trap_R_RegisterShader( "rocketExplosion" );*/
break;