diff --git a/src/script/api/game/game_date.hpp.sq b/src/script/api/game/game_date.hpp.sq index d78ed624d6..43af86afa7 100644 --- a/src/script/api/game/game_date.hpp.sq +++ b/src/script/api/game/game_date.hpp.sq @@ -26,6 +26,7 @@ void SQGSDate_Register(Squirrel *engine) SQGSDate.DefSQStaticMethod(engine, &ScriptDate::GetMonth, "GetMonth", 2, ".i"); SQGSDate.DefSQStaticMethod(engine, &ScriptDate::GetDayOfMonth, "GetDayOfMonth", 2, ".i"); SQGSDate.DefSQStaticMethod(engine, &ScriptDate::GetDate, "GetDate", 4, ".iii"); + SQGSDate.DefSQStaticMethod(engine, &ScriptDate::GetSystemTime, "GetSystemTime", 1, "."); SQGSDate.PostRegister(engine); } diff --git a/src/script/api/script_date.cpp b/src/script/api/script_date.cpp index 3f3d16bcc5..1f80b40d7e 100644 --- a/src/script/api/script_date.cpp +++ b/src/script/api/script_date.cpp @@ -9,6 +9,7 @@ /** @file script_date.cpp Implementation of ScriptDate. */ +#include #include "../../stdafx.h" #include "script_date.hpp" #include "../../date_func.h" @@ -53,3 +54,10 @@ return ::ConvertYMDToDate(year, month - 1, day_of_month); } + +/* static */ int32 ScriptDate::GetSystemTime() +{ + time_t t; + time(&t); + return t; +} diff --git a/src/script/api/script_date.hpp b/src/script/api/script_date.hpp index c841599d51..488e35edae 100644 --- a/src/script/api/script_date.hpp +++ b/src/script/api/script_date.hpp @@ -65,6 +65,14 @@ public: * @return The date. */ static int32 GetDate(int32 year, int32 month, int32 day_of_month); + + /** + * Get the time of the host system. + * @return The amount of seconds passed since 1 Jan 1970. + * @api -ai + * @note This uses the clock of the host system, which can skew or be set back. Use with caution. + */ + static int32 GetSystemTime(); }; #endif /* SCRIPT_DATE_HPP */