From 73bb3bc5958989db21eefb826e277dada248ceca Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 12 Nov 2011 17:46:06 +0200 Subject: Scripting WIP: Add global environment step function on_step --- src/environment.cpp | 5 +++++ src/scriptapi.cpp | 23 ++++++++++++++++++++++- src/scriptapi.h | 4 ++++ 3 files changed, 31 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/environment.cpp b/src/environment.cpp index d3e8fa12c..29432bc5e 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -1141,6 +1141,11 @@ void ServerEnvironment::step(float dtime) } } + /* + Step script environment (run global on_step()) + */ + scriptapi_environment_step(m_lua, dtime); + /* Step active objects */ diff --git a/src/scriptapi.cpp b/src/scriptapi.cpp index 530c1719e..381664489 100644 --- a/src/scriptapi.cpp +++ b/src/scriptapi.cpp @@ -40,7 +40,9 @@ extern "C" { TODO: - Global environment step function - Random node triggers -- Object network and client-side stuff +- Object visual client-side stuff + - Blink effect + - Spritesheets and animation - Named node types and dynamic id allocation - LuaNodeMetadata blockdef.has_metadata = true/false @@ -669,6 +671,25 @@ void scriptapi_rm_object_reference(lua_State *L, ServerActiveObject *cobj) lua_settable(L, objectstable); } +/* + environment +*/ + +void scriptapi_environment_step(lua_State *L, float dtime) +{ + realitycheck(L); + assert(lua_checkstack(L, 20)); + //infostream<<"scriptapi_luaentity_step: id="<