Script: Add date methods for getting time in minutes

This commit is contained in:
Jonathan G Rennison
2020-10-29 17:47:05 +00:00
parent 5556ef38b0
commit f094518f8e
3 changed files with 67 additions and 4 deletions

View File

@@ -72,3 +72,30 @@
time(&t);
return t;
}
/* static */ bool ScriptDate::IsTimeShownInMinutes()
{
return _settings_game.game_time.time_in_minutes;
}
/* static */ int32 ScriptDate::GetTicksPerMinute()
{
return _settings_game.game_time.ticks_per_minute;
}
/* static */ DateTicksScaled ScriptDate::GetCurrentScaledDateTicks()
{
return _scaled_date_ticks;
}
/* static */ int32 ScriptDate::GetHour(DateTicksScaled ticks)
{
Minutes minutes = (ticks / _settings_game.game_time.ticks_per_minute) + _settings_game.game_time.clock_offset;
return MINUTES_HOUR(minutes);
}
/* static */ int32 ScriptDate::GetMinute(DateTicksScaled ticks)
{
Minutes minutes = (ticks / _settings_game.game_time.ticks_per_minute) + _settings_game.game_time.clock_offset;
return MINUTES_MINUTE(minutes);
}

View File

@@ -89,6 +89,16 @@ public:
* @note This uses the clock of the host system, which can skew or be set back. Use with caution.
*/
static int32 GetSystemTime();
static bool IsTimeShownInMinutes();
static int32 GetTicksPerMinute();
static DateTicksScaled GetCurrentScaledDateTicks();
static int32 GetHour(DateTicksScaled ticks);
static int32 GetMinute(DateTicksScaled ticks);
};
#endif /* SCRIPT_DATE_HPP */