diff --git a/Engine.cc b/Engine.cc index 452950c..533cd25 100644 --- a/Engine.cc +++ b/Engine.cc @@ -925,20 +925,17 @@ void Engine::mouse_motion_event(int x, int y, int xrel, int yrel) void Engine::checkForFunctionFull(const std::string & lua_fn_name, const std::string & event_name, bool & presentFlag) { - if (!presentFlag) /* only look for events we do not have a handler for */ + lua_getfield(m_luaState, LUA_GLOBALSINDEX, lua_fn_name.c_str()); + if (lua_isfunction(m_luaState, -1)) { - lua_getfield(m_luaState, LUA_GLOBALSINDEX, lua_fn_name.c_str()); - if (lua_isfunction(m_luaState, -1)) - { - lua_setfield(m_luaState, LUA_GLOBALSINDEX, - (AG_EVENT_PREFIX + event_name).c_str()); - presentFlag = true; - } - else - { - lua_pop(m_luaState, 1); - presentFlag = false; - } + lua_setfield(m_luaState, LUA_GLOBALSINDEX, + (AG_EVENT_PREFIX + event_name).c_str()); + presentFlag = true; + } + else + { + lua_pop(m_luaState, 1); + presentFlag = false; } } diff --git a/Engine.h b/Engine.h index c7cf793..6e6d717 100644 --- a/Engine.h +++ b/Engine.h @@ -71,6 +71,7 @@ class Engine void setTextureScale(float scale) { m_texture_scale = scale; + render(); } void draw(); dReal getMass() { return m_ode_object->getMass(); } diff --git a/ag.cc b/ag.cc index adbeb43..a3c3959 100644 --- a/ag.cc +++ b/ag.cc @@ -169,6 +169,8 @@ namespace ag lua_setfield(L, -2, "setColor"); lua_pushcfunction(L, object::setTexture); lua_setfield(L, -2, "setTexture"); + lua_pushcfunction(L, object::setTextureScale); + lua_setfield(L, -2, "setTextureScale"); lua_pushcfunction(L, object::setMass); lua_setfield(L, -2, "setMass"); lua_pushcfunction(L, object::getMass);