X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fweaponslist.qc;h=157d22ffee2453db8d1713a90dc647f918ec4049;hb=76e79272faee00964eaa71a0f6fdf6ec7bcf24e7;hp=f4bcf4feae2e15d09504cd0dbb7e21fbe089e4ea;hpb=ed78af0efdec72d465dc0c433d3a0c3ec09d4b7f;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/weaponslist.qc b/qcsrc/menu/xonotic/weaponslist.qc index f4bcf4fea..157d22ffe 100644 --- a/qcsrc/menu/xonotic/weaponslist.qc +++ b/qcsrc/menu/xonotic/weaponslist.qc @@ -1,24 +1,9 @@ -#ifndef WEAPONSLIST_H -#define WEAPONSLIST_H -#include "listbox.qc" -CLASS(XonoticWeaponsList, XonoticListBox) - METHOD(XonoticWeaponsList, configureXonoticWeaponsList, void(entity)) - METHOD(XonoticWeaponsList, toString, string(entity)) - ATTRIB(XonoticWeaponsList, rowsPerItem, float, 1) - METHOD(XonoticWeaponsList, draw, void(entity)) - METHOD(XonoticWeaponsList, drawListBoxItem, void(entity, int, vector, bool, bool)) - METHOD(XonoticWeaponsList, resizeNotify, void(entity, vector, vector, vector, vector)) - METHOD(XonoticWeaponsList, keyDown, float(entity, float, float, float)) - ATTRIB(XonoticWeaponsList, realFontSize, vector, '0 0 0') - ATTRIB(XonoticWeaponsList, realUpperMargin, float, 0) - METHOD(XonoticWeaponsList, mouseDrag, float(entity, vector)) -ENDCLASS(XonoticWeaponsList) -entity makeXonoticWeaponsList(); -void WeaponsList_MoveUp_Click(entity btn, entity me); -void WeaponsList_MoveDown_Click(entity box, entity me); -#endif +#include "weaponslist.qh" + +#include + +.bool disabled; -#ifdef IMPLEMENTATION entity makeXonoticWeaponsList() { entity me; @@ -73,7 +58,11 @@ float XonoticWeaponsList_mouseDrag(entity me, vector pos) if(me.pressed != 1) // don't change priority if the person is just scrolling { if(me.selectedItem != i) + { + if(me.applyButton) + me.applyButton.disabled = false; cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, i)); + } } return f; @@ -87,8 +76,8 @@ string XonoticWeaponsList_toString(entity me) s = ""; for(i = 0; i < n; ++i) { - e = get_weaponinfo(stof(argv(i))); - s = strcat(s, e.message, ", "); + e = REGISTRY_GET(Weapons, stof(argv(i))); + s = strcat(s, e.m_name, ", "); } return substring(s, 0, strlen(s) - 2); } @@ -102,10 +91,10 @@ void XonoticWeaponsList_drawListBoxItem(entity me, int i, vector absSize, bool i me.focusedItemAlpha = getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED); draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha); } - e = get_weaponinfo(stof(argv(i))); - string msg = e.message; + e = REGISTRY_GET(Weapons, stof(argv(i))); + string msg = e.m_name; if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED) - msg = sprintf(_("%s (mutator weapon)"), msg); + msg = strcat(msg, "*"); vector save_fontscale = draw_fontscale; float f = draw_CondensedFontFactor(msg, false, me.realFontSize, 1); @@ -132,4 +121,3 @@ float XonoticWeaponsList_keyDown(entity me, float scan, float ascii, float shift return 1; return 0; } -#endif