Make the menu header style editable in skinfiles
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game_messages.c
1 #ifdef INTERFACE
2 CLASS(XonoticGameMessageSettingsTab) EXTENDS(XonoticTab)
3         //METHOD(XonoticGameWeaponsSettingsTab, toString, string(entity))
4         METHOD(XonoticGameMessageSettingsTab, fill, void(entity))
5         METHOD(XonoticGameMessageSettingsTab, showNotify, void(entity))
6         ATTRIB(XonoticGameMessageSettingsTab, title, string, _("Messages"))
7         ATTRIB(XonoticGameMessageSettingsTab, intendedWidth, float, 0.9)
8         ATTRIB(XonoticGameMessageSettingsTab, rows, float, 13)
9         ATTRIB(XonoticGameMessageSettingsTab, columns, float, 6)
10         ATTRIB(XonoticGameMessageSettingsTab, weaponsList, entity, NULL)
11 ENDCLASS(XonoticGameMessageSettingsTab)
12 entity makeXonoticGameMessageSettingsTab();
13 #endif
14
15 #ifdef IMPLEMENTATION
16 void XonoticGameMessageSettingsTab_showNotify(entity me)
17 {
18         loadAllCvars(me);
19 }
20 entity makeXonoticGameMessageSettingsTab()
21 {
22         entity me;
23         me = spawnXonoticGameMessageSettingsTab();
24         me.configureDialog(me);
25         return me;
26 }
27
28 void XonoticGameMessageSettingsTab_fill(entity me)
29 {
30         entity e;
31
32         me.TR(me);
33                 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Frag Information")));
34         me.TR(me);
35                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "notification_show_sprees", _("Display information about killing sprees")));
36         me.TR(me);
37                 me.TDempty(me, 0.2);
38                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "notification_show_sprees_info_specialonly", _("Only display sprees if they are achievements")));
39                         makeMulti(e, "notification_show_sprees_center_specialonly");
40                         setDependent(e, "notification_show_sprees", 1, 1);
41         me.TR(me);
42                 me.TDempty(me, 0.2);
43                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "notification_show_sprees_center", _("Show spree information in centerprints")));
44                         setDependent(e, "notification_show_sprees", 1, 1);
45         me.TR(me);
46                 me.TDempty(me, 0.2);
47                 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(3, 0, "notification_show_sprees_info", _("Show spree information in death messages")));
48                         setDependent(e, "notification_show_sprees", 1, 1);
49         #if 0
50         me.TR(me);
51                 me.TDempty(me, 0.1);
52                 me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Sprees in info messages:")));
53                         setDependent(e, "notification_show_sprees", 1, 1);
54                 me.TD(me, 1, 2, e = makeXonoticTextSlider("notification_show_sprees_info"));
55                         e.addValue(e, ZCTX(_("Disabled")), "0");
56                         e.addValue(e, ZCTX(_("Target")), "1");
57                         e.addValue(e, ZCTX(_("Attacker")), "2");
58                         e.addValue(e, ZCTX(_("Both")), "3");
59                         e.configureXonoticTextSliderValues(e);
60                         setDependent(e, "notification_show_sprees", 1, 1);
61         #endif
62         me.TR(me);
63                 me.TDempty(me, 0.4);
64                 me.TD(me, 1, 2.6, e = makeXonoticCheckBox(0, "notification_show_sprees_info_newline", _("Print on a seperate line")));
65                         setDependent(e, "notification_show_sprees", 1, 1);
66         me.TR(me);
67                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 1, "notification_CHOICE_FRAG", _("Add extra frag information to centerprint when available")));
68                         makeMulti(e, "notification_CHOICE_FRAGGED notification_CHOICE_TYPEFRAG notification_CHOICE_TYPEFRAGGED");
69                         e.sendCvars = TRUE;
70         me.TR(me);
71                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "notification_show_location", _("Add frag location to death messages when available")));
72
73         me.gotoRC(me, 9, 0); me.setFirstColumn(me, me.currentColumn);
74                 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Gamemode Settings")));
75         me.TR(me);
76                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 1, "notification_CHOICE_CTF_CAPTURE_TIME_RED", _("Display capture times in Capture The Flag")));
77                         makeMulti(e, "notification_CHOICE_CTF_CAPTURE_TIME_BLUE notification_CHOICE_CTF_CAPTURE_BROKEN_RED notification_CHOICE_CTF_CAPTURE_BROKEN_BLUE notification_CHOICE_CTF_CAPTURE_UNBROKEN_RED notification_CHOICE_CTF_CAPTURE_UNBROKEN_BLUE ");
78                         e.sendCvars = TRUE;
79         me.TR(me);
80                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 1, "notification_CHOICE_CTF_PICKUP_ENEMY", _("Display name of flag stealer in Capture The Flag")));
81                         makeMulti(e, "notification_CHOICE_CTF_PICKUP_TEAM");
82                         e.sendCvars = TRUE;
83
84         me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
85                 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Other")));
86         me.TR(me);
87                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(4, 1, "con_notify", _("Display console messages in the top left corner")));
88         me.TR(me);
89                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 1, "notification_allow_chatboxprint", _("Display all info messages in the chatbox")));
90         me.TR(me);
91                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 1, "notification_INFO_QUIT_DISCONNECT", _("Display player statuses in the chatbox")));
92                         makeMulti(e, "notification_INFO_QUIT_KICK_IDLING notification_INFO_JOIN_CONNECT_TEAM_BLUE notification_INFO_JOIN_CONNECT_TEAM_PINK notification_INFO_JOIN_CONNECT_TEAM_RED notification_INFO_JOIN_CONNECT_TEAM_YELLOW");
93         me.TR(me);
94         me.TR(me);
95                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "notification_CENTER_POWERUP_INVISIBILITY", _("Powerup notifications")));
96                         makeMulti(e, "notification_CENTER_POWERUP_SHIELD notification_CENTER_POWERUP_SPEED notification_CENTER_POWERUP_STRENGTH notification_CENTER_POWERDOWN_INVISIBILITY notification_CENTER_POWERDOWN_SHIELD notification_CENTER_POWERDOWN_SPEED notification_CENTER_POWERDOWN_STRENGTH notification_CENTER_SUPERWEAPON_BROKEN notification_CENTER_SUPERWEAPON_LOST notification_CENTER_SUPERWEAPON_PICKUP notification_INFO_POWERUP_INVISIBILITY notification_INFO_POWERUP_SHIELD notification_INFO_POWERUP_SPEED notification_INFO_POWERUP_STRENGTH");
97         me.TR(me);
98                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "notification_CENTER_ITEM_WEAPON_DONTHAVE", _("Weapon centerprint notifications")));
99                         makeMulti(e, "notification_CENTER_ITEM_WEAPON_DROP notification_CENTER_ITEM_WEAPON_GOT notification_CENTER_ITEM_WEAPON_NOAMMO notification_CENTER_ITEM_WEAPON_PRIMORSEC notification_CENTER_ITEM_WEAPON_UNAVAILABLE"); 
100         me.TR(me);
101                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "notification_INFO_ITEM_WEAPON_DONTHAVE", _("Weapon info message notifications")));
102                         makeMulti(e, "notification_INFO_ITEM_WEAPON_DROP notification_INFO_ITEM_WEAPON_GOT notification_INFO_ITEM_WEAPON_NOAMMO notification_INFO_ITEM_WEAPON_PRIMORSEC notification_INFO_ITEM_WEAPON_UNAVAILABLE"); 
103
104         me.gotoRC(me, 9, 3.2); me.setFirstColumn(me, me.currentColumn);
105                 me.TD(me, 1, 3, e = makeXonoticHeaderLabel(_("Announcers")));
106         #if 0
107         // there's just not enough room for this, and it's not important enough to justify...
108         me.TR(me);
109                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "notification_ANNCE_NUM_RESPAWN_1", _("Respawn countdown sounds")));
110                         makeMulti(e, "notification_ANNCE_NUM_RESPAWN_2 notification_ANNCE_NUM_RESPAWN_3 notification_ANNCE_NUM_RESPAWN_4 notification_ANNCE_NUM_RESPAWN_5 notification_ANNCE_NUM_RESPAWN_6 notification_ANNCE_NUM_RESPAWN_7 notification_ANNCE_NUM_RESPAWN_8 notification_ANNCE_NUM_RESPAWN_9 notification_ANNCE_NUM_RESPAWN_10");
111         #endif
112         me.TR(me);
113                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(1, 0, "notification_ANNCE_KILLSTREAK_03", _("Killstreak sounds")));
114                         makeMulti(e, "notification_ANNCE_KILLSTREAK_05 notification_ANNCE_KILLSTREAK_10 notification_ANNCE_KILLSTREAK_15 notification_ANNCE_KILLSTREAK_20 notification_ANNCE_KILLSTREAK_25 notification_ANNCE_KILLSTREAK_30");
115         me.TR(me);
116                 me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(1, 0, "notification_ANNCE_ACHIEVEMENT_AIRSHOT", _("Achievement sounds")));
117                         makeMulti(e, "notification_ANNCE_ACHIEVEMENT_AMAZING notification_ANNCE_ACHIEVEMENT_AWESOME notification_ANNCE_ACHIEVEMENT_BOTLIKE notification_ANNCE_ACHIEVEMENT_ELECTROBITCH notification_ANNCE_ACHIEVEMENT_IMPRESSIVE notification_ANNCE_ACHIEVEMENT_YODA");
118 }
119 #endif