summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/script/api/game/game_date.hpp.sq1
-rw-r--r--src/script/api/script_date.cpp8
-rw-r--r--src/script/api/script_date.hpp8
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 */