World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
MapBook.cpp
См. документацию.
1 #include "Engine/AssetsManager.h"
2 #include "Engine/Engine.h"
3 #include "Engine/Events.h"
4 #include "Engine/LOD.h"
5 #include "Engine/Localization.h"
6 #include "Engine/OurMath.h"
7 #include "Engine/Party.h"
8 #include "Engine/Time.h"
9 
11 #include "Engine/Graphics/Indoor.h"
15 
16 #include "IO/Mouse.h"
17 
18 #include "GUI/GUIButton.h"
19 #include "GUI/GUIFont.h"
20 #include "GUI/UI/Books/MapBook.h"
21 #include "GUI/UI/UIGame.h"
22 
24 
25 void DrawBook_Map_sub(unsigned int tl_x, unsigned int tl_y, unsigned int br_x, int br_y, int dummy);
26 
28 
30  this->ptr_1C = (void *)WINDOW_MapsBook; // inherited from GUIWindow::GUIWindow
32 
33  pEventTimer->Pause();
36  pAudioPlayer->StopChannels(-1, -1);
38 
39  MapBookOpen = 1;
40 
54 
55  pBtn_Book_1 = this->CreateButton(
56  pViewport->uViewportTL_X + 398, pViewport->uViewportTL_Y + 1, 50, 34, 1,
58  {{ui_book_button1_on}}); // "Zoom In"
59  pBtn_Book_2 = this->CreateButton(
60  pViewport->uViewportTL_X + 398, pViewport->uViewportTL_Y + 38, 50, 34,
61  1, 0, UIMSG_ClickBooksBtn, 1, 0, localization->GetString(252),
62  {{ui_book_button2_on}}); // "Zoom Out"
63  pBtn_Book_3 = this->CreateButton(
64  pViewport->uViewportTL_X + 397, pViewport->uViewportTL_Y + 113, 50, 34,
65  1, 0, UIMSG_ClickBooksBtn, 2, 0,
66  localization->GetString(192)); // Scroll Up
67  pBtn_Book_4 = this->CreateButton(
68  pViewport->uViewportTL_X + 397, pViewport->uViewportTL_Y + 150, 50, 34,
69  1, 0, UIMSG_ClickBooksBtn, 3, 0,
70  localization->GetString(193)); // Scroll Down
71  pBtn_Book_5 = this->CreateButton(
72  pViewport->uViewportTL_X + 397, pViewport->uViewportTL_Y + 188, 50, 34,
73  1, 0, UIMSG_ClickBooksBtn, 4, 0,
74  localization->GetString(573)); // "Scroll Right"
75  pBtn_Book_6 = this->CreateButton(
76  pViewport->uViewportTL_X + 397, pViewport->uViewportTL_Y + 226, 50, 34,
77  1, 0, UIMSG_ClickBooksBtn, 5, 0,
78  localization->GetString(572)); // "Scroll Left"
79 }
80 
82  render->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f, ui_exit_cancel_button_background);
83  render->DrawTextureAlphaNew(pViewport->uViewportTL_X / 640.0f, pViewport->uViewportTL_Y / 480.0f, ui_book_map_background);
84 
85  if (BtnUp_flag || viewparams->uMapBookMapZoom / 128 >= 12) // Button 1
86  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 408) / 640.0f,
87  (pViewport->uViewportTL_Y + 2) / 480.0f,
89  else
90  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 398) / 640.0f,
91  (pViewport->uViewportTL_Y + 1) / 480.0f,
93 
94  if (BtnDown_flag || viewparams->uMapBookMapZoom / 128 <= 3) // Button 2
95  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 408) / 640.0f,
96  (pViewport->uViewportTL_Y + 38) / 480.0f,
98  else
99  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 398) / 640.0f,
100  (pViewport->uViewportTL_Y + 38) / 480.0f,
102 
103  if (Book_PageBtn3_flag) // Button 3
104  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 408) / 640.0f,
105  (pViewport->uViewportTL_Y + 113) / 480.0f,
107  else
108  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 398) / 640.0f,
109  (pViewport->uViewportTL_Y + 113) / 480.0f,
111 
112  if (Book_PageBtn4_flag) // Button 4
113  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 408) / 640.0f,
114  (pViewport->uViewportTL_Y + 150) / 480.0f,
116  else
117  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 399) / 640.0f,
118  (pViewport->uViewportTL_Y + 150) / 480.0f,
120 
121  if (Book_PageBtn5_flag) // Button 5
122  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 408) / 640.0f,
123  (pViewport->uViewportTL_Y + 188) / 480.0f,
125  else
126  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 397) / 640.0f,
127  (pViewport->uViewportTL_Y + 188) / 480.0f,
129 
130  if (Book_PageBtn6_flag) // Button 6
131  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 408) / 640.0f,
132  (pViewport->uViewportTL_Y + 226) / 480.0f,
134  else
135  render->DrawTextureAlphaNew((pViewport->uViewportTL_X + 397) / 640.0f,
136  (pViewport->uViewportTL_Y + 226) / 480.0f,
138 
145 
149 
150  BtnUp_flag = 0;
151  BtnDown_flag = 0;
152  Book_PageBtn6_flag = 0;
153  Book_PageBtn5_flag = 0;
154  Book_PageBtn4_flag = 0;
155  Book_PageBtn3_flag = 0;
156 
157  render->DrawTextureAlphaNew(75 / 640.0f, 22 / 480.0f, ui_book_map_frame);
158  DrawBook_Map_sub(97, 49, 361, 313, 0);
159  render->ResetUIClipRect();
160 
161  GUIWindow map_window;
162  map_window.uFrameWidth = game_viewport_width;
163  map_window.uFrameHeight = game_viewport_height;
164  map_window.uFrameX = game_viewport_x;
165  map_window.uFrameY = game_viewport_y;
166  map_window.uFrameZ = game_viewport_z;
167  map_window.uFrameW = game_viewport_w;
168 
170  if (map_id)
171  map_window.DrawTitleText(pBook2Font, -14, 12, ui_book_map_title_color, pMapStats->pInfos[map_id].pName, 3);
172 
173  auto party_coordinates = localization->FormatString(659, pParty->vPosition.x, pParty->vPosition.y); // "x: %d y: %d"
174 
175  map_window.uFrameX = 0;
176  map_window.DrawTitleText(pFontComic, 0, 320, ui_book_map_coordinates_color, party_coordinates, 0);
177 }
178 
179 //----- (00442955) --------------------------------------------------------
180 void DrawBook_Map_sub(unsigned int tl_x, unsigned int tl_y, unsigned int br_x, int br_y, int dummy) {
181  int ScreenCenterX = (signed int)(tl_x + br_x) / 2;
182  int ScreenCenterY = (signed int)(tl_y + br_y) / 2;
183  render->SetUIClipRect(tl_x, tl_y, br_x, br_y);
184 
185  int pCenterX = viewparams->sViewCenterX;
186  int pCenterY = viewparams->sViewCenterY;
187 
188  if (viewparams->uMapBookMapZoom == 384) {
189  pCenterX = viewparams->indoor_center_x;
190  pCenterY = viewparams->indoor_center_y;
191  }
192 
193  if (uCurrentlyLoadedLevelType != LEVEL_Indoor) { // outdoors
194  int screenWidth = br_x - tl_x + 1;
195  int screenHeight = br_y - tl_y + 1;
196 
198  int scale_increment = (1 << (loc_power + 16)) / viewparams->uMapBookMapZoom;
199  double MapSizeScale = (double)(1 << (16 - loc_power));
200  int stepX_r_resets =
201  (unsigned int)(signed __int64)
202  ((double)(pCenterX - 22528 / (viewparams->uMapBookMapZoom / 384) + 32768) / MapSizeScale) << 16;
203  int stepY_r = (int)(signed __int64)
204  ((double)(-pCenterY - 22528 / (viewparams->uMapBookMapZoom / 384) + 32768) / MapSizeScale) << 16;
205  int scaled_posY = stepY_r >> 16;
206 
207  static Texture *minimaptemp = nullptr;
208  if (!minimaptemp) {
209  minimaptemp = render->CreateTexture_Blank(screenWidth, screenHeight, IMAGE_FORMAT_A8R8G8B8);
210  }
211  auto minitempix = (unsigned __int32 *)minimaptemp->GetPixels(IMAGE_FORMAT_A8R8G8B8);
212  auto minimap_pixels = (unsigned __int32 *)viewparams->location_minimap->GetPixels(IMAGE_FORMAT_A8R8G8B8);
213  int textr_width = viewparams->location_minimap->GetWidth();
214 
215  // nearest neiborhood scaling
216  // if (texture8_data)
217  {
218  for (uint i = 0; i < screenHeight; ++i) {
219  int map_tile_Y = (scaled_posY - 80) / 4;
220  int stepX_r = stepX_r_resets;
221  for (uint j = 0; j < screenWidth; ++j) {
222  int scaled_posX = stepX_r >> 16;
223  int map_tile_X = (scaled_posX - 80) / 4;
224  if (!pOutdoor->IsMapCellFullyRevealed(map_tile_X, map_tile_Y)) {
225  if (pOutdoor->IsMapCellPartiallyRevealed(map_tile_X,
226  map_tile_Y)) {
227  if (!((i + ScreenCenterX + j) % 2))
228  minitempix[j + i * screenWidth] = Color32(12, 12, 12); // greyed out
229  else
230  minitempix[j + i * screenWidth] = minimap_pixels[scaled_posX + scaled_posY * textr_width];
231  } else {
232  minitempix[j + i * screenWidth] = Color32(0, 0, 0); // black
233  }
234  } else {
235  minitempix[j + i * screenWidth] = minimap_pixels[scaled_posX + scaled_posY * textr_width];
236  }
237  stepX_r += scale_increment;
238  }
239  stepY_r += scale_increment;
240  scaled_posY = stepY_r >> 16;
241  }
242  }
243 
244  render->Update_Texture(minimaptemp);
245  render->DrawTextureAlphaNew(tl_x / 640., tl_y / 480., minimaptemp);
246  } else { // indoors
247  unsigned int Colour_Black = Color16(0, 0, 0);
248 
250  for (uint i = 0; i < pIndoor->pMapOutlines->uNumOutlines; ++i) {
251  BLVMapOutline *pOutline = &pIndoor->pMapOutlines->pOutlines[i];
252 
253  if (pIndoor->pFaces[pOutline->uFace1ID].Visible() &&
254  pIndoor->pFaces[pOutline->uFace2ID].Visible()) {
255  if (pIndoor->pFaces[pOutline->uFace1ID].uAttributes & FACE_RENDERED ||
256  pIndoor->pFaces[pOutline->uFace2ID].uAttributes & FACE_RENDERED) {
257  pOutline->uFlags = pOutline->uFlags | 1;
258  pIndoor->_visible_outlines[i >> 3] |= 1 << (7 - i % 8);
259 
260  int Vert1X = pIndoor->pVertices[pOutline->uVertex1ID].x - pCenterX;
261  int Vert2X = pIndoor->pVertices[pOutline->uVertex2ID].x - pCenterX;
262  int Vert1Y = pIndoor->pVertices[pOutline->uVertex1ID].y - pCenterY;
263  int Vert2Y = pIndoor->pVertices[pOutline->uVertex2ID].y - pCenterY;
264 
265  int linex = ScreenCenterX + fixpoint_mul(Vert1X, viewparams->uMapBookMapZoom);
266  int liney = ScreenCenterY - fixpoint_mul(Vert1Y, viewparams->uMapBookMapZoom);
267  int linez = ScreenCenterX + fixpoint_mul(Vert2X, viewparams->uMapBookMapZoom);
268  int linew = ScreenCenterY - fixpoint_mul(Vert2Y, viewparams->uMapBookMapZoom);
269 
270  render->RasterLine2D(linex, liney, linez, linew, Colour_Black);
271  }
272  }
273  }
274  }
275  }
276 
277  // Direction arrow drawing
278  int ArrowXPos = (fixpoint_mul((pParty->vPosition.x - pCenterX), viewparams->uMapBookMapZoom)) + ScreenCenterX - 3;
279  int ArrowYPos = ScreenCenterY - (fixpoint_mul((pParty->vPosition.y - pCenterY), viewparams->uMapBookMapZoom)) - 3;
280  bool DrawArrow = 1;
281 
282  if (ArrowXPos >= (signed int)tl_x) {
283  if (ArrowXPos > (signed int)br_x) {
284  if ((signed int)(ArrowXPos - 3) > (signed int)br_x) DrawArrow = 0;
285  ArrowXPos = br_x;
286  }
287  } else {
288  if ((signed int)(ArrowXPos + 3) < (signed int)tl_x) DrawArrow = 0;
289  ArrowXPos = tl_x;
290  }
291 
292  if (ArrowYPos >= (signed int)tl_y) {
293  if (ArrowYPos > br_y) {
294  if ((ArrowYPos - 3) > br_y) DrawArrow = 0;
295  ArrowYPos = br_y;
296  }
297  } else {
298  if ((ArrowYPos + 3) < (signed int)tl_y) DrawArrow = 0;
299  ArrowYPos = tl_y;
300  }
301 
302  if (DrawArrow == 1) {
303  int ArrowOctant = 0;
304  int PartyDirection = pParty->sRotationY & stru_5C6E00->uDoublePiMask;
305  if ((signed int)PartyDirection <= 1920) ArrowOctant = 6;
306  if ((signed int)PartyDirection < 1664) ArrowOctant = 5;
307  if ((signed int)PartyDirection <= 1408) ArrowOctant = 4;
308  if ((signed int)PartyDirection < 1152) ArrowOctant = 3;
309  if ((signed int)PartyDirection <= 896) ArrowOctant = 2;
310  if ((signed int)PartyDirection < 640) ArrowOctant = 1;
311  if ((signed int)PartyDirection <= 384) ArrowOctant = 0;
312  if ((signed int)PartyDirection < 128 || (signed int)PartyDirection > 1920) ArrowOctant = 7;
313 
314  render->DrawTransparentRedShade(ArrowXPos / 640.0f, ArrowYPos / 480.0f, game_ui_minimap_dirs[ArrowOctant]);
315  }
316 
317  if ((signed int)uNumLevelDecorations > 0) {
318  for (uint i = 0; i < (signed int)uNumLevelDecorations; ++i) {
320  int DecY = pLevelDecorations[i].vPosition.y - pCenterY;
321  int DecX = pLevelDecorations[i].vPosition.x - pCenterX;
322  int decxpos = ScreenCenterX + fixpoint_mul(DecX, viewparams->uMapBookMapZoom);
323  int decypos = ScreenCenterY - fixpoint_mul(DecY, viewparams->uMapBookMapZoom);
324 
325  if (viewparams->uMapBookMapZoom > 512) {
326  render->RasterLine2D(decxpos - 1, decypos - 1, decxpos - 1, decypos + 1, Color16(0xFFu, 0xFFu, 0xFFu));
327  render->RasterLine2D(decxpos, decypos - 1, decxpos, decypos + 1, Color16(0xFFu, 0xFFu, 0xFFu));
328  render->RasterLine2D(decxpos + 1, decypos - 1, decxpos + 1, decypos + 1, Color16(0xFFu, 0xFFu, 0xFFu));
329  } else {
330  render->RasterLine2D(decxpos, decypos, decxpos, decypos, Color16(0xFF, 0xFF, 0xFF));
331  }
332  }
333  }
334  }
335 }
336 
337 const char *GetMapBookHintText(int mouse_x, int mouse_y) {
338  int v20 = viewparams->sViewCenterX;
339  int v21 = viewparams->sViewCenterY;
340  if (viewparams->uMapBookMapZoom == 384) {
343  }
344 
345  unsigned int pX = mouse_x;
346  unsigned int pY = mouse_y;
347 
348  double v0 = 1.0 / (float)((signed int)viewparams->uMapBookMapZoom * 0.000015258789);
349 
350  int global_coord_X = (__int64)((double)(pX - 229.) * v0 + (double)v20);
351  int global_coord_Y = (__int64)((double)v21 - (double)(pY - 181.) * v0);
352 
353  const char *result = "";
354 
355  // In the mapbook only lady Margaret dispays for defoult zoom(В
356  // книге карты только Леди Маргарита всплывает при дефолтном зуме)
357  int map_tile_X = abs(global_coord_X + 22528) / 512;
358  int map_tile_Y = abs(global_coord_Y - 22528) / 512;
359  if (pOutdoor->IsMapCellFullyRevealed(map_tile_X, map_tile_Y) &&
361  !pOutdoor->pBModels.empty()) {
362  for (BSPModel &model : pOutdoor->pBModels) {
364  abs((int)model.vBoundingCenter.x - global_coord_X),
365  abs((int)model.vBoundingCenter.y - global_coord_Y),
366  0) < model.sBoundingRadius) {
367  for (ODMFace &face : model.pFaces) {
368  if (face.sCogTriggeredID) {
369  if (!(face.uAttributes & FACE_HAS_EVENT)) {
370  if (GetEventHintString(face.sCogTriggeredID)) {
371  if (_stricmp(GetEventHintString(face.sCogTriggeredID), "")) {
372  result = GetEventHintString(face.sCogTriggeredID);
373  }
374  }
375  }
376  }
377  }
378  }
379  }
380  }
381 
382  return result;
383 }
UIGame.h
Book_PageBtn4_flag
int Book_PageBtn4_flag
Definition: mm7_data.cpp:526
Party::vPosition
Vec3_int_ vPosition
Definition: Party.h:250
face
GLenum GLuint GLint GLenum face
Definition: SDL_opengl_glext.h:3022
GUIWindow::uFrameW
unsigned int uFrameW
Definition: GUIWindow.h:473
int_get_vector_length
uint32_t int_get_vector_length(int32_t x, int32_t y, int32_t z)
Definition: VectorTypes.cpp:8
Localization::GetString
const char * GetString(unsigned int index) const
Definition: Localization.cpp:13
pLevelDecorations
std::array< LevelDecoration, 3000 > pLevelDecorations
Definition: Decoration.cpp:8
Book_PageBtn6_flag
int Book_PageBtn6_flag
Definition: mm7_data.cpp:524
Viewport.h
MapStats::pInfos
MapInfo pInfos[77]
Definition: MapInfo.h:79
LOD.h
Book_PageBtn5_flag
int Book_PageBtn5_flag
Definition: mm7_data.cpp:525
stru193_math::uDoublePiMask
static const unsigned int uDoublePiMask
Definition: OurMath.h:91
GUIWindow
Definition: GUIWindow.h:433
OutdoorLocation::pBModels
BSPModelList pBModels
Definition: Outdoor.h:119
ui_exit_cancel_button_background
Image * ui_exit_cancel_button_background
Definition: GUIWindow.cpp:89
OutdoorLocation::IsMapCellPartiallyRevealed
bool IsMapCellPartiallyRevealed(signed int a2, signed int a3)
Definition: Outdoor.cpp:1559
ui_book_button6_off
Image * ui_book_button6_off
Definition: UIBooks.cpp:23
Viewport::uViewportTL_Y
int uViewportTL_Y
Definition: Viewport.h:23
GUIWindow_BooksButtonOverlay
Definition: UIBooks.h:19
ViewingParams::location_minimap
class Image * location_minimap
Definition: Viewport.h:73
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
ui_book_button4_off
Image * ui_book_button4_off
Definition: UIBooks.cpp:27
ui_book_button5_off
Image * ui_book_button5_off
Definition: UIBooks.cpp:25
MapStats::GetMapInfo
MAP_TYPE GetMapInfo(const String &Str2)
Definition: MapInfo.cpp:225
ui_book_button1_on
Image * ui_book_button1_on
Definition: UIBooks.cpp:34
ui_book_map_coordinates_color
unsigned int ui_book_map_coordinates_color
Definition: UICharacter.cpp:82
AudioPlayer::PlaySound
void PlaySound(SoundID eSoundID, int pid, unsigned int uNumRepeats, int x, int y, int a7)
Definition: AudioPlayer.cpp:195
BLVMapOutlines::uNumOutlines
int uNumOutlines
Definition: Indoor.h:569
Texture
Definition: Texture.h:4
game_viewport_width
unsigned int game_viewport_width
Definition: mm7_data.cpp:194
pBtn_Book_1
GUIButton * pBtn_Book_1
Definition: GUIButton.cpp:23
ViewingParams::indoor_center_x
int16_t indoor_center_x
Definition: Viewport.h:70
ui_book_button3_off
Image * ui_book_button3_off
Definition: UIBooks.cpp:29
BSPModel::sBoundingRadius
int32_t sBoundingRadius
Definition: BSPModel.h:187
localization
Localization * localization
Definition: Localization.cpp:11
game_viewport_x
int game_viewport_x
Definition: mm7_data.cpp:196
BtnDown_flag
int BtnDown_flag
Definition: mm7_data.cpp:528
Color32
uint32_t Color32(uint16_t color16)
Definition: Engine.cpp:135
WINDOW_MapsBook
@ WINDOW_MapsBook
Definition: GUIWindow.h:338
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
GUIFont.h
GUIWindow_MapBook::Update
virtual void Update()
Definition: MapBook.cpp:81
OutdoorLocation::IsMapCellFullyRevealed
bool IsMapCellFullyRevealed(signed int a2, signed int a3)
Definition: Outdoor.cpp:1549
AssetsManager.h
BLVMapOutline
Definition: Indoor.h:412
GUIWindow::uFrameWidth
unsigned int uFrameWidth
Definition: GUIWindow.h:470
ViewingParams::MapViewDown
void MapViewDown()
Definition: Viewport.cpp:105
game_viewport_height
unsigned int game_viewport_height
Definition: mm7_data.cpp:195
pIndoor
IndoorLocation * pIndoor
Definition: Indoor.cpp:49
GUIWindow::uFrameZ
unsigned int uFrameZ
Definition: GUIWindow.h:472
Engine.h
result
GLuint64EXT * result
Definition: SDL_opengl_glext.h:9435
pMapStats
struct MapStats * pMapStats
Definition: mm7_data.cpp:20
ImageHelper::GetWidthLn2
static int GetWidthLn2(Image *img)
Definition: Image.h:59
Events.h
ui_book_button6_on
Image * ui_book_button6_on
Definition: UIBooks.cpp:24
game_viewport_y
int game_viewport_y
Definition: mm7_data.cpp:197
pBtn_Book_4
GUIButton * pBtn_Book_4
Definition: GUIButton.cpp:20
IMAGE_FORMAT_A8R8G8B8
@ IMAGE_FORMAT_A8R8G8B8
Definition: Image.h:7
LEVEL_DECORATION_VISIBLE_ON_MAP
@ LEVEL_DECORATION_VISIBLE_ON_MAP
Definition: Decoration.h:12
Localization.h
Image::GetWidth
unsigned int GetWidth()
Definition: Image.cpp:217
pBtn_Book_5
GUIButton * pBtn_Book_5
Definition: GUIButton.cpp:19
ui_book_button5_on
Image * ui_book_button5_on
Definition: UIBooks.cpp:26
game_ui_minimap_dirs
std::array< Image *, 8 > game_ui_minimap_dirs
Definition: UIGame.cpp:70
GUIButton.h
pParty
Party * pParty
Definition: Party.cpp:30
ViewingParams::MapViewRight
void MapViewRight()
Definition: Viewport.cpp:111
Image
Definition: Image.h:19
MapBook.h
IRender.h
ViewingParams::indoor_center_y
int16_t indoor_center_y
Definition: Viewport.h:71
viewparams
struct ViewingParams * viewparams
Definition: mm7_data.cpp:22
BLVMapOutline::uFace2ID
uint16_t uFace2ID
Definition: Indoor.h:416
ui_book_button2_on
Image * ui_book_button2_on
Definition: UIBooks.cpp:32
BLVMapOutline::uFace1ID
uint16_t uFace1ID
Definition: Indoor.h:415
GetEventHintString
char * GetEventHintString(unsigned int uEventID)
Definition: Events.cpp:1159
Indoor.h
AssetsManager::GetImage_ColorKey
Texture * GetImage_ColorKey(const String &name, uint16_t colorkey)
Definition: AssetsManager.cpp:34
ui_book_button4_on
Image * ui_book_button4_on
Definition: UIBooks.cpp:28
GUIWindow::uFrameHeight
unsigned int uFrameHeight
Definition: GUIWindow.h:471
MapBookOpen
int MapBookOpen
Definition: mm7_data.cpp:519
BLVMapOutline::uFlags
uint16_t uFlags
Definition: Indoor.h:418
pBook2Font
GUIFont * pBook2Font
Definition: GUIFont.cpp:20
BtnUp_flag
int BtnUp_flag
Definition: mm7_data.cpp:529
IndoorLocation::pMapOutlines
BLVMapOutlines * pMapOutlines
Definition: Indoor.h:641
pBtn_Book_2
GUIButton * pBtn_Book_2
Definition: GUIButton.cpp:22
AudioPlayer::StopChannels
void StopChannels(int uStartChannel, int uEndChannel)
Definition: AudioPlayer.cpp:331
fixpoint_mul
__int64 fixpoint_mul(int a1, int a2)
Definition: OurMath.cpp:138
Party.h
uNumLevelDecorations
size_t uNumLevelDecorations
Definition: Decoration.cpp:9
f
GLfloat f
Definition: SDL_opengl_glext.h:1873
MapInfo::pName
String pName
Definition: MapInfo.h:38
LEVEL_Outdoor
@ LEVEL_Outdoor
Definition: Indoor.h:287
Timer::Pause
void Pause()
Definition: Time.cpp:19
IndoorLocation::_visible_outlines
char _visible_outlines[875]
Definition: Indoor.h:650
DrawBook_Map_sub
void DrawBook_Map_sub(unsigned int tl_x, unsigned int tl_y, unsigned int br_x, int br_y, int dummy)
Definition: MapBook.cpp:180
pCurrentMapName
String pCurrentMapName
Definition: mm7_data.cpp:712
Book_PageBtn3_flag
int Book_PageBtn3_flag
Definition: mm7_data.cpp:527
GUIWindow::uFrameY
unsigned int uFrameY
Definition: GUIWindow.h:469
game_viewport_w
int game_viewport_w
Definition: mm7_data.cpp:199
pFontComic
GUIFont * pFontComic
Definition: GUIFont.cpp:24
ui_book_map_title_color
unsigned int ui_book_map_title_color
Definition: UICharacter.cpp:81
Outdoor.h
ui_book_button1_off
Image * ui_book_button1_off
Definition: UIBooks.cpp:33
LEVEL_Indoor
@ LEVEL_Indoor
Definition: Indoor.h:286
ui_book_map_background
Image * ui_book_map_background
Definition: MapBook.cpp:27
AudioPlayer.h
pViewport
struct Viewport * pViewport
Definition: mm7_data.cpp:21
ViewingParams::CenterOnPartyZoomOut
void CenterOnPartyZoomOut()
Definition: Viewport.cpp:117
pBooksButtonOverlay
GUIWindow * pBooksButtonOverlay
Definition: GUIWindow.cpp:59
pBtn_Book_3
GUIButton * pBtn_Book_3
Definition: GUIButton.cpp:21
BLVMapOutlines::pOutlines
BLVMapOutline pOutlines[7000]
Definition: Indoor.h:570
pBtn_Maps
GUIButton * pBtn_Maps
Definition: GUIButton.cpp:58
GUIWindow_Book
Definition: UIBooks.h:4
ui_book_button2_off
Image * ui_book_button2_off
Definition: UIBooks.cpp:31
GUIWindow_Book::BasicBookInitialization
void BasicBookInitialization()
Definition: UIBooks.cpp:67
assets
AssetsManager * assets
Definition: AssetsManager.cpp:12
uint
unsigned int uint
Definition: MM7.h:4
Localization::FormatString
String FormatString(unsigned int index,...) const
Definition: Localization.cpp:17
BLVFace::Visible
bool Visible() const
Definition: Indoor.h:447
BSPModel::pFaces
std::vector< ODMFace > pFaces
Definition: BSPModel.h:190
ODMFace
Definition: BSPModel.h:93
BSPModel::vBoundingCenter
Vec3_int_ vBoundingCenter
Definition: BSPModel.h:186
Image::GetPixels
const void * GetPixels(IMAGE_FORMAT format)
Definition: Image.cpp:270
Decoration.h
stru_5C6E00
struct stru193_math * stru_5C6E00
Definition: mm7_data.cpp:19
GUIWindow::ptr_1C
void * ptr_1C
Definition: GUIWindow.h:476
IndoorLocation::pVertices
struct Vec3_short_ * pVertices
Definition: Indoor.h:628
AssetsManager::GetImage_Alpha
Texture * GetImage_Alpha(const String &name)
Definition: AssetsManager.cpp:66
OurMath.h
ViewingParams::CenterOnPartyZoomIn
void CenterOnPartyZoomIn()
Definition: Viewport.cpp:127
ViewingParams::sViewCenterY
int sViewCenterY
Definition: Viewport.h:69
uCurrentlyLoadedLevelType
LEVEL_TYPE uCurrentlyLoadedLevelType
Definition: Indoor.cpp:52
UIMSG_ClickBooksBtn
@ UIMSG_ClickBooksBtn
Definition: GUIWindow.h:57
ViewingParams::MapViewUp
void MapViewUp()
Definition: Viewport.cpp:93
IndoorLocation::pFaces
struct BLVFace * pFaces
Definition: Indoor.h:630
GUIWindow::uFrameX
unsigned int uFrameX
Definition: GUIWindow.h:468
ViewingParams::sViewCenterX
int sViewCenterX
Definition: Viewport.h:68
pAudioPlayer
AudioPlayer * pAudioPlayer
Definition: AudioPlayer.cpp:20
v0
GLfloat v0
Definition: SDL_opengl_glext.h:693
BSPModel
Definition: BSPModel.h:163
SOUND_StartMainChoice02
@ SOUND_StartMainChoice02
Definition: AudioPlayer.h:37
BLVMapOutline::uVertex2ID
uint16_t uVertex2ID
Definition: Indoor.h:414
Color16
uint16_t Color16(uint32_t r, uint32_t g, uint32_t b)
Definition: Engine.cpp:148
pOutdoor
OutdoorLocation * pOutdoor
Definition: Outdoor.cpp:48
GetMapBookHintText
const char * GetMapBookHintText(int mouse_x, int mouse_y)
Definition: MapBook.cpp:337
ViewingParams::uMapBookMapZoom
unsigned int uMapBookMapZoom
Definition: Viewport.h:67
GUIWindow_MapBook::GUIWindow_MapBook
GUIWindow_MapBook()
Definition: MapBook.cpp:29
BLVMapOutline::uVertex1ID
uint16_t uVertex1ID
Definition: Indoor.h:413
Viewport::uViewportTL_X
int uViewportTL_X
Definition: Viewport.h:22
game_viewport_z
int game_viewport_z
Definition: mm7_data.cpp:198
Party::sRotationY
int sRotationY
Definition: Party.h:251
pBtn_Book_6
GUIButton * pBtn_Book_6
Definition: GUIButton.cpp:18
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8
BLVFace::uAttributes
unsigned int uAttributes
Definition: Indoor.h:475
ui_book_button3_on
Image * ui_book_button3_on
Definition: UIBooks.cpp:30
ViewingParams::MapViewLeft
void MapViewLeft()
Definition: Viewport.cpp:99
Mouse.h
Time.h
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52
ui_book_map_frame
Image * ui_book_map_frame
Definition: UIBooks.cpp:36