Mercurial > hg > openttd
changeset 18771:75a2b5a86b64 draft
(svn r23619) -Add: ScriptDate::GetSystemTime, to get the seconds since 1 Jan 1970 of the real system (GameScript only)
author | truebrain <truebrain@openttd.org> |
---|---|
date | Mon, 19 Dec 2011 20:59:12 +0000 |
parents | ebb9a25b6598 |
children | ac0ceb4bc5f0 |
files | src/script/api/game/game_date.hpp.sq src/script/api/script_date.cpp src/script/api/script_date.hpp |
diffstat | 3 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/script/api/game/game_date.hpp.sq +++ b/src/script/api/game/game_date.hpp.sq @@ -26,6 +26,7 @@ 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); }
--- 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; +}
--- a/src/script/api/script_date.hpp +++ b/src/script/api/script_date.hpp @@ -65,6 +65,14 @@ * @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 */