diff --git a/engine/client/pr_menu.c b/engine/client/pr_menu.c index 83c9b8991..997508b67 100644 --- a/engine/client/pr_menu.c +++ b/engine/client/pr_menu.c @@ -345,7 +345,20 @@ void PF_CL_drawcharacter (progfuncs_t *prinst, struct globalvars_s *pr_globals) if (Draw_ImageColours) Draw_ImageColours(rgb[0], rgb[1], rgb[2], alpha); if (Draw_Image) - Draw_Image(pos[0], pos[1], size[0], size[1], fcol, frow, fcol+fsize, frow+fsize, Draw_CachePic("conchars")); + { + if (qrenderer == QR_SOFTWARE) + { + extern cvar_t vid_conwidth, vid_conheight; + float xratio, yratio; + // this has to be done this way because CSQC drawing needs + // to respect these cvars + xratio = vid.width / vid_conwidth.value; + yratio = vid.height / vid_conheight.value; + Draw_Image(pos[0]*xratio, pos[1]*yratio, size[0]*xratio, size[1]*yratio, fcol, frow, fcol+fsize, frow+fsize, Draw_CachePic("conchars")); + } + else + Draw_Image(pos[0], pos[1], size[0], size[1], fcol, frow, fcol+fsize, frow+fsize, Draw_CachePic("conchars")); + } G_FLOAT(OFS_RETURN) = 1; } diff --git a/engine/sw/sw_draw.c b/engine/sw/sw_draw.c index c55f62a0f..a40b9decf 100644 --- a/engine/sw/sw_draw.c +++ b/engine/sw/sw_draw.c @@ -1893,20 +1893,6 @@ void SWDraw_Image (float xp, float yp, float wp, float hp, float s1, float t1, f if (!pic) return; - // scale call against console vs actual video ration - { - // this has to be done this way because CSQC drawing needs - // to respect these cvars - extern cvar_t vid_conheight, vid_conwidth; - - xratio = vid.width / vid_conwidth.value; - yratio = vid.height / vid_conheight.value; - xp *= xratio; - yp *= yratio; - wp *= xratio; - hp *= yratio; - } - // image scale xratio = pic->width / wp; yratio = pic->height / hp;