aboutsummaryrefslogtreecommitdiff
path: root/src/shared/lua_api/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/lua_api/common.c')
-rw-r--r--src/shared/lua_api/common.c47
1 files changed, 37 insertions, 10 deletions
diff --git a/src/shared/lua_api/common.c b/src/shared/lua_api/common.c
index 140ece1..50eb850 100644
--- a/src/shared/lua_api/common.c
+++ b/src/shared/lua_api/common.c
@@ -39,19 +39,19 @@ void loadLLibs(lua_State* L){
int pushvector3i(lua_State* L,long a,long b,long c){
- lua_newtable(L);
+ lua_newtable(L);//{}
- lua_pushinteger(L,1);
- lua_pushinteger(L,a);
- lua_settable(L,-3);
+ lua_pushinteger(L,1);//{},1
+ lua_pushinteger(L,a);//{},1,a
+ lua_settable(L,-3);//{}
- lua_pushinteger(L,2);
- lua_pushinteger(L,b);
- lua_settable(L,-3);
+ lua_pushinteger(L,2);//{},2
+ lua_pushinteger(L,b);//{},2,b
+ lua_settable(L,-3);//{}
- lua_pushinteger(L,3);
- lua_pushinteger(L,c);
- lua_settable(L,-3);
+ lua_pushinteger(L,3);//{},3
+ lua_pushinteger(L,c);//{},3,c
+ lua_settable(L,-3);//{}
return 1;
}
@@ -72,6 +72,19 @@ int pushvector3d(lua_State* L,double a,double b,double c){
return 1;
}
+int pushvector2i(lua_State* L, long a, long b){
+ lua_newtable(L);
+
+ lua_pushinteger(L,1);
+ lua_pushinteger(L,a);
+ lua_settable(L,-3);
+
+ lua_pushinteger(L,2);
+ lua_pushinteger(L,b);
+ lua_settable(L,-3);
+
+ return 1;
+}
int popvector3i(lua_State* L,long* a,long* b,long* c){//{v3}
lua_pushinteger(L,1);//{v3},1
@@ -114,3 +127,17 @@ int popvector3d(lua_State* L,double* a,double* b,double* c){
lua_pop(L,1);
return 0;
}
+
+int popvector2i(lua_State* L, long* a, long* b){
+ lua_pushinteger(L,1);
+ lua_gettable(L,-2);
+ *a = lua_tonumber(L,-1);
+ lua_pop(L,1);
+
+ lua_pushinteger(L,2);
+ lua_gettable(L,-2);
+ *b = lua_tonumber(L,-1);
+ lua_pop(L,2);
+
+ return 0;
+}