]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix my half-baked brainfarts
authordrjaska <drjaska83@gmail.com>
Wed, 4 Dec 2024 04:07:50 +0000 (06:07 +0200)
committerdrjaska <drjaska83@gmail.com>
Wed, 4 Dec 2024 04:12:06 +0000 (06:12 +0200)
qcsrc/client/view.qc

index 0180f712fb9ce4f38fc49c7308e933f0a5ae4238..eab012a94f5d00d5f5f9bf039986665651f6f1b9 100644 (file)
@@ -293,13 +293,16 @@ void viewmodel_animate(entity this)
 
 void viewmodel_draw(entity this)
 {
-       int mask = (intermission || (STAT(HEALTH) <= 0) || autocvar_chase_active) ? 0 : MASK_NORMAL;
-       float a;
+       // alpha calculations
+       float a = this.m_alpha;
+       float a_max = min(autocvar_cl_viewmodel_alpha, 1);
+       float a_min = -1;
        if (autocvar_cl_viewmodel_alpha_min)
-               a = bound(autocvar_cl_viewmodel_alpha_min, this.m_alpha, autocvar_cl_viewmodel_alpha);
-       else
-               a = autocvar_cl_viewmodel_alpha;
-       a = bound(-1, a, this.m_alpha);
+               a_min = max(autocvar_cl_viewmodel_alpha_min, -1);
+       a = max(a_min, a); // NOT DP BOUND, thus avoids:
+       a = min(a, a_max); // bound(0.75, 0.25, 0.50) -> 0.75 which isn't 0.5
+
+       int mask = (intermission || (STAT(HEALTH) <= 0) || autocvar_chase_active) ? 0 : MASK_NORMAL;
        int wepskin = this.m_skin;
        bool invehicle = player_localentnum > maxclients;
        if (invehicle) a = -1;