World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура GUIWindow_TownPortalBook

#include <TownPortalBook.h>

+ Граф наследования:GUIWindow_TownPortalBook:
+ Граф связей класса GUIWindow_TownPortalBook:

Открытые члены

 GUIWindow_TownPortalBook ()
 
virtual ~GUIWindow_TownPortalBook ()
 
virtual void Update ()
 
- Открытые члены унаследованные от GUIWindow_Book
 GUIWindow_Book ()
 
virtual ~GUIWindow_Book ()
 
virtual void Release ()
 
- Открытые члены унаследованные от GUIWindow
 GUIWindow ()
 
 GUIWindow (WindowType windowType, unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int pButton, const String &hint=String())
 
virtual ~GUIWindow ()
 
GUIButtonCreateButton (int x, int y, int width, int height, int a6, int a7, UIMessageType msg, unsigned int msg_param, uint8_t hotkey, const String &label, const std::vector< Image * > &textures=std::vector< Image * >())
 
bool Contains (unsigned int x, unsigned int y)
 
void DrawFlashingInputCursor (int uX, int uY, GUIFont *a2)
 
int DrawTextInRect (GUIFont *font, unsigned int x, unsigned int y, unsigned int color, const char *text, int rect_width, int reverse_text)
 
int DrawTextInRect (GUIFont *font, unsigned int x, unsigned int y, unsigned int color, String &str, int rect_width, int reverse_text)
 
void DrawText (GUIFont *font, int x, int y, unsigned short uFontColor, const char *str, bool present_time_transparency=false, int max_text_height=0, int uFontShadowColor=0)
 
void DrawText (GUIFont *font, int x, int y, unsigned short uFontColor, const String &str, bool present_time_transparency=false, int max_text_height=0, int uFontShadowColor=0)
 
void DrawTitleText (GUIFont *font, int horizontal_margin, int vertical_margin, unsigned __int16 uDefaultColor, const char *pInString, int line_spacing)
 
void DrawTitleText (GUIFont *font, int horizontal_margin, int vertical_margin, unsigned __int16 uDefaultColor, const String &str, int line_spacing)
 
void DrawShops_next_generation_time_string (GameTime time)
 
void HouseDialogManager ()
 
void DrawMessageBox (bool inside_game_viewport)
 
GUIButtonGetControl (unsigned int uID)
 
void _41D08F_set_keyboard_control_group (int num_buttons, int a3, int a4, int a5)
 
void _41D73D_draw_buff_tooltip ()
 
void DeleteButtons ()
 

Дополнительные унаследованные члены

- Открытые статические члены унаследованные от GUIWindow
static void InitializeGUI ()
 
- Открытые атрибуты унаследованные от GUIWindow
unsigned int uFrameX
 
unsigned int uFrameY
 
unsigned int uFrameWidth
 
unsigned int uFrameHeight
 
unsigned int uFrameZ
 
unsigned int uFrameW
 
WindowType eWindowType
 
union {
   void *   ptr_1C
 
   unsigned int   par1C
 
}; 
 
int field_24
 
int pNumPresenceButton
 
int pCurrentPosActiveItem
 
int field_30
 
int field_34
 
int pStartingPosActiveItem
 
int receives_keyboard_input_2
 
bool receives_keyboard_input
 
String sHint
 
std::vector< GUIButton * > vButtons
 
Mousemouse = nullptr
 
Loglog = nullptr
 
- Защищенные члены унаследованные от GUIWindow_Book
void BasicBookInitialization ()
 

Подробное описание

См. определение в файле TownPortalBook.h строка 4

Конструктор(ы)

◆ GUIWindow_TownPortalBook()

GUIWindow_TownPortalBook::GUIWindow_TownPortalBook ( )

См. определение в файле TownPortalBook.cpp строка 24

25  : GUIWindow_Book() {
26  // this->sHint = a1; // inherited from GUIWindow::GUIWindow
27  this->ptr_1C =
28  (void *)WINDOW_TownPortal; // inherited from GUIWindow::GUIWindow
30 
31  // ----------------------------------------------
32  // 00411BFC GUIWindow::InitializeBookView -- part
34 
35  ui_book_townportal_icons[0] = assets->GetImage_ColorKey("tpharmndy", 0x7FF);
37  ui_book_townportal_icons[2] = assets->GetImage_ColorKey("tpwarlock", 0x7FF);
38  ui_book_townportal_icons[3] = assets->GetImage_ColorKey("tpisland", 0x7FF);
39  ui_book_townportal_icons[4] = assets->GetImage_ColorKey("tpheaven", 0x7FF);
40  ui_book_townportal_icons[5] = assets->GetImage_ColorKey("tphell", 0x7FF);
41 
42  for (uint i = 0; i < 6; ++i)
45  UIMSG_ClickTownInTP, i, 0, "");
46 }

Перекрестные ссылки assets, GUIWindow_Book::BasicBookInitialization(), GUIWindow::CreateButton(), AssetsManager::GetImage_ColorKey(), AssetsManager::GetImage_Solid(), pTownPortalBook_hs, pTownPortalBook_ws, pTownPortalBook_xs, pTownPortalBook_ys, GUIWindow::ptr_1C, ui_book_townportal_icons, UIMSG_ClickTownInTP и WINDOW_TownPortal.

+ Граф вызовов:

◆ ~GUIWindow_TownPortalBook()

virtual GUIWindow_TownPortalBook::~GUIWindow_TownPortalBook ( )
inlinevirtual

См. определение в файле TownPortalBook.h строка 6

6 {}

Методы

◆ Update()

void GUIWindow_TownPortalBook::Update ( )
virtual

Переопределяет метод предка GUIWindow.

См. определение в файле TownPortalBook.cpp строка 48

48  {
49  // -----------------------------------
50  // 004156F0 GUI_UpdateWindows --- part
51  // {
52  // BookUI_Draw((WindowType)(int)ptr_1C);
53  // }
54 
55  // ----- (00413CC6) --------------------------------------------------------
56  // void BookUI_Draw(WindowType book) --- part
57  // {
58  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f,
60  // BookUI_DrawTownPortalMap();
61 
62  // ----- (00411150) --------------------------------------------------------
63  // void BookUI_DrawTownPortalMap()
64  // {
65  int v3; // edi@17
66  GUIWindow TownPortalWindow; // [sp+Ch] [bp-64h]@1
67 
68  render->ClearZBuffer(0, 479);
69  render->DrawTextureNew(8 / 640.0f, 8 / 480.0f,
71  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f,
73 
74  TownPortalWindow.uFrameX = game_viewport_x;
75  TownPortalWindow.uFrameY = game_viewport_y;
76  TownPortalWindow.uFrameWidth = game_viewport_width;
77  TownPortalWindow.uFrameHeight = game_viewport_height;
78  TownPortalWindow.uFrameZ = game_viewport_z;
79  TownPortalWindow.uFrameW = game_viewport_w;
80 
81  const uint fountain_bits_lut[] = {
85  for (uint i = 0; i < 6; ++i) {
86  if (_449B57_test_bit(pParty->_quest_bits, fountain_bits_lut[i]) || engine->config->debug_town_portal)
87  render->ZDrawTextureAlpha(pTownPortalBook_xs[i] / 640.0f,
88  pTownPortalBook_ys[i] / 480.0f,
89  ui_book_townportal_icons[i], i + 1);
90  }
91 
92  Point pt = mouse->GetCursorPos();
93  v3 = render->pActiveZBuffer[pt.x + pSRZBufferLineOffsets[pt.y]] & 0xFFFF;
94 
95  if (v3) {
96  if (_449B57_test_bit(pParty->_quest_bits, fountain_bits_lut[v3 - 1]) || engine->config->debug_town_portal)
97  render->DrawTextureAlphaNew(pTownPortalBook_xs[v3 - 1] / 640.0f,
98  pTownPortalBook_ys[v3 - 1] / 480.0f,
100  }
101  TownPortalWindow.DrawTitleText(pBook2Font, 0, 22, 0,
102  localization->GetString(10), 3);
103 }

Перекрестные ссылки _449B57_test_bit(), Party::_quest_bits, GUIWindow::DrawTitleText(), engine, game_viewport_height, game_viewport_w, game_viewport_width, game_viewport_x, game_viewport_y, game_viewport_z, Mouse::GetCursorPos(), Localization::GetString(), localization, GUIWindow::mouse, PARTY_QUEST_FOUNTAIN_CELESTIA, PARTY_QUEST_FOUNTAIN_EVENMORN_ISLE, PARTY_QUEST_FOUNTAIN_HARMONDALE, PARTY_QUEST_FOUNTAIN_NIGHON, PARTY_QUEST_FOUNTAIN_PIERPONT, PARTY_QUEST_FOUNTAIN_THE_PIT, pBook2Font, pParty, pSRZBufferLineOffsets, pTownPortalBook_xs, pTownPortalBook_ys, render, GUIWindow::uFrameHeight, GUIWindow::uFrameW, GUIWindow::uFrameWidth, GUIWindow::uFrameX, GUIWindow::uFrameY, GUIWindow::uFrameZ, ui_book_townportal_background, ui_book_townportal_icons, ui_exit_cancel_button_background, Point::x и Point::y.

+ Граф вызовов:

Объявления и описания членов структур находятся в файлах:
GUIWindow::uFrameW
unsigned int uFrameW
Definition: GUIWindow.h:473
PARTY_QUEST_FOUNTAIN_NIGHON
@ PARTY_QUEST_FOUNTAIN_NIGHON
Definition: Party.h:47
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
UIMSG_ClickTownInTP
@ UIMSG_ClickTownInTP
Definition: GUIWindow.h:150
Mouse::GetCursorPos
Point GetCursorPos()
Definition: Mouse.cpp:108
GUIWindow
Definition: GUIWindow.h:433
AssetsManager::GetImage_Solid
Texture * GetImage_Solid(const String &name)
Definition: AssetsManager.cpp:51
ui_exit_cancel_button_background
Image * ui_exit_cancel_button_background
Definition: GUIWindow.cpp:89
ui_book_townportal_background
Image * ui_book_townportal_background
Definition: TownPortalBook.cpp:22
pSRZBufferLineOffsets
std::array< unsigned int, 480 > pSRZBufferLineOffsets
Definition: mm7_data.cpp:511
_449B57_test_bit
bool _449B57_test_bit(unsigned __int8 *a1, __int16 a2)
Definition: Party.cpp:1185
GUIWindow::CreateButton
GUIButton * CreateButton(int x, int y, int width, int height, int a6, int a7, UIMessageType msg, unsigned int msg_param, uint8_t hotkey, const String &label, const std::vector< Image * > &textures=std::vector< Image * >())
Definition: GUIWindow.cpp:717
engine
std::shared_ptr< Engine > engine
Definition: Engine.cpp:130
game_viewport_width
unsigned int game_viewport_width
Definition: mm7_data.cpp:194
pTownPortalBook_ws
static int pTownPortalBook_ws[6]
Definition: TownPortalBook.cpp:15
pTownPortalBook_hs
static int pTownPortalBook_hs[6]
Definition: TownPortalBook.cpp:16
Party::_quest_bits
unsigned __int8 _quest_bits[64]
Definition: Party.h:291
localization
Localization * localization
Definition: Localization.cpp:11
game_viewport_x
int game_viewport_x
Definition: mm7_data.cpp:196
Point::x
unsigned int x
Definition: Point.h:7
PARTY_QUEST_FOUNTAIN_THE_PIT
@ PARTY_QUEST_FOUNTAIN_THE_PIT
Definition: Party.h:50
GUIWindow::DrawTitleText
void DrawTitleText(GUIFont *font, int horizontal_margin, int vertical_margin, unsigned __int16 uDefaultColor, const char *pInString, int line_spacing)
Definition: GUIWindow.cpp:665
GUIWindow::uFrameWidth
unsigned int uFrameWidth
Definition: GUIWindow.h:470
game_viewport_height
unsigned int game_viewport_height
Definition: mm7_data.cpp:195
GUIWindow::uFrameZ
unsigned int uFrameZ
Definition: GUIWindow.h:472
PARTY_QUEST_FOUNTAIN_EVENMORN_ISLE
@ PARTY_QUEST_FOUNTAIN_EVENMORN_ISLE
Definition: Party.h:51
game_viewport_y
int game_viewport_y
Definition: mm7_data.cpp:197
pParty
Party * pParty
Definition: Party.cpp:30
AssetsManager::GetImage_ColorKey
Texture * GetImage_ColorKey(const String &name, uint16_t colorkey)
Definition: AssetsManager.cpp:34
GUIWindow::uFrameHeight
unsigned int uFrameHeight
Definition: GUIWindow.h:471
pBook2Font
GUIFont * pBook2Font
Definition: GUIFont.cpp:20
f
GLfloat f
Definition: SDL_opengl_glext.h:1873
pTownPortalBook_ys
static int pTownPortalBook_ys[6]
Definition: TownPortalBook.cpp:14
GUIWindow::uFrameY
unsigned int uFrameY
Definition: GUIWindow.h:469
game_viewport_w
int game_viewport_w
Definition: mm7_data.cpp:199
Point::y
unsigned int y
Definition: Point.h:8
GUIWindow_Book::BasicBookInitialization
void BasicBookInitialization()
Definition: UIBooks.cpp:67
WINDOW_TownPortal
@ WINDOW_TownPortal
Definition: GUIWindow.h:335
PARTY_QUEST_FOUNTAIN_CELESTIA
@ PARTY_QUEST_FOUNTAIN_CELESTIA
Definition: Party.h:49
GUIWindow::mouse
Mouse * mouse
Definition: GUIWindow.h:491
assets
AssetsManager * assets
Definition: AssetsManager.cpp:12
uint
unsigned int uint
Definition: MM7.h:4
GUIWindow_Book::GUIWindow_Book
GUIWindow_Book()
Definition: UIBooks.cpp:64
v3
GLfloat GLfloat GLfloat GLfloat v3
Definition: SDL_opengl_glext.h:696
pTownPortalBook_xs
static int pTownPortalBook_xs[6]
Definition: TownPortalBook.cpp:13
GUIWindow::ptr_1C
void * ptr_1C
Definition: GUIWindow.h:476
GUIWindow::uFrameX
unsigned int uFrameX
Definition: GUIWindow.h:468
Point
Definition: Point.h:3
PARTY_QUEST_FOUNTAIN_PIERPONT
@ PARTY_QUEST_FOUNTAIN_PIERPONT
Definition: Party.h:48
ui_book_townportal_icons
static std::array< Image *, 6 > ui_book_townportal_icons
Definition: TownPortalBook.cpp:19
game_viewport_z
int game_viewport_z
Definition: mm7_data.cpp:198
PARTY_QUEST_FOUNTAIN_HARMONDALE
@ PARTY_QUEST_FOUNTAIN_HARMONDALE
Definition: Party.h:46
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52