lua api refactor

This commit is contained in:
MihailRis
2024-03-05 13:58:08 +03:00
parent 5309cbe67f
commit 6bf6e8e011
20 changed files with 663 additions and 710 deletions
+20 -9
View File
@@ -1,4 +1,5 @@
#include "libplayer.h"
#include "lua_commons.h"
#include "api_lua.h"
#include "../scripting.h"
#include "../../../world/Level.h"
#include "../../../objects/Player.h"
@@ -8,8 +9,7 @@
#include <glm/glm.hpp>
/* == player library ==*/
int l_player_get_pos(lua_State* L) {
static int l_player_get_pos(lua_State* L) {
int playerid = lua_tointeger(L, 1);
auto player = scripting::level->getObject<Player>(playerid);
if (!player) return 0;
@@ -20,7 +20,7 @@ int l_player_get_pos(lua_State* L) {
return 3;
}
int l_player_set_pos(lua_State* L) {
static int l_player_set_pos(lua_State* L) {
int playerid = lua_tointeger(L, 1);
lua::luanumber x = lua_tonumber(L, 2);
lua::luanumber y = lua_tonumber(L, 3);
@@ -30,7 +30,7 @@ int l_player_set_pos(lua_State* L) {
return 0;
}
int l_player_get_vel(lua_State* L) {
static int l_player_get_vel(lua_State* L) {
int playerid = lua_tointeger(L, 1);
auto player = scripting::level->getObject<Player>(playerid);
if (!player) return 0;
@@ -41,7 +41,7 @@ int l_player_get_vel(lua_State* L) {
return 3;
}
int l_player_set_vel(lua_State* L) {
static int l_player_set_vel(lua_State* L) {
int playerid = lua_tointeger(L, 1);
lua::luanumber x = lua_tonumber(L, 2);
lua::luanumber y = lua_tonumber(L, 3);
@@ -51,7 +51,7 @@ int l_player_set_vel(lua_State* L) {
return 0;
}
int l_player_get_rot(lua_State* L) {
static int l_player_get_rot(lua_State* L) {
int playerid = lua_tointeger(L, 1);
auto player = scripting::level->getObject<Player>(playerid);
if (!player) return 0;
@@ -61,7 +61,7 @@ int l_player_get_rot(lua_State* L) {
return 2;
}
int l_player_set_rot(lua_State* L) {
static int l_player_set_rot(lua_State* L) {
int playerid = lua_tointeger(L, 1);
auto player = scripting::level->getObject<Player>(playerid);
if (!player) return 0;
@@ -73,7 +73,7 @@ int l_player_set_rot(lua_State* L) {
return 0;
}
int l_player_get_inv(lua_State* L) {
static int l_player_get_inv(lua_State* L) {
int playerid = lua_tointeger(L, 1);
auto player = scripting::level->getObject<Player>(playerid);
if (!player) return 0;
@@ -81,3 +81,14 @@ int l_player_get_inv(lua_State* L) {
lua_pushinteger(L, player->getChosenSlot());
return 2;
}
const luaL_Reg playerlib [] = {
{"get_pos", lua_wrap_errors<l_player_get_pos>},
{"set_pos", lua_wrap_errors<l_player_set_pos>},
{"get_vel", lua_wrap_errors<l_player_get_vel>},
{"set_vel", lua_wrap_errors<l_player_set_vel>},
{"get_rot", lua_wrap_errors<l_player_get_rot>},
{"set_rot", lua_wrap_errors<l_player_set_rot>},
{"get_inventory", lua_wrap_errors<l_player_get_inv>},
{NULL, NULL}
};