Mercurial > mm7
view GUI/UI/Books/TownPortalBook.cpp @ 2575:a76d408c5132 tip
DrawTranslucent -> DrawTextureGrayShade
Removed old texture drawing stuff
author | a.parshin |
---|---|
date | Wed, 09 Mar 2016 01:39:52 +0200 |
parents | dd36326a9994 |
children |
line wrap: on
line source
#include "Engine/Engine.h" #include "Engine/AssetsManager.h" #include "Engine/LOD.h" #include "Engine/Party.h" #include "Engine/texts.h" #include "Engine/Graphics/IRender.h" #include "GUI/GUIFont.h" #include "GUI/UI/Books/TownPortalBook.h" #include "IO/Mouse.h" static int pTownPortalBook_xs[6] = { 260, 324, 147, 385, 390, 19 }; static int pTownPortalBook_ys[6] = { 206, 84, 182, 239, 17, 283 }; static int pTownPortalBook_ws[6] = { 80, 66, 68, 72, 67, 74 }; static int pTownPortalBook_hs[6] = { 55, 56, 65, 67, 67, 59 }; static std::array<Image *, 6> ui_book_townportal_icons; // [0]Harmonale, [1]Pierpont, [2]Nighon, [3]Evenmorn Island, [4]Celestia, [5]The Pit Image *ui_book_townportal_background = nullptr; GUIWindow_TownPortalBook::GUIWindow_TownPortalBook(const char *a1) : GUIWindow_Book() { this->Hint = a1; // inherited from GUIWindow::GUIWindow this->ptr_1C = (void *)WINDOW_TownPortal; // inherited from GUIWindow::GUIWindow BasicBookInitialization(); // ---------------------------------------------- // 00411BFC GUIWindow::InitializeBookView -- part ui_book_townportal_background = assets->GetImage_16Bit(L"townport"); ui_book_townportal_icons[0] = assets->GetImage_16BitColorKey(L"tpharmndy", 0x7FF); ui_book_townportal_icons[1] = assets->GetImage_16BitColorKey(L"tpelf", 0x7FF); ui_book_townportal_icons[2] = assets->GetImage_16BitColorKey(L"tpwarlock", 0x7FF); ui_book_townportal_icons[3] = assets->GetImage_16BitColorKey(L"tpisland", 0x7FF); ui_book_townportal_icons[4] = assets->GetImage_16BitColorKey(L"tpheaven", 0x7FF); ui_book_townportal_icons[5] = assets->GetImage_16BitColorKey(L"tphell", 0x7FF); for (uint i = 0; i < 6; ++i) CreateButton( pTownPortalBook_xs[i], pTownPortalBook_ys[i], pTownPortalBook_ws[i], pTownPortalBook_hs[i], 1, 182, UIMSG_ClickTownInTP, i, 0, "", nullptr ); } void GUIWindow_TownPortalBook::Update() { // ----------------------------------- // 004156F0 GUI_UpdateWindows --- part // { // BookUI_Draw((WindowType)(int)ptr_1C); // } // ----- (00413CC6) -------------------------------------------------------- // void BookUI_Draw(WindowType book) --- part // { pRenderer->DrawTextureAlphaNew(471/640.0f, 445/480.0f, ui_exit_cancel_button_background); // BookUI_DrawTownPortalMap(); // ----- (00411150) -------------------------------------------------------- // void BookUI_DrawTownPortalMap() // { int v3; // edi@17 GUIWindow TownPortalWindow; // [sp+Ch] [bp-64h]@1 POINT a2; // [sp+68h] [bp-8h]@17 pRenderer->ClearZBuffer(0, 479); pRenderer->DrawTextureNew(8/640.0f, 8/480.0f, ui_book_townportal_background); pRenderer->DrawTextureAlphaNew(471/640.0f, 445/480.0f, ui_exit_cancel_button_background); TownPortalWindow.uFrameX = game_viewport_x; TownPortalWindow.uFrameY = game_viewport_y; TownPortalWindow.uFrameWidth = game_viewport_width; TownPortalWindow.uFrameHeight = game_viewport_height; TownPortalWindow.uFrameZ = game_viewport_z; TownPortalWindow.uFrameW = game_viewport_w; const uint fountain_bits_lut[] = { PARTY_QUEST_FOUNTAIN_HARMONDALE, PARTY_QUEST_FOUNTAIN_PIERPONT, PARTY_QUEST_FOUNTAIN_NIGHON, PARTY_QUEST_FOUNTAIN_EVENMORN_ISLE, PARTY_QUEST_FOUNTAIN_CELESTIA, PARTY_QUEST_FOUNTAIN_THE_PIT }; for (uint i = 0; i < 6; ++i) { if (_449B57_test_bit(pParty->_quest_bits, fountain_bits_lut[i])) pRenderer->ZDrawTextureAlpha( pTownPortalBook_xs[i]/640.0f, pTownPortalBook_ys[i]/480.0f, ui_book_townportal_icons[i], i + 1 ); } pMouse->GetCursorPos(&a2); v3 = pRenderer->pActiveZBuffer[a2.x + pSRZBufferLineOffsets[a2.y]] & 0xFFFF; if (v3) { if (_449B57_test_bit(pParty->_quest_bits, fountain_bits_lut[v3 - 1])) pRenderer->DrawTextureAlphaNew(pTownPortalBook_xs[v3 - 1]/640.0f, pTownPortalBook_ys[v3 - 1]/480.0f, ui_book_townportal_icons[v3 - 1]); } TownPortalWindow.DrawTitleText(pBook2Font, 0, 22, 0, pGlobalTXT_LocalizationStrings[10], 3); }