Correct aspect ratio on scope / binoculars overlay

This commit is contained in:
Simon 2022-11-12 19:22:14 +00:00
parent 3fe778ea7f
commit 92ef497bbc
2 changed files with 25 additions and 2 deletions

View file

@ -2512,6 +2512,24 @@ static qboolean CG_RenderingFromMiscCamera()
return qfalse; return qfalse;
} }
/*
-------------------------
CG_DrawZoomBorders
-------------------------
*/
static void CG_DrawZoomBorders( void )
{
vec4_t modulate;
modulate[0] = modulate[1] = modulate[2] = 0.0f;
modulate[3] = 1.0f;
int bar_height = 80;
CG_FillRect( 0, 0, 640, bar_height, modulate );
CG_FillRect( 0, 480 - 80, 640, bar_height, modulate );
}
/* /*
================= =================
CG_Draw2D CG_Draw2D
@ -2555,6 +2573,11 @@ static void CG_Draw2D( void )
CGCam_DrawWideScreen(); CGCam_DrawWideScreen();
} }
if (cg.zoomMode)
{
CG_DrawZoomBorders();
}
cg.drawingHUD = CG_HUD_SCALED; cg.drawingHUD = CG_HUD_SCALED;
CG_DrawBatteryCharge(); CG_DrawBatteryCharge();
@ -2831,7 +2854,7 @@ void CG_DrawActive( stereoFrame_t stereoView ) {
// offset vieworg appropriately if we're doing stereo separation // offset vieworg appropriately if we're doing stereo separation
VectorCopy( cg.refdef.vieworg, baseOrg ); VectorCopy( cg.refdef.vieworg, baseOrg );
if ( separation != 0 && (!in_camera || vr->immersive_cinematics) && !in_misccamera) { if ( separation != 0 && (!in_camera || vr->immersive_cinematics) && !in_misccamera && cg.zoomMode != 2 ) {
VectorMA( cg.refdef.vieworg, -separation, cg.refdef.viewaxis[1], cg.refdef.vieworg ); VectorMA( cg.refdef.vieworg, -separation, cg.refdef.viewaxis[1], cg.refdef.vieworg );
} }

View file

@ -30,7 +30,7 @@ void CG_AdjustFrom640( float *x, float *y, float *w, float *h ) {
if (cg.drawingHUD && !vr->cin_camera && !vr->using_screen_layer) if (cg.drawingHUD && !vr->cin_camera && !vr->using_screen_layer)
{ {
float screenXScale = 1.0f / (cg.drawingHUD == CG_HUD_SCALED ? 2.5f : 1.0f); float screenXScale = 1.0f / (cg.drawingHUD == CG_HUD_SCALED ? 2.5f : 1.0f);
float screenYScale = 1.0f / (cg.drawingHUD == CG_HUD_SCALED ? 2.5f : 1.0f); float screenYScale = 1.0f / (cg.drawingHUD == CG_HUD_SCALED ? 2.5f : 1.25f);
float xoffset = cg.drawingHUD == CG_HUD_SCALED ? -20 : 0; float xoffset = cg.drawingHUD == CG_HUD_SCALED ? -20 : 0;
if (cg.refdef.stereoView == STEREO_LEFT) { if (cg.refdef.stereoView == STEREO_LEFT) {