[iortcw] 453/497: All: Add aspect corrected binocs

2017-09-08 Thread Simon McVittie
This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to annotated tag 1.42d
in repository iortcw.

commit becaaf53ebd733300b8c496046a7fe004749c9fc
Author: MAN-AT-ARMS 
Date:   Thu Dec 3 13:53:26 2015 -0500

All: Add aspect corrected binocs
---
 MP/code/cgame/cg_draw.c | 30 ++
 SP/code/cgame/cg_draw.c | 31 +++
 2 files changed, 45 insertions(+), 16 deletions(-)

diff --git a/MP/code/cgame/cg_draw.c b/MP/code/cgame/cg_draw.c
index 8a84319..49023c4 100644
--- a/MP/code/cgame/cg_draw.c
+++ b/MP/code/cgame/cg_draw.c
@@ -1659,8 +1659,29 @@ CG_DrawBinocReticle
 ==
 */
 static void CG_DrawBinocReticle( void ) {
+   vec4_t color = {0, 0, 0, 1};
+   float mask = 0, lb = 0;
+
if ( cg_fixedAspect.integer ) {
-   CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
+   if ( cgs.glconfig.vidWidth * 480.0 > cgs.glconfig.vidHeight * 
640.0 ) {
+   mask = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
cgs.screenXScale * 640.0 ) ) / cgs.screenXScale );
+
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
+   CG_FillRect( 0, 0, mask, 480, color );
+   CG_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
+   CG_FillRect( 640 - mask, 0, mask, 480, color );
+   } else if ( cgs.glconfig.vidWidth * 480.0 < 
cgs.glconfig.vidHeight * 640.0 ) {
+   lb = 0.5 * ( ( cgs.glconfig.vidHeight - ( 
cgs.screenYScale * 480.0 ) ) / cgs.screenYScale );
+
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
+   CG_FillRect( 0, 480 - lb, 640, lb, color );
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
+   CG_FillRect( 0, 0, 640, lb, color );
+   }
+   }
+
+   if ( cg_fixedAspect.integer ) {
+   CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
}
 
if ( cg_reticles.integer ) {
@@ -1670,18 +1691,11 @@ static void CG_DrawBinocReticle( void ) {
}
} else if ( cg_reticleType.integer == 1 ) {
// an alternative.  This gives nice sharp lines at the 
expense of a few extra polys
-   vec4_t color;
-   color[0] = color[1] = color[2] = 0;
-   color[3] = 1;
 
if ( cgs.media.binocShaderSimple ) {
CG_DrawPic( 0, 0, 640, 480, 
cgs.media.binocShaderSimple );
}
 
-   if ( cg_fixedAspect.integer ) {
-   CG_SetScreenPlacement(PLACE_CENTER, 
PLACE_CENTER);
-   }
-
CG_FillRect( 146, 239, 348, 1, color );
 
CG_FillRect( 188, 234, 1, 13, color );   // ll
diff --git a/SP/code/cgame/cg_draw.c b/SP/code/cgame/cg_draw.c
index 36daf81..683e70e 100644
--- a/SP/code/cgame/cg_draw.c
+++ b/SP/code/cgame/cg_draw.c
@@ -2310,23 +2310,38 @@ static void CG_DrawBinocReticle( void ) {
// an alternative.  This gives nice sharp lines at the expense of a few 
extra polys
vec4_t color = {0, 0, 0, 1};
float x, y, w = 320, h = 240;
+   float mask = 0, lb = 0;
 
if ( cg_fixedAspect.integer ) {
-   CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
-   }
+   if ( cgs.glconfig.vidWidth * 480.0 > cgs.glconfig.vidHeight * 
640.0 ) {
+   mask = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
cgs.screenXScale * 640.0 ) ) / cgs.screenXScale );
 
-   if ( cgs.media.binocShaderSimpleQ ) {
-   CG_AdjustFrom640( , , ,  );
-   trap_R_DrawStretchPic( 0, 0, w, h, 0, 0, 1, 1, 
cgs.media.binocShaderSimpleQ );  // tl
-   trap_R_DrawStretchPic( w, 0, w, h, 1, 0, 0, 1, 
cgs.media.binocShaderSimpleQ );  // tr
-   trap_R_DrawStretchPic( 0, h, w, h, 0, 1, 1, 0, 
cgs.media.binocShaderSimpleQ );  // bl
-   trap_R_DrawStretchPic( w, h, w, h, 1, 1, 0, 0, 
cgs.media.binocShaderSimpleQ );  // br
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
+   CG_FillRect( 0, 0, mask, 480, color );
+   CG_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
+   CG_FillRect( 640 - mask, 0, mask, 480, color );
+   } else if ( cgs.glconfig.vidWidth * 480.0 < 
cgs.glconfig.vidHeight * 640.0 ) {
+   lb = 0.5 * ( ( cgs.glconfig.vidHeight - ( 
cgs.screenYScale * 480.0 ) ) / cgs.screenYScale );
+
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
+   CG_FillRect( 0, 480 - lb, 640, lb, color );
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
+   CG_FillRect( 0, 0, 640, lb, color );
+ 

[iortcw] 453/497: All: Add aspect corrected binocs

2016-09-21 Thread Simon McVittie
This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to annotated tag 1.42d
in repository iortcw.

commit becaaf53ebd733300b8c496046a7fe004749c9fc
Author: MAN-AT-ARMS 
Date:   Thu Dec 3 13:53:26 2015 -0500

All: Add aspect corrected binocs
---
 MP/code/cgame/cg_draw.c | 30 ++
 SP/code/cgame/cg_draw.c | 31 +++
 2 files changed, 45 insertions(+), 16 deletions(-)

diff --git a/MP/code/cgame/cg_draw.c b/MP/code/cgame/cg_draw.c
index 8a84319..49023c4 100644
--- a/MP/code/cgame/cg_draw.c
+++ b/MP/code/cgame/cg_draw.c
@@ -1659,8 +1659,29 @@ CG_DrawBinocReticle
 ==
 */
 static void CG_DrawBinocReticle( void ) {
+   vec4_t color = {0, 0, 0, 1};
+   float mask = 0, lb = 0;
+
if ( cg_fixedAspect.integer ) {
-   CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
+   if ( cgs.glconfig.vidWidth * 480.0 > cgs.glconfig.vidHeight * 
640.0 ) {
+   mask = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
cgs.screenXScale * 640.0 ) ) / cgs.screenXScale );
+
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
+   CG_FillRect( 0, 0, mask, 480, color );
+   CG_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
+   CG_FillRect( 640 - mask, 0, mask, 480, color );
+   } else if ( cgs.glconfig.vidWidth * 480.0 < 
cgs.glconfig.vidHeight * 640.0 ) {
+   lb = 0.5 * ( ( cgs.glconfig.vidHeight - ( 
cgs.screenYScale * 480.0 ) ) / cgs.screenYScale );
+
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
+   CG_FillRect( 0, 480 - lb, 640, lb, color );
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
+   CG_FillRect( 0, 0, 640, lb, color );
+   }
+   }
+
+   if ( cg_fixedAspect.integer ) {
+   CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
}
 
if ( cg_reticles.integer ) {
@@ -1670,18 +1691,11 @@ static void CG_DrawBinocReticle( void ) {
}
} else if ( cg_reticleType.integer == 1 ) {
// an alternative.  This gives nice sharp lines at the 
expense of a few extra polys
-   vec4_t color;
-   color[0] = color[1] = color[2] = 0;
-   color[3] = 1;
 
if ( cgs.media.binocShaderSimple ) {
CG_DrawPic( 0, 0, 640, 480, 
cgs.media.binocShaderSimple );
}
 
-   if ( cg_fixedAspect.integer ) {
-   CG_SetScreenPlacement(PLACE_CENTER, 
PLACE_CENTER);
-   }
-
CG_FillRect( 146, 239, 348, 1, color );
 
CG_FillRect( 188, 234, 1, 13, color );   // ll
diff --git a/SP/code/cgame/cg_draw.c b/SP/code/cgame/cg_draw.c
index 36daf81..683e70e 100644
--- a/SP/code/cgame/cg_draw.c
+++ b/SP/code/cgame/cg_draw.c
@@ -2310,23 +2310,38 @@ static void CG_DrawBinocReticle( void ) {
// an alternative.  This gives nice sharp lines at the expense of a few 
extra polys
vec4_t color = {0, 0, 0, 1};
float x, y, w = 320, h = 240;
+   float mask = 0, lb = 0;
 
if ( cg_fixedAspect.integer ) {
-   CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
-   }
+   if ( cgs.glconfig.vidWidth * 480.0 > cgs.glconfig.vidHeight * 
640.0 ) {
+   mask = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
cgs.screenXScale * 640.0 ) ) / cgs.screenXScale );
 
-   if ( cgs.media.binocShaderSimpleQ ) {
-   CG_AdjustFrom640( , , ,  );
-   trap_R_DrawStretchPic( 0, 0, w, h, 0, 0, 1, 1, 
cgs.media.binocShaderSimpleQ );  // tl
-   trap_R_DrawStretchPic( w, 0, w, h, 1, 0, 0, 1, 
cgs.media.binocShaderSimpleQ );  // tr
-   trap_R_DrawStretchPic( 0, h, w, h, 0, 1, 1, 0, 
cgs.media.binocShaderSimpleQ );  // bl
-   trap_R_DrawStretchPic( w, h, w, h, 1, 1, 0, 0, 
cgs.media.binocShaderSimpleQ );  // br
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
+   CG_FillRect( 0, 0, mask, 480, color );
+   CG_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
+   CG_FillRect( 640 - mask, 0, mask, 480, color );
+   } else if ( cgs.glconfig.vidWidth * 480.0 < 
cgs.glconfig.vidHeight * 640.0 ) {
+   lb = 0.5 * ( ( cgs.glconfig.vidHeight - ( 
cgs.screenYScale * 480.0 ) ) / cgs.screenYScale );
+
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
+   CG_FillRect( 0, 480 - lb, 640, lb, color );
+   CG_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
+   CG_FillRect( 0, 0, 640, lb, color );
+