void GrimEngine::luaUpdate() { // Update timing information unsigned newStart = g_system->getMillis(); if (newStart < _frameStart) { _frameStart = newStart; return; } _frameTime = newStart - _frameStart; _frameStart = newStart; _frameTimeCollection += _frameTime; if (_frameTimeCollection > 10000) { _frameTimeCollection = 0; lua_collectgarbage(0); } lua_beginblock(); setFrameTime(_frameTime); lua_endblock(); lua_beginblock(); setMovieTime(_movieTime); lua_endblock(); // Run asynchronous tasks lua_runtasks(); }
void LuaBase::update(int frameTime, int movieTime) { _frameTimeCollection += frameTime; if (_frameTimeCollection > 10000) { _frameTimeCollection = 0; lua_collectgarbage(0); } lua_beginblock(); setFrameTime(frameTime); lua_endblock(); lua_beginblock(); setMovieTime(movieTime); lua_endblock(); // Run asynchronous tasks lua_runtasks(); }