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

#include <Time.h>

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

 GameTime ()
 
 GameTime (uint64_t val)
 
 GameTime (int seconds, int minutes, int hours=0, int days=0, int weeks=0, int months=0, int years=0)
 
uint64_t GetSeconds () const
 
uint64_t GetMinutes () const
 
uint64_t GetHours () const
 
int GetDays () const
 
int GetWeeks () const
 
int GetMonths () const
 
int GetYears () const
 
int GetSecondsFraction () const
 
int GetMinutesFraction () const
 
int GetHoursOfDay () const
 
int GetDaysOfWeek () const
 
int GetDaysOfMonth () const
 
int GetWeeksOfMonth () const
 
int GetMonthsOfYear () const
 
void AddMinutes (int minutes)
 
void SubtractHours (int hours)
 
void AddDays (int days)
 
void AddYears (int years)
 
void Reset ()
 
bool Valid () const
 
GameTime operator+ (GameTime &rhs)
 
GameTime operator- (GameTime &rhs)
 
GameTimeoperator+= (GameTime &rhs)
 
bool operator> (const GameTime &rhs) const
 
bool operator>= (const GameTime &rhs) const
 
bool operator< (const GameTime &rhs) const
 
bool operator<= (const GameTime &rhs) const
 
 operator bool ()
 
 operator int ()
 

Открытые статические члены

static GameTime FromSeconds (int seconds)
 
static GameTime FromMinutes (int minutes)
 
static GameTime FromHours (int hours)
 
static GameTime FromDays (int days)
 
static GameTime FromYears (int years)
 

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

int64_t value
 

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

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

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

◆ GameTime() [1/3]

GameTime::GameTime ( )
inline

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

15 : value(0) {}

Используется в FromDays(), FromHours(), FromMinutes(), FromSeconds(), FromYears(), operator+() и operator-().

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

◆ GameTime() [2/3]

GameTime::GameTime ( uint64_t  val)
inlineexplicit

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

16 : value(val) {}

◆ GameTime() [3/3]

GameTime::GameTime ( int  seconds,
int  minutes,
int  hours = 0,
int  days = 0,
int  weeks = 0,
int  months = 0,
int  years = 0 
)
inline

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

18  {
19  auto converted = (seconds + (uint64_t)60 * minutes + (uint64_t)3600 * hours + (uint64_t)86400 * days +
20  (uint64_t)604800 * weeks + (uint64_t)2419200 * months +
21  (uint64_t)29030400 * years) *
22  TIME_PACK_GAME_SECONDS;
23 
24  this->value = (uint64_t)converted;
25  }

Методы

◆ GetSeconds()

uint64_t GameTime::GetSeconds ( ) const
inline

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

27  {
28  return (uint64_t)(this->value * TIME_UNPACK_GAME_SECONDS);
29  }

Используется в GetHoursOfDay(), GetMinutes(), GetMinutesFraction() и GetSecondsFraction().

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

◆ GetMinutes()

uint64_t GameTime::GetMinutes ( ) const
inline

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

30 { return this->GetSeconds() / 60; }

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

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

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

◆ GetHours()

uint64_t GameTime::GetHours ( ) const
inline

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

31 { return this->GetMinutes() / 60; }

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

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

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

◆ GetDays()

int GameTime::GetDays ( ) const
inline

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

32 { return (int)(this->GetHours() / 24); }

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

Используется в _494035_timed_effects__water_walking_damage__etc(), Player::CompareVariable(), Player::GetConditionDaysPassed(), GetDaysOfMonth(), GetDaysOfWeek(), GetWeeks(), OutdoorLocation::Load(), MakeDateTimeString(), ODM_LoadAndInitialize(), OnMapLoad(), PrepareToLoadBLV() и GUIWindow_LloydsBook::Update().

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

◆ GetWeeks()

int GameTime::GetWeeks ( ) const
inline

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

33 { return this->GetDays() / 7; }

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

Используется в GetMonths(), GetWeeksOfMonth() и OnMapLoad().

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

◆ GetMonths()

int GameTime::GetMonths ( ) const
inline

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

34 { return this->GetWeeks() / 4; }

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

Используется в _494035_timed_effects__water_walking_damage__etc(), GetMonthsOfYear(), GetYears(), SummonedItem::Initialize() и OnMapLoad().

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

◆ GetYears()

int GameTime::GetYears ( ) const
inline

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

35 { return this->GetMonths() / 12; }

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

Используется в Player::GetBaseAge(), SummonedItem::Initialize(), OnMapLoad(), RestAndHeal() и UI_DrawSaveLoad().

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

◆ GetSecondsFraction()

int GameTime::GetSecondsFraction ( ) const
inline

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

37 { return this->GetSeconds() % 60; }

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

Используется в _494035_timed_effects__water_walking_damage__etc(), SummonedItem::Initialize(), MakeDateTimeString(), OnMapLoad() и RestAndHeal().

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

◆ GetMinutesFraction()

int GameTime::GetMinutesFraction ( ) const
inline

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

38 { return (this->GetSeconds() / 60) % 60; }

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

Используется в _493938_regenerate(), _494035_timed_effects__water_walking_damage__etc(), SummonedItem::Initialize(), MakeDateTimeString(), OnMapLoad(), RestAndHeal() и UI_DrawSaveLoad().

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

◆ GetHoursOfDay()

int GameTime::GetHoursOfDay ( ) const
inline

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

39 { return (this->GetSeconds() / 3600) % 24; }

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

Используется в _494035_timed_effects__water_walking_damage__etc(), BuildDialogueString(), Player::CompareVariable(), SummonedItem::Initialize(), MakeDateTimeString(), OnMapLoad(), RestAndHeal(), UI_DrawSaveLoad() и GUIWindow_LloydsBook::Update().

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

◆ GetDaysOfWeek()

int GameTime::GetDaysOfWeek ( ) const
inline

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

40 { return this->GetDays() % 7; }

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

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

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

◆ GetDaysOfMonth()

int GameTime::GetDaysOfMonth ( ) const
inline

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

41 { return this->GetDays() % 28; }

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

Используется в SummonedItem::Initialize(), RestAndHeal() и UI_DrawSaveLoad().

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

◆ GetWeeksOfMonth()

int GameTime::GetWeeksOfMonth ( ) const
inline

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

42 { return this->GetWeeks() % 4; }

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

Используется в SummonedItem::Initialize(), OnMapLoad() и RestAndHeal().

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

◆ GetMonthsOfYear()

int GameTime::GetMonthsOfYear ( ) const
inline

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

43 { return this->GetMonths() % 12; }

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

Используется в _494035_timed_effects__water_walking_damage__etc(), OnMapLoad(), RestAndHeal() и UI_DrawSaveLoad().

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

◆ AddMinutes()

void GameTime::AddMinutes ( int  minutes)
inline

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

45  {
46  this->value += ((uint64_t)60 * minutes * TIME_PACK_GAME_SECONDS);
47  }

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

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

◆ SubtractHours()

void GameTime::SubtractHours ( int  hours)
inline

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

48  {
49  this->value -= ((uint64_t)60 * 60 * hours * TIME_PACK_GAME_SECONDS);
50  }

◆ AddDays()

void GameTime::AddDays ( int  days)
inline

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

51  {
52  this->value += ((uint64_t)60 * 60 * 24 * days * TIME_PACK_GAME_SECONDS);
53  }

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

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

◆ AddYears()

void GameTime::AddYears ( int  years)
inline

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

54  {
55  this->value += ((uint64_t)60 * 60 * 24 * 7 * 4 * 12 * years * TIME_PACK_GAME_SECONDS);
56  }

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

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

◆ Reset()

void GameTime::Reset ( )
inline

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

58 { this->value = 0; }

Используется в SpellBuff::IsBuffExpiredToTime(), SpellBuff::Reset() и ItemGen::Reset().

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

◆ Valid()

bool GameTime::Valid ( ) const
inline

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

59 { return this->value > 0; }

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

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

◆ operator+()

GameTime GameTime::operator+ ( GameTime rhs)
inline

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

61  {
62  return GameTime(this->value + rhs.value);
63  }

Перекрестные ссылки GameTime() и value.

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

◆ operator-()

GameTime GameTime::operator- ( GameTime rhs)
inline

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

64  {
65  return GameTime(this->value - rhs.value);
66  }

Перекрестные ссылки GameTime() и value.

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

◆ operator+=()

GameTime& GameTime::operator+= ( GameTime rhs)
inline

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

67  {
68  this->value += rhs.value;
69  return *this;
70  }

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

◆ operator>()

bool GameTime::operator> ( const GameTime rhs) const
inline

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

72 { return this->value > rhs.value; }

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

◆ operator>=()

bool GameTime::operator>= ( const GameTime rhs) const
inline

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

73 { return this->value >= rhs.value; }

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

◆ operator<()

bool GameTime::operator< ( const GameTime rhs) const
inline

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

74 { return this->value < rhs.value; }

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

◆ operator<=()

bool GameTime::operator<= ( const GameTime rhs) const
inline

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

75 { return this->value <= rhs.value; }

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

◆ operator bool()

GameTime::operator bool ( )
inlineexplicit

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

77  {
78  return this->Valid();
79  } // unsafe bool was casuing many problems

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

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

◆ operator int()

GameTime::operator int ( )
inline

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

81 { return static_cast<int>(this->value); } // cast operator conversion require

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

◆ FromSeconds()

static GameTime GameTime::FromSeconds ( int  seconds)
inlinestatic

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

83  {
84  return GameTime(seconds, 0, 0, 0, 0, 0, 0);
85  }

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

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), SpriteObject::_46BEF1_apply_spells_aoe(), _46BFFA_update_spell_fx(), EventCastSpell(), Inventory_ItemPopupAndAlchemy(), Player::SetBeacon() и sub_44FA4C_spawn_light_elemental().

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

◆ FromMinutes()

static GameTime GameTime::FromMinutes ( int  minutes)
inlinestatic

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

86  {
87  return GameTime(0, minutes, 0, 0, 0, 0, 0);
88  }

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

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

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

◆ FromHours()

static GameTime GameTime::FromHours ( int  hours)
inlinestatic

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

89  {
90  return GameTime(0, 0, hours, 0, 0, 0, 0);
91  }

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

Используется в Player::CompareVariable() и UseNPCSkill().

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

◆ FromDays()

static GameTime GameTime::FromDays ( int  days)
inlinestatic

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

92  {
93  return GameTime(0, 0, 0, days, 0, 0, 0);
94  }

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

Используется в WinApiWindow::OnOSMenu() и sub_4B1447_party_fine().

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

◆ FromYears()

static GameTime GameTime::FromYears ( int  years)
inlinestatic

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

95  {
96  return GameTime(0, 0, 0, 0, 0, 0, years);
97  }

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

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

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

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

◆ value


Объявления и описания членов структуры находятся в файле:
GameTime::GetDays
int GetDays() const
Definition: Time.h:32
uint64_t
unsigned __int64 uint64_t
Definition: alext.h:32
GameTime::value
int64_t value
Definition: Time.h:99
GameTime::GetWeeks
int GetWeeks() const
Definition: Time.h:33
GameTime::Valid
bool Valid() const
Definition: Time.h:59
GameTime::GetMinutes
uint64_t GetMinutes() const
Definition: Time.h:30
value
EGLSyncKHR EGLint EGLint * value
Definition: SDL_egl.h:899
val
GLuint GLfloat * val
Definition: SDL_opengl_glext.h:1495
GameTime::GetSeconds
uint64_t GetSeconds() const
Definition: Time.h:27
GameTime::GetMonths
int GetMonths() const
Definition: Time.h:34
GameTime::GetHours
uint64_t GetHours() const
Definition: Time.h:31
GameTime::GameTime
GameTime()
Definition: Time.h:15