X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fview.qc;h=5f95d4f77a7645c9803eb13c0c4820b472e3ae29;hb=7b86c6c5151b33a7d47c450e3d56bcec95ed4bb1;hp=7183d80c8be432be81153e230e98e58c0f110cdf;hpb=b12384978a6b1ad4ca08c8a35f8a197a36ec5e05;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/view.qc b/qcsrc/client/view.qc index 7183d80c8..5f95d4f77 100644 --- a/qcsrc/client/view.qc +++ b/qcsrc/client/view.qc @@ -359,11 +359,6 @@ STATIC_INIT(viewmodel) { vector project_3d_to_2d(vector vec) { vec = cs_project(vec); - if(cs_project_is_b0rked > 0) - { - vec.x *= vid_conwidth / vid_width; - vec.y *= vid_conheight / vid_height; - } return vec; } @@ -868,41 +863,46 @@ void HUD_Draw(entity this) Hud_Dynamic_Frame(); if(!intermission) - if (MUTATOR_CALLHOOK(HUD_Draw_overlay)) - { - drawfill('0 0 0', vec2(vid_conwidth, vid_conheight), M_ARGV(0, vector), autocvar_hud_colorflash_alpha * M_ARGV(1, float), DRAWFLAG_ADDITIVE); - } - else if(STAT(FROZEN)) { - vector col = '0.25 0.90 1'; - float col_fade = max(0, STAT(REVIVE_PROGRESS) * 2 - 1); - float alpha_fade = 0.3 + 0.7 * (1 - max(0, STAT(REVIVE_PROGRESS) * 4 - 3)); - if(col_fade) - col += vec3(col_fade, -col_fade, -col_fade); - drawfill('0 0 0', vec2(vid_conwidth, vid_conheight), col, autocvar_hud_colorflash_alpha * alpha_fade, DRAWFLAG_ADDITIVE); + if (MUTATOR_CALLHOOK(HUD_Draw_overlay)) + { + drawfill('0 0 0', vec2(vid_conwidth, vid_conheight), M_ARGV(0, vector), autocvar_hud_colorflash_alpha * M_ARGV(1, float), DRAWFLAG_ADDITIVE); + } + else if(STAT(FROZEN)) + { + vector col = '0.25 0.90 1'; + float col_fade = max(0, STAT(REVIVE_PROGRESS) * 2 - 1); + float alpha_fade = 0.3 + 0.7 * (1 - max(0, STAT(REVIVE_PROGRESS) * 4 - 3)); + if(col_fade) + col += vec3(col_fade, -col_fade, -col_fade); + drawfill('0 0 0', vec2(vid_conwidth, vid_conheight), col, autocvar_hud_colorflash_alpha * alpha_fade, DRAWFLAG_ADDITIVE); + } } HUD_Scale_Enable(); if(!intermission) - if(STAT(NADE_TIMER) && autocvar_cl_nade_timer) // give nade top priority, as it's a matter of life and death - { - vector col = '0.25 0.90 1' + vec3(STAT(NADE_TIMER), -STAT(NADE_TIMER), -STAT(NADE_TIMER)); - DrawCircleClippedPic(vec2(0.5 * vid_conwidth, 0.6 * vid_conheight), 0.1 * vid_conheight, "gfx/crosshair_ring", STAT(NADE_TIMER), col, autocvar_hud_colorflash_alpha, DRAWFLAG_ADDITIVE); - drawstring_aspect(eY * 0.64 * vid_conheight, ((autocvar_cl_nade_timer == 2) ? _("Nade timer") : ""), vec2(vid_conwidth, 0.025 * vid_conheight), '1 1 1', 1, DRAWFLAG_NORMAL); - } - else if(STAT(CAPTURE_PROGRESS)) { - DrawCircleClippedPic(vec2(0.5 * vid_conwidth, 0.6 * vid_conheight), 0.1 * vid_conheight, "gfx/crosshair_ring", STAT(CAPTURE_PROGRESS), '0.25 0.90 1', autocvar_hud_colorflash_alpha, DRAWFLAG_ADDITIVE); - drawstring_aspect(eY * 0.64 * vid_conheight, _("Capture progress"), vec2(vid_conwidth, 0.025 * vid_conheight), '1 1 1', 1, DRAWFLAG_NORMAL); - } - else if(STAT(REVIVE_PROGRESS)) - { - DrawCircleClippedPic(vec2(0.5 * vid_conwidth, 0.6 * vid_conheight), 0.1 * vid_conheight, "gfx/crosshair_ring", STAT(REVIVE_PROGRESS), '0.25 0.90 1', autocvar_hud_colorflash_alpha, DRAWFLAG_ADDITIVE); - drawstring_aspect(eY * 0.64 * vid_conheight, _("Revival progress"), vec2(vid_conwidth, 0.025 * vid_conheight), '1 1 1', 1, DRAWFLAG_NORMAL); + if(STAT(NADE_TIMER) && autocvar_cl_nade_timer) // give nade top priority, as it's a matter of life and death + { + vector col = '0.25 0.90 1' + vec3(STAT(NADE_TIMER), -STAT(NADE_TIMER), -STAT(NADE_TIMER)); + DrawCircleClippedPic(vec2(0.5 * vid_conwidth, 0.6 * vid_conheight), 0.1 * vid_conheight, "gfx/crosshair_ring", STAT(NADE_TIMER), col, autocvar_hud_colorflash_alpha, DRAWFLAG_ADDITIVE); + drawstring_aspect(eY * 0.64 * vid_conheight, ((autocvar_cl_nade_timer == 2) ? _("Nade timer") : ""), vec2(vid_conwidth, 0.025 * vid_conheight), '1 1 1', 1, DRAWFLAG_NORMAL); + } + else if(STAT(CAPTURE_PROGRESS)) + { + DrawCircleClippedPic(vec2(0.5 * vid_conwidth, 0.6 * vid_conheight), 0.1 * vid_conheight, "gfx/crosshair_ring", STAT(CAPTURE_PROGRESS), '0.25 0.90 1', autocvar_hud_colorflash_alpha, DRAWFLAG_ADDITIVE); + drawstring_aspect(eY * 0.64 * vid_conheight, _("Capture progress"), vec2(vid_conwidth, 0.025 * vid_conheight), '1 1 1', 1, DRAWFLAG_NORMAL); + } + else if(STAT(REVIVE_PROGRESS)) + { + DrawCircleClippedPic(vec2(0.5 * vid_conwidth, 0.6 * vid_conheight), 0.1 * vid_conheight, "gfx/crosshair_ring", STAT(REVIVE_PROGRESS), '0.25 0.90 1', autocvar_hud_colorflash_alpha, DRAWFLAG_ADDITIVE); + drawstring_aspect(eY * 0.64 * vid_conheight, _("Revival progress"), vec2(vid_conwidth, 0.025 * vid_conheight), '1 1 1', 1, DRAWFLAG_NORMAL); + } } HUD_Scale_Disable(); if(autocvar_r_letterbox == 0) + { if(autocvar_viewsize < 120) { if(!MUTATOR_CALLHOOK(DrawScoreboardAccuracy)) @@ -911,6 +911,7 @@ void HUD_Draw(entity this) HUD_Main(); HUD_Scale_Disable(); } + } // crosshair goes VERY LAST UpdateDamage(); @@ -1720,34 +1721,6 @@ void CSQC_UpdateView(entity this, float w, float h) NextFrameCommand = string_null; } - // we must do this check AFTER a frame was rendered, or it won't work - if(cs_project_is_b0rked == 0) - { - string w0, h0; - w0 = ftos(autocvar_vid_conwidth); - h0 = ftos(autocvar_vid_conheight); - //setproperty(VF_VIEWPORT, '0 0 0', '640 480 0'); - //setproperty(VF_FOV, '90 90 0'); - setproperty(VF_ORIGIN, '0 0 0'); - setproperty(VF_ANGLES, '0 0 0'); - setproperty(VF_PERSPECTIVE, 1); - vector forward, right, up; - MAKE_VECTORS('0 0 0', forward, right, up); - vector v1, v2; - cvar_set("vid_conwidth", "800"); - cvar_set("vid_conheight", "600"); - v1 = cs_project(forward); - cvar_set("vid_conwidth", "640"); - cvar_set("vid_conheight", "480"); - v2 = cs_project(forward); - if(v1 == v2) - cs_project_is_b0rked = 1; - else - cs_project_is_b0rked = -1; - cvar_set("vid_conwidth", w0); - cvar_set("vid_conheight", h0); - } - HUD_Mouse(local_player); cl_notice_run();