extern "C" { #include #include #include } #include #include "itexture.hpp" #include "iimage.hpp" #include "../../../shared/lua_api/common.h" using namespace irr; using namespace video; extern IrrlichtDevice* device; extern IVideoDriver* driver; //newtexture(string name,IImage* image) int newitexture(lua_State* L){ IImage* im = (IImage*) lua_touserdata(L,-1); lua_pop(L,1); const char* name = lua_tostring(L,-1); lua_pop(L,1); ITexture* tex = driver->addTexture(name,im); if(!tex){ lua_pushstring(L,"Failed to create texture!"); lua_error(L); } lua_pushlightuserdata(L,tex); return 1; } void itexture_register(lua_State* L){ lua_getglobal(L,"video"); lua_pushcfunction(L,newitexture); lua_setfield(L,-2,"newtexture"); }