]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/weaponslist.c
Menu: avoid loading font twice on resolution switch; avoid extra r_restart on resolut...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / weaponslist.c
index bd2acdf5a60ea0e20718ea363b9c9ee1d905a2bc..6790befe122be32a5159e5732fa2615efc5d6daa 100644 (file)
@@ -10,7 +10,6 @@ CLASS(XonoticWeaponsList) EXTENDS(XonoticListBox)
        ATTRIB(XonoticWeaponsList, realFontSize, vector, '0 0 0')
        ATTRIB(XonoticWeaponsList, realUpperMargin, float, 0)
        METHOD(XonoticWeaponsList, mouseDrag, float(entity, vector))
-       ATTRIB(XonoticWeaponsList, scrollbarWidth, float, 0)
 ENDCLASS(XonoticWeaponsList)
 entity makeXonoticWeaponsList();
 void WeaponsList_MoveUp_Click(entity btn, entity me);
@@ -36,10 +35,7 @@ void XonoticWeaponsList_draw(entity me)
        s = W_NumberWeaponOrder(cvar_string("cl_weaponpriority"));
        t = W_FixWeaponOrder(s, 1);
        if(t != s)
-       {
-               print("AUTOFIXED\n");
                cvar_set("cl_weaponpriority", W_NameWeaponOrder(t));
-       }
        me.nItems = tokenize_console(t);
        SUPER(XonoticWeaponsList).draw(me);
 }
@@ -72,8 +68,13 @@ float XonoticWeaponsList_mouseDrag(entity me, vector pos)
        float f, i;
        i = me.selectedItem;
        f = SUPER(XonoticWeaponsList).mouseDrag(me, pos);
-       if(me.selectedItem != i)
-               cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, i));
+       
+       if(me.pressed != 1) // don't change priority if the person is just scrolling
+       {
+               if(me.selectedItem != i)
+                       cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, i));
+       }
+       
        return f;
 }
 string XonoticWeaponsList_toString(entity me)
@@ -96,7 +97,10 @@ void XonoticWeaponsList_drawListBoxItem(entity me, float i, vector absSize, floa
        if(isSelected)
                draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
        e = get_weaponinfo(stof(argv(i)));
-       draw_Text(me.realUpperMargin * eY, e.message, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+       string msg = e.message;
+       if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)
+               msg = sprintf(_("%s (mutator weapon)"), msg);
+       draw_Text(me.realUpperMargin * eY, msg, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
 }
 
 float XonoticWeaponsList_keyDown(entity me, float scan, float ascii, float shift)