]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/weaponarenacheckbox.c
Merge branch 'master' into Mario/showspecs
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / weaponarenacheckbox.c
1 #ifdef INTERFACE
2 CLASS(XonoticWeaponarenaCheckBox) EXTENDS(CheckBox)
3         METHOD(XonoticWeaponarenaCheckBox, configureXonoticWeaponarenaCheckBox, void(entity, string, string))
4         METHOD(XonoticWeaponarenaCheckBox, setChecked, void(entity, float))
5         ATTRIB(XonoticWeaponarenaCheckBox, fontSize, float, SKINFONTSIZE_NORMAL)
6         ATTRIB(XonoticWeaponarenaCheckBox, image, string, SKINGFX_CHECKBOX)
7         ATTRIB(XonoticWeaponarenaCheckBox, netname, string, string_null)
8
9         METHOD(XonoticWeaponarenaCheckBox, loadCvars, void(entity))
10         METHOD(XonoticWeaponarenaCheckBox, saveCvars, void(entity))
11 ENDCLASS(XonoticWeaponarenaCheckBox)
12 entity makeXonoticWeaponarenaCheckBox(string, string);
13 #endif
14
15 #ifdef IMPLEMENTATION
16 entity makeXonoticWeaponarenaCheckBox(string theWeapon, string theText)
17 {
18         entity me;
19         me = spawnXonoticWeaponarenaCheckBox();
20         me.configureXonoticWeaponarenaCheckBox(me, theWeapon, theText);
21         return me;
22 }
23 void XonoticWeaponarenaCheckBox_configureXonoticWeaponarenaCheckBox(entity me, string theWeapon, string theText)
24 {
25         me.netname = theWeapon;
26         me.checked = FALSE;
27         me.loadCvars(me);
28         me.configureCheckBox(me, theText, me.fontSize, me.image);
29 }
30 void XonoticWeaponarenaCheckBox_setChecked(entity me, float foo)
31 {
32         me.checked = !me.checked;
33         me.saveCvars(me);
34 }
35 void XonoticWeaponarenaCheckBox_loadCvars(entity me)
36 {
37         float n = tokenize_console(cvar_string("menu_weaponarena"));
38         float i;
39         for(i=0; i<n; ++i)
40         {
41                 if(argv(i) == me.netname)
42                 {
43                         me.checked = TRUE;
44                         break;
45                 }
46         }
47 }
48
49 void XonoticWeaponarenaCheckBox_saveCvars(entity me)
50 {
51         if(me.checked)
52                 localcmd(strcat("\nmenu_cmd addtolist menu_weaponarena ", me.netname, "\n"));
53         else
54                 localcmd(strcat("\nmenu_cmd removefromlist menu_weaponarena ", me.netname, "\n"));
55         localcmd("\ng_weaponarena \"$menu_weaponarena\"\n");
56 }
57 #endif