World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Класс Mouse

#include <Mouse.h>

+ Граф связей класса Mouse:

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

 Mouse ()
 
void GetClickPos (unsigned int *pX, unsigned int *pY)
 
void RemoveHoldingItem ()
 
void SetCursorBitmapFromItemID (unsigned int uItemID)
 
void SetCurrentCursorBitmap ()
 
void SetCursorImage (const String &name)
 
void _469AE4 ()
 
void ClearCursor ()
 
void AllocCursorSystemMem ()
 
voidDoAllocCursorMem ()
 
Point GetCursorPos ()
 
void Initialize (OSWindow *window)
 
void SetActive (bool active)
 
void Deactivate ()
 
void DrawCursor ()
 
void Activate ()
 
void ClearPickedItem ()
 
void DrawCursorToTarget ()
 
void ReadCursorWithItem ()
 
void ChangeActivation (int a1)
 
void SetMouseClick (int x, int y)
 
void UI_OnMouseLeftClick ()
 

Открытые атрибуты

unsigned int uPointingObjectID
 
unsigned int bActive = 0
 
int field_8
 
int field_C
 
unsigned int bInitialized = 0
 
unsigned int bRedraw = 0
 
int field_18 = 0
 
int field_1C = 0
 
int field_20 = 0
 
Imagecursor_img
 
OSWindowwindow
 
uint16_tpCursorBitmap_sysmem
 
int field_34
 
uint8_tpCursorBitmap2_sysmem
 
ImagepPickedItem
 
int uCursorWithItemX
 
int uCursorWithItemY
 
int field_50 = 0
 
int field_54 = 0
 
int uCursorBitmapPitch
 
int field_5C [13]
 
voidptr_90
 
int field_94
 
int field_98 = 0
 
int field_9C = 0
 
int field_A0 = 0
 
int field_A4 = 0
 
int field_A8 = 0
 
int field_AC = 0
 
int field_B0
 
int field_B4
 
int field_B8
 
int field_BC
 
int field_C0
 
Point pCursorBitmapPos
 
int uCursorBitmapWidth
 
int uCursorBitmapHeight
 
int field_D4
 
int field_D8
 
int field_DC
 
int field_E0
 
int pCursorBitmapRect_x
 
int pCursorBitmapRect_y
 
int pCursorBitmapRect_w
 
int pCursorBitmapRect_z
 
char field_F4
 
String cursor_name
 
int field_100 = 0
 
int field_104 = 0
 
unsigned int uMouseClickX
 
unsigned int uMouseClickY
 
voidpWard
 

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

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

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

◆ Mouse()

Mouse::Mouse ( )
inline

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

281  : cursor_img(nullptr), window(nullptr) {
282  pCursorBitmap_sysmem = nullptr;
283  field_34 = 0;
284  pCursorBitmap2_sysmem = nullptr;
285  pPickedItem = nullptr;
286  ptr_90 = nullptr;
287  pWard = nullptr;
288  uMouseClickX = 0;
289  uMouseClickY = 0;
290  }

Перекрестные ссылки field_34, pCursorBitmap2_sysmem, pCursorBitmap_sysmem, pPickedItem, ptr_90, pWard, uMouseClickX и uMouseClickY.

Методы

◆ GetClickPos()

void Mouse::GetClickPos ( unsigned int *  pX,
unsigned int *  pY 
)

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

20  {
21  *pX = uMouseClickX;
22  *pY = uMouseClickY;
23 }

Перекрестные ссылки uMouseClickX и uMouseClickY.

Используется в CharacterUI_SkillsTab_ShowHint(), GameUI_GetMinimapHintText(), GameUI_WritePointedObjectStatusString(), Inventory_ItemPopupAndAlchemy(), Chest::OnChestLeftClick(), Player::OnInventoryLeftClick(), UI_OnMouseLeftClick() и UI_OnVkKeyDown().

+ Граф вызова функции:

◆ RemoveHoldingItem()

void Mouse::RemoveHoldingItem ( )

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

25  {
27  if (this->cursor_name != "MICON2") {
28  SetCursorImage("MICON1");
29  }
30 }

Перекрестные ссылки cursor_name, pParty, Party::pPickedItem, ItemGen::Reset() и SetCursorImage().

Используется в Engine::DropHeldItem(), Player::EquipBody(), GameUI_OnPlayerPortraitLeftClick(), Inventory_ItemPopupAndAlchemy(), Chest::OnChestLeftClick(), Player::OnInventoryLeftClick(), OnPaperdollLeftClick(), Party::sub_421B2C_PlaceInInventory_or_DropPickedItem(), Player::SubtractVariable() и Player::UseItem_DrinkPotion_etc().

+ Граф вызовов:
+ Граф вызова функции:

◆ SetCursorBitmapFromItemID()

void Mouse::SetCursorBitmapFromItemID ( unsigned int  uItemID)

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

32  {
33  SetCursorImage(pItemsTable->pItems[uItemID].pIconName);
34 }

Перекрестные ссылки ItemsTable::pItems, pItemsTable и SetCursorImage().

Используется в Engine::_461103_load_level_sub(), Party::SetHoldingItem() и Player::StealFromActor().

+ Граф вызовов:
+ Граф вызова функции:

◆ SetCurrentCursorBitmap()

void Mouse::SetCurrentCursorBitmap ( )

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

36 { SetCursorImage(this->cursor_name); }

Перекрестные ссылки cursor_name и SetCursorImage().

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

◆ SetCursorImage()

void Mouse::SetCursorImage ( const String name)

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

38  {
39  if (!this->bInitialized) {
40  return;
41  }
42 
43  if (this->cursor_name != name)
44  this->cursor_name = name;
45 
46  engine->SetTargetingMode(name == "MICON2");
47 
48  ClearCursor();
49  if (name == "MICON1") { // arrow
50  this->bActive = false;
51  this->field_C = 1;
52  window->SetCursor(name.c_str());
53  } else { // cursor is item or another bitmap
54  this->cursor_img = assets->GetImage_ColorKey(name, 0x7FF);
55  this->AllocCursorSystemMem();
56  this->field_C = 0;
57  this->bRedraw = true;
58  this->bActive = true;
59  }
60 }

Перекрестные ссылки AllocCursorSystemMem(), assets, bActive, bInitialized, bRedraw, ClearCursor(), cursor_img, cursor_name, engine, field_C и AssetsManager::GetImage_ColorKey().

Используется в CastSpellInfoHelpers::Cancel_Spell_Cast_In_Progress(), Application::Game::CloseTargetedSpellWindow(), Application::Game::EventLoop(), GUIWindow_Inventory_CastSpell::GUIWindow_Inventory_CastSpell(), Initialize(), OnCastTargetedSpell::OnCastTargetedSpell(), Player::OnInventoryLeftClick(), OnPaperdollLeftClick(), RemoveHoldingItem(), Engine::ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows(), SetCurrentCursorBitmap() и SetCursorBitmapFromItemID().

+ Граф вызовов:
+ Граф вызова функции:

◆ _469AE4()

void Mouse::_469AE4 ( )

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

62  {
63  this->field_8 = 1;
64 
66  pt = window->TransformCursorPos(pt);
67 
68  auto v3 = pt.y;
69  auto v2 = pt.x;
70 
71  this->uMouseClickX = v2;
72  this->uMouseClickY = v3;
73 
74  if (true /*render->bWindowMode*/ &&
75  (v2 < 0 || v3 < 0 || v2 > window->GetWidth() - 1 ||
76  v3 > window->GetHeight() - 1)) {
77  this->bActive = false;
78  this->field_8 = 0;
79  }
80 
81  if (this->field_C) {
82  this->bActive = false;
83  }
84 
85  this->field_8 = 0;
86 }

Перекрестные ссылки bActive, field_8, field_C, OS_GetMouseCursorPos(), uMouseClickX, uMouseClickY, Point::x и Point::y.

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

◆ ClearCursor()

void Mouse::ClearCursor ( )

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

88  {
89  this->bActive = false;
90  free(this->pCursorBitmap_sysmem);
91  this->pCursorBitmap_sysmem = nullptr;
92  free(this->pCursorBitmap2_sysmem);
93  this->pCursorBitmap2_sysmem = nullptr;
94  free(this->ptr_90);
95  this->ptr_90 = nullptr;
96 }

Перекрестные ссылки bActive, pCursorBitmap2_sysmem, pCursorBitmap_sysmem и ptr_90.

Используется в SetCursorImage().

+ Граф вызова функции:

◆ AllocCursorSystemMem()

void Mouse::AllocCursorSystemMem ( )

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

Перекрестные ссылки bActive, DoAllocCursorMem(), pCursorBitmap2_sysmem и pCursorBitmap_sysmem.

Используется в SetCursorImage().

+ Граф вызовов:
+ Граф вызова функции:

◆ DoAllocCursorMem()

void * Mouse::DoAllocCursorMem ( )

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

106 { return nullptr; }

Используется в AllocCursorSystemMem().

+ Граф вызова функции:

◆ GetCursorPos()

◆ Initialize()

void Mouse::Initialize ( OSWindow window)

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

112  {
113  this->window = window;
114  this->bActive = false;
115  this->bInitialized = true;
116 
117  // this->field_8 = 0;//Ritor1: result incorrect uMouseClickX,
118  // this->uMouseClickY in _469AE4()
119  this->uCursorBitmapPitch = 0; // Ritor1: it's include
120  for (uint i = 0; i < 13; i++) this->field_5C[i] = 0;
121 
122  this->pCursorBitmapPos.x = 0;
123  this->pCursorBitmapPos.y = 0;
124  this->uMouseClickX = 0;
125  this->uMouseClickY = 0;
126  this->pCursorBitmap_sysmem = nullptr;
127  this->field_34 = 0;
128  this->pCursorBitmap2_sysmem = nullptr;
129 
130  SetCursorImage("MICON3");
131  SetCursorImage("MICON2");
132  SetCursorImage("MICON1");
133 }

Перекрестные ссылки bActive, bInitialized, field_34, field_5C, pCursorBitmap2_sysmem, pCursorBitmap_sysmem, pCursorBitmapPos, SetCursorImage(), uCursorBitmapPitch, uMouseClickX, uMouseClickY, window, Point::x и Point::y.

Используется в Engine::SecondaryInitialization().

+ Граф вызовов:
+ Граф вызова функции:

◆ SetActive()

void Mouse::SetActive ( bool  active)

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

135 { bActive = active; }

Перекрестные ссылки bActive.

Используется в Deactivate().

+ Граф вызова функции:

◆ Deactivate()

void Mouse::Deactivate ( )

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

137  {
138  if (bInitialized) {
139  SetActive(false);
140  }
141 }

Перекрестные ссылки bInitialized и SetActive().

Используется в Engine::Deinitialize().

+ Граф вызовов:
+ Граф вызова функции:

◆ DrawCursor()

void Mouse::DrawCursor ( )

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

143  {
144  /*
145  if (this->bInitialized) {
146  if (!this->field_8 && this->bActive && !this->field_C) //Uninitialized
147  memory access(this->field_8) pMouse->_469AE4(); // Ritor1: странная,
148  непонятная функция this->field_F4 = 1; if (this->field_C) { this->field_F4 =
149  0; return;
150  }
151 
152  if (this->uMouseClickX < 0 || this->uMouseClickY < 0 ||
153  this->uMouseClickX > window->GetWidth() - 1 || this->uMouseClickY >
154  window->GetHeight() - 1) { this->field_F4 = 0; return;
155  }
156 
157  this->pCursorBitmapRect_x = this->uMouseClickX;
158  this->pCursorBitmapRect_w = this->uMouseClickY + this->field_5C[0];
159  //Ritor1: Maybe this->field_5C[0] - cursor width this->pCursorBitmapRect_y =
160  this->uMouseClickY; this->pCursorBitmapRect_z = this->uMouseClickX +
161  this->uCursorBitmapPitch; //Ritor1: Maybe this->uCursorBitmapPitch - cursor
162  height if (this->uMouseClickX < 0) this->pCursorBitmapRect_x = 0; if
163  (this->uMouseClickY < 0) this->pCursorBitmapRect_y = 0; if
164  (this->pCursorBitmapRect_z > window->GetWidth()) this->pCursorBitmapRect_z =
165  window->GetWidth(); if (this->pCursorBitmapRect_w > window->GetHeight())
166  this->pCursorBitmapRect_w = window->GetHeight();
167  this->bActive = false;
168  this->uCursorBitmapWidth = this->pCursorBitmapRect_z -
169  this->pCursorBitmapRect_x; this->uCursorBitmapHeight =
170  this->pCursorBitmapRect_w - this->pCursorBitmapRect_y; if (this->bRedraw) {
171  unsigned int v9 = 0;
172  if (pMouse->ptr_90) {
173  v9 = 2 * pMouse->uCursorBitmapPitch;
174  }
175 
176  Vec2_int_ point;
177  point.x = pCursorBitmapPos.x;
178  point.y = pCursorBitmapPos.y;
179 
180  Vec4_int_ rect;
181  rect.x = pCursorBitmapRect_x;
182  rect.y = pCursorBitmapRect_y;
183  rect.w = pCursorBitmapRect_w;
184  rect.z = pCursorBitmapRect_z;
185 
186  // render->_4A6DF5(pCursorBitmap_sysmem, v9, &point, &rect); //
187  срабатывает когда берём курсором вещь в инвенторе this->bRedraw = false;
188  }
189  }
190  */
191 }

Используется в Engine::Draw().

+ Граф вызова функции:

◆ Activate()

void Mouse::Activate ( )

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

193 { bActive = true; }

Перекрестные ссылки bActive.

Используется в Engine::Draw().

+ Граф вызова функции:

◆ ClearPickedItem()

void Mouse::ClearPickedItem ( )

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

195 { pPickedItem = nullptr; }

Перекрестные ссылки pPickedItem.

Используется в BackToHouseMenu() и ReadCursorWithItem().

+ Граф вызова функции:

◆ DrawCursorToTarget()

void Mouse::DrawCursorToTarget ( )

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

197  { //??? DrawCursorWithItem
198  if (pPickedItem == nullptr) {
199  return;
200  }
201  //пишем на экран курсор с вещью
202  render->DrawTextureAlphaNew(uCursorWithItemX / 640.0f,
203  uCursorWithItemY / 480.0f, pPickedItem);
204 }

Перекрестные ссылки pPickedItem, render, uCursorWithItemX и uCursorWithItemY.

Используется в Engine::DrawGUI().

+ Граф вызова функции:

◆ ReadCursorWithItem()

void Mouse::ReadCursorWithItem ( )

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

206  {
207  if (pParty->pPickedItem.uItemID) {
208  Image *pTexture =
210  pTexture->GetWidth();
211 
212  if ((int)uMouseClickX <= window->GetWidth() - 1 &&
213  (int)uMouseClickY <= window->GetHeight() - 1) {
214  int pTextureHeight;
215  int pTextureWidth;
216  if ((int)(pTexture->GetWidth() + uMouseClickX) <=
217  window->GetWidth())
218  pTextureWidth = pTexture->GetWidth();
219  else
220  pTextureWidth = window->GetWidth() - uMouseClickX;
221  if ((int)(pTexture->GetHeight() + uMouseClickY) <=
222  window->GetHeight())
223  pTextureHeight = pTexture->GetHeight();
224  else
225  pTextureHeight = window->GetHeight() - uMouseClickY;
226 
227  pPickedItem = pTexture;
230 
231  if (pParty->pPickedItem.IsBroken())
232  render->DrawTransparentRedShade(uMouseClickX / 640.0f,
233  uMouseClickY / 480.0f,
234  pTexture);
235  else if (!pParty->pPickedItem.IsIdentified())
236  render->DrawTransparentGreenShade(uMouseClickX / 640.0f,
237  uMouseClickY / 480.0f,
238  pTexture);
239  else
240  render->DrawTextureAlphaNew(uMouseClickX / 640.0f,
241  uMouseClickY / 480.0f,
242  pTexture);
243  }
244  } else {
245  ClearPickedItem();
246  }
247 }

Перекрестные ссылки assets, ClearPickedItem(), Image::GetHeight(), ItemGen::GetIconName(), AssetsManager::GetImage_Alpha(), Image::GetWidth(), ItemGen::IsBroken(), ItemGen::IsIdentified(), pParty, Party::pPickedItem, pPickedItem, render, uCursorWithItemX, uCursorWithItemY, ItemGen::uItemID, uMouseClickX и uMouseClickY.

Используется в Engine::Draw().

+ Граф вызовов:
+ Граф вызова функции:

◆ ChangeActivation()

void Mouse::ChangeActivation ( int  a1)

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

249 { this->bActive = a1; }

Перекрестные ссылки bActive.

Используется в Application::Game::Loop().

+ Граф вызова функции:

◆ SetMouseClick()

void Mouse::SetMouseClick ( int  x,
int  y 
)

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

251  {
252  uMouseClickX = x;
253  uMouseClickY = y;
254 }

Перекрестные ссылки uMouseClickX и uMouseClickY.

Используется в Application::GameWindowHandler::OnMouseLeftClick(), Application::GameWindowHandler::OnMouseMove() и Application::GameWindowHandler::OnMouseRightClick().

+ Граф вызова функции:

◆ UI_OnMouseLeftClick()

void Mouse::UI_OnMouseLeftClick ( )

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

258  {
261  return;
262 
263  if (pGUIWindow2 && pGUIWindow2->ptr_1C == (void *)33) {
264  sub_4452BB();
265  return;
266  }
267 
268  unsigned int x = 0;
269  unsigned int y = 0;
270  GetClickPos(&x, &y);
271 
273  !OS_IfCtrlPressed() || !pViewport->Contains(x, y)) {
274  for (GUIWindow *win : lWindowList) {
275  if (win->Contains(x, y)) {
276  for (GUIButton *control : win->vButtons) {
277  if (control->uButtonType == 1) {
278  if (control->Contains(x, y)) {
279  control->field_2C_is_pushed = true;
281  pMessageQueue_50CBD0->AddGUIMessage(
282  control->msg, control->msg_param, 0);
283  return;
284  }
285  continue;
286  }
287  if (control->uButtonType ==
288  2) { // когда нажимаешь на партреты персов
289  if ((int)sqrt(
290  (double)((x - control->uX) * (x - control->uX) +
291  (y - control->uY) *
292  (y - control->uY))) <
293  (int)control->uWidth) {
294  control->field_2C_is_pushed = true;
296  pMessageQueue_50CBD0->AddGUIMessage(
297  control->msg, control->msg_param, 0);
298  return;
299  }
300  continue;
301  }
302  if (control->uButtonType ==
303  3) { // когда нажимаешь на скиллы
304  if (control->Contains(x, y)) {
305  control->field_2C_is_pushed = true;
307  pMessageQueue_50CBD0->AddGUIMessage(
308  control->msg, control->msg_param, 0);
309  return;
310  }
311  continue;
312  }
313  }
314  }
315  }
316  return;
317  }
318 
319  int picked_object = EngineIoc::ResolveVis()->get_picked_object_zbuf_val();
320 
321  ObjectType type = PID_TYPE(picked_object);
322  if (type == OBJECT_Actor && uActiveCharacter && picked_object < 0x2000000 &&
323  pPlayers[uActiveCharacter]->CanAct() &&
324  pPlayers[uActiveCharacter]->CanSteal()) {
326  PID_ID(picked_object), 0);
327 
328  if (pParty->bTurnBasedModeOn) {
331  }
332  }
333  }
334 }

Перекрестные ссылки Party::bTurnBasedModeOn, Viewport::Contains(), GUIButton::Contains(), current_screen_type, stru262_TurnBased::field_18, GUIButton::field_2C_is_pushed, GUIMessageQueue::Flush(), Vis::get_picked_object_zbuf_val(), GetClickPos(), GetCurrentMenuID(), lWindowList, GUIButton::msg, GUIButton::msg_param, OBJECT_Actor, OS_IfCtrlPressed(), pGUIWindow2, pMessageQueue_50CBD0, pParty, pPlayers, GUIWindow::ptr_1C, pTurnEngine, pViewport, Engine_::IocContainer::ResolveVis(), SCREEN_GAME, SCREEN_VIDEO, sub_4452BB(), sub_4637E0_is_there_popup_onscreen(), TE_FLAG_8, TE_MOVEMENT, stru262_TurnBased::turn_stage, uActiveCharacter, GUIButton::uButtonType, UIMSG_STEALFROMACTOR, GUIButton::uWidth, GUIButton::uX и GUIButton::uY.

Используется в Application::GameWindowHandler::OnMouseLeftClick().

+ Граф вызовов:
+ Граф вызова функции:

Данные класса

◆ uPointingObjectID

unsigned int Mouse::uPointingObjectID

◆ bActive

unsigned int Mouse::bActive = 0

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

Используется в _469AE4(), Activate(), AllocCursorSystemMem(), ChangeActivation(), ClearCursor(), Initialize(), SetActive() и SetCursorImage().

◆ field_8

int Mouse::field_8

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

Используется в _469AE4().

◆ field_C

int Mouse::field_C

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

Используется в _469AE4() и SetCursorImage().

◆ bInitialized

unsigned int Mouse::bInitialized = 0

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

Используется в Deactivate(), Initialize() и SetCursorImage().

◆ bRedraw

unsigned int Mouse::bRedraw = 0

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

Используется в Engine::Draw() и SetCursorImage().

◆ field_18

int Mouse::field_18 = 0

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

◆ field_1C

int Mouse::field_1C = 0

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

◆ field_20

int Mouse::field_20 = 0

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

◆ cursor_img

Image* Mouse::cursor_img

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

Используется в SetCursorImage().

◆ window

OSWindow* Mouse::window

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

Используется в Initialize().

◆ pCursorBitmap_sysmem

uint16_t* Mouse::pCursorBitmap_sysmem

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

Используется в AllocCursorSystemMem(), ClearCursor(), Initialize() и Mouse().

◆ field_34

int Mouse::field_34

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

Используется в Initialize() и Mouse().

◆ pCursorBitmap2_sysmem

uint8_t* Mouse::pCursorBitmap2_sysmem

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

Используется в AllocCursorSystemMem(), ClearCursor(), Initialize() и Mouse().

◆ pPickedItem

Image* Mouse::pPickedItem

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

Используется в ClearPickedItem(), DrawCursorToTarget(), Mouse() и ReadCursorWithItem().

◆ uCursorWithItemX

int Mouse::uCursorWithItemX

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

Используется в DrawCursorToTarget() и ReadCursorWithItem().

◆ uCursorWithItemY

int Mouse::uCursorWithItemY

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

Используется в DrawCursorToTarget() и ReadCursorWithItem().

◆ field_50

int Mouse::field_50 = 0

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

◆ field_54

int Mouse::field_54 = 0

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

◆ uCursorBitmapPitch

int Mouse::uCursorBitmapPitch

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

Используется в Initialize().

◆ field_5C

int Mouse::field_5C[13]

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

Используется в Initialize().

◆ ptr_90

void* Mouse::ptr_90

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

Используется в ClearCursor() и Mouse().

◆ field_94

int Mouse::field_94

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

◆ field_98

int Mouse::field_98 = 0

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

◆ field_9C

int Mouse::field_9C = 0

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

◆ field_A0

int Mouse::field_A0 = 0

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

◆ field_A4

int Mouse::field_A4 = 0

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

◆ field_A8

int Mouse::field_A8 = 0

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

◆ field_AC

int Mouse::field_AC = 0

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

◆ field_B0

int Mouse::field_B0

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

◆ field_B4

int Mouse::field_B4

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

◆ field_B8

int Mouse::field_B8

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

◆ field_BC

int Mouse::field_BC

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

◆ field_C0

int Mouse::field_C0

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

◆ pCursorBitmapPos

Point Mouse::pCursorBitmapPos

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

Используется в Initialize().

◆ uCursorBitmapWidth

int Mouse::uCursorBitmapWidth

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

◆ uCursorBitmapHeight

int Mouse::uCursorBitmapHeight

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

◆ field_D4

int Mouse::field_D4

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

◆ field_D8

int Mouse::field_D8

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

◆ field_DC

int Mouse::field_DC

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

◆ field_E0

int Mouse::field_E0

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

◆ pCursorBitmapRect_x

int Mouse::pCursorBitmapRect_x

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

◆ pCursorBitmapRect_y

int Mouse::pCursorBitmapRect_y

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

◆ pCursorBitmapRect_w

int Mouse::pCursorBitmapRect_w

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

◆ pCursorBitmapRect_z

int Mouse::pCursorBitmapRect_z

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

◆ field_F4

char Mouse::field_F4

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

◆ cursor_name

String Mouse::cursor_name

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

Используется в RemoveHoldingItem(), SetCurrentCursorBitmap() и SetCursorImage().

◆ field_100

int Mouse::field_100 = 0

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

◆ field_104

int Mouse::field_104 = 0

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

◆ uMouseClickX

unsigned int Mouse::uMouseClickX

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

Используется в _469AE4(), GetClickPos(), GetCursorPos(), Initialize(), Inventory_ItemPopupAndAlchemy(), Mouse(), OnPaperdollLeftClick(), ReadCursorWithItem() и SetMouseClick().

◆ uMouseClickY

unsigned int Mouse::uMouseClickY

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

Используется в _469AE4(), GetClickPos(), GetCursorPos(), Initialize(), Inventory_ItemPopupAndAlchemy(), Mouse(), OnPaperdollLeftClick(), ReadCursorWithItem() и SetMouseClick().

◆ pWard

void* Mouse::pWard

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

Используется в Mouse().


Объявления и описания членов классов находятся в файлах:
Party::pPickedItem
ItemGen pPickedItem
Definition: Party.h:312
uint16_t
unsigned __int16 uint16_t
Definition: SDL_config.h:37
TE_MOVEMENT
@ TE_MOVEMENT
Definition: TurnEngine.h:22
Image::GetHeight
unsigned int GetHeight()
Definition: Image.cpp:230
GUIWindow
Definition: GUIWindow.h:433
Mouse::field_C
int field_C
Definition: Mouse.h:318
sub_4452BB
void sub_4452BB()
Definition: Engine.cpp:2445
Mouse::AllocCursorSystemMem
void AllocCursorSystemMem()
Definition: Mouse.cpp:98
Mouse::uMouseClickY
unsigned int uMouseClickY
Definition: Mouse.h:365
GUIMessageQueue::Flush
void Flush()
Definition: GUIWindow.cpp:159
Mouse::bActive
unsigned int bActive
Definition: Mouse.h:316
engine
std::shared_ptr< Engine > engine
Definition: Engine.cpp:130
Viewport::Contains
bool Contains(unsigned int x, unsigned int y)
Definition: Viewport.cpp:67
Mouse::window
OSWindow * window
Definition: Mouse.h:325
Mouse::cursor_name
String cursor_name
Definition: Mouse.h:361
Point::x
unsigned int x
Definition: Point.h:7
Mouse::cursor_img
Image * cursor_img
Definition: Mouse.h:324
ItemGen::Reset
void Reset()
Definition: Items.cpp:133
pPlayers
NZIArray< struct Player *, 5 > pPlayers
Definition: Player.cpp:46
Vis::get_picked_object_zbuf_val
int get_picked_object_zbuf_val()
Definition: Vis.cpp:517
Mouse::bRedraw
unsigned int bRedraw
Definition: Mouse.h:320
GUIButton
Definition: GUIButton.h:11
Mouse::ptr_90
void * ptr_90
Definition: Mouse.h:336
current_screen_type
enum CURRENT_SCREEN current_screen_type
Definition: GUIWindow.cpp:83
Mouse::uCursorWithItemY
int uCursorWithItemY
Definition: Mouse.h:331
pTurnEngine
struct stru262_TurnBased * pTurnEngine
Definition: TurnEngine.cpp:21
Mouse::pCursorBitmapPos
Point pCursorBitmapPos
Definition: Mouse.h:349
OBJECT_Actor
@ OBJECT_Actor
Definition: Actor.h:67
Mouse::uMouseClickX
unsigned int uMouseClickX
Definition: Mouse.h:364
GetCurrentMenuID
MENU_STATE GetCurrentMenuID()
Definition: GUIWindow.cpp:133
pItemsTable
struct ItemsTable * pItemsTable
Definition: Items.cpp:37
TE_FLAG_8
@ TE_FLAG_8
Definition: TurnEngine.h:7
GUIButton::Contains
bool Contains(unsigned int x, unsigned int y)
Definition: GUIButton.cpp:113
Mouse::field_34
int field_34
Definition: Mouse.h:327
y
EGLSurface EGLint EGLint y
Definition: SDL_egl.h:1596
Image::GetWidth
unsigned int GetWidth()
Definition: Image.cpp:217
pGUIWindow2
GUIWindow * pGUIWindow2
Definition: GUIWindow.cpp:60
Mouse::pWard
void * pWard
Definition: Mouse.h:366
Mouse::ClearPickedItem
void ClearPickedItem()
Definition: Mouse.cpp:195
pParty
Party * pParty
Definition: Party.cpp:30
Engine_::IocContainer::ResolveVis
static Vis * ResolveVis()
Definition: IocContainer.cpp:110
Image
Definition: Image.h:19
x
EGLSurface EGLint x
Definition: SDL_egl.h:1596
UIMSG_STEALFROMACTOR
@ UIMSG_STEALFROMACTOR
Definition: GUIWindow.h:31
Mouse::pPickedItem
Image * pPickedItem
Definition: Mouse.h:329
GUIButton::field_2C_is_pushed
bool field_2C_is_pushed
Definition: GUIButton.h:32
ItemGen::GetIconName
char * GetIconName()
Definition: Items.cpp:1521
ItemGen::uItemID
int uItemID
Definition: Items.h:326
AssetsManager::GetImage_ColorKey
Texture * GetImage_ColorKey(const String &name, uint16_t colorkey)
Definition: AssetsManager.cpp:34
sub_4637E0_is_there_popup_onscreen
char sub_4637E0_is_there_popup_onscreen()
Definition: GUIWindow.cpp:1361
Mouse::pCursorBitmap2_sysmem
uint8_t * pCursorBitmap2_sysmem
Definition: Mouse.h:328
ObjectType
ObjectType
Definition: Actor.h:63
GUIButton::msg
UIMessageType msg
Definition: GUIButton.h:29
Mouse::ClearCursor
void ClearCursor()
Definition: Mouse.cpp:88
window
EGLSurface EGLNativeWindowType * window
Definition: SDL_egl.h:1580
f
GLfloat f
Definition: SDL_opengl_glext.h:1873
type
EGLenum type
Definition: SDL_egl.h:850
Mouse::GetClickPos
void GetClickPos(unsigned int *pX, unsigned int *pY)
Definition: Mouse.cpp:20
Mouse::field_5C
int field_5C[13]
Definition: Mouse.h:335
GUIButton::uWidth
unsigned int uWidth
Definition: GUIButton.h:23
ItemGen::IsIdentified
bool IsIdentified()
Definition: Items.h:306
GUIButton::uX
unsigned int uX
Definition: GUIButton.h:21
ItemGen::IsBroken
bool IsBroken()
Definition: Items.h:304
Mouse::SetActive
void SetActive(bool active)
Definition: Mouse.cpp:135
Party::bTurnBasedModeOn
bool bTurnBasedModeOn
Definition: Party.h:305
pViewport
struct Viewport * pViewport
Definition: mm7_data.cpp:21
CURRENT_SCREEN::SCREEN_GAME
@ SCREEN_GAME
uint8_t
unsigned __int8 uint8_t
Definition: SDL_config.h:35
OS_IfCtrlPressed
bool OS_IfCtrlPressed()
Definition: Lin.cpp:23
Point::y
unsigned int y
Definition: Point.h:8
name
EGLImageKHR EGLint * name
Definition: SDL_egl.h:1497
GUIButton::msg_param
unsigned int msg_param
Definition: GUIButton.h:30
OS_GetMouseCursorPos
Point OS_GetMouseCursorPos()
Definition: Lin.cpp:40
v2
GLfloat GLfloat GLfloat v2
Definition: SDL_opengl_glext.h:695
Mouse::uCursorBitmapPitch
int uCursorBitmapPitch
Definition: Mouse.h:334
assets
AssetsManager * assets
Definition: AssetsManager.cpp:12
uint
unsigned int uint
Definition: MM7.h:4
uActiveCharacter
unsigned int uActiveCharacter
Definition: mm7_data.cpp:555
v3
GLfloat GLfloat GLfloat GLfloat v3
Definition: SDL_opengl_glext.h:696
GUIButton::uY
unsigned int uY
Definition: GUIButton.h:22
lWindowList
std::list< GUIWindow * > lWindowList
Definition: GUIWindow.cpp:79
Mouse::DoAllocCursorMem
void * DoAllocCursorMem()
Definition: Mouse.cpp:106
GUIWindow::ptr_1C
void * ptr_1C
Definition: GUIWindow.h:476
Mouse::field_8
int field_8
Definition: Mouse.h:317
AssetsManager::GetImage_Alpha
Texture * GetImage_Alpha(const String &name)
Definition: AssetsManager.cpp:66
Mouse::SetCursorImage
void SetCursorImage(const String &name)
Definition: Mouse.cpp:38
Point
Definition: Point.h:3
pMessageQueue_50CBD0
struct GUIMessageQueue * pMessageQueue_50CBD0
Definition: GUIWindow.cpp:86
Mouse::bInitialized
unsigned int bInitialized
Definition: Mouse.h:319
stru262_TurnBased::field_18
int field_18
Definition: TurnEngine.h:80
stru262_TurnBased::turn_stage
int turn_stage
Definition: TurnEngine.h:75
ItemsTable::pItems
NZIArray< ItemDesc, 800 > pItems
Definition: Items.h:460
CURRENT_SCREEN::SCREEN_VIDEO
@ SCREEN_VIDEO
Mouse::uCursorWithItemX
int uCursorWithItemX
Definition: Mouse.h:330
GUIButton::uButtonType
int uButtonType
Definition: GUIButton.h:27
Mouse::pCursorBitmap_sysmem
uint16_t * pCursorBitmap_sysmem
Definition: Mouse.h:326
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52