X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fhud%2Fhud.qc;h=3493cde26ca130bd59c486810933b806663c81f8;hb=25a407b7b13088fb19505397e4b9357640ebbac8;hp=2b8eed95f7705578fc5ae34a083e8187c0f45a0b;hpb=13832240e226eba119844d7bd02ca51b617e586a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/hud/hud.qc b/qcsrc/client/hud/hud.qc index 2b8eed95f7..3493cde26c 100644 --- a/qcsrc/client/hud/hud.qc +++ b/qcsrc/client/hud/hud.qc @@ -75,14 +75,14 @@ vector HUD_Get_Num_Color (float hp, float maxvalue) float HUD_GetRowCount(int item_count, vector size, float item_aspect) { - TC(int, item_count); + TC(int, item_count); float aspect = size_y / size_x; return bound(1, floor((sqrt(4 * item_aspect * aspect * item_count + aspect * aspect) + aspect + 0.5) / 2), item_count); } vector HUD_GetTableSize_BestItemAR(int item_count, vector psize, float item_aspect) { - TC(int, item_count); + TC(int, item_count); float columns, rows; float ratio, best_ratio = 0; float best_columns = 1, best_rows = 1; @@ -180,7 +180,7 @@ void HUD_Panel_LoadCvars() //basically the same code of draw_ButtonPicture and draw_VertButtonPicture for the menu void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, float length_ratio, bool vertical, float baralign, vector theColor, float theAlpha, int drawflag) { - TC(bool, vertical); TC(int, drawflag); + TC(bool, vertical); TC(int, drawflag); if(!length_ratio || !theAlpha) return; if(length_ratio > 1) @@ -287,7 +287,7 @@ void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, flo void HUD_Panel_DrawHighlight(vector pos, vector mySize, vector color, float theAlpha, int drawflag) { - TC(int, drawflag); + TC(int, drawflag); if(!theAlpha) return; @@ -308,7 +308,7 @@ void HUD_Panel_DrawHighlight(vector pos, vector mySize, vector color, float theA void DrawNumIcon_expanding(vector myPos, vector mySize, float theTime, string icon, bool vertical, int icon_right_align, vector color, float theAlpha, float fadelerp) { - TC(bool, vertical); TC(int, icon_right_align); + TC(bool, vertical); TC(int, icon_right_align); vector newPos = '0 0 0', newSize = '0 0 0'; vector picpos, numpos; @@ -388,7 +388,7 @@ void DrawNumIcon_expanding(vector myPos, vector mySize, float theTime, string ic void DrawNumIcon(vector myPos, vector mySize, float theTime, string icon, bool vertical, int icon_right_align, vector color, float theAlpha) { - TC(bool, vertical); TC(int, icon_right_align); + TC(bool, vertical); TC(int, icon_right_align); DrawNumIcon_expanding(myPos, mySize, theTime, icon, vertical, icon_right_align, color, theAlpha, 0); } @@ -561,6 +561,26 @@ void Hud_Dynamic_Frame() HUD_Scale_Disable(); } +bool HUD_WouldShowCursor() +{ + if(autocvar__hud_configure) + return true; + if(hud_panel_radar_mouse) + return true; + if(mv_active) + return true; + //entity local_player = ((csqcplayer) ? csqcplayer : CSQCModel_server2csqc(player_localentnum - 1)); // TODO: doesn't use regular cursor handling + //if(local_player.viewloc && (local_player.viewloc.spawnflags & VIEWLOC_FREEAIM)) + //return true; + if(HUD_Radar_Clickable()) + return true; + if(HUD_MinigameMenu_IsOpened() || active_minigame) + return true; + if(QuickMenu_IsOpened()) + return true; + return false; +} + void HUD_Main() { int i; @@ -680,6 +700,11 @@ void HUD_Main() HUD_Panel_Draw(HUD_PANEL(QUICKMENU)); HUD_Panel_Draw(HUD_PANEL(SCOREBOARD)); + bool cursor_active_prev = cursor_active; + cursor_active = HUD_WouldShowCursor(); + if (cursor_active_prev != cursor_active && autocvar_hud_cursormode) + setcursormode(cursor_active); + if (intermission == 2) HUD_Reset();