Provides a Lua interpreter, to drive the game_controller. More...
#include "scripting/application_lua_kernel.hpp"
#include "config.hpp"
#include "game_config.hpp"
#include "game_errors.hpp"
#include "log.hpp"
#include "scripting/lua_attributes.hpp"
#include "scripting/lua_common.hpp"
#include "scripting/lua_cpp_function.hpp"
#include "scripting/lua_fileops.hpp"
#include "scripting/lua_kernel_base.hpp"
#include "scripting/lua_preferences.hpp"
#include "scripting/plugins/context.hpp"
#include "scripting/plugins/manager.hpp"
#include "scripting/push_check.hpp"
#include "utils/ranges.hpp"
#include <map>
#include <sstream>
#include <string>
#include <thread>
#include <utility>
#include <functional>
#include "lua/wrapper_lauxlib.h"
Go to the source code of this file.
Classes | |
struct | lua_context_backend |
Macros | |
#define | DBG_LUA LOG_STREAM(debug, log_scripting_lua) |
#define | LOG_LUA LOG_STREAM(info, log_scripting_lua) |
#define | WRN_LUA LOG_STREAM(warn, log_scripting_lua) |
#define | ERR_LUA LOG_STREAM(err, log_scripting_lua) |
Functions | |
static int | intf_describe_plugins (lua_State *L) |
static int | intf_delay (lua_State *L) |
static int | intf_execute (lua_State *L) |
static lua_State * | get_new_thread (lua_State *L) |
static int | impl_context_backend (lua_State *L, const std::shared_ptr< lua_context_backend > &backend, std::string req_name) |
static int | impl_context_accessor (lua_State *L, const std::shared_ptr< lua_context_backend > &backend, const plugins_context::accessor_function &func) |
luaW_Registry & | gameConfigReg () |
GAME_CONFIG_SETTER ("debug", bool, application_lua_kernel) | |
bool | luaW_copy_upvalues (lua_State *L, const config &cfg) |
Variables | |
static lg::log_domain | log_scripting_lua ("scripting/lua") |
static char * | v_threadtableKey = nullptr |
static void *const | threadtableKey = static_cast<void *> (& v_threadtableKey) |
static auto & | dummy = gameConfigReg() |
Provides a Lua interpreter, to drive the game_controller.
Definition in file application_lua_kernel.cpp.
#define DBG_LUA LOG_STREAM(debug, log_scripting_lua) |
Definition at line 59 of file application_lua_kernel.cpp.
#define ERR_LUA LOG_STREAM(err, log_scripting_lua) |
Definition at line 62 of file application_lua_kernel.cpp.
#define LOG_LUA LOG_STREAM(info, log_scripting_lua) |
Definition at line 60 of file application_lua_kernel.cpp.
#define WRN_LUA LOG_STREAM(warn, log_scripting_lua) |
Definition at line 61 of file application_lua_kernel.cpp.
GAME_CONFIG_SETTER | ( | "debug" | , |
bool | , | ||
application_lua_kernel | |||
) |
Definition at line 275 of file application_lua_kernel.cpp.
References game_config::set_debug().
luaW_Registry & gameConfigReg | ( | ) |
Definition at line 1439 of file lua_kernel_base.cpp.
References gameConfigReg().
|
static |
Definition at line 152 of file application_lua_kernel.cpp.
References threadtableKey.
Referenced by application_lua_kernel::load_script_from_file(), and application_lua_kernel::load_script_from_string().
|
static |
Definition at line 253 of file application_lua_kernel.cpp.
References luaW_pushconfig(), and luaW_toconfig().
Referenced by application_lua_kernel::thread::run_script().
|
static |
Definition at line 239 of file application_lua_kernel.cpp.
References plugins_manager::event::data, luaW_checkconfig(), and plugins_manager::event::name.
Referenced by intf_execute(), and application_lua_kernel::thread::run_script().
|
static |
Definition at line 91 of file application_lua_kernel.cpp.
Referenced by application_lua_kernel::application_lua_kernel().
|
static |
Definition at line 64 of file application_lua_kernel.cpp.
References DBG_LUA, plugins_manager::get(), plugins_manager::get_name(), string_enums::enum_base< Definition >::get_string(), i, draw::line(), PLAIN_LOG, plugins_manager::size(), and utf8::size().
Referenced by application_lua_kernel::application_lua_kernel().
|
static |
Definition at line 280 of file application_lua_kernel.cpp.
References data, e, impl_context_backend(), luaW_pushconfig(), luaW_serialize_function(), luaW_table_get_def(), and luaW_tableget().
Referenced by application_lua_kernel::application_lua_kernel().
bool luaW_copy_upvalues | ( | lua_State * | L, |
const config & | cfg | ||
) |
Definition at line 443 of file application_lua_kernel.cpp.
References i, lg::info(), luaW_push_namedtuple(), luaW_pushconfig(), luaW_pushscalar(), names, and config::optional_child().
|
static |
Definition at line 273 of file application_lua_kernel.cpp.
Referenced by pathfind::full_cost_map::add_unit(), attack_unit(), editor::editor_controller::can_execute_command(), config::child_range(), addons_client::delete_remote_addon(), find_widget_impl(), addons_client::get_addon_admins(), addons_client::get_addon_downloads_by_version(), filesystem::get_binary_paths(), config::get_deprecated_child_range(), config::get_diff(), addons_client::get_forum_auth_usage(), addons_client::get_hidden_addons(), ai::readonly_context_impl::nearest_keep(), savegame::save_index_class::rebuild(), gui2::addon_list_definition::resolution::resolution(), gui2::drawing_definition::resolution::resolution(), gui2::size_lock_definition::resolution::resolution(), gui2::stacked_widget_definition::resolution::resolution(), translation::strftime(), t_translation::string_to_number_(), replay::undo(), and schema_validation::schema_self_validator::validate().
|
static |
|
static |
Definition at line 150 of file application_lua_kernel.cpp.
Referenced by get_new_thread().
|
static |
Definition at line 149 of file application_lua_kernel.cpp.