aboutsummaryrefslogtreecommitdiff
path: root/src/client/lua_api/load_video.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/lua_api/load_video.cpp')
-rw-r--r--src/client/lua_api/load_video.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/client/lua_api/load_video.cpp b/src/client/lua_api/load_video.cpp
index f309180..b3487ca 100644
--- a/src/client/lua_api/load_video.cpp
+++ b/src/client/lua_api/load_video.cpp
@@ -8,6 +8,7 @@ extern "C" {
#include "video/smaterial.hpp"
#include "video/itexture.hpp"
#include "video/iimage.hpp"
+#include "video/draw.hpp"
#include <shared/lua_api/common.hpp>
@@ -79,6 +80,20 @@ int draw2dline(lua_State* L){
return 0;
}
+//{sx,sy,sz},{ex,ey,ez},{color}
+int draw3dline(lua_State* L){
+ double sx,sy,sz;
+ double ex,ey,ez;
+ long r,g,b,a;
+ popvector4i(L,&r,&g,&b,&a);
+ popvector3d(L,&ex,&ey,&ez);
+ popvector3d(L,&sx,&sy,&sz);
+
+ driver->draw3DLine(vector3df(sx,sy,sz),vector3df(ex,ey,ez),SColor(a,r,g,b));
+
+ return 0;
+}
+
void load_videofuncs(lua_State* L){
//printf("Loading video libraries...\n");
lua_newtable(L);//{}
@@ -88,11 +103,14 @@ void load_videofuncs(lua_State* L){
lua_pushcfunction(L,draw2dimage);//{},draw2dimage()
lua_setfield(L,-2,"drawtexture");//{}
lua_pushcfunction(L,draw2dline);//{},draw2dline()
- lua_setfield(L,-2,"drawline");//{}
+ lua_setfield(L,-2,"draw2dline");//{}
+ lua_pushcfunction(L,draw3dline);
+ lua_setfield(L,-2,"draw3dline");
lua_pop(L,1);//
smaterial_register(L);
itexture_register(L);
iimage_register(L);
+ draw_register(L);
}