2 CLASS(NexuizCrosshairButton) EXTENDS(RadioButton)
3 METHOD(NexuizCrosshairButton, configureNexuizCrosshairButton, void(entity, float, float))
4 METHOD(NexuizCrosshairButton, setChecked, void(entity, float))
5 METHOD(NexuizCrosshairButton, draw, void(entity))
6 ATTRIB(NexuizCrosshairButton, fontSize, float, SKINFONTSIZE_NORMAL)
7 ATTRIB(NexuizCrosshairButton, image, string, SKINGFX_CROSSHAIRBUTTON)
9 ATTRIB(NexuizCrosshairButton, useDownAsChecked, float, 1)
11 ATTRIB(NexuizCrosshairButton, cvarName, string, string_null)
12 ATTRIB(NexuizCrosshairButton, cvarValueFloat, float, 0)
13 METHOD(NexuizCrosshairButton, loadCvars, void(entity))
14 METHOD(NexuizCrosshairButton, saveCvars, void(entity))
16 ATTRIB(NexuizCrosshairButton, disabledAlpha, float, SKINALPHA_DISABLED)
17 ENDCLASS(NexuizCrosshairButton)
18 entity makeNexuizCrosshairButton(float, float);
22 entity makeNexuizCrosshairButton(float theGroup, float theCrosshair)
25 me = spawnNexuizCrosshairButton();
26 me.configureNexuizCrosshairButton(me, theGroup, theCrosshair);
29 void configureNexuizCrosshairButtonNexuizCrosshairButton(entity me, float theGroup, float theCrosshair)
31 me.cvarName = "crosshair";
32 me.cvarValueFloat = theCrosshair;
34 me.configureRadioButton(me, string_null, me.fontSize, me.image, theGroup, 0);
36 me.src2 = strzone(strcat("/gfx/crosshair", ftos(me.cvarValueFloat)));
38 void setCheckedNexuizCrosshairButton(entity me, float val)
46 void loadCvarsNexuizCrosshairButton(entity me)
48 me.checked = (cvar(me.cvarName) == me.cvarValueFloat);
50 void saveCvarsNexuizCrosshairButton(entity me)
53 cvar_set(me.cvarName, ftos(me.cvarValueFloat));
54 // TODO on an apply button, read _cl_color and execute the color command for it
56 void drawNexuizCrosshairButton(entity me)
58 me.color2 = eX * cvar("crosshair_color_red") + eY * cvar("crosshair_color_green") + eZ * cvar("crosshair_color_blue");
59 me.alpha2 = cvar("crosshair_color_alpha");
60 me.src2scale = min((draw_PictureSize(me.src2) * eY * cvar("crosshair_size")) / me.size_y, (draw_PictureSize(me.src2) * eX * cvar("crosshair_size")) / me.size_x, 0.8);
61 if(!me.checked && !me.focused)
63 me.alpha2 *= me.disabledAlpha;