Run lua scheduler with game time

This commit is contained in:
Federico Cecchetto 2022-06-21 23:26:59 +02:00
parent dd0f60ed48
commit 8cd8b3f17e
3 changed files with 7 additions and 5 deletions

View File

@ -51,7 +51,7 @@ namespace scripting::lua
for (auto i = tasks.begin(); i != tasks.end();)
{
const auto now = std::chrono::high_resolution_clock::now();
const auto now = *game::gameTime;
const auto diff = now - i->last_call;
if (diff < i->delay)
@ -105,8 +105,8 @@ namespace scripting::lua
task task;
task.is_volatile = is_volatile;
task.callback = callback;
task.delay = delay;
task.last_call = std::chrono::steady_clock::now();
task.delay = static_cast<int>(delay.count());
task.last_call = *game::gameTime;
task.id = id;
task.is_deleted = false;

View File

@ -14,9 +14,9 @@ namespace scripting::lua
class task final : public task_handle
{
public:
std::chrono::steady_clock::time_point last_call{};
int last_call{};
sol::protected_function callback{};
std::chrono::milliseconds delay{};
int delay{};
bool is_volatile = false;
bool is_deleted = false;
std::vector<std::pair<entity, std::string>> endon_conditions{};

View File

@ -196,6 +196,8 @@ namespace game
WEAK symbol<scrVmPub_t> scr_VmPub{0x14BA9EE40};
WEAK symbol<function_stack_t> scr_function_stack{0x14BAA93C0};
WEAK symbol<int> gameTime{0x1455CC780};
WEAK symbol<DB_FileSysInterface*> g_fileSystem{0x1420B27E8};
WEAK symbol<map_t> maps{0x14097EE90};