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 21c4a1f1b07c467a4ae02988b5676fa73fb45117
Author: MAN-AT-ARMS <m4n4t4...@gmail.com>
Date:   Thu Dec 3 11:10:51 2015 -0500

    All: Some more placement and visual fixes
---
 MP/code/cgame/cg_draw.c       |  18 ++++-
 MP/code/cgame/cg_weapons.c    |   2 +-
 MP/code/ui/ui_main.c          |   2 +-
 MP/code/ui/ui_shared.c        |  47 ++++++-----
 SP/code/cgame/cg_draw.c       | 179 ++++++++++++++++++++++++++----------------
 SP/code/cgame/cg_drawtools.c  |   1 -
 SP/code/cgame/cg_info.c       |   2 +-
 SP/code/cgame/cg_newdraw.c    |  14 ----
 SP/code/cgame/cg_scoreboard.c |   2 +-
 SP/code/cgame/cg_weapons.c    |  10 +--
 SP/code/ui/ui_main.c          |  16 +++-
 SP/code/ui/ui_shared.c        |  54 ++++++++++---
 12 files changed, 218 insertions(+), 129 deletions(-)

diff --git a/MP/code/cgame/cg_draw.c b/MP/code/cgame/cg_draw.c
index 32c0ddd..f2d00f8 100644
--- a/MP/code/cgame/cg_draw.c
+++ b/MP/code/cgame/cg_draw.c
@@ -1669,6 +1669,10 @@ static void CG_DrawBinocReticle( void ) {
                                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
@@ -3445,7 +3449,12 @@ static void CG_ScreenFade( void ) {
                        return;
                }
 
-               CG_FillRect( 0, 0, 640, 480, cg.fadeColor1 );
+               if ( cg_fixedAspect.integer ) {
+                       CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
+                       CG_FillRect( 0, 0, 640, 480, cg.fadeColor1 );
+               } else {
+                       CG_FillRect( 0, 0, 640, 480, cg.fadeColor1 );
+               }
 
        } else {
                t = ( float )msec * cg.fadeRate;
@@ -3456,7 +3465,12 @@ static void CG_ScreenFade( void ) {
                }
 
                if ( color[ 3 ] ) {
-                       CG_FillRect( 0, 0, 640, 480, color );
+                       if ( cg_fixedAspect.integer ) {
+                               CG_SetScreenPlacement(PLACE_STRETCH, 
PLACE_STRETCH);
+                               CG_FillRect( 0, 0, 640, 480, color );
+                       } else {
+                               CG_FillRect( 0, 0, 640, 480, color );
+                       }
                }
        }
 }
diff --git a/MP/code/cgame/cg_weapons.c b/MP/code/cgame/cg_weapons.c
index 7908a63..4c0a80a 100644
--- a/MP/code/cgame/cg_weapons.c
+++ b/MP/code/cgame/cg_weapons.c
@@ -2926,7 +2926,7 @@ void CG_DrawWeaponSelect( void ) {
        trap_R_SetColor( color );
 
        if ( cg_fixedAspect.integer == 2 ) {
-               CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
+               CG_SetScreenPlacement(PLACE_RIGHT, PLACE_TOP);
        }
 
 //----(SA)     neither of these overlap the weapon selection area anymore, so 
let them stay
diff --git a/MP/code/ui/ui_main.c b/MP/code/ui/ui_main.c
index 00c002c..819d1a3 100644
--- a/MP/code/ui/ui_main.c
+++ b/MP/code/ui/ui_main.c
@@ -1745,7 +1745,7 @@ static void UI_DrawMapCinematic( rectDef_t *rect, float 
scale, vec4_t color, qbo
                if ( uiInfo.mapList[map].cinematic == -1 ) {
                        uiInfo.mapList[map].cinematic = trap_CIN_PlayCinematic( 
va( "%s.roq", uiInfo.mapList[map].mapLoadName ), 0, 0, 0, 0, ( CIN_loop | 
CIN_silent ) );
                }
-               if ( uiInfo.mapList[map].cinematic >= 0 ) { 
+               if ( uiInfo.mapList[map].cinematic >= 0 ) {
                        trap_CIN_RunCinematic( uiInfo.mapList[map].cinematic );
                        // FIXME:MAN-AT-ARMS Scale this
                        trap_CIN_SetExtents( uiInfo.mapList[map].cinematic, 
rect->x, rect->y, rect->w, rect->h );
diff --git a/MP/code/ui/ui_shared.c b/MP/code/ui/ui_shared.c
index 8464b8d..252fd18 100644
--- a/MP/code/ui/ui_shared.c
+++ b/MP/code/ui/ui_shared.c
@@ -93,6 +93,7 @@ static qboolean Menu_OverActiveItem( menuDef_t *menu, float 
x, float y );
 static char memoryPool[MEM_POOL_SIZE];
 static int allocPoint, outOfMemory;
 
+vmCvar_t ui_fixedAspect;
 
 static screenPlacement_e ui_horizontalPlacement = PLACE_CENTER;
 static screenPlacement_e ui_verticalPlacement = PLACE_CENTER;
@@ -144,7 +145,6 @@ screenPlacement_e UI_GetScreenVerticalPlacement(void)
        return ui_verticalPlacement;
 }
 
-vmCvar_t ui_fixedAspect;
 
 /*
 ================
@@ -792,10 +792,24 @@ void Window_Paint( Window *w, float fadeAmount, float 
fadeClamp, float fadeCycle
                fillRect.h -= w->borderSize + 1;
        }
 
-       // Make pillarbox/letterbox for 4:3 UI
+       // Make menus letterboxed if aspect is < 4:3
+       if ( ui_fixedAspect.integer ) {
+               if ( DC->glconfig.vidWidth * 480.0 < DC->glconfig.vidHeight * 
640.0 ) {
+                       vec4_t col = {0, 0, 0, 1};
+                       float lb = 0.5 * ( ( DC->glconfig.vidHeight - ( 
DC->yscale * 480.0 ) ) / DC->yscale );
+
+                       UI_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
+                       DC->fillRect( 0, 480 - lb, 640, lb + 1, col );
+                       UI_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
+                       DC->fillRect( 0, 0, 640, lb + 1, col );
+                       UI_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
+               }
+       }
+
+       // Make menus pillarboxed if using 4:3 UI
        if ( ui_fixedAspect.integer == 1 || !Q_stricmpn( w->name, "wm_limbo", 8 
) ) {
-               vec4_t col = {0, 0, 0, 1};      
                if ( DC->glconfig.vidWidth * 480.0 > DC->glconfig.vidHeight * 
640.0 ) {
+                       vec4_t col = {0, 0, 0, 1};
                        float pillar = 0.5 * ( ( DC->glconfig.vidWidth - ( 
DC->xscale * 640.0 ) ) / DC->xscale );
 
                        UI_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
@@ -803,33 +817,16 @@ void Window_Paint( Window *w, float fadeAmount, float 
fadeClamp, float fadeCycle
                        UI_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
                        DC->fillRect( 640 - pillar, 0, pillar + 1, 480, col );
                        UI_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
-               } else if ( DC->glconfig.vidWidth * 480.0 < 
DC->glconfig.vidHeight * 640.0 ) {
-                       float lb = 0.5 * ( ( DC->glconfig.vidHeight - ( 
DC->yscale * 480.0 ) ) / DC->yscale );
-
-                       UI_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-                       DC->fillRect( 0, 480 - lb, 640, lb + 1, col );
-                       UI_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
-                       DC->fillRect( 0, 0, 640, lb + 1, col );
-                       UI_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
                }
        }
 
        if ( w->style == WINDOW_STYLE_FILLED ) {
                // box, but possible a shader that needs filled
                if ( w->background ) {
-                       if ( ui_fixedAspect.integer == 2 ) {
-                               UI_SetScreenPlacement(PLACE_CENTER, 
PLACE_STRETCH);
-                               Fade( &w->flags, &w->backColor[3], fadeClamp, 
&w->nextTime, fadeCycle, qtrue, fadeAmount );
-                               DC->setColor( w->backColor );
-                               DC->drawHandlePic( fillRect.x, fillRect.y, 
fillRect.w, fillRect.h, w->background );
-                               DC->setColor( NULL );
-                               UI_SetScreenPlacement(PLACE_CENTER, 
PLACE_CENTER);
-                       } else {
-                               Fade( &w->flags, &w->backColor[3], fadeClamp, 
&w->nextTime, fadeCycle, qtrue, fadeAmount );
-                               DC->setColor( w->backColor );
-                               DC->drawHandlePic( fillRect.x, fillRect.y, 
fillRect.w, fillRect.h, w->background );
-                               DC->setColor( NULL );
-                       }
+                       Fade( &w->flags, &w->backColor[3], fadeClamp, 
&w->nextTime, fadeCycle, qtrue, fadeAmount );
+                       DC->setColor( w->backColor );
+                       DC->drawHandlePic( fillRect.x, fillRect.y, fillRect.w, 
fillRect.h, w->background );
+                       DC->setColor( NULL );
                } else {
                        DC->fillRect( fillRect.x, fillRect.y, fillRect.w, 
fillRect.h, w->backColor );
                }
@@ -852,7 +849,7 @@ void Window_Paint( Window *w, float fadeAmount, float 
fadeClamp, float fadeCycle
                                        DC->drawHandlePic( fillRect.x, 
fillRect.y, fillRect.w, fillRect.h, w->background );
                                        DC->setColor( NULL );
                                } else {
-                                       UI_SetScreenPlacement(PLACE_CENTER, 
PLACE_STRETCH);
+                                       UI_SetScreenPlacement(PLACE_CENTER, 
PLACE_CENTER);
                                        DC->drawHandlePic( fillRect.x, 
fillRect.y, fillRect.w, fillRect.h, w->background );
                                        DC->setColor( NULL );
                                }
diff --git a/SP/code/cgame/cg_draw.c b/SP/code/cgame/cg_draw.c
index 46bcd83..54cef3e 100644
--- a/SP/code/cgame/cg_draw.c
+++ b/SP/code/cgame/cg_draw.c
@@ -476,7 +476,7 @@ static void CG_DrawStatusBarHead( float x ) {
 
        VectorClear( angles );
 
-       if ( cg_fixedAspect.integer ) {
+       if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_CENTER, PLACE_BOTTOM);
        }
 
@@ -601,17 +601,9 @@ void CG_DrawTeamBackground( int x, int y, int w, int h, 
float alpha, int team )
                return;
        }
 
-       if ( cg_fixedAspect.integer ) {
-               trap_R_SetColor( hcolor );
-               CG_SetScreenPlacement(PLACE_STRETCH, 
CG_GetScreenVerticalPlacement());
-               CG_DrawPic( x, y, w, h, cgs.media.teamStatusBar );
-               CG_PopScreenPlacement();
-               trap_R_SetColor( NULL );
-       } else {
-               trap_R_SetColor( hcolor );
-               CG_DrawPic( x, y, w, h, cgs.media.teamStatusBar );
-               trap_R_SetColor( NULL );
-       }
+       trap_R_SetColor( hcolor );
+       CG_DrawPic( x, y, w, h, cgs.media.teamStatusBar );
+       trap_R_SetColor( NULL );
 }
 
 //////////////////////
@@ -739,8 +731,6 @@ static void CG_DrawStatusBar( void ) {
 
                if ( cg_fixedAspect.integer == 2 ) {
                        CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-               } else {
-                       CG_SetScreenPlacement(PLACE_CENTER, PLACE_BOTTOM);
                }
 
                value = ps->ammo[BG_FindAmmoForWeapon( 
cent->currentState.weapon )];
@@ -843,8 +833,6 @@ static void CG_DrawStatusBar( void ) {
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-       } else {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_BOTTOM);
        }
 
        //
@@ -1228,8 +1216,6 @@ static void CG_DrawUpperRight(stereoFrame_t stereoFrame) {
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_TOP);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_TOP);
        }
 
        if ( cgs.gametype >= GT_TEAM ) {
@@ -1503,7 +1489,7 @@ static void CG_DrawLowerRight( void ) {
 
        y = 480 - ICON_SIZE;
 
-       if ( cg_fixedAspect.integer ) {
+       if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
        }
 
@@ -1537,7 +1523,7 @@ static void CG_DrawTeamInfo( void ) {
                return; // disabled
        }
 
-       if ( cg_fixedAspect.integer ) {
+       if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement( PLACE_LEFT, PLACE_BOTTOM );
        }
 
@@ -1566,7 +1552,11 @@ static void CG_DrawTeamInfo( void ) {
                }
 
                trap_R_SetColor( hcolor );
-               CG_DrawPic( CHATLOC_X, CHATLOC_Y - h, 640, h, 
cgs.media.teamStatusBar );
+               if ( cg_fixedAspect.integer == 2 ) {
+                       CG_DrawPic( CHATLOC_X, CHATLOC_Y - h, 
cgs.glconfig.vidWidth, h, cgs.media.teamStatusBar );
+               } else {
+                       CG_DrawPic( CHATLOC_X, CHATLOC_Y - h, 640, h, 
cgs.media.teamStatusBar );
+               }
                trap_R_SetColor( NULL );
 
                hcolor[0] = hcolor[1] = hcolor[2] = 1.0;
@@ -1598,8 +1588,6 @@ static void CG_DrawPickupItem( void ) {
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        value = cg.itemPickup;
@@ -1664,8 +1652,6 @@ void CG_DrawHoldableItem_old( void ) {
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        value   = cg.predictedPlayerState.holdable[cg.holdableSelect];
@@ -1840,7 +1826,7 @@ static void CG_DrawDisconnect( void ) {
                return;
        }
 
-       if ( cg_fixedAspect.integer ) {
+       if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
        }
 
@@ -1874,8 +1860,6 @@ static void CG_DrawLagometer( void ) {
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_BOTTOM);
        }
 
        //
@@ -2103,7 +2087,7 @@ static void CG_DrawWeapReticle( void ) {
        vec4_t snoopercolor = {0.7, .8, 0.7, 0};    // greenish
        float snooperBrightness;
        float x = 80, y, w = 240, h = 240;
-       float width = 80.0;
+       float mask = 0, lb = 0;
 
        CG_AdjustFrom640( &x, &y, &w, &h );
 
@@ -2118,14 +2102,29 @@ static void CG_DrawWeapReticle( void ) {
        if ( weap == WP_SNIPERRIFLE ) {
                // sides
                if ( cg_fixedAspect.integer ) {
-                       if ( cgs.glconfig.vidWidth * 480 > 
cgs.glconfig.vidHeight * 640 ) {
-                               width = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
min( cgs.screenXScale, cgs.screenYScale ) * 480 ) ) / min( cgs.screenXScale, 
cgs.screenYScale ) );
+                       if ( cgs.glconfig.vidWidth * 480.0 > 
cgs.glconfig.vidHeight * 640.0 ) {
+                               mask = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
cgs.screenXScale * 480.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 );
                        }
 
-                       CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-                       CG_FillRect( 0, 0, width, 480, color );
-                       CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-                       CG_FillRect( 640-width, 0, width, 480, color );
+                       // sides with letterbox
+                       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_CENTER);
+                               CG_FillRect( 0, 0, 80, 480, color );
+                               CG_SetScreenPlacement(PLACE_RIGHT, 
PLACE_CENTER);
+                               CG_FillRect( 560, 0, 80, 480, color );
+
+                               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 );
+                       }
                } else {
                        CG_FillRect( 0, 0, 80, 480, color );
                        CG_FillRect( 560, 0, 80, 480, color );
@@ -2137,10 +2136,17 @@ static void CG_DrawWeapReticle( void ) {
                }
 
                if ( cgs.media.reticleShaderSimpleQ ) {
-                       trap_R_DrawStretchPic( x, 0, w, h, 0, 0, 1, 1, 
cgs.media.reticleShaderSimpleQ );    // tl
-                       trap_R_DrawStretchPic( x + w, 0, w, h, 1, 0, 0, 1, 
cgs.media.reticleShaderSimpleQ );  // tr
-                       trap_R_DrawStretchPic( x, h, w, h, 0, 1, 1, 0, 
cgs.media.reticleShaderSimpleQ );    // bl
-                       trap_R_DrawStretchPic( x + w, h, w, h, 1, 1, 0, 0, 
cgs.media.reticleShaderSimpleQ );  // br
+                       if ( cg_fixedAspect.integer ) {
+                               trap_R_DrawStretchPic( x, lb, w, h, 0, 0, 1, 1, 
cgs.media.reticleShaderSimpleQ );         // tl
+                               trap_R_DrawStretchPic( x + w, lb, w, h, 1, 0, 
0, 1, cgs.media.reticleShaderSimpleQ );     // tr
+                               trap_R_DrawStretchPic( x, h + lb, w, h, 0, 1, 
1, 0, cgs.media.reticleShaderSimpleQ );     // bl
+                               trap_R_DrawStretchPic( x + w, h + lb, w, h, 1, 
1, 0, 0, cgs.media.reticleShaderSimpleQ ); // br
+                       } else {
+                               trap_R_DrawStretchPic( x, 0, w, h, 0, 0, 1, 1, 
cgs.media.reticleShaderSimpleQ );      // tl
+                               trap_R_DrawStretchPic( x + w, 0, w, h, 1, 0, 0, 
1, cgs.media.reticleShaderSimpleQ );  // tr
+                               trap_R_DrawStretchPic( x, h, w, h, 0, 1, 1, 0, 
cgs.media.reticleShaderSimpleQ );      // bl
+                               trap_R_DrawStretchPic( x + w, h, w, h, 1, 1, 0, 
0, cgs.media.reticleShaderSimpleQ );  // br
+                       }
                }
 
                // hairs
@@ -2151,14 +2157,29 @@ static void CG_DrawWeapReticle( void ) {
        } else if ( weap == WP_SNOOPERSCOPE ) {
                // sides
                if ( cg_fixedAspect.integer ) {
-                       if ( cgs.glconfig.vidWidth * 480 > 
cgs.glconfig.vidHeight * 640 ) {
-                               width = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
min( cgs.screenXScale, cgs.screenYScale ) * 480 ) ) / min( cgs.screenXScale, 
cgs.screenYScale ) );
+                       if ( cgs.glconfig.vidWidth * 480.0 > 
cgs.glconfig.vidHeight * 640.0 ) {
+                               mask = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
cgs.screenXScale * 480.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 );
                        }
 
-                       CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-                       CG_FillRect( 0, 0, width, 480, color );
-                       CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-                       CG_FillRect( 640-width, 0, width, 480, color );
+                       // sides with letterbox
+                       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_CENTER);
+                               CG_FillRect( 0, 0, 80, 480, color );
+                               CG_SetScreenPlacement(PLACE_RIGHT, 
PLACE_CENTER);
+                               CG_FillRect( 560, 0, 80, 480, color );
+
+                               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 );
+                       }
                } else {
                        CG_FillRect( 0, 0, 80, 480, color );
                        CG_FillRect( 560, 0, 80, 480, color );
@@ -2204,14 +2225,29 @@ static void CG_DrawWeapReticle( void ) {
        } else if ( weap == WP_FG42SCOPE ) {
                // sides
                if ( cg_fixedAspect.integer ) {
-                       if ( cgs.glconfig.vidWidth * 480 > 
cgs.glconfig.vidHeight * 640 ) {
-                               width = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
min( cgs.screenXScale, cgs.screenYScale ) * 480 ) ) / min( cgs.screenXScale, 
cgs.screenYScale ) );
+                       if ( cgs.glconfig.vidWidth * 480.0 > 
cgs.glconfig.vidHeight * 640.0 ) {
+                               mask = 0.5 * ( ( cgs.glconfig.vidWidth - ( 
cgs.screenXScale * 480.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 );
                        }
 
-                       CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-                       CG_FillRect( 0, 0, width, 480, color );
-                       CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-                       CG_FillRect( 640-width, 0, width, 480, color );
+                       // sides with letterbox
+                       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_CENTER);
+                               CG_FillRect( 0, 0, 80, 480, color );
+                               CG_SetScreenPlacement(PLACE_RIGHT, 
PLACE_CENTER);
+                               CG_FillRect( 560, 0, 80, 480, color );
+
+                               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 );
+                       }
                } else {
                        CG_FillRect( 0, 0, 80, 480, color );
                        CG_FillRect( 560, 0, 80, 480, color );
@@ -2223,10 +2259,17 @@ static void CG_DrawWeapReticle( void ) {
                }
 
                if ( cgs.media.reticleShaderSimpleQ ) {
-                       trap_R_DrawStretchPic( x,   0, w, h, 0, 0, 1, 1, 
cgs.media.reticleShaderSimpleQ );  // tl
-                       trap_R_DrawStretchPic( x + w, 0, w, h, 1, 0, 0, 1, 
cgs.media.reticleShaderSimpleQ );  // tr
-                       trap_R_DrawStretchPic( x,   h, w, h, 0, 1, 1, 0, 
cgs.media.reticleShaderSimpleQ );  // bl
-                       trap_R_DrawStretchPic( x + w, h, w, h, 1, 1, 0, 0, 
cgs.media.reticleShaderSimpleQ );  // br
+                       if ( cg_fixedAspect.integer ) {
+                               trap_R_DrawStretchPic( x, lb, w, h, 0, 0, 1, 1, 
cgs.media.reticleShaderSimpleQ );         // tl
+                               trap_R_DrawStretchPic( x + w, lb, w, h, 1, 0, 
0, 1, cgs.media.reticleShaderSimpleQ );     // tr
+                               trap_R_DrawStretchPic( x, h + lb, w, h, 0, 1, 
1, 0, cgs.media.reticleShaderSimpleQ );     // bl
+                               trap_R_DrawStretchPic( x + w, h + lb, w, h, 1, 
1, 0, 0, cgs.media.reticleShaderSimpleQ ); // br
+                       } else {
+                               trap_R_DrawStretchPic( x, 0, w, h, 0, 0, 1, 1, 
cgs.media.reticleShaderSimpleQ );     // tl
+                               trap_R_DrawStretchPic( x + w, 0, w, h, 1, 0, 0, 
1, cgs.media.reticleShaderSimpleQ ); // tr
+                               trap_R_DrawStretchPic( x, h, w, h, 0, 1, 1, 0, 
cgs.media.reticleShaderSimpleQ );     // bl
+                               trap_R_DrawStretchPic( x + w, h, w, h, 1, 1, 0, 
0, cgs.media.reticleShaderSimpleQ ); // br
+                       }
                }
 
                // hairs
@@ -2268,6 +2311,10 @@ static void CG_DrawBinocReticle( void ) {
                trap_R_DrawStretchPic( w, h, w, h, 1, 1, 0, 0, 
cgs.media.binocShaderSimpleQ );  // br
        }
 
+       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
@@ -2869,7 +2916,7 @@ CG_DrawSpectator
 =================
 */
 static void CG_DrawSpectator( void ) {
-       if ( cg_fixedAspect.integer ) {
+       if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_CENTER, PLACE_BOTTOM);
        }
        CG_DrawBigString( 320 - 9 * 8, 440, "SPECTATOR", 1.0F );
@@ -2894,8 +2941,8 @@ static void CG_DrawVote( void ) {
                return;
        }
 
-       if ( cg_fixedAspect.integer ) {
-               CG_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
+       if ( cg_fixedAspect.integer == 2 ) {
+               CG_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
        }
 
        // play a talk beep whenever it is modified
@@ -2983,8 +3030,8 @@ static qboolean CG_DrawFollow( void ) {
                return qfalse;
        }
 
-       if ( cg_fixedAspect.integer ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_TOP);
+       if ( cg_fixedAspect.integer == 2 ) {
+               CG_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
        }
 
        color[0] = 1;
@@ -3044,7 +3091,7 @@ static void CG_DrawAmmoWarning( void ) {
                return;
        }
 
-       if ( cg_fixedAspect.integer ) {
+       if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_CENTER, PLACE_TOP);
        }
 
@@ -3080,7 +3127,7 @@ static void CG_DrawWarmup( void ) {
                return;
        }
 
-       if ( cg_fixedAspect.integer ) {
+       if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_CENTER, PLACE_TOP);
        }
 
@@ -3349,7 +3396,8 @@ static void CG_DrawFlashFire( void ) {
                col[3] = alpha;
                trap_R_SetColor( col );
                if ( cg_fixedAspect.integer ) {
-                       trap_R_DrawStretchPic( -10, -10, 650, 490, 0, 0, 1, 1, 
cgs.media.viewFlashFire[( cg.time / 50 ) % 16] );
+                       CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
+                       CG_DrawPic( -10, -10, 650, 490, 
cgs.media.viewFlashFire[( cg.time / 50 ) % 16] );
                } else {
                        CG_DrawPic( -10, -10, 650, 490, 
cgs.media.viewFlashFire[( cg.time / 50 ) % 16] );
                }
@@ -3391,7 +3439,8 @@ static void CG_DrawFlashLightning( void ) {
                shader = cgs.media.viewTeslaDamageEffectShader;
        }
        if ( cg_fixedAspect.integer ) {
-               trap_R_DrawStretchPic( -10, -10, 650, 490, 0, 0, 1, 1, shader );
+               CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
+               CG_DrawPic( -10, -10, 650, 490, shader );
        } else {
                CG_DrawPic( -10, -10, 650, 490, shader );
        }
@@ -3724,8 +3773,6 @@ static void CG_Draw2D(stereoFrame_t stereoFrame) {
                        if ( cg_drawStatus.integer ) {
                                if ( cg_fixedAspect.integer == 2 ) {
                                        CG_SetScreenPlacement(PLACE_LEFT, 
PLACE_BOTTOM);
-                               } else if ( cg_fixedAspect.integer == 1 ) {
-                                       CG_SetScreenPlacement(PLACE_CENTER, 
PLACE_BOTTOM);
                                }
 
                                if ( !cg_oldWolfUI.integer ) {
diff --git a/SP/code/cgame/cg_drawtools.c b/SP/code/cgame/cg_drawtools.c
index c1cbd13..55d65ed 100644
--- a/SP/code/cgame/cg_drawtools.c
+++ b/SP/code/cgame/cg_drawtools.c
@@ -93,7 +93,6 @@ void CG_AdjustFrom640( float *x, float *y, float *w, float *h 
) {
                *x += 0.5 * ( cgs.glconfig.vidWidth - ( cgs.glconfig.vidHeight 
* 640 / 480 ) );
        }
 #endif
-
        if ( cg_fixedAspect.integer ) {
                if (cg_horizontalPlacement == PLACE_STRETCH) {
                        // scale for screen sizes (not aspect correct in wide 
screen)
diff --git a/SP/code/cgame/cg_info.c b/SP/code/cgame/cg_info.c
index ee0d8d1..2f0cb62 100644
--- a/SP/code/cgame/cg_info.c
+++ b/SP/code/cgame/cg_info.c
@@ -410,7 +410,7 @@ void CG_DrawInformation( void ) {
        }
 
        if ( !levelshot ) {
-               trap_R_RegisterShaderNoMip( "levelshots/unknownmap.jpg" );
+               levelshot = trap_R_RegisterShaderNoMip( 
"levelshots/unknownmap.jpg" );
        }
 
        trap_R_SetColor( NULL );
diff --git a/SP/code/cgame/cg_newdraw.c b/SP/code/cgame/cg_newdraw.c
index 3bbe4e5..2cd27f8 100644
--- a/SP/code/cgame/cg_newdraw.c
+++ b/SP/code/cgame/cg_newdraw.c
@@ -202,8 +202,6 @@ static void CG_DrawPlayerArmorValue( rectDef_t *rect, int 
font, float scale, vec
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        if ( shader ) {
@@ -277,8 +275,6 @@ static void CG_DrawPlayerWeaponIcon( rectDef_t *rect, 
qboolean drawHighlighted,
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        // DHM - Nerve :: special case for WP_CLASS_SPECIAL
@@ -604,8 +600,6 @@ static void CG_DrawPlayerAmmoValue( rectDef_t *rect, int 
font, float scale, vec4
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        switch ( weap ) {      // some weapons don't draw ammo count text
@@ -904,8 +898,6 @@ static void CG_DrawHoldableItem( rectDef_t *rect, int font, 
float scale, qboolea
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        value   = cg.predictedPlayerState.holdable[cg.holdableSelect];
@@ -1081,8 +1073,6 @@ static void CG_DrawPlayerHealth( rectDef_t *rect, int 
font, float scale, vec4_t
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        if ( shader ) {
@@ -2179,8 +2169,6 @@ void CG_DrawWeapHeat( rectDef_t *rect, int align ) {
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        if ( align != HUD_HORIZONTAL ) {
@@ -2211,8 +2199,6 @@ static void CG_DrawFatigue( rectDef_t *rect, vec4_t 
color, int align ) {
 
        if ( cg_fixedAspect.integer == 2 ) {
                CG_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        }
 
        if ( align != HUD_HORIZONTAL ) {
diff --git a/SP/code/cgame/cg_scoreboard.c b/SP/code/cgame/cg_scoreboard.c
index 382067c..4dfa837 100644
--- a/SP/code/cgame/cg_scoreboard.c
+++ b/SP/code/cgame/cg_scoreboard.c
@@ -636,7 +636,7 @@ void CG_DrawTourneyScoreboard( void ) {
                color[3] = 1;
                CG_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
                CG_FillRect( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, color );
-               CG_PopScreenPlacement();
+               CG_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
        } else {
                color[0] = color[1] = color[2] = 0;
                color[3] = 1;
diff --git a/SP/code/cgame/cg_weapons.c b/SP/code/cgame/cg_weapons.c
index 29fff31..69e9421 100644
--- a/SP/code/cgame/cg_weapons.c
+++ b/SP/code/cgame/cg_weapons.c
@@ -3112,12 +3112,6 @@ void CG_DrawWeaponSelect( void ) {
        int bits[MAX_WEAPONS / ( sizeof( int ) * 8 )];
        float       *color;
 
-       if ( cg_fixedAspect.integer == 2 ) {
-               CG_SetScreenPlacement(PLACE_RIGHT, PLACE_BOTTOM);
-       } else if ( cg_fixedAspect.integer == 1 ) {
-               CG_SetScreenPlacement(PLACE_CENTER, PLACE_BOTTOM);
-       }
-
        // don't display if dead
        if ( cg.predictedPlayerState.stats[STAT_HEALTH] <= 0 ) {
                return;
@@ -3133,6 +3127,10 @@ void CG_DrawWeaponSelect( void ) {
        }
        trap_R_SetColor( color );
 
+       if ( cg_fixedAspect.integer == 2 ) {
+               CG_SetScreenPlacement(PLACE_RIGHT, PLACE_TOP);
+       }
+
 
 //----(SA)     neither of these overlap the weapon selection area anymore, so 
let them stay
        // showing weapon select clears pickup item display, but not the blend 
blob
diff --git a/SP/code/ui/ui_main.c b/SP/code/ui/ui_main.c
index 11f8b0f..89f84b5 100644
--- a/SP/code/ui/ui_main.c
+++ b/SP/code/ui/ui_main.c
@@ -1484,7 +1484,21 @@ static void UI_DrawMapLevelshot( rectDef_t *rect ) {
        }
 
        if ( !levelshot ) {
-               levelshot = trap_R_RegisterShaderNoMip( "menu/art/unknownmap" );
+               levelshot = trap_R_RegisterShaderNoMip( 
"levelshots/unknownmap.jpg" );
+       }
+
+       // HACK Pillarboxing...Copied from ui_shared.c 
+       if ( ui_fixedAspect.integer ) {
+               if ( DC->glconfig.vidWidth * 480.0 > DC->glconfig.vidHeight * 
640.0 ) {
+                       vec4_t col = {0, 0, 0, 1};
+                       float pillar = 0.5 * ( ( DC->glconfig.vidWidth - ( 
DC->xscale * 640.0 ) ) / DC->xscale );
+
+                       UI_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
+                       DC->fillRect( 0, 0, pillar + 1, 480, col );
+                       UI_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
+                       DC->fillRect( 640 - pillar, 0, pillar + 1, 480, col );
+                       UI_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
+               }
        }
 
        UI_DrawHandlePic( rect->x, rect->y, rect->w, rect->h, levelshot );
diff --git a/SP/code/ui/ui_shared.c b/SP/code/ui/ui_shared.c
index 55fb9ec..9a89ab7 100644
--- a/SP/code/ui/ui_shared.c
+++ b/SP/code/ui/ui_shared.c
@@ -146,6 +146,7 @@ translateString_t translateStrings[] = {
        {"or"}                       //
 };
 
+vmCvar_t ui_fixedAspect;
 
 static screenPlacement_e ui_horizontalPlacement = PLACE_CENTER;
 static screenPlacement_e ui_verticalPlacement = PLACE_CENTER;
@@ -197,7 +198,6 @@ screenPlacement_e UI_GetScreenVerticalPlacement(void)
        return ui_verticalPlacement;
 }
 
-vmCvar_t ui_fixedAspect;
 
 /*
 ================
@@ -845,13 +845,30 @@ void Window_Paint( Window *w, float fadeAmount, float 
fadeClamp, float fadeCycle
                fillRect.h -= w->borderSize + 1;
        }
 
-       // Make pillarbox for 4:3 UI
+       // Make menus letterboxed if aspect is < 4:3
+       if ( ui_fixedAspect.integer ) {
+               if ( DC->glconfig.vidWidth * 480.0 < DC->glconfig.vidHeight * 
640.0 ) {
+                       vec4_t col = {0, 0, 0, 1};
+                       float lb = 0.5 * ( ( DC->glconfig.vidHeight - ( 
DC->yscale * 480.0 ) ) / DC->yscale );
+
+                       UI_SetScreenPlacement(PLACE_LEFT, PLACE_BOTTOM);
+                       DC->fillRect( 0, 480 - lb, 640, lb + 1, col );
+                       UI_SetScreenPlacement(PLACE_LEFT, PLACE_TOP);
+                       DC->fillRect( 0, 0, 640, lb + 1, col );
+                       UI_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
+               }
+       }
+
+       // Make menus pillarboxed if using 4:3 UI
        if ( ui_fixedAspect.integer == 1 ) {
-               if ( DC->glconfig.vidWidth * 480 > DC->glconfig.vidHeight * 640 
) {
+               if ( DC->glconfig.vidWidth * 480.0 > DC->glconfig.vidHeight * 
640.0 ) {
                        vec4_t col = {0, 0, 0, 1};
+                       float pillar = 0.5 * ( ( DC->glconfig.vidWidth - ( 
DC->xscale * 640.0 ) ) / DC->xscale );
+
                        UI_SetScreenPlacement(PLACE_LEFT, PLACE_CENTER);
-                       DC->drawRect( 0, 0, DC->xBias, 480, DC->xBias + 1, col 
);
-                       DC->drawRect( 640 + DC->xBias, 0, DC->xBias, 480, 
DC->xBias + 1, col );
+                       DC->fillRect( 0, 0, pillar + 1, 480, col );
+                       UI_SetScreenPlacement(PLACE_RIGHT, PLACE_CENTER);
+                       DC->fillRect( 640 - pillar, 0, pillar + 1, 480, col );
                        UI_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
                }
        }
@@ -873,12 +890,29 @@ void Window_Paint( Window *w, float fadeAmount, float 
fadeClamp, float fadeCycle
                if ( w->flags & WINDOW_FORECOLORSET ) {
                        DC->setColor( w->foreColor );
                }
-               if ( ui_fixedAspect.integer == 2 && ( Q_stricmpn( w->name, 
"FLA", 3 ) ) && ( Q_stricmpn( w->name, "WOLF", 4 ) ) ) { // HACK to widen menu 
items
-                       UI_SetScreenPlacement(PLACE_STRETCH, PLACE_STRETCH);
-                       DC->drawHandlePic( fillRect.x, fillRect.y, fillRect.w, 
fillRect.h, w->background );
-                       DC->setColor( NULL );
-               } else {
+               if ( ui_fixedAspect.integer == 2 ) {
+                       if ( DC->glconfig.vidWidth * 480 > 
DC->glconfig.vidHeight * 640 ) {
+                               // HACK ... widen menu without stretching items 
and models
+                               if ( !Q_stricmpn( w->name, "BLACKGRAD", 9 ) ) {
+                                       UI_SetScreenPlacement(PLACE_STRETCH, 
PLACE_STRETCH);
+                                       DC->drawHandlePic( fillRect.x, 
fillRect.y, fillRect.w, fillRect.h, w->background );
+                                       DC->setColor( NULL );
+                               } else if ( !Q_stricmpn( w->name, "gold_line", 
9 ) ) {
+                                       UI_SetScreenPlacement(PLACE_STRETCH, 
PLACE_STRETCH);
+                                       DC->drawHandlePic( fillRect.x, 
fillRect.y, fillRect.w, fillRect.h, w->background );
+                                       DC->setColor( NULL );
+                               } else {
+                                       UI_SetScreenPlacement(PLACE_CENTER, 
PLACE_CENTER);
+                                       DC->drawHandlePic( fillRect.x, 
fillRect.y, fillRect.w, fillRect.h, w->background );
+                                       DC->setColor( NULL );
+                               }
+                       } else {
+                               UI_SetScreenPlacement(PLACE_CENTER, 
PLACE_CENTER);
+                               DC->drawHandlePic( fillRect.x, fillRect.y, 
fillRect.w, fillRect.h, w->background );
+                               DC->setColor( NULL );
+                       }
                        UI_SetScreenPlacement(PLACE_CENTER, PLACE_CENTER);
+               } else {
                        DC->drawHandlePic( fillRect.x, fillRect.y, fillRect.w, 
fillRect.h, w->background );
                        DC->setColor( NULL );
                }

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/iortcw.git

_______________________________________________
Pkg-games-commits mailing list
Pkg-games-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to