diff options
Diffstat (limited to 'src/script/common/c_converter.h')
-rw-r--r-- | src/script/common/c_converter.h | 136 |
1 files changed, 60 insertions, 76 deletions
diff --git a/src/script/common/c_converter.h b/src/script/common/c_converter.h index a4a7079fd..16d21db3b 100644 --- a/src/script/common/c_converter.h +++ b/src/script/common/c_converter.h @@ -17,7 +17,6 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ - /******************************************************************************/ /******************************************************************************/ /* WARNING!!!! do NOT add this header in any include file or any code file */ @@ -36,24 +35,21 @@ extern "C" { #include <lua.h> } -std::string getstringfield_default(lua_State *L, int table, - const char *fieldname, const std::string &default_); -bool getboolfield_default(lua_State *L, int table, - const char *fieldname, bool default_); -float getfloatfield_default(lua_State *L, int table, - const char *fieldname, float default_); -int getintfield_default(lua_State *L, int table, - const char *fieldname, int default_); +std::string getstringfield_default(lua_State *L, int table, const char *fieldname, + const std::string &default_); +bool getboolfield_default(lua_State *L, int table, const char *fieldname, bool default_); +float getfloatfield_default( + lua_State *L, int table, const char *fieldname, float default_); +int getintfield_default(lua_State *L, int table, const char *fieldname, int default_); bool check_field_or_nil(lua_State *L, int index, int type, const char *fieldname); -template<typename T> -bool getintfield(lua_State *L, int table, - const char *fieldname, T &result) +template <typename T> +bool getintfield(lua_State *L, int table, const char *fieldname, T &result) { lua_getfield(L, table, fieldname); bool got = false; - if (check_field_or_nil(L, -1, LUA_TNUMBER, fieldname)){ + if (check_field_or_nil(L, -1, LUA_TNUMBER, fieldname)) { result = lua_tointeger(L, -1); got = true; } @@ -61,9 +57,8 @@ bool getintfield(lua_State *L, int table, return got; } -template<class T> -bool getv3intfield(lua_State *L, int index, - const char *fieldname, T &result) +template <class T> +bool getv3intfield(lua_State *L, int index, const char *fieldname, T &result) { lua_getfield(L, index, fieldname); bool got = false; @@ -76,65 +71,54 @@ bool getv3intfield(lua_State *L, int index, return got; } -v3s16 getv3s16field_default(lua_State *L, int table, - const char *fieldname, v3s16 default_); -bool getstringfield(lua_State *L, int table, - const char *fieldname, std::string &result); -size_t getstringlistfield(lua_State *L, int table, - const char *fieldname, - std::vector<std::string> *result); -void read_groups(lua_State *L, int index, - std::unordered_map<std::string, int> &result); -bool getboolfield(lua_State *L, int table, - const char *fieldname, bool &result); -bool getfloatfield(lua_State *L, int table, - const char *fieldname, float &result); - -void setstringfield(lua_State *L, int table, - const char *fieldname, const std::string &value); -void setintfield(lua_State *L, int table, - const char *fieldname, int value); -void setfloatfield(lua_State *L, int table, - const char *fieldname, float value); -void setboolfield(lua_State *L, int table, - const char *fieldname, bool value); - -v3f checkFloatPos (lua_State *L, int index); -v3f check_v3f (lua_State *L, int index); -v3s16 check_v3s16 (lua_State *L, int index); - -v3f read_v3f (lua_State *L, int index); -v2f read_v2f (lua_State *L, int index); -v2s16 read_v2s16 (lua_State *L, int index); -v2s32 read_v2s32 (lua_State *L, int index); -video::SColor read_ARGB8 (lua_State *L, int index); -bool read_color (lua_State *L, int index, - video::SColor *color); -bool is_color_table (lua_State *L, int index); - -aabb3f read_aabb3f (lua_State *L, int index, f32 scale); -v3s16 read_v3s16 (lua_State *L, int index); -std::vector<aabb3f> read_aabb3f_vector (lua_State *L, int index, f32 scale); -size_t read_stringlist (lua_State *L, int index, - std::vector<std::string> *result); - -void push_float_string (lua_State *L, float value); -void push_v3_float_string(lua_State *L, v3f p); -void push_v2_float_string(lua_State *L, v2f p); -void push_v2s16 (lua_State *L, v2s16 p); -void push_v2s32 (lua_State *L, v2s32 p); -void push_v3s16 (lua_State *L, v3s16 p); -void push_aabb3f (lua_State *L, aabb3f box); -void push_ARGB8 (lua_State *L, video::SColor color); -void pushFloatPos (lua_State *L, v3f p); -void push_v3f (lua_State *L, v3f p); -void push_v2f (lua_State *L, v2f p); - -void warn_if_field_exists(lua_State *L, int table, - const char *fieldname, - const std::string &message); +v3s16 getv3s16field_default( + lua_State *L, int table, const char *fieldname, v3s16 default_); +bool getstringfield(lua_State *L, int table, const char *fieldname, std::string &result); +size_t getstringlistfield(lua_State *L, int table, const char *fieldname, + std::vector<std::string> *result); +void read_groups(lua_State *L, int index, std::unordered_map<std::string, int> &result); +bool getboolfield(lua_State *L, int table, const char *fieldname, bool &result); +bool getfloatfield(lua_State *L, int table, const char *fieldname, float &result); + +void setstringfield( + lua_State *L, int table, const char *fieldname, const std::string &value); +void setintfield(lua_State *L, int table, const char *fieldname, int value); +void setfloatfield(lua_State *L, int table, const char *fieldname, float value); +void setboolfield(lua_State *L, int table, const char *fieldname, bool value); + +v3f checkFloatPos(lua_State *L, int index); +v3f check_v3f(lua_State *L, int index); +v3s16 check_v3s16(lua_State *L, int index); + +v3f read_v3f(lua_State *L, int index); +v2f read_v2f(lua_State *L, int index); +v2s16 read_v2s16(lua_State *L, int index); +v2s32 read_v2s32(lua_State *L, int index); +video::SColor read_ARGB8(lua_State *L, int index); +bool read_color(lua_State *L, int index, video::SColor *color); +bool is_color_table(lua_State *L, int index); + +aabb3f read_aabb3f(lua_State *L, int index, f32 scale); +v3s16 read_v3s16(lua_State *L, int index); +std::vector<aabb3f> read_aabb3f_vector(lua_State *L, int index, f32 scale); +size_t read_stringlist(lua_State *L, int index, std::vector<std::string> *result); + +void push_float_string(lua_State *L, float value); +void push_v3_float_string(lua_State *L, v3f p); +void push_v2_float_string(lua_State *L, v2f p); +void push_v2s16(lua_State *L, v2s16 p); +void push_v2s32(lua_State *L, v2s32 p); +void push_v3s16(lua_State *L, v3s16 p); +void push_aabb3f(lua_State *L, aabb3f box); +void push_ARGB8(lua_State *L, video::SColor color); +void pushFloatPos(lua_State *L, v3f p); +void push_v3f(lua_State *L, v3f p); +void push_v2f(lua_State *L, v2f p); + +void warn_if_field_exists(lua_State *L, int table, const char *fieldname, + const std::string &message); size_t write_array_slice_float(lua_State *L, int table_index, float *data, - v3u16 data_size, v3u16 slice_offset, v3u16 slice_size); -size_t write_array_slice_u16(lua_State *L, int table_index, u16 *data, - v3u16 data_size, v3u16 slice_offset, v3u16 slice_size); + v3u16 data_size, v3u16 slice_offset, v3u16 slice_size); +size_t write_array_slice_u16(lua_State *L, int table_index, u16 *data, v3u16 data_size, + v3u16 slice_offset, v3u16 slice_size); |