Freeciv21
Develop your civilization from humble roots to a global empire
luascript_func.h
Go to the documentation of this file.
1 /**************************************************************************
2  Copyright (c) 1996-2020 Freeciv21 and Freeciv contributors. This file is
3  part of Freeciv21. Freeciv21 is free software: you can redistribute it
4  and/or modify it under the terms of the GNU General Public License as
5  published by the Free Software Foundation, either version 3 of the
6  License, or (at your option) any later version. You should have received
7  a copy of the GNU General Public License along with Freeciv21. If not,
8  see https://www.gnu.org/licenses/.
9 **************************************************************************/
10 #pragma once
11 
12 // utility
13 #include "support.h"
14 
15 struct fc_lua;
16 
17 void luascript_func_init(struct fc_lua *fcl);
18 void luascript_func_free(struct fc_lua *fcl);
19 
20 bool luascript_func_check(struct fc_lua *fcl,
21  QVector<QString> *missing_func_required,
22  QVector<QString> *missing_func_optional);
23 void luascript_func_add_valist(struct fc_lua *fcl, const char *func_name,
24  bool required, int nargs, int nreturns,
25  va_list args);
26 void luascript_func_add(struct fc_lua *fcl, const char *func_name,
27  bool required, int nargs, int nreturns, ...);
28 bool luascript_func_call_valist(struct fc_lua *fcl, const char *func_name,
29  va_list args);
30 bool luascript_func_call(struct fc_lua *fcl, const char *func_name, ...);
31 
32 bool luascript_func_is_required(struct fc_lua *fcl, const char *func_name);
bool luascript_func_call_valist(struct fc_lua *fcl, const char *func_name, va_list args)
Call a lua function; return value is TRUE if no errors occurred, otherwise FALSE.
void luascript_func_init(struct fc_lua *fcl)
Initialize the structures needed to save functions definitions.
void luascript_func_add(struct fc_lua *fcl, const char *func_name, bool required, int nargs, int nreturns,...)
Add a lua function.
bool luascript_func_call(struct fc_lua *fcl, const char *func_name,...)
Call a lua function; return value is TRUE if no errors occurred, otherwise FALSE.
void luascript_func_add_valist(struct fc_lua *fcl, const char *func_name, bool required, int nargs, int nreturns, va_list args)
Add a lua function.
bool luascript_func_is_required(struct fc_lua *fcl, const char *func_name)
Return iff the function is required.
bool luascript_func_check(struct fc_lua *fcl, QVector< QString > *missing_func_required, QVector< QString > *missing_func_optional)
Test if all function are defines.
void luascript_func_free(struct fc_lua *fcl)
Free the function definitions.
static void static sol::state * fcl
Lua virtual machine state.
Definition: script_fcdb.cpp:48