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

#include <Overlays.h>

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

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

 OtherOverlayList ()
 
void Reset ()
 
int _4418B1 (int a2, int a3, int a4, int a5)
 
int _4418B6 (int uOverlayID, int16_t a3, int a4, int a5, int16_t a6)
 
void DrawTurnBasedIcon (int a2)
 

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

OtherOverlay pOverlays [50]
 
int field_3E8
 
int bRedraw
 

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

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

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

◆ OtherOverlayList()

OtherOverlayList::OtherOverlayList ( )
inline

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

27  : //----- (0045848D)
28  field_3E8(0),
29  bRedraw(false) {}

Методы

◆ Reset()

void OtherOverlayList::Reset ( )

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

24  {
25  for (uint i = 0; i < 50; ++i) pOverlays[i].Reset();
26 }

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

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

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

◆ _4418B1()

int OtherOverlayList::_4418B1 ( int  a2,
int  a3,
int  a4,
int  a5 
)

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

29 { return 0; }

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), Actor::AI_SpellAttack(), TempleDialog() и UseNPCSkill().

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

◆ _4418B6()

int OtherOverlayList::_4418B6 ( int  uOverlayID,
int16_t  a3,
int  a4,
int  a5,
int16_t  a6 
)

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

33  {
34  signed int v9; // esi@6
35  __int16 v11; // dx@11
36 
37  for (uint i = 0; i < 50; ++i) {
38  if (this->pOverlays[i].field_6 <= 0) {
39  this->pOverlays[i].field_0 = 0;
40  this->pOverlays[i].screen_space_y = 0;
41  this->pOverlays[i].screen_space_x = 0;
42  this->pOverlays[i].field_C = a3;
43  v9 = 0;
44  for (v9; v9 < (signed int)pOverlayList->uNumOverlays; ++v9) {
45  if (uOverlayID == pOverlayList->pOverlays[v9].uOverlayID) break;
46  }
47  this->pOverlays[i].field_2 = v9;
48  this->pOverlays[i].sprite_frame_time = 0;
49  if (a4)
50  v11 = a4;
51  else
52  v11 = 8 * pSpriteFrameTable
55  .uAnimLength;
56  this->pOverlays[i].field_6 = v11;
57  this->pOverlays[i].field_10 = a5;
58  this->pOverlays[i].field_E = a6;
59  bRedraw = true;
60  return true;
61  }
62  }
63  return 0;
64 }

Перекрестные ссылки bRedraw, OtherOverlay::field_0, OtherOverlay::field_10, OtherOverlay::field_2, OtherOverlay::field_6, OtherOverlay::field_C, OtherOverlay::field_E, pOverlayList, pOverlays, OverlayList::pOverlays, pSpriteFrameTable, SpriteFrameTable::pSpriteSFrames, OtherOverlay::screen_space_x, OtherOverlay::screen_space_y, OtherOverlay::sprite_frame_time, SpriteFrame::uAnimLength, OverlayList::uNumOverlays, OverlayDesc::uOverlayID и OverlayDesc::uSpriteFramesetID.

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

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

◆ DrawTurnBasedIcon()

void OtherOverlayList::DrawTurnBasedIcon ( int  a2)

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

67  {
68  Icon *frame; // eax@12
69  unsigned int v5; // [sp-8h] [bp-Ch]@4
70 
72 
73  if (pTurnEngine->turn_stage == TE_MOVEMENT) { // все персы отстрелялись(сжатый кулак)
74  frame = pIconsFrameTable->GetFrame(
77  } else if (pTurnEngine->turn_stage == TE_WAIT) {
79  v5 = uIconID_TurnStart; //анимация руки(запуск пошагового режима)
80  else
81  v5 = uIconID_TurnHour; //группа ожидает(часы)
83  } else if (pTurnEngine->turn_stage == TE_ATTACK) { //группа атакует(ладонь)
86  }
87  // if ( render->pRenderD3D )
88  render->DrawTextureAlphaNew(394 / 640.0f, 288 / 480.0f,
89  frame->GetTexture());
90  /*else
91  render->DrawTextureIndexedAlpha(0x18Au, 0x120u, v7);*/
96  }
97 }

Перекрестные ссылки Party::bTurnBasedModeOn, current_screen_type, dword_50C994, dword_50C998_turnbased_icon_1A, IconFrameTable::GetFrame(), Icon::GetTexture(), pEventTimer, pIconIDs_Turn, pIconsFrameTable, pParty, pTurnEngine, render, SCREEN_GAME, TE_ATTACK, TE_MOVEMENT, TE_WAIT, stru262_TurnBased::turn_stage, stru262_TurnBased::uActionPointsLeft, uIconID_TurnHour, uIconID_TurnStart, uIconID_TurnStop, Timer::uStartTime и Timer::uTimeElapsed.

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

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

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

◆ pOverlays

◆ field_3E8

int OtherOverlayList::field_3E8

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

Используется в OtherOverlayList_Image_MM7::Deserialize() и OtherOverlayList_Image_MM7::Serialize().

◆ bRedraw

int OtherOverlayList::bRedraw

Объявления и описания членов структур находятся в файлах:
TE_MOVEMENT
@ TE_MOVEMENT
Definition: TurnEngine.h:22
OtherOverlay::field_10
int field_10
Definition: Overlays.h:19
OverlayDesc::uOverlayID
uint16_t uOverlayID
Definition: Overlays.h:45
TE_ATTACK
@ TE_ATTACK
Definition: TurnEngine.h:21
pIconIDs_Turn
std::array< unsigned int, 5 > pIconIDs_Turn
Definition: mm7_data.cpp:570
Timer::uTimeElapsed
unsigned int uTimeElapsed
Definition: Time.h:133
pSpriteFrameTable
struct SpriteFrameTable * pSpriteFrameTable
Definition: Sprites.cpp:22
OverlayDesc::uSpriteFramesetID
uint16_t uSpriteFramesetID
Definition: Overlays.h:47
pIconsFrameTable
struct IconFrameTable * pIconsFrameTable
Definition: mm7_data.cpp:168
OtherOverlayList::bRedraw
int bRedraw
Definition: Overlays.h:38
OtherOverlay::sprite_frame_time
int16_t sprite_frame_time
Definition: Overlays.h:13
OtherOverlay::field_C
int16_t field_C
Definition: Overlays.h:17
uIconID_TurnStop
unsigned int uIconID_TurnStop
Definition: mm7_data.cpp:571
OtherOverlay::field_0
int16_t field_0
Definition: Overlays.h:11
Icon::GetTexture
Texture * GetTexture()
Definition: IconFrameTable.cpp:9
current_screen_type
enum CURRENT_SCREEN current_screen_type
Definition: GUIWindow.cpp:83
dword_50C998_turnbased_icon_1A
int dword_50C998_turnbased_icon_1A
Definition: mm7_data.cpp:576
pTurnEngine
struct stru262_TurnBased * pTurnEngine
Definition: TurnEngine.cpp:21
OtherOverlayList::pOverlays
OtherOverlay pOverlays[50]
Definition: Overlays.h:36
uIconID_TurnStart
unsigned int uIconID_TurnStart
Definition: mm7_data.cpp:574
pParty
Party * pParty
Definition: Party.cpp:30
dword_50C994
int dword_50C994
Definition: mm7_data.cpp:575
OtherOverlay::screen_space_y
int16_t screen_space_y
Definition: Overlays.h:16
SpriteFrameTable::pSpriteSFrames
SpriteFrame * pSpriteSFrames
Definition: Sprites.h:77
f
GLfloat f
Definition: SDL_opengl_glext.h:1873
OtherOverlay::field_6
int16_t field_6
Definition: Overlays.h:14
TE_WAIT
@ TE_WAIT
Definition: TurnEngine.h:20
Party::bTurnBasedModeOn
bool bTurnBasedModeOn
Definition: Party.h:305
uIconID_TurnHour
unsigned int uIconID_TurnHour
Definition: mm7_data.cpp:572
CURRENT_SCREEN::SCREEN_GAME
@ SCREEN_GAME
IconFrameTable::GetFrame
Icon * GetFrame(unsigned int uIconID, unsigned int frame_time)
Definition: IconFrameTable.cpp:39
OtherOverlay::field_E
int16_t field_E
Definition: Overlays.h:18
SpriteFrame::uAnimLength
int uAnimLength
Definition: Sprites.h:53
OtherOverlay::screen_space_x
int16_t screen_space_x
Definition: Overlays.h:15
Icon
Definition: IconFrameTable.h:8
uint
unsigned int uint
Definition: MM7.h:4
pOverlayList
struct OverlayList * pOverlayList
Definition: Overlays.cpp:20
OverlayList::uNumOverlays
unsigned int uNumOverlays
Definition: Overlays.h:64
Timer::uStartTime
unsigned int uStartTime
Definition: Time.h:129
OverlayList::pOverlays
struct OverlayDesc * pOverlays
Definition: Overlays.h:65
OtherOverlay::field_2
int16_t field_2
Definition: Overlays.h:12
stru262_TurnBased::turn_stage
int turn_stage
Definition: TurnEngine.h:75
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8
OtherOverlayList::field_3E8
int field_3E8
Definition: Overlays.h:37
OtherOverlayList::Reset
void Reset()
Definition: Overlays.cpp:24
stru262_TurnBased::uActionPointsLeft
int uActionPointsLeft
Definition: TurnEngine.h:79
render
std::shared_ptr< IRender > render
Definition: RenderOpenGL.cpp:52