diff options
Diffstat (limited to 'src/cgame')
-rw-r--r-- | src/cgame/cg_draw.c | 40 | ||||
-rw-r--r-- | src/cgame/cg_drawtools.c | 57 | ||||
-rw-r--r-- | src/cgame/cg_local.h | 6 | ||||
-rw-r--r-- | src/cgame/cg_main.c | 27 | ||||
-rw-r--r-- | src/cgame/cg_weapons.c | 4 |
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; |