diff options
Diffstat (limited to 'src/client/lua_api/scene/igeneric.cpp')
| -rw-r--r-- | src/client/lua_api/scene/igeneric.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/client/lua_api/scene/igeneric.cpp b/src/client/lua_api/scene/igeneric.cpp index 51aaf66..fc32e83 100644 --- a/src/client/lua_api/scene/igeneric.cpp +++ b/src/client/lua_api/scene/igeneric.cpp @@ -11,6 +11,9 @@ extern "C" { using namespace irr; using namespace core; using namespace scene; +using namespace video; + +extern IrrlichtDevice* device; static LISceneNode* toiscenenode(lua_State* L, int index){ LISceneNode* ret = (LISceneNode*)lua_touserdata(L,index); @@ -39,6 +42,7 @@ int iscenegetpos(lua_State* L){ return 1; } + int iscenesetpos(lua_State* L){ ISceneNode* i = toiscenenode(L,1)->n; @@ -65,6 +69,15 @@ int iscenesetpos(lua_State* L){ vector3df pos = i->getAbsolutePosition(); printf("After setting pos, new pos is %f %f %f",pos.X,pos.Y,pos.Z); - - return 0; + return 0; +} + +int iscenesetmaterial(lua_State* L){ + ISceneNode* i = toiscenenode(L,1)->n; + const char* s = luaL_optstring(L,2,"error.png"); + printf("Setting material to %s",s); + IVideoDriver* driver = device->getVideoDriver(); + i->setMaterialTexture(0, driver->getTexture(s)); + + return 0; } |
