diff options
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/api/game/game_date.hpp.sq | 1 | ||||
-rw-r--r-- | src/script/api/script_date.cpp | 8 | ||||
-rw-r--r-- | src/script/api/script_date.hpp | 8 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/script/api/game/game_date.hpp.sq b/src/script/api/game/game_date.hpp.sq index d78ed624d..43af86afa 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 3f3d16bcc..1f80b40d7 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 <time.h> #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 c841599d5..488e35eda 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 */ |