X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fmainwindow.qc;h=e215e5080bd883bd26086268cf32aa9473b97a19;hb=3ecb4f377794080b3b216d6be9f131c227e76210;hp=110b796be61d09ce0375b4827ec663fc1707e773;hpb=ec98f5c9d50f267779fed871c9eb094a52064219;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/mainwindow.qc b/qcsrc/menu/xonotic/mainwindow.qc index 110b796be..e215e5080 100644 --- a/qcsrc/menu/xonotic/mainwindow.qc +++ b/qcsrc/menu/xonotic/mainwindow.qc @@ -4,6 +4,7 @@ #include "nexposee.qh" #include "inputbox.qh" +#include "dialog_termsofservice.qh" #include "dialog_firstrun.qh" #include "dialog_hudsetup_exit.qh" #include "dialog_hudpanel_notification.qh" @@ -25,8 +26,10 @@ #include "dialog_hudpanel_centerprint.qh" #include "dialog_hudpanel_itemstime.qh" #include "dialog_hudpanel_quickmenu.qh" +#include "dialog_hudpanel_strafehud.qh" #include "dialog_settings_input_userbind.qh" +#include "dialog_settings_bindings_reset.qh" #include "dialog_settings_misc_cvars.qh" #include "dialog_settings_misc_reset.qh" #include "dialog_settings_user_languagewarning.qh" @@ -40,6 +43,8 @@ #include "dialog_multiplayer_create_mutators.qh" #include "dialog_sandboxtools.qh" #include "dialog_monstertools.qh" +#include "dialog_gamemenu.qh" +#include "dialog_welcome.qh" #include "dialog_teamselect.qh" #include "dialog_uid2name.qh" #include "dialog_singleplayer.qh" @@ -52,10 +57,16 @@ void MainWindow_draw(entity me) { SUPER(MainWindow).draw(me); - if(me.dialogToShow) - { - DialogOpenButton_Click_withCoords(NULL, me.dialogToShow, '0 0 0', eX * conwidth + eY * conheight); - me.dialogToShow = NULL; + if (me.firstDraw) { + if (me.ToSDialog.shouldShow()) + { + me.ToSDialog.loadXonoticToS(me.ToSDialog); + DialogOpenButton_Click_withCoords(NULL, me.ToSDialog, '0 0 0', eX * conwidth + eY * conheight); + } + else if(me.firstRunDialog.shouldShow()) + DialogOpenButton_Click_withCoords(NULL, me.firstRunDialog, '0 0 0', eX * conwidth + eY * conheight); + + me.firstDraw = false; } } @@ -71,11 +82,20 @@ void MainWindow_configureMainWindow(entity me) { entity n, i; + // terms of service dialog + me.ToSDialog = i = NEW(XonoticToSDialog); + i.configureDialog(i); + me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + // dialog run upon startup me.firstRunDialog = i = NEW(XonoticFirstRunDialog); i.configureDialog(i); me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + i = NEW(XonoticWelcomeDialog); + i.configureDialog(i); + me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + // hud_configure dialogs i = NEW(XonoticHUDExitDialog); @@ -158,11 +178,19 @@ void MainWindow_configureMainWindow(entity me) i.configureDialog(i); me.addItemRightCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + i = NEW(XonoticHUDStrafeHUDDialog); + i.configureDialog(i); + me.addItemRightCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + // dialogs used by settings me.userbindEditDialog = i = NEW(XonoticUserbindEditDialog); i.configureDialog(i); me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + me.bindingsResetDialog = i = NEW(XonoticBindingsResetDialog); + i.configureDialog(i); + me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + me.cvarsDialog = i = NEW(XonoticCvarsDialog); i.configureDialog(i); me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); @@ -223,6 +251,10 @@ void MainWindow_configureMainWindow(entity me) // miscellaneous dialogs + i = NEW(XonoticGameMenuDialog); + i.configureDialog(i); + me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); + i = NEW(XonoticTeamSelectDialog); i.configureDialog(i); me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); @@ -240,6 +272,7 @@ void MainWindow_configureMainWindow(entity me) // main dialogs/windows me.mainNexposee = n = NEW(XonoticNexposee); + /* if(checkextension("DP_GECKO_SUPPORT")) { @@ -249,6 +282,7 @@ void MainWindow_configureMainWindow(entity me) n.setNexposee(n, i, '0.1 0.1 0', SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y); } */ + i = NEW(XonoticSingleplayerDialog); i.configureDialog(i); n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z); @@ -280,7 +314,4 @@ void MainWindow_configureMainWindow(entity me) me.moveItemAfter(me, n, NULL); me.initializeDialog(me, n); - - if(cvar_string("_cl_name") == cvar_defstring("_cl_name")) - me.dialogToShow = me.firstRunDialog; }