From: TimePath Date: Wed, 17 Dec 2014 01:14:43 +0000 (+1100) Subject: Merge branch 'master' into terencehill/music_player X-Git-Tag: xonotic-v0.8.1~157^2~5 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=71e6c75bc408ae5a116f296797c49c0cef7be113;p=xonotic%2Fxonotic-data.pk3dir.git Merge branch 'master' into terencehill/music_player Conflicts: qcsrc/menu/classes.c qcsrc/menu/xonotic/dialog_multiplayer.c --- 71e6c75bc408ae5a116f296797c49c0cef7be113 diff --cc qcsrc/menu/classes.c index efb269b4e,bc60898c8..9f01ee3fb --- a/qcsrc/menu/classes.c +++ b/qcsrc/menu/classes.c @@@ -78,18 -80,24 +80,27 @@@ #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" diff --cc qcsrc/menu/xonotic/dialog_multiplayer_media.c index 000000000,9c47ef58d..a0b49b1f6 mode 000000,100644..100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_media.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_media.c @@@ -1,0 -1,33 +1,34 @@@ + #ifdef INTERFACE + CLASS(XonoticMediaTab) EXTENDS(XonoticTab) + METHOD(XonoticMediaTab, fill, void(entity)) - ATTRIB(XonoticMediaTab, title, string, _("Demo")) ++ ATTRIB(XonoticMediaTab, title, string, _("Media")) + ATTRIB(XonoticMediaTab, intendedWidth, float, 0.9) + ATTRIB(XonoticMediaTab, rows, float, 23) - ATTRIB(XonoticMediaTab, columns, float, 2) ++ 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 diff --cc qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.c index 000000000,000000000..68e40d571 new file mode 100644 --- /dev/null +++ b/qcsrc/menu/xonotic/dialog_multiplayer_media_musicplayer.c @@@ -1,0 -1,0 +1,87 @@@ ++#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