]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/mainwindow.qc
updated mod. files with qcsrc\tools\genmod.sh shell script
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / mainwindow.qc
index 22853c9baa1664610fc5ac3092a0d9eb534e80aa..e215e5080bd883bd26086268cf32aa9473b97a19 100644 (file)
@@ -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"
@@ -42,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"
@@ -54,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;
        }
 }
 
@@ -73,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);
@@ -233,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);
@@ -292,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;
 }