Mercurial > mm7
diff GUI/UI/UIMainMenu.cpp @ 2574:dd36326a9994
More texture refactoring
GetLeather -> DrawTextureCustomHeight
author | a.parshin |
---|---|
date | Mon, 07 Mar 2016 03:48:40 +0200 |
parents | 0c67be4ec900 |
children | a76d408c5132 |
line wrap: on
line diff
--- a/GUI/UI/UIMainMenu.cpp Sat Mar 05 16:25:53 2016 +0200 +++ b/GUI/UI/UIMainMenu.cpp Mon Mar 07 03:48:40 2016 +0200 @@ -16,8 +16,10 @@ #include "IO/Mouse.h" #include "IO/Keyboard.h" +#include "GUI/GUIFont.h" #include "GUI/UI/UIMainMenu.h" -#include "GUI/GUIFont.h" +#include "GUI/UI/UIGame.h" +#include "GUI/UI/UIPartyCreation.h" #include "Media/Audio/AudioPlayer.h" @@ -31,6 +33,10 @@ GUIButton *pMainMenu_BtnLoad = nullptr; GUIButton *pMainMenu_BtnNew = nullptr; +Image *ui_mainmenu_new = nullptr; +Image *ui_mainmenu_load = nullptr; +Image *ui_mainmenu_credits = nullptr; +Image *ui_mainmenu_exit = nullptr; GUIWindow_MainMenu::GUIWindow_MainMenu() : @@ -38,15 +44,15 @@ { // ----------------------------------- // 004627B7 void MainMenu_Loop -- part - 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); + ui_mainmenu_new = assets->GetImage_16BitColorKey(L"title_new", 0x7FF); + ui_mainmenu_load = assets->GetImage_16BitColorKey(L"title_load", 0x7FF); + ui_mainmenu_credits = assets->GetImage_16BitColorKey(L"title_cred", 0x7FF); + ui_mainmenu_exit = assets->GetImage_16BitColorKey(L"title_exit", 0x7FF); - pMainMenu_BtnNew = CreateButton(495, 172, pNew->uTextureWidth, pNew->uTextureHeight, 1, 0, UIMSG_MainMenu_ShowPartyCreationWnd, 0, 'N', "", pNew, 0); - pMainMenu_BtnLoad = CreateButton(495, 227, pLoad->uTextureWidth, pLoad->uTextureHeight, 1, 0, UIMSG_MainMenu_ShowLoadWindow, 1, 'L', "", pLoad, 0); - pMainMenu_BtnCredits = CreateButton(495, 282, pCredits->uTextureWidth, pCredits->uTextureHeight, 1, 0, UIMSG_ShowCredits, 2, 'C', "", pCredits, 0); - pMainMenu_BtnExit = CreateButton(495, 337, pExit->uTextureWidth, pExit->uTextureHeight, 1, 0, UIMSG_ExitToWindows, 3, 0, "", pExit, 0); + pMainMenu_BtnNew = CreateButton(495, 172, ui_mainmenu_new->GetWidth(), ui_mainmenu_new->GetHeight(), 1, 0, UIMSG_MainMenu_ShowPartyCreationWnd, 0, 'N', "", ui_mainmenu_new, 0); + pMainMenu_BtnLoad = CreateButton(495, 227, ui_mainmenu_load->GetWidth(), ui_mainmenu_load->GetHeight(), 1, 0, UIMSG_MainMenu_ShowLoadWindow, 1, 'L', "", ui_mainmenu_load, 0); + pMainMenu_BtnCredits = CreateButton(495, 282, ui_mainmenu_credits->GetWidth(), ui_mainmenu_credits->GetHeight(), 1, 0, UIMSG_ShowCredits, 2, 'C', "", ui_mainmenu_credits, 0); + pMainMenu_BtnExit = CreateButton(495, 337, ui_mainmenu_exit->GetWidth(), ui_mainmenu_exit->GetHeight(), 1, 0, UIMSG_ExitToWindows, 3, 0, "", ui_mainmenu_exit, 0); } @@ -63,7 +69,7 @@ if (GetCurrentMenuID() == MENU_MAIN) { - Texture *pTexture = nullptr; + Texture_MM7 *pTexture = nullptr; if (!pModalWindow)// ??? { auto pButton = pWindow->pControlsHead; @@ -114,8 +120,6 @@ for (uint i = 0; i < window->GetHeight(); ++i) pSRZBufferLineOffsets[i] = window->GetWidth() * i; - uTextureID_FONTPAL = pIcons_LOD->LoadTexture("FONTPAL", TEXTURE_16BIT_PALETTE); - pFontArrus = LoadFont("arrus.fnt", "FONTPAL", nullptr); pFontArrus->field_3 = 0; @@ -153,33 +157,33 @@ pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchB")); pIconsFrameTable->InitializeAnimation(pIconsFrameTable->FindIcon("torchA")); - pTextureIDs_pMapDirs[0] = pIcons_LOD->LoadTexture("MAPDIR1", TEXTURE_16BIT_PALETTE); - pTextureIDs_pMapDirs[1] = pIcons_LOD->LoadTexture("MAPDIR2", TEXTURE_16BIT_PALETTE); - pTextureIDs_pMapDirs[2] = pIcons_LOD->LoadTexture("MAPDIR3", TEXTURE_16BIT_PALETTE); - pTextureIDs_pMapDirs[3] = pIcons_LOD->LoadTexture("MAPDIR4", TEXTURE_16BIT_PALETTE); - pTextureIDs_pMapDirs[4] = pIcons_LOD->LoadTexture("MAPDIR5", TEXTURE_16BIT_PALETTE); - pTextureIDs_pMapDirs[5] = pIcons_LOD->LoadTexture("MAPDIR6", TEXTURE_16BIT_PALETTE); - pTextureIDs_pMapDirs[6] = pIcons_LOD->LoadTexture("MAPDIR7", TEXTURE_16BIT_PALETTE); - pTextureIDs_pMapDirs[7] = pIcons_LOD->LoadTexture("MAPDIR8", TEXTURE_16BIT_PALETTE); + game_ui_minimap_dirs[0] = assets->GetImage_16BitAlpha("MAPDIR1"); + game_ui_minimap_dirs[1] = assets->GetImage_16BitAlpha("MAPDIR2"); + game_ui_minimap_dirs[2] = assets->GetImage_16BitAlpha("MAPDIR3"); + game_ui_minimap_dirs[3] = assets->GetImage_16BitAlpha("MAPDIR4"); + game_ui_minimap_dirs[4] = assets->GetImage_16BitAlpha("MAPDIR5"); + game_ui_minimap_dirs[5] = assets->GetImage_16BitAlpha("MAPDIR6"); + game_ui_minimap_dirs[6] = assets->GetImage_16BitAlpha("MAPDIR7"); + game_ui_minimap_dirs[7] = assets->GetImage_16BitAlpha("MAPDIR8"); - uTextureID_BarBlue = pIcons_LOD->LoadTexture("ib-statB", TEXTURE_16BIT_PALETTE); - uTextureID_BarGreen = pIcons_LOD->LoadTexture("ib-statG", TEXTURE_16BIT_PALETTE); - uTextureID_BarYellow = pIcons_LOD->LoadTexture("ib-statY", TEXTURE_16BIT_PALETTE); - uTextureID_BarRed = pIcons_LOD->LoadTexture("ib-statR", TEXTURE_16BIT_PALETTE); - uTextureID_mhp_bd = pIcons_LOD->LoadTexture("mhp_bg", TEXTURE_16BIT_PALETTE); - uTextureID_mhp_capl = pIcons_LOD->LoadTexture("mhp_capl", TEXTURE_16BIT_PALETTE); - uTextureID_mhp_capr = pIcons_LOD->LoadTexture("mhp_capr", TEXTURE_16BIT_PALETTE); - uTextureID_mhp_grn = pIcons_LOD->LoadTexture("mhp_grn", TEXTURE_16BIT_PALETTE); - uTextureID_mhp_red = pIcons_LOD->LoadTexture("mhp_red", TEXTURE_16BIT_PALETTE); - uTextureID_mhp_yel = pIcons_LOD->LoadTexture("mhp_yel", TEXTURE_16BIT_PALETTE); - uTextureID_Leather = pIcons_LOD->LoadTexture("LEATHER", TEXTURE_16BIT_PALETTE); - pTexture_Leather = pIcons_LOD->LoadTexturePtr("ibground", TEXTURE_16BIT_PALETTE); - uTextureID_x_x_u = pIcons_LOD->LoadTexture("x_x_u", TEXTURE_16BIT_PALETTE); - uTextureID_BUTTDESC2 = pIcons_LOD->LoadTexture("BUTTESC2", TEXTURE_16BIT_PALETTE); - uTextureID_x_ok_u = pIcons_LOD->LoadTexture("x_ok_u", TEXTURE_16BIT_PALETTE); - uTextureID_BUTTYES2 = pIcons_LOD->LoadTexture("BUTTYES2", TEXTURE_16BIT_PALETTE); - uTextureID_BUTTMAKE = pIcons_LOD->LoadTexture("BUTTMAKE", TEXTURE_16BIT_PALETTE); - uTextureID_BUTTMAKE2 = pIcons_LOD->LoadTexture("BUTTMAKE2", TEXTURE_16BIT_PALETTE); + game_ui_bar_blue = assets->GetImage_16BitColorKey(L"ib-statB", 0x7FF); + game_ui_bar_green = assets->GetImage_16BitColorKey(L"ib-statG", 0x7FF); + game_ui_bar_yellow = assets->GetImage_16BitColorKey(L"ib-statY", 0x7FF); + game_ui_bar_red = assets->GetImage_16BitColorKey(L"ib-statR", 0x7FF); + game_ui_monster_hp_background = assets->GetImage_16BitColorKey(L"mhp_bg", 0x7FF); + game_ui_monster_hp_border_left = assets->GetImage_16BitColorKey(L"mhp_capl", 0x7FF); + game_ui_monster_hp_border_right = assets->GetImage_16BitColorKey(L"mhp_capr", 0x7FF); + game_ui_monster_hp_green = assets->GetImage_16BitColorKey(L"mhp_grn", 0x7FF); + game_ui_monster_hp_red = assets->GetImage_16BitColorKey(L"mhp_red", 0x7FF); + game_ui_monster_hp_yellow = assets->GetImage_16BitColorKey(L"mhp_yel", 0x7FF); + ui_leather_mm7 = assets->GetImage_16Bit("LEATHER"); + ui_leather_mm6 = assets->GetImage_16Bit("ibground"); + dialogue_ui_x_x_u = assets->GetImage_16BitColorKey(L"x_x_u", 0x7FF); + ui_buttdesc2 = assets->GetImage_16BitAlpha(L"BUTTESC2"); + dialogue_ui_x_ok_u = assets->GetImage_16BitColorKey(L"x_ok_u", 0x7FF); + ui_buttyes2 = assets->GetImage_16BitAlpha(L"BUTTYES2"); + ui_partycreation_buttmake = assets->GetImage_16BitAlpha(L"BUTTMAKE"); + ui_partycreation_buttmake2 = assets->GetImage_16BitAlpha(L"BUTTMAKE2"); pPrimaryWindow = new GUIWindow(0, 0, window->GetWidth(), window->GetHeight(), 0, 0); pPrimaryWindow->CreateButton(7, 8, 460, 343, 1, 0, UIMSG_MouseLeftClickInGame, 0, 0, "", 0); @@ -199,52 +203,62 @@ pPrimaryWindow->CreateButton(328, 404, 5, 49, 1, 93, UIMSG_0, 3, 0, "", 0); pPrimaryWindow->CreateButton(443, 404, 5, 49, 1, 93, UIMSG_0, 4, 0, "", 0); - uTextureID_ib_td1_A = pIcons_LOD->LoadTexture("ib-td1-A", TEXTURE_16BIT_PALETTE); + game_ui_tome_quests = assets->GetImage_16BitAlpha(L"ib-td1-A"); pBtn_Quests = pPrimaryWindow->CreateButton( - 491, 353, pIcons_LOD->GetTexture(uTextureID_ib_td1_A)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_ib_td1_A)->uTextureHeight, 1, 0, UIMSG_OpenQuestBook, 0, pKeyActionMap->GetActionVKey(INPUT_Quest), - pGlobalTXT_LocalizationStrings[174], pIcons_LOD->GetTexture(uTextureID_ib_td1_A), 0 + 491, 353, + game_ui_tome_quests->GetWidth(), + game_ui_tome_quests->GetHeight(), + 1, 0, UIMSG_OpenQuestBook, 0, pKeyActionMap->GetActionVKey(INPUT_Quest), + pGlobalTXT_LocalizationStrings[174], game_ui_tome_quests, 0 ); //Quests - uTextureID_ib_td2_A = pIcons_LOD->LoadTexture("ib-td2-A", TEXTURE_16BIT_PALETTE); - pBtn_Autonotes = pPrimaryWindow->CreateButton(527, 353, pIcons_LOD->GetTexture( - uTextureID_ib_td2_A)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_ib_td2_A)->uTextureHeight, 1, 0, UIMSG_OpenAutonotes, 0, pKeyActionMap->GetActionVKey(INPUT_Autonotes), - pGlobalTXT_LocalizationStrings[154], pIcons_LOD->GetTexture(uTextureID_ib_td2_A), 0 + game_ui_tome_autonotes = assets->GetImage_16BitAlpha(L"ib-td2-A"); + pBtn_Autonotes = pPrimaryWindow->CreateButton( + 527, 353, + game_ui_tome_autonotes->GetWidth(), + game_ui_tome_autonotes->GetHeight(), + 1, 0, UIMSG_OpenAutonotes, 0, pKeyActionMap->GetActionVKey(INPUT_Autonotes), + pGlobalTXT_LocalizationStrings[154], game_ui_tome_autonotes, 0 );//Autonotes - uTextureID_ib_td3_A = pIcons_LOD->LoadTexture("ib-td3-A", TEXTURE_16BIT_PALETTE); + game_ui_tome_maps = assets->GetImage_16BitAlpha("ib-td3-A"); pBtn_Maps = pPrimaryWindow->CreateButton( - 546, 353, pIcons_LOD->GetTexture(uTextureID_ib_td3_A)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_ib_td3_A)->uTextureHeight, 1, 0, UIMSG_OpenMapBook, 0, pKeyActionMap->GetActionVKey(INPUT_Mapbook), - pGlobalTXT_LocalizationStrings[139], pIcons_LOD->GetTexture(uTextureID_ib_td3_A), 0 + 546, 353, + game_ui_tome_maps->GetWidth(), + game_ui_tome_maps->GetHeight(), + 1, 0, UIMSG_OpenMapBook, 0, pKeyActionMap->GetActionVKey(INPUT_Mapbook), + pGlobalTXT_LocalizationStrings[139], game_ui_tome_maps, 0 ); //Maps - uTextureID_ib_td4_A = pIcons_LOD->LoadTexture("ib-td4-A", TEXTURE_16BIT_PALETTE); + game_ui_tome_calendar = assets->GetImage_16BitAlpha("ib-td4-A"); pBtn_Calendar = pPrimaryWindow->CreateButton( - 570, 353, pIcons_LOD->GetTexture(uTextureID_ib_td4_A)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_ib_td4_A)->uTextureHeight, 1, 0, UIMSG_OpenCalendar, 0, pKeyActionMap->GetActionVKey(INPUT_TimeCal), - pGlobalTXT_LocalizationStrings[78], pIcons_LOD->GetTexture(uTextureID_ib_td4_A), 0 + 570, 353, + game_ui_tome_calendar->GetWidth(), + game_ui_tome_calendar->GetHeight(), + 1, 0, UIMSG_OpenCalendar, 0, pKeyActionMap->GetActionVKey(INPUT_TimeCal), + pGlobalTXT_LocalizationStrings[78], game_ui_tome_calendar, 0 );//Calendar - uTextureID_ib_td5_A = pIcons_LOD->LoadTexture("ib-td5-A", TEXTURE_16BIT_PALETTE); + game_ui_tome_storyline = assets->GetImage_16BitAlpha("ib-td5-A"); pBtn_History = pPrimaryWindow->CreateButton( - 600, 361, pIcons_LOD->GetTexture(uTextureID_ib_td5_A)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_ib_td5_A)->uTextureHeight, 1, 0, UIMSG_OpenHistoryBook, 0, 72,//ascii - pGlobalTXT_LocalizationStrings[602], pIcons_LOD->GetTexture(uTextureID_ib_td5_A), 0 + 600, 361, + game_ui_tome_storyline->GetWidth(), + game_ui_tome_storyline->GetHeight(), + 1, 0, UIMSG_OpenHistoryBook, 0, 72,//ascii + pGlobalTXT_LocalizationStrings[602], game_ui_tome_storyline, 0 );//History bFlashAutonotesBook = 0; bFlashQuestBook = 0; bFlashHistoryBook = 0; - pBtn_ZoomIn = pPrimaryWindow->CreateButton(574, 136, pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn].uTextureWidth, - pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn].uTextureHeight, 2, 0, UIMSG_ClickZoomInBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomIn), - pGlobalTXT_LocalizationStrings[252], &pIcons_LOD->pTextures[uTextureID_Btn_ZoomIn], 0); // Zoom In + pBtn_ZoomIn = pPrimaryWindow->CreateButton(574, 136, game_ui_btn_zoomin->GetWidth(), + game_ui_btn_zoomin->GetHeight(), 2, 0, UIMSG_ClickZoomInBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomIn), + pGlobalTXT_LocalizationStrings[252], game_ui_btn_zoomin, 0); // Zoom In - pBtn_ZoomOut = pPrimaryWindow->CreateButton(519, 136, pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut].uTextureWidth, - pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut].uTextureHeight, 2, 0, UIMSG_ClickZoomOutBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomOut), - pGlobalTXT_LocalizationStrings[251], &pIcons_LOD->pTextures[uTextureID_Btn_ZoomOut], 0); // Zoom Out + pBtn_ZoomOut = pPrimaryWindow->CreateButton(519, 136, game_ui_btn_zoomout->GetWidth(), + game_ui_btn_zoomout->GetHeight(), 2, 0, UIMSG_ClickZoomOutBtn, 0, pKeyActionMap->GetActionVKey(INPUT_ZoomOut), + pGlobalTXT_LocalizationStrings[251], game_ui_btn_zoomout, 0); // Zoom Out pPrimaryWindow->CreateButton(481, 0, 153, 67, 1, 92, UIMSG_0, 0, 0, "", 0); pPrimaryWindow->CreateButton(491, 149, 64, 74, 1, 0, UIMSG_StartHireling1Dialogue, 0, '5', "", 0); @@ -253,30 +267,30 @@ pPrimaryWindow->CreateButton(555, 322, 77, 17, 1, 101, UIMSG_0, 0, 0, "", 0); pBtn_CastSpell = pPrimaryWindow->CreateButton(476, 450, - pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell)->uTextureHeight, - 1, 0, UIMSG_SpellBookWindow, 0, 67, pGlobalTXT_LocalizationStrings[38], pIcons_LOD->GetTexture(uTextureID_Btn_CastSpell), 0); + game_ui_btn_cast->GetWidth(), + game_ui_btn_cast->GetHeight(), + 1, 0, UIMSG_SpellBookWindow, 0, 67, pGlobalTXT_LocalizationStrings[38], game_ui_btn_cast, 0); pBtn_Rest = pPrimaryWindow->CreateButton(518, 450, - pIcons_LOD->GetTexture(uTextureID_Btn_Rest)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_Btn_Rest)->uTextureHeight, - 1, 0, UIMSG_RestWindow, 0, 82, pGlobalTXT_LocalizationStrings[182], pIcons_LOD->GetTexture(uTextureID_Btn_Rest), 0); + game_ui_btn_rest->GetWidth(), + game_ui_btn_rest->GetHeight(), + 1, 0, UIMSG_RestWindow, 0, 82, pGlobalTXT_LocalizationStrings[182], game_ui_btn_rest, 0); pBtn_QuickReference = pPrimaryWindow->CreateButton(560, 450, - pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference)->uTextureHeight, - 1, 0, UIMSG_QuickReference, 0, 90, pGlobalTXT_LocalizationStrings[173], pIcons_LOD->GetTexture(uTextureID_Btn_QuickReference), 0); + game_ui_btn_quickref->GetWidth(), + game_ui_btn_quickref->GetHeight(), + 1, 0, UIMSG_QuickReference, 0, 90, pGlobalTXT_LocalizationStrings[173], game_ui_btn_quickref, 0); pBtn_GameSettings = pPrimaryWindow->CreateButton(602, 450, - pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings)->uTextureHeight, - 1, 0, UIMSG_GameMenuButton, 0, 0, pGlobalTXT_LocalizationStrings[93], pIcons_LOD->GetTexture(uTextureID_Btn_GameSettings), 0); + game_ui_btn_settings->GetWidth(), + game_ui_btn_settings->GetHeight(), + 1, 0, UIMSG_GameMenuButton, 0, 0, pGlobalTXT_LocalizationStrings[93], game_ui_btn_settings, 0); pBtn_NPCLeft = pPrimaryWindow->CreateButton(469, 178, - pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft)->uTextureHeight, - 1, 0, UIMSG_ScrollNPCPanel, 0, 0, "", pIcons_LOD->GetTexture(uTextureID_Btn_NPCLeft), 0); + ui_btn_npc_left->GetWidth(), + ui_btn_npc_left->GetHeight(), + 1, 0, UIMSG_ScrollNPCPanel, 0, 0, "", ui_btn_npc_left, 0); pBtn_NPCRight = pPrimaryWindow->CreateButton(626, 178, - pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight)->uTextureWidth, - pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight)->uTextureHeight, - 1, 0, UIMSG_ScrollNPCPanel, 1, 0, "", pIcons_LOD->GetTexture(uTextureID_Btn_NPCRight), 0); + ui_btn_npc_right->GetWidth(), + ui_btn_npc_right->GetHeight(), + 1, 0, UIMSG_ScrollNPCPanel, 1, 0, "", ui_btn_npc_right, 0); LoadPartyBuffIcons(); } @@ -327,7 +341,7 @@ GUIFont *pFontQuick; // [sp+134h] [bp-8h]@1 GUIFont *pFontCChar; // [sp+138h] [bp-4h]@1 RGBTexture cred_texture; // [sp+100h] [bp-3Ch]@1 - Texture pTemporaryTexture; // [sp+Ch] [bp-130h]@5 + Texture_MM7 pTemporaryTexture; // [sp+Ch] [bp-130h]@5 pFontQuick = LoadFont("quick.fnt", "FONTPAL", NULL); pFontCChar = LoadFont("cchar.fnt", "FONTPAL", NULL);