Index: code/cgame/cg_draw.c
===================================================================
--- code/cgame/cg_draw.c (revision 263)
+++ code/cgame/cg_draw.c (working copy)
@@ -2617,37 +2617,32 @@
qhandle_t hShader;
float f;
float x, y;
-#ifndef SMOKINGUNS
int ca;
-
-#else
- vec4_t colorActivate = {1.0f, 0.75f, 0.0f, 1.0f};
+#ifdef SMOKINGUNS
qboolean drawFriendWarning = qfalse;
+ vec4_t hcolor = {1.0f, 1.0f, 1.0f, 1.0f};
+#endif
+#ifdef SMOKINGUNS
if ( cg.snap->ps.persistant[PERS_TEAM] >= TEAM_SPECTATOR) {
return;
}
+#else
+ if ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_SPECTATOR) {
+ return;
+ }
+#endif
if ( cg.renderingThirdPerson ) {
return;
}
-
+
+#ifdef SMOKINGUNS
+ //Draw Sharps rifle crosshair
if( cg.snap->ps.stats[STAT_WP_MODE]==1 && cg.snap->ps.weapon == WP_SHARPS){
- float x, y, w, h;
- qhandle_t hShader = cgs.media.scopeShader;
+ hShader = cgs.media.scopeShader;
+ CG_DrawPic(0.0f, 0.0f, 640.0f, 480.0f, hShader);
- x = 0;
- y = 0;
- w = 640;
- h = 480;
-
- CG_DrawPic(x, y, w, h, hShader);
-
- y = 38;
- x = 118;
- h = 480-2*y;
- w = 640-2*x;
-
if( changeCrosshair){
if( isPlayer ) {
trap_R_SetColor( colorRed );
@@ -2656,97 +2651,83 @@
}
}
- CG_DrawPic(x, y, w, h, cgs.media.scopecrossShader);
+ CG_DrawPic(118.0f, 38.0f, 404.0f, 404.0f, cgs.media.scopecrossShader);
-// Zoom
+ // Zoom
CG_ZoomDown_f();
return;
}//modified by Spoon
CG_ZoomUp_f();
#endif
-
+
+ //To make/use the same for shraps?
if ( !cg_drawCrosshair.integer ) {
return;
}
-#ifndef SMOKINGUNS
- if ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_SPECTATOR) {
- return;
- }
-
- 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 );
- }
-
-#else
- //if a pickable item is in front of the player
+#ifdef SMOKINGUNS
+ //Duel fade out
if(cgs.gametype == GT_DUEL && cg.introend - DU_INTRO_DRAW <= cg.time
&& cg.introend + DU_CROSSHAIR_FADE >= cg.time){
- vec4_t colorFade = {1.0f, 1.0f, 1.0f, 0.0f};
if(cg.introend + DU_CROSSHAIR_START <= cg.time){
- colorFade[3] = (float)(cg.time - cg.introend - DU_CROSSHAIR_START)/DU_CROSSHAIR_FADE;
+ hcolor[3] = (float)(cg.time - cg.introend - DU_CROSSHAIR_START)/DU_CROSSHAIR_FADE;
}
-
- trap_R_SetColor( colorFade);
} else if( changeCrosshair ) {
if( isPlayer ) {
- // change crosshair to indicate that target is a teammate
+ // Change crosshair to indicate that target is a teammate
drawFriendWarning = qtrue;
- }
- else {
+ } else {
+ // Item to activate
trap_R_SetColor( colorActivate );
}
+ } else {
+ // set color based on health
+ if ( cg_crosshairHealth.integer ) {
+ CG_ColorForHealth( hcolor );
+ } else {
+ //Put here custom color set
+ }
+ hcolor[3] = (cg_drawCrosshairTransparency.value <= 1.0) ? cg_drawCrosshairTransparency.value : 1.0;
+ trap_R_SetColor( hcolor );
}
+#else
+ trap_R_SetColor( NULL );
#endif
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 );
+ if (cg_drawCrosshairPickUpPulse.integer) {
+ // 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 );
+ }
}
x = cg_crosshairX.integer;
y = cg_crosshairY.integer;
#ifndef SMOKINGUNS
CG_AdjustFrom640( &x, &y, &w, &h );
-
- ca = cg_drawCrosshair.integer;
- if (ca < 0) {
- ca = 0;
- }
- hShader = cgs.media.crosshairShader[ ca % NUM_CROSSHAIRS ];
-
- 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 );
-#else
- hShader = cgs.media.crosshairShader;
- CG_DrawPic( x + 320 - w/2, y + 240 - h/2, w, h, hShader );
-
+#endif
if (drawFriendWarning) {
trap_R_SetColor(colorRed);
hShader = cgs.media.crosshairFriendShader;
- CG_DrawPic( x + 320 - w/2, y + 240 - h/2, w, h, hShader );
+ } else {
+ ca = cg_drawCrosshair.integer;
+ if (ca < 0) {
+ ca = 0;
+ }
+ hShader = cgs.media.crosshairShader[ ca % NUM_CROSSHAIRS ];
}
-
- trap_R_SetColor( NULL );
-#endif
+ h *= cg_drawCrosshairHeightMultiply.value;
+ w *= cg_drawCrosshairWidthMultiply.value;
+ 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 );
}
/*
@@ -2759,9 +2740,7 @@
float w, h;
qhandle_t hShader;
float f;
-#ifndef SMOKINGUNS
int ca;
-#endif
trace_t trace;
vec3_t endpos;
@@ -2795,15 +2774,12 @@
h *= ( 1 + f );
}
-#ifndef SMOKINGUNS
+
ca = cg_drawCrosshair.integer;
if (ca < 0) {
ca = 0;
}
hShader = cgs.media.crosshairShader[ ca % NUM_CROSSHAIRS ];
-#else
- hShader = cgs.media.crosshairShader;
-#endif
// Use a different method rendering the crosshair so players don't see two of them when
// focusing their eyes at distant objects with high stereo separation
Index: code/cgame/cg_drawtools.c
===================================================================
--- code/cgame/cg_drawtools.c (revision 263)
+++ code/cgame/cg_drawtools.c (working copy)
@@ -874,11 +874,11 @@
return 0.75;
#else
// Tequila comment: Adjusted the scale for small ui font
- return 0.45;
+ return 0.45f;
#endif
}
- return 1.00;
+ return 1.0f;
}
Index: code/cgame/cg_local.h
===================================================================
--- code/cgame/cg_local.h (revision 263)
+++ code/cgame/cg_local.h (working copy)
@@ -1122,10 +1122,9 @@
qhandle_t selectShader;
qhandle_t viewBloodShader;
qhandle_t tracerShader;
-#ifndef SMOKINGUNS
+
qhandle_t crosshairShader[NUM_CROSSHAIRS];
-#else
- qhandle_t crosshairShader;
+#ifdef SMOKINGUNS
qhandle_t crosshairFriendShader;
#endif
qhandle_t lagometerShader;
@@ -1652,6 +1651,10 @@
extern vmCvar_t cg_drawIcons;
extern vmCvar_t cg_drawAmmoWarning;
extern vmCvar_t cg_drawCrosshair;
+extern vmCvar_t cg_drawCrosshairPickUpPulse;
+extern vmCvar_t cg_drawCrosshairWidthMultiply;
+extern vmCvar_t cg_drawCrosshairHeightMultiply;
+extern vmCvar_t cg_drawCrosshairTransparency;
extern vmCvar_t cg_drawCrosshairNames;
extern vmCvar_t cg_drawRewards;
extern vmCvar_t cg_drawTeamOverlay;
Index: code/cgame/cg_main.c
===================================================================
--- code/cgame/cg_main.c (revision 263)
+++ code/cgame/cg_main.c (working copy)
@@ -116,6 +116,10 @@
vmCvar_t cg_drawIcons;
vmCvar_t cg_drawAmmoWarning;
vmCvar_t cg_drawCrosshair;
+vmCvar_t cg_drawCrosshairPickUpPulse;
+vmCvar_t cg_drawCrosshairWidthMultiply;
+vmCvar_t cg_drawCrosshairHeightMultiply;
+vmCvar_t cg_drawCrosshairTransparency;
vmCvar_t cg_drawCrosshairNames;
vmCvar_t cg_drawRewards;
vmCvar_t cg_crosshairSize;
@@ -341,6 +345,10 @@
{ &cg_drawAmmoWarning, "cg_drawAmmoWarning", "1", CVAR_ARCHIVE },
{ &cg_drawAttacker, "cg_drawAttacker", "1", CVAR_ARCHIVE },
{ &cg_drawCrosshair, "cg_drawCrosshair", "4", CVAR_ARCHIVE },
+ { &cg_drawCrosshairPickUpPulse, "cg_drawCrosshairPickUpPulse", "1", CVAR_ARCHIVE },
+ { &cg_drawCrosshairWidthMultiply, "cg_drawCrosshairWidthMultiply", "1", CVAR_ARCHIVE },
+ { &cg_drawCrosshairHeightMultiply, "cg_drawCrosshairHeightMultiply", "1", CVAR_ARCHIVE },
+ { &cg_drawCrosshairTransparency, "cg_drawCrosshairTransparency", "1.0", CVAR_ARCHIVE },
{ &cg_drawCrosshairNames, "cg_drawCrosshairNames", "1", CVAR_ARCHIVE },
{ &cg_drawRewards, "cg_drawRewards", "1", CVAR_ARCHIVE },
{ &cg_crosshairSize, "cg_crosshairSize", "24", CVAR_ARCHIVE },
@@ -1429,12 +1437,10 @@
cgs.media.tracerShader = trap_R_RegisterShader( "gfx/misc/tracer" );
cgs.media.selectShader = trap_R_RegisterShader( "gfx/2d/select" );
-#ifndef SMOKINGUNS
+#ifdef SMOKINGUNS
for ( i = 0 ; i < NUM_CROSSHAIRS ; i++ ) {
- cgs.media.crosshairShader[i] = trap_R_RegisterShader( va("gfx/2d/crosshair%c", 'a'+i) );
+ cgs.media.crosshairShader[i] = trap_R_RegisterShader(va("gfx/2d/crosshair%c", 'a'+i) );
}
-#else
- cgs.media.crosshairShader = trap_R_RegisterShader( "hud/crosshair");
cgs.media.crosshairFriendShader = trap_R_RegisterShader( "hud/crosshair_friend");
CG_LoadingStage(1);
Index: code/cgame/cg_weapons.c
===================================================================
--- code/cgame/cg_weapons.c (revision 263)
+++ code/cgame/cg_weapons.c (working copy)
@@ -4008,7 +4008,7 @@
spread_dist = ( current_spread_circle + Q_random( &seed ) ) / max_spread_circle * bg_weaponlist[es->weapon].spread * 16 ;
// spread adjustement to keep the same spread feeling:
- spread_dist *= 1.4 ;
+ spread_dist *= 1.4f;
spread_angle = current_angle_shift + ( (float)current_spread_cell + Q_random( &seed ) ) * M_PI * 2.0f / (float)current_pellet_per_circle ;
Index: code/qcommon/q_math.c
===================================================================
--- code/qcommon/q_math.c (revision 263)
+++ code/qcommon/q_math.c (working copy)
@@ -48,6 +48,7 @@
vec4_t colorLtGrey = {0.75, 0.75, 0.75, 1};
vec4_t colorMdGrey = {0.5, 0.5, 0.5, 1};
vec4_t colorDkGrey = {0.25, 0.25, 0.25, 1};
+vec4_t colorActivate = {1.0f, 0.75f, 0.0f, 1.0f};
vec4_t g_color_table[8] =
{
Index: code/qcommon/q_shared.h
===================================================================
--- code/qcommon/q_shared.h (revision 263)
+++ code/qcommon/q_shared.h (working copy)
@@ -415,6 +415,7 @@
extern vec4_t colorLtGrey;
extern vec4_t colorMdGrey;
extern vec4_t colorDkGrey;
+extern vec4_t colorActivate;
#define Q_COLOR_ESCAPE '^'
#define Q_IsColorString(p) ( p && *(p) == Q_COLOR_ESCAPE && *((p)+1) && isalnum(*((p)+1)) ) // ^[0-9a-zA-Z]
Index: code/ui/ui_main.c
===================================================================
--- code/ui/ui_main.c (revision 263)
+++ code/ui/ui_main.c (working copy)
@@ -415,9 +415,8 @@
void AssetCache( void ) {
-#ifndef SMOKINGUNS
int n;
-#endif
+
//if (Assets.textFont == NULL) {
//}
//Assets.background = trap_R_RegisterShaderNoMip( ASSET_BACKGROUND );
@@ -444,17 +443,14 @@
uiInfo.uiDC.Assets.scrollBarThumb = trap_R_RegisterShaderNoMip( ASSET_SCROLL_THUMB );
uiInfo.uiDC.Assets.sliderBar = trap_R_RegisterShaderNoMip( ASSET_SLIDER_BAR );
uiInfo.uiDC.Assets.sliderThumb = trap_R_RegisterShaderNoMip( ASSET_SLIDER_THUMB );
-
-#ifndef SMOKINGUNS
for( n = 0; n < NUM_CROSSHAIRS; n++ ) {
uiInfo.uiDC.Assets.crosshairShader[n] = trap_R_RegisterShaderNoMip( va("gfx/2d/crosshair%c", 'a' + n ) );
}
-
+#ifndef SMOKINGUNS
uiInfo.newHighScoreSound = trap_S_RegisterSound("sound/feedback/voc_newhighscore.wav", qfalse);
#else
uiInfo.uiDC.Assets.menu_width = trap_R_RegisterShaderNoMip( ASSET_MENU_WIDTH);
uiInfo.uiDC.Assets.menu_height = trap_R_RegisterShaderNoMip (ASSET_MENU_HEIGHT);
- uiInfo.uiDC.Assets.crosshairShader = trap_R_RegisterShaderNoMip( "hud/crosshair" );
#endif
}
@@ -2187,14 +2183,10 @@
static void UI_DrawCrosshair(rectDef_t *rect, float scale, vec4_t color) {
trap_R_SetColor( color );
-#ifndef SMOKINGUNS
if (uiInfo.currentCrosshair < 0 || uiInfo.currentCrosshair >= NUM_CROSSHAIRS) {
uiInfo.currentCrosshair = 0;
}
UI_DrawHandlePic( rect->x, rect->y - rect->h, rect->w, rect->h, uiInfo.uiDC.Assets.crosshairShader[uiInfo.currentCrosshair]);
-#else
- UI_DrawHandlePic( rect->x, rect->y - rect->h, rect->w, rect->h, uiInfo.uiDC.Assets.crosshairShader);
-#endif
trap_R_SetColor( NULL );
}
Index: code/ui/ui_shared.h
===================================================================
--- code/ui/ui_shared.h (revision 263)
+++ code/ui/ui_shared.h (working copy)
@@ -340,11 +340,7 @@
// player settings
qhandle_t fxBasePic;
qhandle_t fxPic[7];
-#ifndef SMOKINGUNS
- qhandle_t crosshairShader[NUM_CROSSHAIRS];
-#else
- qhandle_t crosshairShader;
-#endif
+ qhandle_t crosshairShader[NUM_CROSSHAIRS];
} cachedAssets_t;