X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fweaponslist.qc;h=ed74631dead1b7454724cbe937cb6db0bdf6b72c;hb=37cf62041a76248472ef6a78feaaed33e35a2260;hp=adc7fc2115bb4634dbae79b6fab9236d286fa05b;hpb=ff442844108257ce535eae6dc08eaf659ff5efd7;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/weaponslist.qc b/qcsrc/menu/xonotic/weaponslist.qc index adc7fc211..ed74631de 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; @@ -46,7 +31,7 @@ void WeaponsList_MoveUp_Click(entity box, entity me) if(me.selectedItem > 0) { cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem - 1, me.selectedItem)); - me.selectedItem -= 1; + me.setSelected(me, me.selectedItem - 1); } } void WeaponsList_MoveDown_Click(entity box, entity me) @@ -54,7 +39,7 @@ void WeaponsList_MoveDown_Click(entity box, entity me) if(me.selectedItem < me.nItems - 1) { cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, me.selectedItem + 1)); - me.selectedItem += 1; + me.setSelected(me, me.selectedItem + 1); } } void XonoticWeaponsList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize) @@ -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 = Weapons_from(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 = Weapons_from(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