-#ifdef INTERFACE
+#ifndef ANIM_ANIMATION_H
+#define ANIM_ANIMATION_H
void setterDummy(entity, float);
CLASS(Animation, Object)
METHOD(Animation, configureAnimation, void(entity, entity, void(entity, float), float, float, float, float))
#include "../menu.qh"
-#ifdef INTERFACE
+#ifndef ANIM_ANIMHOST_H
+#define ANIM_ANIMHOST_H
CLASS(AnimHost, Object)
METHOD(AnimHost, addAnim, void(entity, entity))
METHOD(AnimHost, removeAnim, void(entity, entity))
-#ifdef INTERFACE
+#ifndef ANIM_EASING_H
+#define ANIM_EASING_H
entity makeHostedEasing(entity, void(entity, float), float(float, float, float, float), float, float, float);
entity makeEasing(entity, void(entity, float), float(float, float, float, float), float, float, float, float);
float easingLinear(float, float, float, float);
-#ifdef INTERFACE
+#ifndef ANIM_KEYFRAME_H
+#define ANIM_KEYFRAME_H
CLASS(Keyframe, Animation)
METHOD(Keyframe, addEasing, entity(entity, float, float, float(float, float, float, float)))
METHOD(Keyframe, addAnim, void(entity, entity))
-#include "anim/animhost.qc"
#include "anim/animation.qc"
+#include "anim/animhost.qc"
#include "anim/easing.qc"
#include "anim/keyframe.qc"
+
#include "item.qc"
+#include "item/borderimage.qc"
+#include "item/button.qc"
+#include "item/checkbox.qc"
#include "item/container.qc"
-#include "item/inputcontainer.qc"
-#include "item/nexposee.qc"
-#include "item/modalcontroller.qc"
+#include "item/dialog.qc"
#include "item/image.qc"
+#include "item/inputbox.qc"
+#include "item/inputcontainer.qc"
#include "item/label.qc"
-#include "item/button.qc"
-#include "item/checkbox.qc"
+#include "item/listbox.qc"
+#include "item/modalcontroller.qc"
+#include "item/nexposee.qc"
#include "item/radiobutton.qc"
-#include "item/borderimage.qc"
#include "item/slider.qc"
-#include "item/dialog.qc"
#include "item/tab.qc"
#include "item/textslider.qc"
-#include "item/listbox.qc"
-#include "item/inputbox.qc"
-#include "xonotic/dialog.qc"
-#include "xonotic/tab.qc"
-#include "xonotic/mainwindow.qc"
-#include "xonotic/button.qc"
+
#include "xonotic/bigbutton.qc"
-#include "xonotic/commandbutton.qc"
#include "xonotic/bigcommandbutton.qc"
-#include "xonotic/textlabel.qc"
-#include "xonotic/dialog_firstrun.qc"
-#include "xonotic/dialog_teamselect.qc"
-#include "xonotic/dialog_sandboxtools.qc"
-#include "xonotic/dialog_monstertools.qc"
-#include "xonotic/dialog_settings.qc"
-#include "xonotic/dialog_settings_video.qc"
-#include "xonotic/dialog_settings_effects.qc"
-#include "xonotic/dialog_settings_audio.qc"
-#include "xonotic/dialog_settings_game.qc"
-#include "xonotic/dialog_settings_user.qc"
-#include "xonotic/dialog_settings_user_languagewarning.qc"
-#include "xonotic/dialog_settings_misc.qc"
-#include "xonotic/dialog_multiplayer.qc"
-#include "xonotic/dialog_multiplayer_profile.qc"
-#include "xonotic/tabcontroller.qc"
-#include "xonotic/slider.qc"
-#include "xonotic/slider_resolution.qc"
+#include "xonotic/button.qc"
+#include "xonotic/campaign.qc"
+#include "xonotic/charmap.qc"
#include "xonotic/checkbox.qc"
+#include "xonotic/checkbox_slider_invalid.qc"
#include "xonotic/checkbox_string.qc"
-#include "xonotic/weaponarenacheckbox.qc"
-#include "xonotic/radiobutton.qc"
-#include "xonotic/nexposee.qc"
-#include "xonotic/rootdialog.qc"
-#include "xonotic/textslider.qc"
#include "xonotic/colorbutton.qc"
-#include "xonotic/dialog_multiplayer_join.qc"
-#include "xonotic/dialog_multiplayer_join_serverinfo.qc"
-#include "xonotic/playerlist.qc"
-#include "xonotic/listbox.qc"
-#include "xonotic/serverlist.qc"
-#include "xonotic/inputbox.qc"
-#include "xonotic/dialog_quit.qc"
-#include "xonotic/dialog_multiplayer_create.qc"
-#include "xonotic/dialog_multiplayer_create_mutators.qc"
-#include "xonotic/dialog_multiplayer_create_mapinfo.qc"
-#include "xonotic/gametypelist.qc"
-#include "xonotic/maplist.qc"
-#include "xonotic/skinlist.qc"
-#include "xonotic/languagelist.qc"
-#include "xonotic/image.qc"
-#include "xonotic/crosshairbutton.qc"
-#include "xonotic/playermodel.qc"
-#include "xonotic/checkbox_slider_invalid.qc"
-#include "xonotic/charmap.qc"
-#include "xonotic/keybinder.qc"
-#include "xonotic/dialog_settings_input.qc"
-#include "xonotic/dialog_settings_input_userbind.qc"
-#include "xonotic/slider_decibels.qc"
-#include "xonotic/dialog_singleplayer.qc"
-#include "xonotic/campaign.qc"
-#include "xonotic/dialog_singleplayer_winner.qc"
-#include "xonotic/dialog_credits.qc"
-#include "xonotic/credits.qc"
-#include "xonotic/dialog_settings_game_crosshair.qc"
-#include "xonotic/dialog_settings_game_hud.qc"
-#include "xonotic/dialog_settings_game_hudconfirm.qc"
-#include "xonotic/dialog_settings_game_model.qc"
-#include "xonotic/dialog_settings_game_messages.qc"
-#include "xonotic/dialog_settings_game_view.qc"
-#include "xonotic/dialog_settings_game_weapons.qc"
-#include "xonotic/weaponslist.qc"
-#include "xonotic/dialog_multiplayer_media.qc"
-#include "xonotic/dialog_multiplayer_media_demo.qc"
-#include "xonotic/dialog_multiplayer_media_demo_startconfirm.qc"
-#include "xonotic/dialog_multiplayer_media_demo_timeconfirm.qc"
-#include "xonotic/demolist.qc"
-#include "xonotic/screenshotimage.qc"
-#include "xonotic/dialog_multiplayer_media_screenshot.qc"
-#include "xonotic/dialog_multiplayer_media_screenshot_viewer.qc"
-#include "xonotic/screenshotlist.qc"
-#include "xonotic/statslist.qc"
-#include "xonotic/dialog_multiplayer_media_musicplayer.qc"
-#include "xonotic/soundlist.qc"
-#include "xonotic/playlist.qc"
#include "xonotic/colorpicker.qc"
#include "xonotic/colorpicker_string.qc"
+#include "xonotic/commandbutton.qc"
+#include "xonotic/credits.qc"
+#include "xonotic/crosshairbutton.qc"
#include "xonotic/cvarlist.qc"
-#include "xonotic/dialog_settings_misc_cvars.qc"
-#include "xonotic/dialog_hudsetup_exit.qc"
-#include "xonotic/dialog_hudpanel_notification.qc"
+#include "xonotic/demolist.qc"
+#include "xonotic/dialog.qc"
+#include "xonotic/dialog_credits.qc"
+#include "xonotic/dialog_firstrun.qc"
#include "xonotic/dialog_hudpanel_ammo.qc"
+#include "xonotic/dialog_hudpanel_buffs.qc"
+#include "xonotic/dialog_hudpanel_centerprint.qc"
+#include "xonotic/dialog_hudpanel_chat.qc"
+#include "xonotic/dialog_hudpanel_engineinfo.qc"
#include "xonotic/dialog_hudpanel_healtharmor.qc"
+#include "xonotic/dialog_hudpanel_infomessages.qc"
+#include "xonotic/dialog_hudpanel_modicons.qc"
+#include "xonotic/dialog_hudpanel_notification.qc"
+#include "xonotic/dialog_hudpanel_physics.qc"
#include "xonotic/dialog_hudpanel_powerups.qc"
-#include "xonotic/dialog_hudpanel_racetimer.qc"
#include "xonotic/dialog_hudpanel_pressedkeys.qc"
+#include "xonotic/dialog_hudpanel_racetimer.qc"
#include "xonotic/dialog_hudpanel_radar.qc"
#include "xonotic/dialog_hudpanel_score.qc"
#include "xonotic/dialog_hudpanel_timer.qc"
#include "xonotic/dialog_hudpanel_vote.qc"
-#include "xonotic/dialog_hudpanel_modicons.qc"
-#include "xonotic/dialog_hudpanel_chat.qc"
-#include "xonotic/dialog_hudpanel_engineinfo.qc"
-#include "xonotic/dialog_hudpanel_infomessages.qc"
#include "xonotic/dialog_hudpanel_weapons.qc"
-#include "xonotic/dialog_hudpanel_physics.qc"
-#include "xonotic/dialog_hudpanel_centerprint.qc"
-#include "xonotic/dialog_hudpanel_buffs.qc"
-#include "xonotic/slider_picmip.qc"
+#include "xonotic/dialog_hudsetup_exit.qc"
+#include "xonotic/dialog_monstertools.qc"
+#include "xonotic/dialog_multiplayer.qc"
+#include "xonotic/dialog_multiplayer_create.qc"
+#include "xonotic/dialog_multiplayer_create_mapinfo.qc"
+#include "xonotic/dialog_multiplayer_create_mutators.qc"
+#include "xonotic/dialog_multiplayer_join.qc"
+#include "xonotic/dialog_multiplayer_join_serverinfo.qc"
+#include "xonotic/dialog_multiplayer_media.qc"
+#include "xonotic/dialog_multiplayer_media_demo.qc"
+#include "xonotic/dialog_multiplayer_media_demo_startconfirm.qc"
+#include "xonotic/dialog_multiplayer_media_demo_timeconfirm.qc"
+#include "xonotic/dialog_multiplayer_media_musicplayer.qc"
+#include "xonotic/dialog_multiplayer_media_screenshot.qc"
+#include "xonotic/dialog_multiplayer_media_screenshot_viewer.qc"
+#include "xonotic/dialog_multiplayer_profile.qc"
+#include "xonotic/dialog_quit.qc"
+#include "xonotic/dialog_sandboxtools.qc"
+#include "xonotic/dialog_settings.qc"
+#include "xonotic/dialog_settings_audio.qc"
+#include "xonotic/dialog_settings_effects.qc"
+#include "xonotic/dialog_settings_game.qc"
+#include "xonotic/dialog_settings_game_crosshair.qc"
+#include "xonotic/dialog_settings_game_hudconfirm.qc"
+#include "xonotic/dialog_settings_game_hud.qc"
+#include "xonotic/dialog_settings_game_messages.qc"
+#include "xonotic/dialog_settings_game_model.qc"
+#include "xonotic/dialog_settings_game_view.qc"
+#include "xonotic/dialog_settings_game_weapons.qc"
+#include "xonotic/dialog_settings_input.qc"
+#include "xonotic/dialog_settings_input_userbind.qc"
+#include "xonotic/dialog_settings_misc.qc"
+#include "xonotic/dialog_settings_misc_cvars.qc"
+#include "xonotic/dialog_settings_misc_reset.qc"
+#include "xonotic/dialog_settings_user.qc"
+#include "xonotic/dialog_settings_user_languagewarning.qc"
+#include "xonotic/dialog_settings_video.qc"
+#include "xonotic/dialog_singleplayer.qc"
+#include "xonotic/dialog_singleplayer_winner.qc"
+#include "xonotic/dialog_teamselect.qc"
+#include "xonotic/gametypelist.qc"
+#include "xonotic/image.qc"
+#include "xonotic/inputbox.qc"
+#include "xonotic/keybinder.qc"
+#include "xonotic/languagelist.qc"
+#include "xonotic/listbox.qc"
+#include "xonotic/mainwindow.qc"
+#include "xonotic/maplist.qc"
+#include "xonotic/nexposee.qc"
+#include "xonotic/playerlist.qc"
+#include "xonotic/playermodel.qc"
+#include "xonotic/playlist.qc"
+#include "xonotic/radiobutton.qc"
+#include "xonotic/rootdialog.qc"
+#include "xonotic/screenshotimage.qc"
+#include "xonotic/screenshotlist.qc"
+#include "xonotic/serverlist.qc"
+#include "xonotic/skinlist.qc"
+#include "xonotic/slider.qc"
+#include "xonotic/slider_decibels.qc"
#include "xonotic/slider_particles.qc"
+#include "xonotic/slider_picmip.qc"
+#include "xonotic/slider_resolution.qc"
#include "xonotic/slider_sbfadetime.qc"
-#include "xonotic/dialog_settings_misc_reset.qc"
+#include "xonotic/soundlist.qc"
+#include "xonotic/statslist.qc"
+#include "xonotic/tabcontroller.qc"
+#include "xonotic/tab.qc"
+#include "xonotic/textlabel.qc"
+#include "xonotic/textslider.qc"
+#include "xonotic/weaponarenacheckbox.qc"
+#include "xonotic/weaponslist.qc"
-#ifdef INTERFACE
+#ifndef ITEM_H
+#define ITEM_H
CLASS(Item, Object)
METHOD(Item, draw, void(entity))
METHOD(Item, keyDown, float(entity, float, float, float))
-#ifdef INTERFACE
+#ifndef ITEM_BORDERIMAGE_H
+#define ITEM_BORDERIMAGE_H
+#include "label.qc"
CLASS(BorderImage, Label)
METHOD(BorderImage, configureBorderImage, void(entity, string, float, vector, string, float))
METHOD(BorderImage, resizeNotify, void(entity, vector, vector, vector, vector))
-#ifdef INTERFACE
+#ifndef ITEM_BUTTON_H
+#define ITEM_BUTTON_H
CLASS(Button, Label)
METHOD(Button, configureButton, void(entity, string, float, string))
METHOD(Button, draw, void(entity))
-#ifdef INTERFACE
+#ifndef ITEM_CHECKBOX_H
+#define ITEM_CHECKBOX_H
void CheckBox_Click(entity me, entity other);
CLASS(CheckBox, Button)
METHOD(CheckBox, configureCheckBox, void(entity, string, float, string))
-#ifdef INTERFACE
+#ifndef ITEM_CONTAINER_H
+#define ITEM_CONTAINER_H
CLASS(Container, Item)
METHOD(Container, draw, void(entity))
METHOD(Container, keyUp, float(entity, float, float, float))
//
// a subclass may help with using this as a tab
-#ifdef INTERFACE
+#ifndef ITEM_DIALOG_H
+#define ITEM_DIALOG_H
+#include "inputcontainer.qc"
CLASS(Dialog, InputContainer)
METHOD(Dialog, configureDialog, void(entity)) // no runtime configuration, all parameters are given in the code!
METHOD(Dialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
-#ifdef INTERFACE
+#ifndef ITEM_IMAGE_H
+#define ITEM_IMAGE_H
CLASS(Image, Item)
METHOD(Image, configureImage, void(entity, string))
METHOD(Image, draw, void(entity))
-#ifdef INTERFACE
+#ifndef ITEM_INPUTBOX_H
+#define ITEM_INPUTBOX_H
CLASS(InputBox, Label)
METHOD(InputBox, configureInputBox, void(entity, string, float, float, string))
METHOD(InputBox, draw, void(entity))
-#ifdef INTERFACE
+#ifndef ITEM_INPUTCONTAINER_H
+#define ITEM_INPUTCONTAINER_H
CLASS(InputContainer, Container)
METHOD(InputContainer, keyDown, float(entity, float, float, float))
METHOD(InputContainer, mouseMove, float(entity, vector))
-#ifdef INTERFACE
+#ifndef ITEM_LABEL_H
+#define ITEM_LABEL_H
CLASS(Label, Item)
METHOD(Label, configureLabel, void(entity, string, float, float))
METHOD(Label, draw, void(entity))
-#ifdef INTERFACE
+#ifndef ITEM_LISTBOX_H
+#define ITEM_LISTBOX_H
CLASS(ListBox, Item)
METHOD(ListBox, resizeNotify, void(entity, vector, vector, vector, vector))
METHOD(ListBox, configureListBox, void(entity, float, float))
-#ifdef INTERFACE
+#ifndef ITEM_MODALCONTROLLER_H
+#define ITEM_MODALCONTROLLER_H
CLASS(ModalController, Container)
METHOD(ModalController, resizeNotify, void(entity, vector, vector, vector, vector))
METHOD(ModalController, draw, void(entity))
-#ifdef INTERFACE
+#ifndef ITEM_NEXPOSEE_H
+#define ITEM_NEXPOSEE_H
+#include "container.qc"
CLASS(Nexposee, Container)
METHOD(Nexposee, draw, void(entity))
METHOD(Nexposee, keyDown, float(entity, float, float, float))
ENDCLASS(Nexposee)
void ExposeeCloseButton_Click(entity button, entity other); // un-exposees the current state
-#endif
// animation states:
// 0 = thumbnails seen
// 2 = zoomed in
// 3 = zooming out
// animation factor: 0 = minimum theSize, 1 = maximum theSize
-
-#ifdef IMPLEMENTATION
-
.vector Nexposee_initialSize;
.vector Nexposee_initialFontScale;
.vector Nexposee_initialOrigin;
.vector Nexposee_align;
.float Nexposee_animationFactor;
+#endif
+
+#ifdef IMPLEMENTATION
void Nexposee_close(entity me)
{
// user must override this
-#ifdef INTERFACE
+#ifndef ITEM_RADIOBUTTON_H
+#define ITEM_RADIOBUTTON_H
void RadioButton_Click(entity me, entity other);
CLASS(RadioButton, CheckBox)
METHOD(RadioButton, configureRadioButton, void(entity, string, float, string, float, float))
// Note:
// to use this, you FIRST call configureSliderVisuals, then configureSliderValues
-#ifdef INTERFACE
+#ifndef ITEM_SLIDER_H
+#define ITEM_SLIDER_H
CLASS(Slider, Label)
METHOD(Slider, resizeNotify, void(entity, vector, vector, vector, vector))
METHOD(Slider, configureSliderVisuals, void(entity, float, float, float, string))
-#ifdef INTERFACE
+#ifndef ITEM_TAB_H
+#define ITEM_TAB_H
CLASS(Tab, Dialog)
ATTRIB(Tab, isTabRoot, float, 0)
ATTRIB(Tab, closable, float, 0)
// Note:
// to use this, you FIRST call configureSliderVisuals, then multiple times addValue, then configureTextSlider
-#ifdef INTERFACE
+#ifndef ITEM_TEXTSLIDER_H
+#define ITEM_TEXTSLIDER_H
CLASS(TextSlider, Slider)
METHOD(TextSlider, valueToText, string(entity, float))
METHOD(TextSlider, valueToIdentifier, string(entity, float))
#define localcmd cmd
-#define NULL (null_entity)
-#define world NULL
-
// constants
const int GAME_ISSERVER = 1;
#ifndef BASE_H
#define BASE_H
+#define NULL (null_entity)
+#define world NULL
+
.string classname;
.string vtblname;
.entity vtblbase;
--- /dev/null
+#include "base.qh"
+
+#ifdef CLASS
+#undef CLASS
+#undef METHOD
+#undef ATTRIB
+#undef ATTRIBARRAY
+#undef ENDCLASS
+#undef SUPER
+#endif
+
+#define CLASS(cname, base) \
+[[accumulate]] entity spawn##cname(entity this, entity basevtbl) { \
+ this = NEW(base); basevtbl = base##_vtbl; \
+}
+
+#define METHOD(cname, name, prototype) \
+prototype cname##_##name; \
+.prototype name; \
+[[accumulate]] entity spawn##cname(entity this, entity basevtbl) { \
+ this.name = cname##_##name; \
+}
+
+#define ATTRIB(cname, name, type, val) \
+.type name; \
+[[accumulate]] entity spawn##cname(entity this, entity basevtbl) { \
+ this.name = val; \
+}
+
+#define ATTRIBARRAY(cname, name, type, cnt) \
+.type name[cnt];
+
+#define ENDCLASS(cname) \
+.bool instanceOf##cname; \
+entity cname##_vtbl; \
+[[last]] entity spawn##cname(entity this, entity basevtbl) { \
+ this.instanceOf##cname = true; \
+ this.classname = #cname; \
+ if (!cname##_vtbl) cname##_vtbl = spawnVtbl(this, basevtbl); \
+ return this; \
+}
+
+#define SUPER(cname) (cname##_vtbl.vtblbase)
+
+#ifdef IMPLEMENTATION
+#undef IMPLEMENTATION
+#endif
+
+#include "../classes.inc"
+
+#ifndef IMPLEMENTATION
+#define IMPLEMENTATION
+#endif
+
+#include "../classes.inc"
+++ /dev/null
-#ifndef INTERFACE
-#define INTERFACE
-#endif
-
-#ifndef IMPLEMENTATION
-#define IMPLEMENTATION
-#endif
-
-#ifdef CLASS
-#undef CLASS
-#undef METHOD
-#undef ATTRIB
-#undef ATTRIBARRAY
-#undef ENDCLASS
-#undef SUPER
-#endif
-
-#define CLASS(cname, base)
-#define METHOD(cname, name, prototype)
-#define ATTRIB(cname, name, type, val)
-#define ATTRIBARRAY(cname, name, type, cnt)
-#define ENDCLASS(cname)
-#define SUPER(cname) (cname##_vtbl.vtblbase)
-
-#include "../classes.inc"
+++ /dev/null
-#ifndef INTERFACE
-#define INTERFACE
-#endif
-
-#ifdef IMPLEMENTATION
-#undef IMPLEMENTATION
-#endif
-
-#ifdef CLASS
-#undef CLASS
-#undef METHOD
-#undef ATTRIB
-#undef ATTRIBARRAY
-#undef ENDCLASS
-#undef SUPER
-#endif
-
-#define CLASS(cname, base) \
-[[accumulate]] entity spawn##cname(entity this, entity basevtbl) { \
- this = NEW(base); basevtbl = base##_vtbl; \
-}
-
-#define METHOD(cname, name, prototype) \
-prototype cname##_##name; \
-.prototype name; \
-[[accumulate]] entity spawn##cname(entity this, entity basevtbl) { \
- this.name = cname##_##name; \
-}
-
-#define ATTRIB(cname, name, type, val) \
-.type name; \
-[[accumulate]] entity spawn##cname(entity this, entity basevtbl) { \
- this.name = val; \
-}
-
-#define ATTRIBARRAY(cname, name, type, cnt) \
-.type name[cnt];
-
-#define ENDCLASS(cname) \
-.bool instanceOf##cname; \
-entity cname##_vtbl; \
-[[accumulate]] entity spawn##cname(entity this, entity basevtbl) { \
- this.instanceOf##cname = true; \
- this.classname = #cname; \
- if (!cname##_vtbl) cname##_vtbl = spawnVtbl(this, basevtbl); \
- return this; \
-}
-
-#define SUPER(cname)
-
-#include "../classes.inc"
../dpdefs/menudefs.qh
../dpdefs/keycodes.qh
-oo/interface.qc
-oo/implementation.qc
+oo/classes.qc
draw.qc
menu.qc
#undef SKINFLOAT
#undef SKINVECTOR
-#define SKINBEGIN void Skin_ApplySetting(string key, string value) { switch(key) {
-#define SKINVECTOR(name,def) case #name: SKIN##name = stov(value); break
-#define SKINFLOAT(name,def) case #name: SKIN##name = stof(value); break
+#define SKINBEGIN void Skin_ApplySetting(string key, string _value) { switch(key) {
+#define SKINVECTOR(name,def) case #name: SKIN##name = stov(_value); break
+#define SKINFLOAT(name,def) case #name: SKIN##name = stof(_value); break
//#define SKINSTRING(name,def) case #name: break
-#define SKINSTRING(name,def) case #name: SKIN##name = strzone(value); break
+#define SKINSTRING(name,def) case #name: SKIN##name = strzone(_value); break
// I know this leaks memory when skin is read multiple times. Screw it.
#define SKINEND case "": break; case "//": break; default: dprint("Invalid key in skin file: ", key, "\n"); } }
#include "skin-customizables.inc"
-#ifdef INTERFACE
+#ifndef BIGBUTTON_H
+#define BIGBUTTON_H
+#include "button.qc"
CLASS(XonoticBigButton, XonoticButton)
METHOD(XonoticBigButton, configureXonoticBigButton, void(entity, string, vector))
ATTRIB(XonoticBigButton, image, string, SKINGFX_BUTTON_BIG)
-#ifdef INTERFACE
+#ifndef BIGCOMMANDBUTTON_H
+#define BIGCOMMANDBUTTON_H
+#include "commandbutton.qc"
CLASS(XonoticBigCommandButton, XonoticCommandButton)
METHOD(XonoticBigCommandButton, configureXonoticBigCommandButton, void(entity, string, vector, string, float))
ATTRIB(XonoticBigCommandButton, image, string, SKINGFX_BUTTON_BIG)
-#ifdef INTERFACE
+#ifndef BUTTON_H
+#define BUTTON_H
CLASS(XonoticButton, Button)
METHOD(XonoticButton, configureXonoticButton, void(entity, string, vector))
ATTRIB(XonoticButton, fontSize, float, SKINFONTSIZE_NORMAL)
#include "../../common/campaign_common.qh"
-#ifdef INTERFACE
+#ifndef CAMPAIGN_H
+#define CAMPAIGN_H
+#include "listbox.qc"
CLASS(XonoticCampaignList, XonoticListBox)
METHOD(XonoticCampaignList, configureXonoticCampaignList, void(entity))
ATTRIB(XonoticCampaignList, rowsPerItem, float, 10)
-#ifdef INTERFACE
+#ifndef CHARMAP_H
+#define CHARMAP_H
CLASS(XonoticCharmap, Item)
METHOD(XonoticCharmap, configureXonoticCharmap, void(entity, entity))
METHOD(XonoticCharmap, mousePress, float(entity, vector))
-#ifdef INTERFACE
+#ifndef CHECKBOX_H
+#define CHECKBOX_H
CLASS(XonoticCheckBox, CheckBox)
METHOD(XonoticCheckBox, configureXonoticCheckBox, void(entity, float, float, string, string))
METHOD(XonoticCheckBox, setChecked, void(entity, float))
-#ifdef INTERFACE
+#ifndef CHECKBOX_SLIDER_INVALID_H
+#define CHECKBOX_SLIDER_INVALID_H
CLASS(XonoticSliderCheckBox, CheckBox)
METHOD(XonoticSliderCheckBox, configureXonoticSliderCheckBox, void(entity, float, float, entity, string))
METHOD(XonoticSliderCheckBox, setChecked, void(entity, float))
-#ifdef INTERFACE
+#ifndef CHECKBOX_STRING_H
+#define CHECKBOX_STRING_H
CLASS(XonoticCheckBoxString, CheckBox)
METHOD(XonoticCheckBoxString, configureXonoticCheckBoxString, void(entity, string, string, string, string))
METHOD(XonoticCheckBoxString, setChecked, void(entity, float))
-#ifdef INTERFACE
+#ifndef COLORBUTTON_H
+#define COLORBUTTON_H
CLASS(XonoticColorButton, RadioButton)
METHOD(XonoticColorButton, configureXonoticColorButton, void(entity, float, float, float))
METHOD(XonoticColorButton, setChecked, void(entity, float))
-#ifdef INTERFACE
+#ifndef COLORPICKER_H
+#define COLORPICKER_H
CLASS(XonoticColorpicker, Image)
METHOD(XonoticColorpicker, configureXonoticColorpicker, void(entity, entity))
METHOD(XonoticColorpicker, mousePress, float(entity, vector))
-#ifdef INTERFACE
+#ifndef COLORPICKER_STRING_H
+#define COLORPICKER_STRING_H
CLASS(XonoticColorpickerString, Image)
METHOD(XonoticColorpickerString, configureXonoticColorpickerString, void(entity, string, string))
METHOD(XonoticColorpickerString, mousePress, float(entity, vector))
//# define COMMANDBUTTON_REVERT 4
#endif
-#ifdef INTERFACE
+#ifndef COMMANDBUTTON_H
+#define COMMANDBUTTON_H
CLASS(XonoticCommandButton, XonoticButton)
METHOD(XonoticCommandButton, configureXonoticCommandButton, void(entity, string, vector, string, float))
ATTRIB(XonoticCommandButton, onClickCommand, string, string_null)
-#ifdef INTERFACE
+#ifndef CREDITS_H
+#define CREDITS_H
CLASS(XonoticCreditsList, XonoticListBox)
METHOD(XonoticCreditsList, configureXonoticCreditsList, void(entity))
ATTRIB(XonoticCreditsList, rowsPerItem, float, 1)
-#ifdef INTERFACE
+#ifndef CROSSHAIRBUTTON_H
+#define CROSSHAIRBUTTON_H
CLASS(XonoticCrosshairButton, RadioButton)
METHOD(XonoticCrosshairButton, configureXonoticCrosshairButton, void(entity, float, float))
METHOD(XonoticCrosshairButton, setChecked, void(entity, float))
-#ifdef INTERFACE
+#ifndef CVARLIST_H
+#define CVARLIST_H
CLASS(XonoticCvarList, XonoticListBox)
METHOD(XonoticCvarList, configureXonoticCvarList, void(entity))
ATTRIB(XonoticCvarList, rowsPerItem, float, 1)
-#ifdef INTERFACE
+#ifndef DEMOLIST_H
+#define DEMOLIST_H
CLASS(XonoticDemoList, XonoticListBox)
METHOD(XonoticDemoList, configureXonoticDemoList, void(entity))
ATTRIB(XonoticDemoList, rowsPerItem, float, 1)
-#ifdef INTERFACE
+#ifndef DIALOG_H
+#define DIALOG_H
CLASS(XonoticDialog, Dialog)
// still to be customized by user
/*
-#ifdef INTERFACE
+#ifndef DIALOG_CREDITS_H
+#define DIALOG_CREDITS_H
CLASS(XonoticCreditsDialog, XonoticDialog)
METHOD(XonoticCreditsDialog, fill, void(entity))
METHOD(XonoticCreditsDialog, focusEnter, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_AMMO_H
+#define DIALOG_HUDPANEL_AMMO_H
CLASS(XonoticHUDAmmoDialog, XonoticRootDialog)
METHOD(XonoticHUDAmmoDialog, fill, void(entity))
ATTRIB(XonoticHUDAmmoDialog, title, string, _("Ammo Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_BUFFS_H
+#define DIALOG_HUDPANEL_BUFFS_H
CLASS(XonoticHUDBuffsDialog, XonoticRootDialog)
METHOD(XonoticHUDBuffsDialog, fill, void(entity))
ATTRIB(XonoticHUDBuffsDialog, title, string, _("Buffs Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_CENTERPRINT_H
+#define DIALOG_HUDPANEL_CENTERPRINT_H
CLASS(XonoticHUDCenterprintDialog, XonoticRootDialog)
METHOD(XonoticHUDCenterprintDialog, fill, void(entity))
ATTRIB(XonoticHUDCenterprintDialog, title, string, _("Centerprint Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_CHAT_H
+#define DIALOG_HUDPANEL_CHAT_H
CLASS(XonoticHUDChatDialog, XonoticRootDialog)
METHOD(XonoticHUDChatDialog, fill, void(entity))
ATTRIB(XonoticHUDChatDialog, title, string, _("Chat Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_ENGINEINFO_H
+#define DIALOG_HUDPANEL_ENGINEINFO_H
CLASS(XonoticHUDEngineInfoDialog, XonoticRootDialog)
METHOD(XonoticHUDEngineInfoDialog, fill, void(entity))
ATTRIB(XonoticHUDEngineInfoDialog, title, string, _("Engine Info Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_HEALTHARMOR_H
+#define DIALOG_HUDPANEL_HEALTHARMOR_H
CLASS(XonoticHUDHealthArmorDialog, XonoticRootDialog)
METHOD(XonoticHUDHealthArmorDialog, fill, void(entity))
ATTRIB(XonoticHUDHealthArmorDialog, title, string, _("Health/Armor Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_INFOMESSAGES_H
+#define DIALOG_HUDPANEL_INFOMESSAGES_H
CLASS(XonoticHUDInfoMessagesDialog, XonoticRootDialog)
METHOD(XonoticHUDInfoMessagesDialog, fill, void(entity))
ATTRIB(XonoticHUDInfoMessagesDialog, title, string, _("Info Messages Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_MODICONS_H
+#define DIALOG_HUDPANEL_MODICONS_H
CLASS(XonoticHUDModIconsDialog, XonoticRootDialog)
METHOD(XonoticHUDModIconsDialog, fill, void(entity))
ATTRIB(XonoticHUDModIconsDialog, title, string, _("Mod Icons Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_NOTIFICATION_H
+#define DIALOG_HUDPANEL_NOTIFICATION_H
CLASS(XonoticHUDNotificationDialog, XonoticRootDialog)
METHOD(XonoticHUDNotificationDialog, fill, void(entity))
ATTRIB(XonoticHUDNotificationDialog, title, string, _("Notification Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_PHYSICS_H
+#define DIALOG_HUDPANEL_PHYSICS_H
CLASS(XonoticHUDPhysicsDialog, XonoticRootDialog)
METHOD(XonoticHUDPhysicsDialog, fill, void(entity))
ATTRIB(XonoticHUDPhysicsDialog, title, string, _("Physics Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_POWERUPS_H
+#define DIALOG_HUDPANEL_POWERUPS_H
CLASS(XonoticHUDPowerupsDialog, XonoticRootDialog)
METHOD(XonoticHUDPowerupsDialog, fill, void(entity))
ATTRIB(XonoticHUDPowerupsDialog, title, string, _("Powerups Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_PRESSEDKEYS_H
+#define DIALOG_HUDPANEL_PRESSEDKEYS_H
CLASS(XonoticHUDPressedKeysDialog, XonoticRootDialog)
METHOD(XonoticHUDPressedKeysDialog, fill, void(entity))
ATTRIB(XonoticHUDPressedKeysDialog, title, string, _("Pressed Keys Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_RACETIMER_H
+#define DIALOG_HUDPANEL_RACETIMER_H
CLASS(XonoticHUDRaceTimerDialog, XonoticRootDialog)
METHOD(XonoticHUDRaceTimerDialog, fill, void(entity))
ATTRIB(XonoticHUDRaceTimerDialog, title, string, _("Race Timer Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_RADAR_H
+#define DIALOG_HUDPANEL_RADAR_H
CLASS(XonoticHUDRadarDialog, XonoticRootDialog)
METHOD(XonoticHUDRadarDialog, fill, void(entity))
ATTRIB(XonoticHUDRadarDialog, title, string, _("Radar Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_SCORE_H
+#define DIALOG_HUDPANEL_SCORE_H
CLASS(XonoticHUDScoreDialog, XonoticRootDialog)
METHOD(XonoticHUDScoreDialog, fill, void(entity))
ATTRIB(XonoticHUDScoreDialog, title, string, _("Score Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_TIMER_H
+#define DIALOG_HUDPANEL_TIMER_H
CLASS(XonoticHUDTimerDialog, XonoticRootDialog)
METHOD(XonoticHUDTimerDialog, fill, void(entity))
ATTRIB(XonoticHUDTimerDialog, title, string, _("Timer Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_VOTE_H
+#define DIALOG_HUDPANEL_VOTE_H
CLASS(XonoticHUDVoteDialog, XonoticRootDialog)
METHOD(XonoticHUDVoteDialog, fill, void(entity))
ATTRIB(XonoticHUDVoteDialog, title, string, _("Vote Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDPANEL_WEAPONS_H
+#define DIALOG_HUDPANEL_WEAPONS_H
CLASS(XonoticHUDWeaponsDialog, XonoticRootDialog)
METHOD(XonoticHUDWeaponsDialog, fill, void(entity))
ATTRIB(XonoticHUDWeaponsDialog, title, string, _("Weapons Panel"))
-#ifdef INTERFACE
+#ifndef DIALOG_HUDSETUP_EXIT_H
+#define DIALOG_HUDSETUP_EXIT_H
CLASS(XonoticHUDExitDialog, XonoticRootDialog)
METHOD(XonoticHUDExitDialog, fill, void(entity))
ATTRIB(XonoticHUDExitDialog, title, string, _("Panel HUD Setup"))
-#ifdef INTERFACE
+#ifndef DIALOG_MONSTERTOOLS_H
+#define DIALOG_MONSTERTOOLS_H
CLASS(XonoticMonsterToolsDialog, XonoticRootDialog)
METHOD(XonoticMonsterToolsDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
ATTRIB(XonoticMonsterToolsDialog, title, string, _("Monster Tools"))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_H
+#define DIALOG_MULTIPLAYER_H
CLASS(XonoticMultiplayerDialog, XonoticDialog)
METHOD(XonoticMultiplayerDialog, fill, void(entity))
ATTRIB(XonoticMultiplayerDialog, title, string, _("Multiplayer"))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_CREATE_H
+#define DIALOG_MULTIPLAYER_CREATE_H
+#include "tab.qc"
CLASS(XonoticServerCreateTab, XonoticTab)
METHOD(XonoticServerCreateTab, fill, void(entity))
METHOD(XonoticServerCreateTab, gameTypeChangeNotify, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_CREATE_MAPINFO_H
+#define DIALOG_MULTIPLAYER_CREATE_MAPINFO_H
CLASS(XonoticMapInfoDialog, XonoticDialog)
METHOD(XonoticMapInfoDialog, fill, void(entity))
METHOD(XonoticMapInfoDialog, loadMapInfo, void(entity, float, entity))
#include "../../common/weapons/weapons.qh"
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_CREATE_MUTATORS_H
+#define DIALOG_MULTIPLAYER_CREATE_MUTATORS_H
CLASS(XonoticMutatorsDialog, XonoticDialog)
METHOD(XonoticMutatorsDialog, toString, string(entity))
METHOD(XonoticMutatorsDialog, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_JOIN_H
+#define DIALOG_MULTIPLAYER_JOIN_H
CLASS(XonoticServerListTab, XonoticTab)
METHOD(XonoticServerListTab, fill, void(entity))
ATTRIB(XonoticServerListTab, title, string, _("Join"))
#include "../../common/mapinfo.qh"
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_JOIN_SERVERINFO_H
+#define DIALOG_MULTIPLAYER_JOIN_SERVERINFO_H
CLASS(XonoticServerInfoDialog, XonoticDialog)
METHOD(XonoticServerInfoDialog, fill, void(entity))
METHOD(XonoticServerInfoDialog, loadServerInfo, void(entity, float))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_MEDIA_H
+#define DIALOG_MULTIPLAYER_MEDIA_H
CLASS(XonoticMediaTab, XonoticTab)
METHOD(XonoticMediaTab, fill, void(entity))
ATTRIB(XonoticMediaTab, title, string, _("Media"))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_MEDIA_DEMO_H
+#define DIALOG_MULTIPLAYER_MEDIA_DEMO_H
CLASS(XonoticDemoBrowserTab, XonoticTab)
METHOD(XonoticDemoBrowserTab, fill, void(entity))
ATTRIB(XonoticDemoBrowserTab, title, string, _("Demo"))
ATTRIB(XonoticDemoBrowserTab, democlicktype, float, 0)
ENDCLASS(XonoticDemoBrowserTab)
entity makeXonoticDemoBrowserTab();
-#ifdef IMPLEMENTATION
-// private:
-const float DMO_PLAY = 1;
-const float DMO_TIME = 2;
-#endif
#endif
#ifdef IMPLEMENTATION
+const float DMO_PLAY = 1;
+const float DMO_TIME = 2;
void DemoConfirm_Check_Gamestatus(entity btn, entity me)
{
if(!(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))) // we're not in a match, lets watch the demo
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_MEDIA_DEMO_STARTCONFIRM_H
+#define DIALOG_MULTIPLAYER_MEDIA_DEMO_STARTCONFIRM_H
CLASS(XonoticDemoStartConfirmDialog, XonoticDialog)
METHOD(XonoticDemoStartConfirmDialog, fill, void(entity))
ATTRIB(XonoticDemoStartConfirmDialog, title, string, _("Disconnect"))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_MEDIA_DEMO_TIMECONFIRM_H
+#define DIALOG_MULTIPLAYER_MEDIA_DEMO_TIMECONFIRM_H
CLASS(XonoticDemoTimeConfirmDialog, XonoticDialog)
METHOD(XonoticDemoTimeConfirmDialog, fill, void(entity))
ATTRIB(XonoticDemoTimeConfirmDialog, title, string, _("Disconnect"))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_MEDIA_MUSICPLAYER_H
+#define DIALOG_MULTIPLAYER_MEDIA_MUSICPLAYER_H
CLASS(XonoticMusicPlayerTab, XonoticTab)
METHOD(XonoticMusicPlayerTab, fill, void(entity))
ATTRIB(XonoticMusicPlayerTab, title, string, _("Music"))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_MEDIA_SCREENSHOT_H
+#define DIALOG_MULTIPLAYER_MEDIA_SCREENSHOT_H
CLASS(XonoticScreenshotBrowserTab, XonoticTab)
METHOD(XonoticScreenshotBrowserTab, fill, void(entity))
ATTRIB(XonoticScreenshotBrowserTab, title, string, "Screenshot")
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_MEDIA_SCREENSHOT_VIEWER_H
+#define DIALOG_MULTIPLAYER_MEDIA_SCREENSHOT_VIEWER_H
CLASS(XonoticScreenshotViewerDialog, XonoticDialog)
METHOD(XonoticScreenshotViewerDialog, fill, void(entity))
METHOD(XonoticScreenshotViewerDialog, keyDown, float(entity, float, float, float))
-#ifdef INTERFACE
+#ifndef DIALOG_MULTIPLAYER_PROFILE_H
+#define DIALOG_MULTIPLAYER_PROFILE_H
CLASS(XonoticProfileTab, XonoticTab)
METHOD(XonoticProfileTab, fill, void(entity))
METHOD(XonoticProfileTab, draw, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_QUIT_H
+#define DIALOG_QUIT_H
CLASS(XonoticQuitDialog, XonoticDialog)
METHOD(XonoticQuitDialog, fill, void(entity))
ATTRIB(XonoticQuitDialog, title, string, _("Quit"))
-#ifdef INTERFACE
+#ifndef DIALOG_SANDBOXTOOLS_H
+#define DIALOG_SANDBOXTOOLS_H
CLASS(XonoticSandboxToolsDialog, XonoticRootDialog)
METHOD(XonoticSandboxToolsDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
ATTRIB(XonoticSandboxToolsDialog, title, string, _("Sandbox Tools")) // ;)
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_H
+#define DIALOG_SETTINGS_H
CLASS(XonoticSettingsDialog, XonoticDialog)
METHOD(XonoticSettingsDialog, fill, void(entity))
ATTRIB(XonoticSettingsDialog, title, string, _("Settings"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_AUDIO_H
+#define DIALOG_SETTINGS_AUDIO_H
CLASS(XonoticAudioSettingsTab, XonoticTab)
METHOD(XonoticAudioSettingsTab, fill, void(entity))
ATTRIB(XonoticAudioSettingsTab, title, string, _("Audio"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_EFFECTS_H
+#define DIALOG_SETTINGS_EFFECTS_H
CLASS(XonoticEffectsSettingsTab, XonoticTab)
METHOD(XonoticEffectsSettingsTab, fill, void(entity))
ATTRIB(XonoticEffectsSettingsTab, title, string, _("Effects"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_H
+#define DIALOG_SETTINGS_GAME_H
CLASS(XonoticGameSettingsTab, XonoticTab)
METHOD(XonoticGameSettingsTab, fill, void(entity))
ATTRIB(XonoticGameSettingsTab, title, string, _("Game"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_CROSSHAIR_H
+#define DIALOG_SETTINGS_GAME_CROSSHAIR_H
CLASS(XonoticGameCrosshairSettingsTab, XonoticTab)
//METHOD(XonoticGameCrosshairSettingsTab, toString, string(entity))
METHOD(XonoticGameCrosshairSettingsTab, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_HUD_H
+#define DIALOG_SETTINGS_GAME_HUD_H
CLASS(XonoticGameHUDSettingsTab, XonoticTab)
//METHOD(XonoticGameHUDSettingsTab, toString, string(entity))
METHOD(XonoticGameHUDSettingsTab, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_HUDCONFIRM_H
+#define DIALOG_SETTINGS_GAME_HUDCONFIRM_H
CLASS(XonoticHUDConfirmDialog, XonoticDialog)
METHOD(XonoticHUDConfirmDialog, fill, void(entity))
ATTRIB(XonoticHUDConfirmDialog, title, string, _("Enter HUD editor"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_MESSAGES_H
+#define DIALOG_SETTINGS_GAME_MESSAGES_H
CLASS(XonoticGameMessageSettingsTab, XonoticTab)
//METHOD(XonoticGameWeaponsSettingsTab, toString, string(entity))
METHOD(XonoticGameMessageSettingsTab, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_MODEL_H
+#define DIALOG_SETTINGS_GAME_MODEL_H
CLASS(XonoticGameModelSettingsTab, XonoticTab)
//METHOD(XonoticGameModelSettingsTab, toString, string(entity))
METHOD(XonoticGameModelSettingsTab, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_VIEW_H
+#define DIALOG_SETTINGS_GAME_VIEW_H
CLASS(XonoticGameViewSettingsTab, XonoticTab)
//METHOD(XonoticGameCrosshairSettingsTab, toString, string(entity))
METHOD(XonoticGameViewSettingsTab, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_GAME_WEAPONS_H
+#define DIALOG_SETTINGS_GAME_WEAPONS_H
CLASS(XonoticGameWeaponsSettingsTab, XonoticTab)
//METHOD(XonoticGameWeaponsSettingsTab, toString, string(entity))
METHOD(XonoticGameWeaponsSettingsTab, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_INPUT_H
+#define DIALOG_SETTINGS_INPUT_H
CLASS(XonoticInputSettingsTab, XonoticTab)
METHOD(XonoticInputSettingsTab, fill, void(entity))
ATTRIB(XonoticInputSettingsTab, title, string, _("Input"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_INPUT_USERBIND_H
+#define DIALOG_SETTINGS_INPUT_USERBIND_H
CLASS(XonoticUserbindEditDialog, XonoticDialog)
METHOD(XonoticUserbindEditDialog, loadUserBind, void(entity, string, string, string))
METHOD(XonoticUserbindEditDialog, fill, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_MISC_H
+#define DIALOG_SETTINGS_MISC_H
CLASS(XonoticMiscSettingsTab, XonoticTab)
METHOD(XonoticMiscSettingsTab, fill, void(entity))
ATTRIB(XonoticMiscSettingsTab, title, string, _("Misc"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_MISC_CVARS_H
+#define DIALOG_SETTINGS_MISC_CVARS_H
CLASS(XonoticCvarsDialog, XonoticDialog)
METHOD(XonoticCvarsDialog, fill, void(entity))
METHOD(XonoticCvarsDialog, showNotify, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_MISC_RESET_H
+#define DIALOG_SETTINGS_MISC_RESET_H
CLASS(XonoticResetDialog, XonoticDialog)
METHOD(XonoticResetDialog, fill, void(entity))
ATTRIB(XonoticResetDialog, title, string, _("Factory reset"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_USER_H
+#define DIALOG_SETTINGS_USER_H
CLASS(XonoticUserSettingsTab, XonoticTab)
METHOD(XonoticUserSettingsTab, fill, void(entity))
ATTRIB(XonoticUserSettingsTab, title, string, _("User"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_USER_LANGUAGEWARNING_H
+#define DIALOG_SETTINGS_USER_LANGUAGEWARNING_H
CLASS(XonoticLanguageWarningDialog, XonoticDialog)
METHOD(XonoticLanguageWarningDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
ATTRIB(XonoticLanguageWarningDialog, title, string, _("Warning"))
-#ifdef INTERFACE
+#ifndef DIALOG_SETTINGS_VIDEO_H
+#define DIALOG_SETTINGS_VIDEO_H
CLASS(XonoticVideoSettingsTab, XonoticTab)
METHOD(XonoticVideoSettingsTab, fill, void(entity))
ATTRIB(XonoticVideoSettingsTab, title, string, _("Video"))
-#ifdef INTERFACE
+#ifndef DIALOG_SINGLEPLAYER_H
+#define DIALOG_SINGLEPLAYER_H
CLASS(XonoticSingleplayerDialog, XonoticDialog)
METHOD(XonoticSingleplayerDialog, fill, void(entity))
ATTRIB(XonoticSingleplayerDialog, title, string, _("Singleplayer"))
-#ifdef INTERFACE
+#ifndef DIALOG_SINGLEPLAYER_WINNER_H
+#define DIALOG_SINGLEPLAYER_WINNER_H
CLASS(XonoticWinnerDialog, XonoticDialog)
METHOD(XonoticWinnerDialog, fill, void(entity))
METHOD(XonoticWinnerDialog, focusEnter, void(entity))
-#ifdef INTERFACE
+#ifndef DIALOG_TEAMSELECT_H
+#define DIALOG_TEAMSELECT_H
CLASS(XonoticTeamSelectDialog, XonoticRootDialog)
METHOD(XonoticTeamSelectDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
METHOD(XonoticTeamSelectDialog, showNotify, void(entity))
-#ifdef INTERFACE
+#ifndef GAMETYPEBUTTON_H
+#define GAMETYPEBUTTON_H
CLASS(XonoticGametypeButton, RadioButton)
METHOD(XonoticGametypeButton, configureXonoticGametypeButton, void(entity, float, string, string))
METHOD(XonoticGametypeButton, setChecked, void(entity, float))
-#ifdef INTERFACE
+#ifndef GAMETYPELIST_H
+#define GAMETYPELIST_H
CLASS(XonoticGametypeList, XonoticListBox)
METHOD(XonoticGametypeList, configureXonoticGametypeList, void(entity))
ATTRIB(XonoticGametypeList, rowsPerItem, float, 2)
-#ifdef INTERFACE
+#ifndef IMAGE_H
+#define IMAGE_H
CLASS(XonoticImage, Image)
METHOD(XonoticImage, configureXonoticImage, void(entity, string, float))
ENDCLASS(XonoticImage)
-#ifdef INTERFACE
+#ifndef INPUTBOX_H
+#define INPUTBOX_H
CLASS(XonoticInputBox, InputBox)
METHOD(XonoticInputBox, configureXonoticInputBox, void(entity, float, string))
METHOD(XonoticInputBox, focusLeave, void(entity))
-#ifdef INTERFACE
+#ifndef KEYBINDER_H
+#define KEYBINDER_H
CLASS(XonoticKeyBinder, XonoticListBox)
METHOD(XonoticKeyBinder, configureXonoticKeyBinder, void(entity))
ATTRIB(XonoticKeyBinder, rowsPerItem, int, 1)
void KeyBinder_Bind_Change(entity btn, entity me);
void KeyBinder_Bind_Clear(entity btn, entity me);
void KeyBinder_Bind_Edit(entity btn, entity me);
+void KeyBinder_Bind_Reset_All(entity btn, entity me);
#endif
#ifdef IMPLEMENTATION
-#ifdef INTERFACE
+#ifndef LANGUAGELIST_H
+#define LANGUAGELIST_H
CLASS(XonoticLanguageList, XonoticListBox)
METHOD(XonoticLanguageList, configureXonoticLanguageList, void(entity))
ATTRIB(XonoticLanguageList, rowsPerItem, float, 1)
-#ifdef INTERFACE
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
CLASS(MainWindow, ModalController)
METHOD(MainWindow, configureMainWindow, void(entity))
METHOD(MainWindow, draw, void(entity))
-#ifdef INTERFACE
+#ifndef MAPLIST_H
+#define MAPLIST_H
CLASS(XonoticMapList, XonoticListBox)
METHOD(XonoticMapList, configureXonoticMapList, void(entity))
ATTRIB(XonoticMapList, rowsPerItem, float, 4)
-#ifdef INTERFACE
+#ifndef NEXPOSEE_H
+#define NEXPOSEE_H
CLASS(XonoticNexposee, Nexposee)
METHOD(XonoticNexposee, configureXonoticNexposee, void(entity))
METHOD(XonoticNexposee, close, void(entity))
-#ifdef INTERFACE
+#ifndef PLAYERMODEL_H
+#define PLAYERMODEL_H
CLASS(XonoticPlayerModelSelector, XonoticImage)
METHOD(XonoticPlayerModelSelector, configureXonoticPlayerModelSelector, void(entity))
METHOD(XonoticPlayerModelSelector, loadCvars, void(entity))
-#ifdef INTERFACE
+#ifndef PLAYLIST_H
+#define PLAYLIST_H
CLASS(XonoticPlayList, XonoticListBox)
METHOD(XonoticPlayList, configureXonoticPlayList, void(entity))
ATTRIB(XonoticPlayList, rowsPerItem, float, 1)
-#ifdef INTERFACE
+#ifndef RADIOBUTTON_H
+#define RADIOBUTTON_H
CLASS(XonoticRadioButton, RadioButton)
METHOD(XonoticRadioButton, configureXonoticRadioButton, void(entity, float, string, string, string))
METHOD(XonoticRadioButton, draw, void(entity))
-#ifdef INTERFACE
+#ifndef SCREENSHOTIMAGE_H
+#define SCREENSHOTIMAGE_H
CLASS(XonoticScreenshotImage, XonoticImage)
METHOD(XonoticScreenshotImage, configureXonoticScreenshotImage, void(entity))
METHOD(XonoticScreenshotImage, load, void(entity, string))
-#ifdef INTERFACE
+#ifndef SCREENSHOTLIST_H
+#define SCREENSHOTLIST_H
CLASS(XonoticScreenshotList, XonoticListBox)
METHOD(XonoticScreenshotList, configureXonoticScreenshotList, void(entity))
ATTRIB(XonoticScreenshotList, rowsPerItem, float, 1)
-#ifdef INTERFACE
+#ifndef SERVERLIST_H
+#define SERVERLIST_H
CLASS(XonoticServerList, XonoticListBox)
METHOD(XonoticServerList, configureXonoticServerList, void(entity))
ATTRIB(XonoticServerList, rowsPerItem, float, 1)
-#ifdef INTERFACE
+#ifndef SKINLIST_H
+#define SKINLIST_H
CLASS(XonoticSkinList, XonoticListBox)
METHOD(XonoticSkinList, configureXonoticSkinList, void(entity))
ATTRIB(XonoticSkinList, rowsPerItem, float, 4)
-#ifdef INTERFACE
+#ifndef SLIDER_H
+#define SLIDER_H
CLASS(XonoticSlider, Slider)
METHOD(XonoticSlider, configureXonoticSlider, void(entity, float, float, float, string))
METHOD(XonoticSlider, setValue, void(entity, float))
#include "../../warpzonelib/mathlib.qh"
-#ifdef INTERFACE
+#ifndef SLIDER_DECIBELS_H
+#define SLIDER_DECIBELS_H
CLASS(XonoticDecibelsSlider, XonoticSlider)
METHOD(XonoticDecibelsSlider, loadCvars, void(entity))
METHOD(XonoticDecibelsSlider, saveCvars, void(entity))
-#ifdef INTERFACE
+#ifndef SLIDER_PARTICLES_H
+#define SLIDER_PARTICLES_H
+#include "textslider.qc"
CLASS(XonoticParticlesSlider, XonoticTextSlider)
METHOD(XonoticParticlesSlider, configureXonoticParticlesSlider, void(entity))
METHOD(XonoticParticlesSlider, loadCvars, void(entity))
-#ifdef INTERFACE
+#ifndef SLIDER_PICMIP_H
+#define SLIDER_PICMIP_H
CLASS(XonoticPicmipSlider, XonoticTextSlider)
METHOD(XonoticPicmipSlider, configureXonoticPicmipSlider, void(entity))
METHOD(XonoticPicmipSlider, draw, void(entity))
-#ifdef INTERFACE
+#ifndef SLIDER_SBFADETIME_H
+#define SLIDER_SBFADETIME_H
CLASS(XonoticScoreboardFadeTimeSlider, XonoticTextSlider)
METHOD(XonoticScoreboardFadeTimeSlider, configureXonoticScoreboardFadeTimeSlider, void(entity))
METHOD(XonoticScoreboardFadeTimeSlider, loadCvars, void(entity))
-#ifdef INTERFACE
+#ifndef SOUNDLIST_H
+#define SOUNDLIST_H
CLASS(XonoticSoundList, XonoticListBox)
METHOD(XonoticSoundList, configureXonoticSoundList, void(entity))
ATTRIB(XonoticSoundList, rowsPerItem, float, 1)
#include "../../common/counting.qh"
#include "../../common/playerstats.qh"
-#ifdef INTERFACE
+#ifndef STATSLIST_H
+#define STATSLIST_H
CLASS(XonoticStatsList, XonoticListBox)
METHOD(XonoticStatsList, configureXonoticStatsList, void(entity))
ATTRIB(XonoticStatsList, rowsPerItem, float, 1.4)
-#ifdef INTERFACE
+#ifndef TAB_H
+#define TAB_H
CLASS(XonoticTab, Tab)
// still to be customized by user
/*
-#ifdef INTERFACE
+#ifndef TABCONTROLLER_H
+#define TABCONTROLLER_H
CLASS(XonoticTabController, ModalController)
METHOD(XonoticTabController, configureXonoticTabController, void(entity, float))
METHOD(XonoticTabController, makeTabButton, entity(entity, string, entity))
-#ifdef INTERFACE
+#ifndef TEXTLABEL_H
+#define TEXTLABEL_H
CLASS(XonoticTextLabel, Label)
METHOD(XonoticTextLabel, configureXonoticTextLabel, void(entity, float, string))
METHOD(XonoticTextLabel, draw, void(entity))
ATTRIB(XonoticTextLabel, disabledAlpha, float, SKINALPHA_DISABLED)
ENDCLASS(XonoticTextLabel)
entity makeXonoticTextLabel(float theAlign, string theText);
+entity makeXonoticHeaderLabel(string theText);
#endif
#ifdef IMPLEMENTATION
-#ifdef INTERFACE
+#ifndef WEAPONARENACHECKBOX_H
+#define WEAPONARENACHECKBOX_H
CLASS(XonoticWeaponarenaCheckBox, CheckBox)
METHOD(XonoticWeaponarenaCheckBox, configureXonoticWeaponarenaCheckBox, void(entity, string, string))
METHOD(XonoticWeaponarenaCheckBox, setChecked, void(entity, float))
-#ifdef INTERFACE
+#ifndef WEAPONSLIST_H
+#define WEAPONSLIST_H
CLASS(XonoticWeaponsList, XonoticListBox)
METHOD(XonoticWeaponsList, configureXonoticWeaponsList, void(entity))
METHOD(XonoticWeaponsList, toString, string(entity))