diff Game/MainMenu.cpp @ 2551:4008b2f34be0

MainMenu rendering moved from event loop to respective window class
author a.parshin
date Tue, 12 May 2015 12:03:30 +0200
parents fed97f15d1e1
children ac16f4a3a91e
line wrap: on
line diff
--- a/Game/MainMenu.cpp	Tue May 12 11:28:22 2015 +0200
+++ b/Game/MainMenu.cpp	Tue May 12 12:03:30 2015 +0200
@@ -9,21 +9,16 @@
 #include "IO/Mouse.h"
 #include "IO/Keyboard.h"
 
-#include "GUI/GUIWindow.h"
-#include "GUI/GUIButton.h"
+#include "GUI/UI/UIMainMenu.h"
 #include "GUI/UI/UIPartyCreation.h"
 #include "GUI/UI/UISaveLoad.h"
+#include "GUI/GUIButton.h"
 
 #include "Media/Audio/AudioPlayer.h"
 
 #include "Game/MainMenu.h"
 
 
-GUIButton *pMainMenu_BtnExit = nullptr;
-GUIButton *pMainMenu_BtnCredits = nullptr;
-GUIButton *pMainMenu_BtnLoad = nullptr;
-GUIButton *pMainMenu_BtnNew = nullptr;
-
 RGBTexture main_menu_background;
 
 
@@ -366,16 +361,7 @@
 
     pIcons_LOD->_inlined_sub2();
 
-    pWindow_MainMenu = new GUIWindow(0, 0, window->GetWidth(), window->GetHeight(), 0, 0);
-    Texture* pNew = pIcons_LOD->LoadTexturePtr("title_new", TEXTURE_16BIT_PALETTE);
-    Texture* pLoad = pIcons_LOD->LoadTexturePtr("title_load", TEXTURE_16BIT_PALETTE);
-    Texture* pCredits = pIcons_LOD->LoadTexturePtr("title_cred", TEXTURE_16BIT_PALETTE);
-    Texture* pExit = pIcons_LOD->LoadTexturePtr("title_exit", TEXTURE_16BIT_PALETTE);
-
-    pMainMenu_BtnNew = pWindow_MainMenu->CreateButton(495, 172, pNew->uTextureWidth, pNew->uTextureHeight, 1, 0, UIMSG_MainMenu_ShowPartyCreationWnd, 0, 'N', "", pNew, 0);
-    pMainMenu_BtnLoad = pWindow_MainMenu->CreateButton(495, 227, pLoad->uTextureWidth, pLoad->uTextureHeight, 1, 0, UIMSG_MainMenu_ShowLoadWindow, 1, 'L', "", pLoad, 0);
-    pMainMenu_BtnCredits = pWindow_MainMenu->CreateButton(495, 282, pCredits->uTextureWidth, pCredits->uTextureHeight, 1, 0, UIMSG_ShowCredits, 2, 'C', "", pCredits, 0);
-    pMainMenu_BtnExit = pWindow_MainMenu->CreateButton(495, 337, pExit->uTextureWidth, pExit->uTextureHeight, 1, 0, UIMSG_ExitToWindows, 3, 0, "", pExit, 0);
+    pWindow_MainMenu = new GUIWindow_MainMenu();
 
     main_menu_background.Release();
     main_menu_background.Load("title.pcx", 0);
@@ -421,56 +407,10 @@
         MainMenu_EventLoop();
         GUI_UpdateWindows();
 
-        if (GetCurrentMenuID() != MENU_MAIN)
-        {
-            if (GetCurrentMenuID() == MENU_LoadingProcInMainMenu)
-            {
-                pIcons_LOD->RemoveTexturesPackFromTextureList();
-                pGUIWindow_CurrentMenu->Release();
-                pGUIWindow_CurrentMenu = 0;
-                current_screen_type = SCREEN_GAME;
-                viewparams->bRedrawGameUI = 1;
-            }
-        }
-        else
-        {
-            if (!pModalWindow)// ???
-            {
-                pButton = pWindow->pControlsHead;
-                for (pButton = pWindow->pControlsHead; pButton; pButton = pButton->pNext)
-                {
-                    if (pt.x >= (signed int)pButton->uX && pt.x <= (signed int)pButton->uZ
-                        && pt.y >= (signed int)pButton->uY && pt.y <= (signed int)pButton->uW
-                        && pWindow == pWindow_MainMenu)
-                    {
-                        pControlParam = pButton->msg_param;
-                        switch (pControlParam) // backlight for buttons
-                        {
-                        case 0:
-                            pTexture = pNew;
-                            pY = 172;
-                            break;
-                        case 1:
-                            pTexture = pLoad;
-                            pY = 227;
-                            break;
-                        case 2:
-                            pTexture = pCredits;
-                            pY = 282;
-                            break;
-                        case 3:
-                            pTexture = pExit;
-                            pY = 337;
-                            break;
-                        }
-                        pRenderer->DrawTextureIndexed(495, pY, pTexture);
-                    }
-                }
-            }
-        }
         pRenderer->EndScene();
         pRenderer->Present();
     }
+
     MainMenu_EventLoop();
     pRenderer->BeginScene();
     GUI_UpdateWindows();