#include "xonotic/dialog_singleplayer_winner.c"
#include "xonotic/dialog_credits.c"
#include "xonotic/credits.c"
- #include "xonotic/dialog_multiplayer_playersetup_crosshair.c"
- #include "xonotic/dialog_multiplayer_playersetup_hud.c"
- #include "xonotic/dialog_multiplayer_playersetup_hudconfirm.c"
- #include "xonotic/dialog_multiplayer_playersetup_model.c"
- #include "xonotic/dialog_multiplayer_playersetup_view.c"
- #include "xonotic/dialog_multiplayer_playersetup_weapons.c"
+ #include "xonotic/dialog_settings_game_crosshair.c"
+ #include "xonotic/dialog_settings_game_hud.c"
+ #include "xonotic/dialog_settings_game_hudconfirm.c"
+ #include "xonotic/dialog_settings_game_model.c"
+ #include "xonotic/dialog_settings_game_messages.c"
+ #include "xonotic/dialog_settings_game_view.c"
+ #include "xonotic/dialog_settings_game_weapons.c"
#include "xonotic/weaponslist.c"
- #include "xonotic/dialog_multiplayer_demo.c"
+ #include "xonotic/dialog_multiplayer_media.c"
+ #include "xonotic/dialog_multiplayer_media_demo.c"
+ #include "xonotic/dialog_multiplayer_media_demo_startconfirm.c"
+ #include "xonotic/dialog_multiplayer_media_demo_timeconfirm.c"
#include "xonotic/demolist.c"
- #include "xonotic/dialog_multiplayer_musicplayer.c"
+ #include "xonotic/screenshotimage.c"
+ #include "xonotic/dialog_multiplayer_media_screenshot.c"
+ #include "xonotic/dialog_multiplayer_media_screenshot_viewer.c"
+ #include "xonotic/screenshotlist.c"
+ #include "xonotic/statslist.c"
++#include "xonotic/dialog_multiplayer_media_musicplayer.c"
+#include "xonotic/soundlist.c"
+#include "xonotic/playlist.c"
#include "xonotic/colorpicker.c"
#include "xonotic/colorpicker_string.c"
#include "xonotic/cvarlist.c"
--- /dev/null
- ATTRIB(XonoticMediaTab, title, string, _("Demo"))
+ #ifdef INTERFACE
+ CLASS(XonoticMediaTab) EXTENDS(XonoticTab)
+ METHOD(XonoticMediaTab, fill, void(entity))
- ATTRIB(XonoticMediaTab, columns, float, 2)
++ ATTRIB(XonoticMediaTab, title, string, _("Media"))
+ ATTRIB(XonoticMediaTab, intendedWidth, float, 0.9)
+ ATTRIB(XonoticMediaTab, rows, float, 23)
++ ATTRIB(XonoticMediaTab, columns, float, 3)
+ ATTRIB(XonoticMediaTab, name, string, "Media")
+ ENDCLASS(XonoticMediaTab)
+ entity makeXonoticMediaTab();
+ #endif
+
+ #ifdef IMPLEMENTATION
+ entity makeXonoticMediaTab()
+ {
+ entity me;
+ me = spawnXonoticMediaTab();
+ me.configureDialog(me);
+ return me;
+ }
+ void XonoticMediaTab_fill(entity me)
+ {
+ entity mc, e;
+ mc = makeXonoticTabController(me.rows - 2);
+
+ me.gotoRC(me, 0.5, 0);
+ me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Demos"), makeXonoticDemoBrowserTab()));
+ me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Screenshots"), makeXonoticScreenshotBrowserTab()));
++ me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Music Player"), makeXonoticMusicPlayerTab()));
+
+ me.gotoRC(me, 3, 0);
+ me.TD(me, me.rows - 2, me.columns, mc);
+ }
+ #endif
--- /dev/null
--- /dev/null
++#ifdef INTERFACE
++CLASS(XonoticMusicPlayerTab) EXTENDS(XonoticTab)
++ METHOD(XonoticMusicPlayerTab, fill, void(entity))
++ ATTRIB(XonoticMusicPlayerTab, title, string, _("Music"))
++ ATTRIB(XonoticMusicPlayerTab, intendedWidth, float, 0.9)
++ ATTRIB(XonoticMusicPlayerTab, rows, float, 21)
++ ATTRIB(XonoticMusicPlayerTab, columns, float, 6.5)
++ ATTRIB(XonoticMusicPlayerTab, name, string, "MusicPlayer")
++ENDCLASS(XonoticMusicPlayerTab)
++entity makeXonoticMusicPlayerTab();
++#endif
++
++#ifdef IMPLEMENTATION
++entity makeXonoticMusicPlayerTab()
++{
++ entity me;
++ me = spawnXonoticMusicPlayerTab();
++ me.configureDialog(me);
++ return me;
++}
++void XonoticMusicPlayerTab_fill(entity me)
++{
++ entity e;
++ entity soundList, playList;
++ float columns_nospacing = (me.columns - 0.2);
++
++ me.TR(me);
++ me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Filter:")));
++ me.TD(me, 1, 2.5, e = makeXonoticInputBox(0, string_null));
++ soundList = makeXonoticSoundList();
++ e.onChange = SoundList_Filter_Change;
++ e.onChangeEntity = soundList;
++ soundList.controlledTextbox = e;
++ playList = makeXonoticPlayList();
++ soundList.playlist = playList;
++
++ me.TR(me);
++ me.TD(me, me.rows - 4, columns_nospacing / 2, soundList);
++
++ me.gotoRC(me, me.rows - 3, 0);
++ me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add")), '0 0 0'));
++ e.onClick = SoundList_Add;
++ e.onClickEntity = soundList;
++ me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add all")), '0 0 0'));
++ e.onClick = SoundList_Add_All;
++ e.onClickEntity = soundList;
++ me.TR(me);
++ me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Set as menu track"), '0 0 0'));
++ e.onClick = SoundList_Menu_Track_Change;
++ e.onClickEntity = soundList;
++ me.TR(me);
++ me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Reset default menu track"), '0 0 0'));
++ e.onClick = SoundList_Menu_Track_Reset;
++ e.onClickEntity = soundList;
++ me.TR(me);
++ me.TR(me);
++ me.gotoRC(me, 0, columns_nospacing / 2 + 0.2); me.setFirstColumn(me, me.currentColumn);
++ me.TD(me, 1, columns_nospacing / 4, e = makeXonoticTextLabel(0, _("Playlist:")));
++ me.TD(me, 1, columns_nospacing / 4, e = makeXonoticCheckBox(0, "music_playlist_random0", _("Random order")));
++ me.TR(me);
++ me.TD(me, me.rows - 3, columns_nospacing / 2, playList);
++
++ me.gotoRC(me, me.rows - 2, columns_nospacing / 2 + 0.2);
++ me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Stop")), '0 0 0'));
++ e.onClick = StopSound_Click;
++ e.onClickEntity = playList;
++ me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Play")), '0 0 0'));
++ e.onClick = StartSound_Click;
++ e.onClickEntity = playList;
++ me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Pause/Play")), '0 0 0'));
++ e.onClick = PauseSound_Click;
++ e.onClickEntity = playList;
++ me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Prev")), '0 0 0'));
++ e.onClick = PrevSound_Click;
++ e.onClickEntity = playList;
++ me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Next")), '0 0 0'));
++ e.onClick = NextSound_Click;
++ e.onClickEntity = playList;
++ me.TR(me);
++ me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove")), '0 0 0'));
++ e.onClick = PlayList_Remove;
++ e.onClickEntity = playList;
++ me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove all")), '0 0 0'));
++ e.onClick = PlayList_Remove_All;
++ e.onClickEntity = playList;
++}
++#endif