The Battle for Wesnoth  1.19.7+dev
Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
game_lua_kernel Class Reference

#include <game_lua_kernel.hpp>

Inheritance diagram for game_lua_kernel:

Public Member Functions

game_boardboard ()
 
std::vector< team > & teams ()
 
const gamemapmap () const
 
game_displayget_display () const
 
 game_lua_kernel (game_state &, play_controller &, reports &)
 
void set_game_display (game_display *gd)
 
virtual std::string my_name () override
 User-visible name of the lua kernel that they are talking to. More...
 
std::string apply_effect (const std::string &name, unit &u, const config &cfg, bool need_apply)
 
void initialize (const config &level)
 
void save_game (config &level)
 Executes the game_events.on_save function and adds to cfg the returned tags. More...
 
void load_game (const config &level)
 Executes the game_events.on_load function and passes to it all the scenario tags not yet handled. More...
 
bool run_event (const game_events::queued_event &)
 Executes the game_events.on_event function. More...
 
void custom_command (const std::string &, const config &)
 
void push_builtin_effect ()
 Registers a function for use as an effect handler. More...
 
void set_wml_action (const std::string &, game_events::wml_action::handler)
 Registers a function for use as an action handler. More...
 
void set_wml_condition (const std::string &, bool(*)(const vconfig &))
 Registers a function for use as a conditional handler. More...
 
bool run_wml_action (const std::string &, const vconfig &, const game_events::queued_event &)
 Runs a command from an event handler. More...
 
bool run_filter (char const *name, const unit &u)
 Runs a script from a unit filter. More...
 
bool run_filter (char const *name, const map_location &l)
 Runs a script from a location filter. More...
 
bool run_filter (char const *name, const team &t)
 Runs a script from a location filter. More...
 
bool run_filter (char const *name, int nArgs)
 Runs a script from a filter. More...
 
bool run_wml_conditional (const std::string &, const vconfig &)
 Evaluates a WML conidition. More...
 
int save_wml_event ()
 Store a WML event in the Lua registry, as a function. More...
 
int save_wml_event (const std::string &name, const std::string &id, const std::string &code)
 Store a WML event in the Lua registry, as a function. More...
 
int save_wml_event (int idx)
 Store a WML event in the Lua registry, as a function. More...
 
void clear_wml_event (int ref)
 Clear a WML event store in the Lua registry. More...
 
bool run_wml_event (int ref, const vconfig &args, const game_events::queued_event &ev, bool *out=nullptr)
 Run a WML stored in the Lua registry. More...
 
virtual void log_error (char const *msg, char const *context="Lua error") override
 Error reporting mechanisms, used by virtual methods protected_call and load_string. More...
 
ai::lua_ai_contextcreate_lua_ai_context (char const *code, ai::engine_lua *engine)
 
ai::lua_ai_action_handlercreate_lua_ai_action_handler (char const *code, ai::lua_ai_context &context)
 
void mouse_over_hex_callback (const map_location &loc)
 
bool mouse_button_callback (const map_location &loc, const std::string &button, const std::string &event)
 
void select_hex_callback (const map_location &loc)
 
void preload_finished ()
 
- Public Member Functions inherited from lua_kernel_base
 lua_kernel_base ()
 
virtual ~lua_kernel_base ()
 
void run_lua_tag (const config &cfg)
 Runs a [lua] tag. More...
 
void run (char const *prog, const std::string &name, int nArgs=0)
 Runs a plain script. More...
 
void throwing_run (char const *prog, const std::string &name, int nArgs, bool in_interpreter=false)
 Runs a plain script, but reports errors by throwing lua_error. More...
 
void interactive_run (char const *prog)
 Tests if a program resolves to an expression, and pretty prints it if it is, otherwise it runs it normally. More...
 
void load_package ()
 Loads the package library into lua environment. More...
 
void load_core ()
 Loads the "core" library into the Lua environment. More...
 
std::vector< std::string > get_global_var_names ()
 Get tab completion strings. More...
 
std::vector< std::string > get_attribute_names (const std::string &var_path)
 Gets all attribute names of an extended variable name. More...
 
const std::stringstream & get_log ()
 Access / manipulate logging of lua kernel activities. More...
 
void add_log (const char *str)
 
void clear_log ()
 
void set_external_log (external_log_type lg)
 
virtual void throw_exception (char const *msg, char const *context="Lua error")
 
virtual uint32_t get_random_seed ()
 
lua_State * get_state ()
 
void add_widget_definition (const std::string &type, const std::string &id)
 
void add_log_to_console (const std::string &msg)
 
int intf_show_lua_console (lua_State *L)
 

Public Attributes

int map_locked_
 A value != 0 means that the shouldn't remove any units from the map, usually because we are currently operating on a unit& and removing it might cause memory corruptions note that we don't check for the dtor of lua owned units because we assume that we operate on such a unit that the lua function that invoked the operation on that unit (like wesnoth.units.add_modification, wesnoth.units.matches ..) have a local copy of that lua_unit* userdata in its stack that prevents it from being collected. More...
 

Private Member Functions

unit_mapunits ()
 
game_datagamedata ()
 
tod_managertod_man ()
 
const game_events::queued_eventget_event_info ()
 
int intf_allow_end_turn (lua_State *)
 Allow undo sets the flag saying whether the event has mutated the game to false. More...
 
int intf_allow_undo (lua_State *)
 Allow undo sets the flag saying whether the event has mutated the game to false. More...
 
int intf_cancel_action (lua_State *)
 
int intf_add_time_area (lua_State *)
 Adding new time_areas dynamically with Standard Location Filters. More...
 
int intf_remove_time_area (lua_State *)
 Removing new time_areas dynamically with Standard Location Filters. More...
 
int intf_get_time_area (lua_State *)
 
int intf_animate_unit (lua_State *)
 
int intf_gamestate_inspector (lua_State *)
 
int impl_run_animation (lua_State *)
 
int intf_create_animator (lua_State *)
 
int intf_get_unit (lua_State *)
 Gets the unit at the given location or with the given id. More...
 
int intf_get_units (lua_State *)
 Gets all the units matching a given filter. More...
 
int intf_get_displayed_unit (lua_State *)
 Gets the unit displayed in the sidebar. More...
 
int intf_match_unit (lua_State *L)
 Matches a unit against the given filter. More...
 
int intf_get_recall_units (lua_State *L)
 Gets the numeric ids of all the units matching a given filter on the recall lists. More...
 
int intf_get_variable (lua_State *L)
 Gets a WML variable. More...
 
int intf_set_variable (lua_State *L)
 Sets a WML variable. More...
 
int intf_highlight_hex (lua_State *L)
 Highlights the given location on the map. More...
 
int intf_is_enemy (lua_State *L)
 Returns whether the first side is an enemy of the second one. More...
 
int intf_unit_ability (lua_State *L)
 Returns true if the unit has the given ability enabled. More...
 
int intf_view_locked (lua_State *L)
 Gets whether gamemap scrolling is disabled for the user. More...
 
int intf_lock_view (lua_State *L)
 Sets whether gamemap scrolling is disabled for the user. More...
 
int impl_get_terrain_info (lua_State *L)
 Gets details about a terrain. More...
 
int impl_get_terrain_list (lua_State *L)
 Gets a list of known terrain codes. More...
 
template<bool consider_illuminates>
int intf_get_time_of_day (lua_State *L)
 Gets time of day information. More...
 
int impl_schedule_get (lua_State *L)
 
int impl_schedule_len (lua_State *L)
 
void luaW_push_schedule (lua_State *L, int area_index)
 
int intf_get_village_owner (lua_State *L)
 Gets the side of a village owner. More...
 
int intf_set_village_owner (lua_State *L)
 Sets the owner of a village. More...
 
int intf_get_mouseover_tile (lua_State *L)
 Returns the currently overed tile. More...
 
int intf_get_selected_tile (lua_State *L)
 Returns the currently selected tile. More...
 
int impl_scenario_get (lua_State *L)
 Gets some scenario data (__index metamethod). More...
 
int impl_scenario_set (lua_State *L)
 Sets some scenario data (__newindex metamethod). More...
 
int impl_scenario_dir (lua_State *L)
 Get a list of scenario data (__dir metamethod). More...
 
int impl_current_get (lua_State *L)
 Gets some data about current point of game (__index metamethod). More...
 
int impl_current_dir (lua_State *L)
 Gets a list of date about current point of game (__dir metamethod). More...
 
int intf_clear_messages (lua_State *)
 Removes all messages from the chat window. More...
 
int impl_end_level_data_set (lua_State *)
 
int intf_end_turn (lua_State *)
 
int intf_find_cost_map (lua_State *L)
 Is called with one or more units and builds a cost map. More...
 
int intf_find_path (lua_State *L)
 Finds a path between two locations. More...
 
int intf_find_reach (lua_State *L)
 Finds all the locations reachable by a unit. More...
 
int intf_find_vision_range (lua_State *L)
 Finds all the locations for which a given unit would remove the fog (if there was fog on the map). More...
 
int intf_heal_unit (lua_State *L)
 
int intf_message (lua_State *L)
 Displays a message in the chat window and in the logs. More...
 
int intf_play_sound (lua_State *L)
 Plays a sound, possibly repeated. More...
 
int intf_set_achievement (lua_State *L)
 Sets an achievement as being completed. More...
 
int intf_has_achievement (lua_State *L)
 Returns whether an achievement has been completed. More...
 
int intf_has_sub_achievement (lua_State *L)
 Returns whether an achievement has been completed. More...
 
int intf_get_achievement (lua_State *L)
 Returns information on a single achievement, or no data if the achievement is not found. More...
 
int intf_progress_achievement (lua_State *L)
 Progresses the provided achievement. More...
 
int intf_set_sub_achievement (lua_State *L)
 Marks a single sub-achievement as completed. More...
 
int intf_set_floating_label (lua_State *L, bool spawn)
 Arg 1: text - string Arg 2: options table. More...
 
int intf_remove_floating_label (lua_State *L)
 
int intf_move_floating_label (lua_State *L)
 
void put_unit_helper (const map_location &loc)
 
int intf_put_unit (lua_State *L)
 Places a unit on the map. More...
 
int intf_erase_unit (lua_State *L)
 Erases a unit from the map. More...
 
int intf_put_recall_unit (lua_State *L)
 Puts a unit on a recall list. More...
 
int intf_extract_unit (lua_State *L)
 Extracts a unit from the map or a recall list and gives it to Lua. More...
 
int intf_find_vacant_tile (lua_State *L)
 Finds a vacant tile. More...
 
int intf_float_label (lua_State *L)
 Floats some text on the map. More...
 
int intf_clear_menu_item (lua_State *L)
 
int intf_create_side (lua_State *L)
 
int intf_set_menu_item (lua_State *L)
 
int intf_toggle_shroud (lua_State *L, bool place_shroud)
 Toggle shroud on some locations Arg 1: Side number Arg 2: List of locations on which to place/remove shroud. More...
 
int intf_override_shroud (lua_State *L)
 Overrides the shroud entirely. More...
 
int intf_simulate_combat (lua_State *L)
 Simulates a combat between two units. More...
 
int intf_scroll_to_tile (lua_State *L)
 Scrolls to given tile. More...
 
int intf_select_unit (lua_State *L)
 Selects and highlights the given location on the map. More...
 
int intf_deselect_hex (lua_State *L)
 Deselects any highlighted hex on the map. More...
 
int intf_is_skipping_messages (lua_State *L)
 Return true if a replay is in progress but the player has chosen to skip it. More...
 
int intf_skip_messages (lua_State *L)
 Set whether to skip messages Arg 1 (optional) - boolean. More...
 
int intf_get_locations (lua_State *L)
 Gets all the locations matching a given filter. More...
 
int intf_match_location (lua_State *L)
 Matches a location against the given filter. More...
 
int intf_match_side (lua_State *L)
 Matches a side against the given filter. More...
 
int intf_set_side_id (lua_State *L)
 
int intf_modify_ai_wml (lua_State *L)
 
int intf_get_sides (lua_State *L)
 Returns a proxy table array for all sides matching the given SSF. More...
 
int intf_get_side (lua_State *L)
 
int intf_add_tile_overlay (lua_State *L)
 Adds an overlay on a tile. More...
 
int intf_remove_tile_overlay (lua_State *L)
 Removes an overlay from a tile. More...
 
template<bool is_menu_item>
int intf_add_event_simple (lua_State *L)
 Add a new event handler Arg 1: Event to handle, as a string or list of strings; or menu item ID if this is a menu item Arg 2: The function to call when the event triggers Arg 3: (optional) Event priority Arg 4: (optional, non-menu-items only) The function to call when the event is undone. More...
 
int intf_add_event_wml (lua_State *L)
 Add a new event handler Arg: A full event specification as a WML config. More...
 
int intf_add_event (lua_State *L)
 Add a new event handler Arg 1: Table of options. More...
 
int intf_add_undo_actions (lua_State *L)
 Add undo actions for the current active event Arg 1: Either a table of ActionWML or a function to call Arg 2: (optional) If Arg 1 is a function, this is a WML table that will be passed to it. More...
 
int cfun_undoable_event (lua_State *L)
 Upvalue 1: The event function Upvalue 2: The undo function Arg 1: The event content. More...
 
int intf_remove_event (lua_State *L)
 
int intf_color_adjust (lua_State *L)
 
int intf_get_color_adjust (lua_State *L)
 
int intf_screen_fade (lua_State *L)
 
int intf_delay (lua_State *L)
 Delays engine for a while. More...
 
int intf_add_label (lua_State *L)
 
int intf_remove_label (lua_State *L)
 
int intf_get_label (lua_State *L)
 
int intf_redraw (lua_State *L)
 
int intf_replace_schedule (lua_State *l)
 Replacing the current time of day schedule. More...
 
int impl_schedule_set (lua_State *L)
 
int impl_schedule_dir (lua_State *L)
 
int intf_scroll (lua_State *L)
 
int intf_get_all_vars (lua_State *L)
 Gets all the WML variables currently set. More...
 
int impl_theme_item (lua_State *L, const std::string &name)
 Executes its upvalue as a theme item generator. More...
 
int impl_theme_items_get (lua_State *L)
 Creates a field of the theme_items table and returns it (__index metamethod). More...
 
int impl_theme_items_set (lua_State *L)
 Sets a field of the theme_items table (__newindex metamethod). More...
 
int impl_theme_items_dir (lua_State *L)
 Get all available theme_items (__dir metamethod). More...
 
int cfun_builtin_effect (lua_State *L)
 Applies its upvalue as an effect Arg 1: The unit to apply to Arg 3: The [effect] tag contents Arg 3: If false, only build description Return: The description of the effect. More...
 
int cfun_wml_action (lua_State *L)
 Executes its upvalue as a wml action. More...
 
int intf_fire_event (lua_State *L, const bool by_id)
 Fires an event. More...
 
int intf_fire_wml_menu_item (lua_State *L)
 Fires a wml menu item. More...
 
int intf_teleport (lua_State *L)
 Teeleports a unit to a location. More...
 
int intf_log (lua_State *L)
 Logs a message Arg 1: (optional) Logger; "wml" for WML errors or deprecations Arg 2: Message Arg 3: Whether to print to chat (always true if arg 1 is "wml") More...
 
int intf_toggle_fog (lua_State *L, const bool clear)
 Implements the lifting and resetting of fog via WML. More...
 
int intf_get_fog_or_shroud (lua_State *L, bool fog)
 
int intf_log_replay (lua_State *L)
 
int intf_zoom (lua_State *L)
 
std::string synced_state ()
 converts synced_context::get_synced_state() to a string. More...
 
void lua_chat (const std::string &caption, const std::string &msg)
 
std::vector< int > get_sides_vector (const vconfig &cfg)
 Gets a vector of sides from side= attribute in a given config node. More...
 

Static Private Member Functions

static void extract_preload_scripts (const game_config_view &game_config)
 

Private Attributes

game_displaygame_display_
 
game_stategame_state_
 
play_controllerplay_controller_
 
reportsreports_
 
config level_lua_
 
int EVENT_TABLE
 
bool has_preloaded_ = false
 
std::stack< game_events::queued_event const * > queued_events_
 

Static Private Attributes

static std::vector< configpreload_scripts
 
static config preload_config
 

Friends

class game_config_manager
 
struct current_tag
 
struct scenario_tag
 
struct schedule_tag
 
struct game_config_glk_tag
 

Additional Inherited Members

- Public Types inherited from lua_kernel_base
using external_log_type = std::function< void(const std::string &)>
 
typedef std::function< void(char const *, char const *)> error_handler
 
- Static Public Member Functions inherited from lua_kernel_base
template<typename T >
static T & get_lua_kernel (lua_State *L)
 
- Protected Member Functions inherited from lua_kernel_base
int intf_print (lua_State *L)
 Replacement print function – instead of printing to std::cout, print to the command log. More...
 
bool protected_call (int nArgs, int nRets, const error_handler &)
 
bool load_string (char const *prog, const std::string &name, const error_handler &)
 
virtual bool protected_call (int nArgs, int nRets)
 
virtual bool load_string (char const *prog, const std::string &name)
 
int intf_dofile (lua_State *L)
 Loads and executes a Lua file. More...
 
int intf_require (lua_State *L)
 Loads and executes a Lua file, if there is no corresponding entry in wesnoth.package. More...
 
int intf_kernel_type (lua_State *L)
 
int impl_game_config_get (lua_State *L)
 Gets some game_config data (__index metamethod). More...
 
int impl_game_config_set (lua_State *L)
 Sets some game_config data (__newindex metamethod). More...
 
int impl_game_config_dir (lua_State *L)
 Gets a list of game_config data (__dir metamethod). More...
 
- Static Protected Member Functions inherited from lua_kernel_base
static bool protected_call (lua_State *L, int nArgs, int nRets, const error_handler &)
 
- Protected Attributes inherited from lua_kernel_base
lua_State * mState
 
command_log cmd_log_
 

Detailed Description

Definition at line 46 of file game_lua_kernel.hpp.

Constructor & Destructor Documentation

◆ game_lua_kernel()

game_lua_kernel::game_lua_kernel ( game_state gs,
play_controller pc,
reports reports_object 
)

Definition at line 5222 of file game_lua_kernel.cpp.

References unit::builtin_effects, lua_kernel_base::cmd_log_, EVENT_TABLE, play_controller::get_classification(), game_events::builtin_conditions::have_location(), game_events::builtin_conditions::have_unit(), impl_game_events_dir(), impl_game_events_get(), ai::lua_ai_context::init(), intf_add_known_unit(), intf_add_modification(), intf_advance_unit(), intf_append_ai(), intf_copy_unit(), intf_create_attack(), intf_create_unit(), intf_debug_ai(), intf_do_unsynced(), intf_eval_conditional(), intf_get_era(), intf_get_resource(), intf_get_viewing_side(), intf_handle_user_interact(), intf_invoke_synced_command(), intf_modify_ai(), intf_modify_ai_old(), intf_on_board(), intf_on_border(), intf_remove_modifications(), intf_replace_if_failed(), intf_switch_ai(), intf_synchronize_choice(), intf_synchronize_choices(), intf_terrain_mask(), intf_terrainmap_iter(), lua_common::intf_tovconfig(), intf_transform_unit(), intf_unit_defense(), intf_unit_jamming_cost(), intf_unit_movement_cost(), intf_unit_resistance(), intf_unit_vision_cost(), game_classification::is_test(), luaW_getglobal(), lua_kernel_base::mState, play_controller_, push_builtin_effect(), queued_events_, lua_units::register_attacks_metatables(), lua_race::register_metatable(), lua_team::register_metatable(), lua_unit_type::register_metatable(), lua_terrainmap::register_metatables(), lua_units::register_metatables(), lua_audio::register_table(), lua_unit_type::register_table(), lua_common::register_vconfig_metatable(), game_events::wml_action::registry(), lua_cpp::set_functions(), set_wml_action(), set_wml_condition(), and game_events::builtin_conditions::variable_matches().

Member Function Documentation

◆ apply_effect()

std::string game_lua_kernel::apply_effect ( const std::string &  name,
unit u,
const config cfg,
bool  need_apply 
)

◆ board()

game_board & game_lua_kernel::board ( )

◆ cfun_builtin_effect()

int game_lua_kernel::cfun_builtin_effect ( lua_State *  L)
private

Applies its upvalue as an effect Arg 1: The unit to apply to Arg 3: The [effect] tag contents Arg 3: If false, only build description Return: The description of the effect.

Definition at line 5859 of file game_lua_kernel.cpp.

References unit::apply_builtin_effect(), unit::describe_builtin_effect(), luaW_checkconfig(), luaW_checkunit(), and luaW_toboolean().

◆ cfun_undoable_event()

int game_lua_kernel::cfun_undoable_event ( lua_State *  L)
private

Upvalue 1: The event function Upvalue 2: The undo function Arg 1: The event content.

Definition at line 4322 of file game_lua_kernel.cpp.

References game_state_, get_event_info(), lua_push(), luaW_pcall(), and game_state::undo_stack_.

◆ cfun_wml_action()

int game_lua_kernel::cfun_wml_action ( lua_State *  L)
private

Executes its upvalue as a wml action.

Definition at line 5909 of file game_lua_kernel.cpp.

References get_event_info(), h, and luaW_checkvconfig().

◆ clear_wml_event()

void game_lua_kernel::clear_wml_event ( int  ref)

Clear a WML event store in the Lua registry.

Parameters
refThe unique index into the EVENT_TABLE within the Lua registry

Definition at line 6082 of file game_lua_kernel.cpp.

References EVENT_TABLE, and lua_kernel_base::mState.

Referenced by lua_event_filter::~lua_event_filter().

◆ create_lua_ai_action_handler()

ai::lua_ai_action_handler * game_lua_kernel::create_lua_ai_action_handler ( char const *  code,
ai::lua_ai_context context 
)

◆ create_lua_ai_context()

ai::lua_ai_context * game_lua_kernel::create_lua_ai_context ( char const *  code,
ai::engine_lua engine 
)

Definition at line 6244 of file game_lua_kernel.cpp.

References ai::lua_ai_context::create(), and lua_kernel_base::mState.

◆ custom_command()

void game_lua_kernel::custom_command ( const std::string &  name,
const config cfg 
)

◆ extract_preload_scripts()

void game_lua_kernel::extract_preload_scripts ( const game_config_view game_config)
staticprivate

Definition at line 178 of file game_lua_kernel.cpp.

References preload_config, and preload_scripts.

Referenced by game_config_manager::load_game_config().

◆ gamedata()

game_data & game_lua_kernel::gamedata ( )
private

◆ get_display()

game_display* game_lua_kernel::get_display ( ) const
inline

Definition at line 205 of file game_lua_kernel.hpp.

References game_display_.

◆ get_event_info()

const game_events::queued_event & game_lua_kernel::get_event_info ( )
private

◆ get_sides_vector()

std::vector< int > game_lua_kernel::get_sides_vector ( const vconfig cfg)
private

Gets a vector of sides from side= attribute in a given config node.

Promotes consistent behavior.

Definition at line 205 of file game_lua_kernel.cpp.

References vconfig::child(), config_attribute_value::empty(), game_state_, side_filter::get_teams(), vconfig::null(), config_attribute_value::str(), and WRN_LUA.

◆ impl_current_dir()

int game_lua_kernel::impl_current_dir ( lua_State *  L)
private

Gets a list of date about current point of game (__dir metamethod).

Definition at line 1937 of file game_lua_kernel.cpp.

References currentReg, and luaW_Registry::dir().

◆ impl_current_get()

int game_lua_kernel::impl_current_get ( lua_State *  L)
private

Gets some data about current point of game (__index metamethod).

  • Arg 1: userdata (ignored).
  • Arg 2: string containing the name of the property.
  • Ret 1: something containing the attribute.

Definition at line 1929 of file game_lua_kernel.cpp.

References currentReg, and luaW_Registry::get().

◆ impl_end_level_data_set()

int game_lua_kernel::impl_end_level_data_set ( lua_State *  L)
private

Definition at line 1445 of file game_lua_kernel.cpp.

References data, modify_bool_attrib, modify_string_attrib, and play_controller_.

◆ impl_get_terrain_info()

int game_lua_kernel::impl_get_terrain_info ( lua_State *  L)
private

Gets details about a terrain.

  • Arg 1: terrain code string.
  • Ret 1: table.

Definition at line 1098 of file game_lua_kernel.cpp.

References board(), lg::info(), lua_push(), luaW_pushtstring(), map(), game_board::map(), t_translation::NONE_TERRAIN, t_translation::read_terrain_code(), t, and gamemap::tdata().

◆ impl_get_terrain_list()

int game_lua_kernel::impl_get_terrain_list ( lua_State *  L)
private

Gets a list of known terrain codes.

  • Ret 1: array of terrain codes

Definition at line 1136 of file game_lua_kernel.cpp.

References board(), lua_push(), game_board::map(), gamemap::tdata(), and t_translation::write_terrain_code().

◆ impl_run_animation()

int game_lua_kernel::impl_run_animation ( lua_State *  L)
private

◆ impl_scenario_dir()

int game_lua_kernel::impl_scenario_dir ( lua_State *  L)
private

Get a list of scenario data (__dir metamethod).

Definition at line 1810 of file game_lua_kernel.cpp.

References DBG_LUA, luaW_Registry::dir(), and scenarioReg.

◆ impl_scenario_get()

int game_lua_kernel::impl_scenario_get ( lua_State *  L)
private

Gets some scenario data (__index metamethod).

  • Arg 1: userdata (ignored).
  • Arg 2: string containing the name of the property.
  • Ret 1: something containing the attribute.

Definition at line 1789 of file game_lua_kernel.cpp.

References DBG_LUA, luaW_Registry::get(), and scenarioReg.

◆ impl_scenario_set()

int game_lua_kernel::impl_scenario_set ( lua_State *  L)
private

Sets some scenario data (__newindex metamethod).

  • Arg 1: userdata (ignored).
  • Arg 2: string containing the name of the property.
  • Arg 3: something containing the attribute.

Definition at line 1801 of file game_lua_kernel.cpp.

References DBG_LUA, scenarioReg, and luaW_Registry::set().

◆ impl_schedule_dir()

int game_lua_kernel::impl_schedule_dir ( lua_State *  L)
private

Definition at line 994 of file game_lua_kernel.cpp.

References luaW_Registry::dir(), and scheduleReg.

◆ impl_schedule_get()

int game_lua_kernel::impl_schedule_get ( lua_State *  L)
private

◆ impl_schedule_len()

int game_lua_kernel::impl_schedule_len ( lua_State *  L)
private

Definition at line 966 of file game_lua_kernel.cpp.

References luaW_check_schedule(), tod_manager::times(), and tod_man().

◆ impl_schedule_set()

int game_lua_kernel::impl_schedule_set ( lua_State *  L)
private

◆ impl_theme_item()

int game_lua_kernel::impl_theme_item ( lua_State *  L,
const std::string &  name 
)
private

◆ impl_theme_items_dir()

int game_lua_kernel::impl_theme_items_dir ( lua_State *  L)
private

Get all available theme_items (__dir metamethod).

Definition at line 4945 of file game_lua_kernel.cpp.

References lua_push(), reports::report_list(), and reports_.

◆ impl_theme_items_get()

int game_lua_kernel::impl_theme_items_get ( lua_State *  L)
private

Creates a field of the theme_items table and returns it (__index metamethod).

Definition at line 4918 of file game_lua_kernel.cpp.

References impl_theme_item(), lua_cpp::push_closure(), reports::register_generator(), and reports_.

◆ impl_theme_items_set()

int game_lua_kernel::impl_theme_items_set ( lua_State *  L)
private

Sets a field of the theme_items table (__newindex metamethod).

Definition at line 4932 of file game_lua_kernel.cpp.

References reports::register_generator(), and reports_.

◆ initialize()

void game_lua_kernel::initialize ( const config level)

◆ intf_add_event()

int game_lua_kernel::intf_add_event ( lua_State *  L)
private

Add a new event handler Arg 1: Table of options.

name: Event to handle, as a string or list of strings id: Event ID menu_item: True if this is a menu item (an ID is required); this means removing the menu item will automatically remove this event. Default false. first_time_only: Whether this event should fire again after the first time; default true. priority: Number that determines execution order. Events execute in order of decreasing priority, and secondarily in order of addition. filter: Event filters as a config with filter tags, a table of the form {filter_type = filter_contents}, or a function filter_args: Arbitrary data that will be passed to the filter, if it is a function. Ignored if the filter is specified as WML or a table. content: The content of the event. This is a WML table passed verbatim into the event when it fires. If no function is specified, it will be interpreted as ActionWML. action: The function to call when the event triggers. Defaults to wesnoth.wml_actions.command.

Lua API: wesnoth.game_events.add

Definition at line 4243 of file game_lua_kernel.cpp.

References game_events::manager::add_event_handler_from_lua(), game_state::events_manager_, game_state_, has_preloaded_, id, luaW_table_get_def(), luaW_tableget(), luaW_toconfig(), read_event_name(), READ_ONE_FILTER, s, save_wml_event(), and game_events::event_handler::set_arguments().

◆ intf_add_event_simple()

template<bool is_menu_item>
int game_lua_kernel::intf_add_event_simple ( lua_State *  L)
private

Add a new event handler Arg 1: Event to handle, as a string or list of strings; or menu item ID if this is a menu item Arg 2: The function to call when the event triggers Arg 3: (optional) Event priority Arg 4: (optional, non-menu-items only) The function to call when the event is undone.

Lua API:

  • wesnoth.game_events.add_repeating
  • wesnoth.game_events.add_menu

Definition at line 4342 of file game_lua_kernel.cpp.

References game_events::manager::add_event_handler_from_lua(), game_state::events_manager_, game_state_, has_preloaded_, id, read_event_name(), save_wml_event(), and game_events::event_handler::set_arguments().

◆ intf_add_event_wml()

int game_lua_kernel::intf_add_event_wml ( lua_State *  L)
private

Add a new event handler Arg: A full event specification as a WML config.

WML API: [event]

Definition at line 4373 of file game_lua_kernel.cpp.

References game_events::manager::add_event_handler_from_wml(), game_state::events_manager_, game_state_, vconfig::get_config(), vconfig::get_parsed_config(), and luaW_checkvconfig().

◆ intf_add_label()

int game_lua_kernel::intf_add_label ( lua_State *  L)
private

◆ intf_add_tile_overlay()

int game_lua_kernel::intf_add_tile_overlay ( lua_State *  L)
private

Adds an overlay on a tile.

  • Arg 1: location.
  • Arg 2: WML table.

Definition at line 4105 of file game_lua_kernel.cpp.

References display::add_overlay(), vconfig::child(), game_display_, game_state_, side_filter::get_teams(), utils::join(), loc, luaW_checklocation(), luaW_checkvconfig(), vconfig::null(), and teams().

◆ intf_add_time_area()

int game_lua_kernel::intf_add_time_area ( lua_State *  L)
private

Adding new time_areas dynamically with Standard Location Filters.

Arg 1: Area ID Arg 2: Area locations (either a filter or a list of locations) Arg 3: (optional) Area schedule - WML table with [time] tags and optional current_time=

Definition at line 4770 of file game_lua_kernel.cpp.

References tod_manager::add_time_area(), deprecated_message(), game_state_, terrain_filter::get_locations(), vconfig::get_parsed_config(), id, INDEFINITE, LOG_LUA, log_scope, luaW_check_locationset(), luaW_checkconfig(), luaW_checkvconfig(), luaW_tovconfig(), and tod_man().

◆ intf_add_undo_actions()

int game_lua_kernel::intf_add_undo_actions ( lua_State *  L)
private

Add undo actions for the current active event Arg 1: Either a table of ActionWML or a function to call Arg 2: (optional) If Arg 1 is a function, this is a WML table that will be passed to it.

Definition at line 4217 of file game_lua_kernel.cpp.

References game_state_, get_event_info(), luaW_toconfig(), save_wml_event(), and game_state::undo_stack_.

◆ intf_allow_end_turn()

int game_lua_kernel::intf_allow_end_turn ( lua_State *  L)
private

Allow undo sets the flag saying whether the event has mutated the game to false.

Definition at line 4732 of file game_lua_kernel.cpp.

References gamedata(), luaW_iststring(), luaW_toboolean(), luaW_totstring(), and game_data::set_allow_end_turn().

◆ intf_allow_undo()

int game_lua_kernel::intf_allow_undo ( lua_State *  L)
private

Allow undo sets the flag saying whether the event has mutated the game to false.

Definition at line 4748 of file game_lua_kernel.cpp.

References luaW_toboolean(), play_controller_, play_controller::pump(), and game_events::wml_event_pump::set_undo_disabled().

◆ intf_animate_unit()

int game_lua_kernel::intf_animate_unit ( lua_State *  )
private

◆ intf_cancel_action()

int game_lua_kernel::intf_cancel_action ( lua_State *  )
private

◆ intf_clear_menu_item()

int game_lua_kernel::intf_clear_menu_item ( lua_State *  L)
private

◆ intf_clear_messages()

int game_lua_kernel::intf_clear_messages ( lua_State *  )
private

Removes all messages from the chat window.

Definition at line 1981 of file game_lua_kernel.cpp.

References display_chat_manager::clear_chat_messages(), game_display_, and game_display::get_chat_manager().

◆ intf_color_adjust()

int game_lua_kernel::intf_color_adjust ( lua_State *  L)
private

◆ intf_create_animator()

int game_lua_kernel::intf_create_animator ( lua_State *  L)
private

◆ intf_create_side()

int game_lua_kernel::intf_create_side ( lua_State *  L)
private

◆ intf_delay()

int game_lua_kernel::intf_delay ( lua_State *  L)
private

Delays engine for a while.

  • Arg 1: integer.
  • Arg 2: boolean (optional).

Definition at line 4431 of file game_lua_kernel.cpp.

References game_display_, gamedata(), game_data::INITIAL, luaW_toboolean(), play_controller_, controller_base::play_slice(), game_data::PRELOAD, game_data::PRESTART, and display::turbo_speed().

Referenced by intf_scroll().

◆ intf_deselect_hex()

int game_lua_kernel::intf_deselect_hex ( lua_State *  L)
private

Deselects any highlighted hex on the map.

No arguments or return values

Definition at line 3592 of file game_lua_kernel.cpp.

References game_display_, game_display::highlight_hex(), and map_location::null_location().

◆ intf_end_turn()

int game_lua_kernel::intf_end_turn ( lua_State *  L)
private

◆ intf_erase_unit()

int game_lua_kernel::intf_erase_unit ( lua_State *  L)
private

◆ intf_extract_unit()

int game_lua_kernel::intf_extract_unit ( lua_State *  L)
private

Extracts a unit from the map or a recall list and gives it to Lua.

  • Arg 1: unit userdata.

Definition at line 2895 of file game_lua_kernel.cpp.

References board(), unit_map::extract(), game_board::get_team(), luaW_checkunit_ref(), map_locked_, t, and units().

◆ intf_find_cost_map()

int game_lua_kernel::intf_find_cost_map ( lua_State *  L)
private

Is called with one or more units and builds a cost map.

  • Arg 1: source location. (Or Arg 1: unit. Or Arg 1: table containing a filter)
  • Arg 2: optional array of tables with 4 elements (coordinates + side + unit type string)
  • Arg 3: optional table (optional fields: ignore_units, ignore_teleport, viewing_side, debug).
  • Arg 4: optional table: standard location filter.
  • Ret 1: array of triples (coordinates + array of tuples(summed cost + reach counter)).

Definition at line 2322 of file game_lua_kernel.cpp.

References pathfind::full_cost_map::add_unit(), board(), map_labels::clear_all(), debug, fake_unit_manager::empty(), resources::fake_units, unit_type_data::find(), unit_map::find(), game_display_, game_state_, terrain_filter::get_locations(), pathfind::full_cost_map::get_pair_at(), game_board::get_team(), i, display::labels(), load_fake_units(), loc, luaW_checklocation(), luaW_push_namedtuple(), luaW_toboolean(), luaW_tounit(), luaW_tovconfig(), vconfig::null(), s, map_labels::set_label(), utf8::size(), src, teams(), game_board::teams(), vconfig::unconstructed_vconfig(), unit_types, units(), unit_map::iterator_base< iter_types >::valid(), map_location::wml_x(), and map_location::wml_y().

◆ intf_find_path()

int game_lua_kernel::intf_find_path ( lua_State *  L)
private

Finds a path between two locations.

  • Arg 1: source location. (Or Arg 1: unit.)
  • Arg 2: destination.
  • Arg 3: optional cost function or table (optional fields: ignore_units, ignore_teleport, max_cost, viewing_side).
  • Ret 1: array of pairs containing path steps.
  • Ret 2: path cost.

Definition at line 2028 of file game_lua_kernel.cpp.

References pathfind::a_star_search(), board(), deprecated_message(), dst, unit_map::find(), FOR_REMOVAL, unit::get_location(), unit_map::iterator_base< iter_types >::get_shared_ptr(), pathfind::get_teleport_locations(), gamemap_base::h(), i, luaW_checklocation(), luaW_checkunit(), luaW_pushlocation(), map(), game_board::map(), pathfind::plain_route::move_cost, unit::side(), utf8::size(), src, pathfind::plain_route::steps, teams(), units(), unit_map::iterator_base< iter_types >::valid(), and gamemap_base::w().

◆ intf_find_reach()

int game_lua_kernel::intf_find_reach ( lua_State *  L)
private

Finds all the locations reachable by a unit.

  • Arg 1: source location OR unit.
  • Arg 2: optional table (optional fields: ignore_units, ignore_teleport, additional_turns, viewing_side).
  • Ret 1: array of triples (coordinates + remaining movement).

Definition at line 2143 of file game_lua_kernel.cpp.

References board(), deprecated_message(), pathfind::paths::destinations, unit_map::find(), FOR_REMOVAL, unit_map::iterator_base< iter_types >::get_shared_ptr(), game_board::get_team(), i, luaW_checklocation(), luaW_checkunit(), luaW_push_namedtuple(), s, unit::side(), utf8::size(), src, teams(), units(), and unit_map::iterator_base< iter_types >::valid().

◆ intf_find_vacant_tile()

int game_lua_kernel::intf_find_vacant_tile ( lua_State *  L)
private

Finds a vacant tile.

  • Arg 1: location.
  • Arg 2: optional unit for checking movement type.
  • Rets 1,2: location.

Definition at line 2927 of file game_lua_kernel.cpp.

References unit::create(), pathfind::find_vacant_tile(), loc, luaW_checkconfig(), luaW_checklocation(), luaW_checkunit_ptr(), luaW_isunit(), pathfind::VACANT_ANY, map_location::valid(), map_location::wml_x(), and map_location::wml_y().

◆ intf_find_vision_range()

int game_lua_kernel::intf_find_vision_range ( lua_State *  L)
private

Finds all the locations for which a given unit would remove the fog (if there was fog on the map).

  • Arg 1: source location OR unit.
  • Ret 1: array of triples (coordinates + remaining vision points).

Definition at line 2218 of file game_lua_kernel.cpp.

References actions::create_jamming_map(), d, pathfind::paths::destinations, e, pathfind::vision_path::edges, unit_map::find(), resources::gameboard, unit::get_location(), unit_map::iterator_base< iter_types >::get_shared_ptr(), luaW_checklocation(), luaW_checkunit(), luaW_push_namedtuple(), unit::side(), src, units(), and unit_map::iterator_base< iter_types >::valid().

◆ intf_fire_event()

int game_lua_kernel::intf_fire_event ( lua_State *  L,
const bool  by_id 
)
private

Fires an event.

  • Arg 1: string containing the event name or id.
  • Arg 2: optional first location.
  • Arg 3: optional second location.
  • Arg 4: optional WML table used used as the event data Typically this contains [first] as the [weapon] tag and [second] as the [second_weapon] tag.
  • Ret 1: boolean indicating whether the event was processed or not.

Definition at line 626 of file game_lua_kernel.cpp.

References b, data, game_events::wml_event_pump::fire(), luaW_toconfig(), luaW_tolocation(), play_controller_, and play_controller::pump().

◆ intf_fire_wml_menu_item()

int game_lua_kernel::intf_fire_wml_menu_item ( lua_State *  L)
private

Fires a wml menu item.

  • Arg 1: id of the item. it is not possible to fire items that don't have ids with this function.
  • Arg 2: optional first location.
  • Ret 1: boolean, true indicating that the event was fired successfully

NOTE: This is not an "official" feature, it may currently cause assertion failures if used with menu items which have "needs_select". It is not supported right now to use it this way. The purpose of this function right now is to make it possible to have automated sanity tests for the wml menu items system.

Definition at line 678 of file game_lua_kernel.cpp.

References b, game_events::wmi_manager::fire_item(), game_state_, gamedata(), game_state::get_wml_menu_items(), luaW_checklocation(), and units().

◆ intf_float_label()

int game_lua_kernel::intf_float_label ( lua_State *  L)
private

Floats some text on the map.

  • Arg 1: location.
  • Arg 2: string.
  • Arg 3: color.

Definition at line 2956 of file game_lua_kernel.cpp.

References game_display::float_label(), color_t::from_rgb_string(), game_display_, font::LABEL_COLOR, loc, luaW_checklocation(), and luaW_checktstring().

◆ intf_gamestate_inspector()

int game_lua_kernel::intf_gamestate_inspector ( lua_State *  L)
private

◆ intf_get_achievement()

int game_lua_kernel::intf_get_achievement ( lua_State *  L)
private

Returns information on a single achievement, or no data if the achievement is not found.

  • Arg 1: string - content_for.
  • Arg 2: string - id.
  • Ret 1: WML table returned by the function.

Definition at line 3356 of file game_lua_kernel.cpp.

References config::add_child(), ERR_LUA, game_config_manager::get(), and luaW_pushconfig().

◆ intf_get_all_vars()

int game_lua_kernel::intf_get_all_vars ( lua_State *  L)
private

Gets all the WML variables currently set.

  • Ret 1: WML table

Definition at line 4955 of file game_lua_kernel.cpp.

References gamedata(), and luaW_pushconfig().

◆ intf_get_color_adjust()

int game_lua_kernel::intf_get_color_adjust ( lua_State *  L)
private

Definition at line 4401 of file game_lua_kernel.cpp.

References game_display_, and display::get_color_overlay().

◆ intf_get_displayed_unit()

int game_lua_kernel::intf_get_displayed_unit ( lua_State *  L)
private

Gets the unit displayed in the sidebar.

  • Ret 1: full userdata with __index pointing to impl_unit_get and __newindex pointing to impl_unit_set.

Definition at line 475 of file game_lua_kernel.cpp.

References board(), game_display::displayed_unit_hex(), game_board::find_visible_unit(), game_display_, luaW_pushunit(), display::show_everything(), unit_map::iterator_base< iter_types >::valid(), and display::viewing_team().

◆ intf_get_fog_or_shroud()

int game_lua_kernel::intf_get_fog_or_shroud ( lua_State *  L,
bool  fog 
)
private

Definition at line 5040 of file game_lua_kernel.cpp.

References board(), loc, luaW_checklocation(), luaW_checkteam(), and t.

◆ intf_get_label()

int game_lua_kernel::intf_get_label ( lua_State *  L)
private

◆ intf_get_locations()

int game_lua_kernel::intf_get_locations ( lua_State *  L)
private

Gets all the locations matching a given filter.

  • Arg 1: WML table.
  • Arg 2: Optional reference unit (teleport_unit)
  • Ret 1: array of integer pairs.

Definition at line 3776 of file game_lua_kernel.cpp.

References game_state_, terrain_filter::get_locations(), luaW_checkvconfig(), luaW_isunit(), luaW_push_locationset(), and luaW_tounit().

◆ intf_get_mouseover_tile()

int game_lua_kernel::intf_get_mouseover_tile ( lua_State *  L)
private

Returns the currently overed tile.

  • Ret 1: x.
  • Ret 2: y.

Definition at line 1277 of file game_lua_kernel.cpp.

References board(), game_display_, loc, map(), display::mouseover_hex(), map_location::wml_x(), and map_location::wml_y().

◆ intf_get_recall_units()

int game_lua_kernel::intf_get_recall_units ( lua_State *  L)
private

Gets the numeric ids of all the units matching a given filter on the recall lists.

  • Arg 1: optional table containing a filter
  • Ret 1: table containing full userdata with __index pointing to impl_unit_get and __newindex pointing to impl_unit_set.

Definition at line 588 of file game_lua_kernel.cpp.

References i, luaW_checkvconfig(), luaW_pushunit(), vconfig::null(), s, t, and teams().

◆ intf_get_selected_tile()

int game_lua_kernel::intf_get_selected_tile ( lua_State *  L)
private

Returns the currently selected tile.

  • Ret 1: x.
  • Ret 2: y.

Definition at line 1295 of file game_lua_kernel.cpp.

References board(), game_display_, loc, map(), display::selected_hex(), map_location::wml_x(), and map_location::wml_y().

◆ intf_get_side()

int game_lua_kernel::intf_get_side ( lua_State *  L)
private

Definition at line 3954 of file game_lua_kernel.cpp.

References board(), i, luaW_pushteam(), utf8::size(), and teams().

◆ intf_get_sides()

int game_lua_kernel::intf_get_sides ( lua_State *  L)
private

Returns a proxy table array for all sides matching the given SSF.

  • Arg 1: SSF
  • Ret 1: proxy table array

Definition at line 3967 of file game_lua_kernel.cpp.

References board(), game_state_, side_filter::get_teams(), utf8::index(), LOG_LUA, luaW_checkvconfig(), luaW_pushteam(), my_name(), vconfig::null(), t, and teams().

◆ intf_get_time_area()

int game_lua_kernel::intf_get_time_area ( lua_State *  L)
private

◆ intf_get_time_of_day()

template<bool consider_illuminates>
int game_lua_kernel::intf_get_time_of_day ( lua_State *  L)
private

Gets time of day information.

  • Arg 1: schedule object, location, time area ID, or nil
  • Arg 2: optional turn number
  • Ret 1: table.

Definition at line 1155 of file game_lua_kernel.cpp.

References board(), tod_manager::get_area_by_id(), tod_manager::get_area_by_index(), tod_manager::get_illuminated_time_of_day(), tod_manager::get_time_of_day(), loc, luaW_check_schedule(), luaW_push_tod(), luaW_tolocation(), map(), tod_manager::number_of_turns(), tod_man(), tod_manager::turn(), and units().

◆ intf_get_unit()

int game_lua_kernel::intf_get_unit ( lua_State *  L)
private

Gets the unit at the given location or with the given id.

  • Arg 1: location OR
  • Arg 1: string ID
  • Ret 1: full userdata with __index pointing to impl_unit_get and __newindex pointing to impl_unit_set.

Definition at line 446 of file game_lua_kernel.cpp.

References unit_map::find(), loc, luaW_pushunit(), luaW_tolocation(), units(), and unit_map::iterator_base< iter_types >::valid().

◆ intf_get_units()

int game_lua_kernel::intf_get_units ( lua_State *  L)
private

Gets all the units matching a given filter.

  • Arg 1: optional table containing a filter
  • Arg 2: optional location (to find all units that would match on that location) OR unit (to find all units that would match adjacent to that unit)
  • Ret 1: table containing full userdata with __index pointing to impl_unit_get and __newindex pointing to impl_unit_set.

Definition at line 499 of file game_lua_kernel.cpp.

References unit_filter::all_matches_at(), unit_filter::all_matches_on_map(), unit_filter::all_matches_with_unit(), i, loc, luaW_checkvconfig(), luaW_pushunit(), luaW_tolocation(), luaW_tounit(), units(), and map_location::valid().

◆ intf_get_variable()

int game_lua_kernel::intf_get_variable ( lua_State *  L)
private

Gets a WML variable.

  • Arg 1: string containing the variable name.
  • Arg 2: optional bool indicating if tables for containers should be left empty.
  • Ret 1: value of the variable, if any.

Definition at line 695 of file game_lua_kernel.cpp.

References gamedata(), game_data::get_variable_access_read(), and luaW_pushvariable().

◆ intf_get_village_owner()

int game_lua_kernel::intf_get_village_owner ( lua_State *  L)
private

Gets the side of a village owner.

  • Arg 1: map location.
  • Ret 1: integer.

Definition at line 1202 of file game_lua_kernel.cpp.

References board(), loc, luaW_checklocation(), map(), and display_context::village_owner().

◆ intf_has_achievement()

int game_lua_kernel::intf_has_achievement ( lua_State *  L)
private

Returns whether an achievement has been completed.

  • Arg 1: string - content_for.
  • Arg 2: string - id.
  • Ret 1: boolean.

Definition at line 3335 of file game_lua_kernel.cpp.

References resources::controller, ERR_LUA, prefs::get(), and synced_context::is_synced().

◆ intf_has_sub_achievement()

int game_lua_kernel::intf_has_sub_achievement ( lua_State *  L)
private

Returns whether an achievement has been completed.

  • Arg 1: string - content_for.
  • Arg 2: string - achievement id.
  • Arg 3: string - sub-achievement id
  • Ret 1: boolean.

Definition at line 3469 of file game_lua_kernel.cpp.

References resources::controller, ERR_LUA, prefs::get(), and synced_context::is_synced().

◆ intf_heal_unit()

int game_lua_kernel::intf_heal_unit ( lua_State *  L)
private

◆ intf_highlight_hex()

int game_lua_kernel::intf_highlight_hex ( lua_State *  L)
private

Highlights the given location on the map.

  • Arg 1: location.

Definition at line 811 of file game_lua_kernel.cpp.

References game_display::display_unit_hex(), game_display_, game_display::highlight_hex(), loc, luaW_checklocation(), and map().

◆ intf_is_enemy()

int game_lua_kernel::intf_is_enemy ( lua_State *  L)
private

Returns whether the first side is an enemy of the second one.

  • Args 1,2: side numbers.
  • Ret 1: boolean.

Definition at line 830 of file game_lua_kernel.cpp.

References board(), luaW_toteam(), utf8::size(), t, and teams().

◆ intf_is_skipping_messages()

int game_lua_kernel::intf_is_skipping_messages ( lua_State *  L)
private

Return true if a replay is in progress but the player has chosen to skip it.

Definition at line 3604 of file game_lua_kernel.cpp.

References game_state::events_manager_, game_state_, play_controller::is_skipping_replay(), play_controller::is_skipping_story(), and play_controller_.

◆ intf_lock_view()

int game_lua_kernel::intf_lock_view ( lua_State *  L)
private

Sets whether gamemap scrolling is disabled for the user.

  • Arg 1: boolean, specifying the new locked/unlocked status.

Definition at line 866 of file game_lua_kernel.cpp.

References game_display_, luaW_toboolean(), and display::set_view_locked().

◆ intf_log()

int game_lua_kernel::intf_log ( lua_State *  L)
private

Logs a message Arg 1: (optional) Logger; "wml" for WML errors or deprecations Arg 2: Message Arg 3: Whether to print to chat (always true if arg 1 is "wml")

Definition at line 5025 of file game_lua_kernel.cpp.

References ERR_WML, game_state::events_manager_, game_state_, lg::log_to_chat(), luaW_toboolean(), and wfl::msg().

◆ intf_log_replay()

int game_lua_kernel::intf_log_replay ( lua_State *  L)
private

◆ intf_match_location()

int game_lua_kernel::intf_match_location ( lua_State *  L)
private

Matches a location against the given filter.

  • Arg 1: location.
  • Arg 2: WML table.
  • Arg 3: Optional reference unit (teleport_unit)
  • Ret 1: boolean.

Definition at line 3800 of file game_lua_kernel.cpp.

References game_state_, loc, luaW_checklocation(), luaW_checkvconfig(), luaW_isunit(), luaW_tounit(), terrain_filter::match(), and vconfig::null().

◆ intf_match_side()

int game_lua_kernel::intf_match_side ( lua_State *  L)
private

Matches a side against the given filter.

  • Args 1: side number.
  • Arg 2: WML table.
  • Ret 1: boolean.

Definition at line 3828 of file game_lua_kernel.cpp.

References game_state_, luaW_checkvconfig(), luaW_toteam(), side_filter::match(), vconfig::null(), utf8::size(), t, and teams().

◆ intf_match_unit()

int game_lua_kernel::intf_match_unit ( lua_State *  L)
private

Matches a unit against the given filter.

  • Arg 1: full userdata.
  • Arg 2: table containing a filter
  • Arg 3: optional location OR optional "adjacent" unit
  • Ret 1: boolean.

Definition at line 542 of file game_lua_kernel.cpp.

References board(), unit::get_location(), game_board::get_team(), unit::id(), loc, luaW_checkunit_ref(), luaW_checkvconfig(), luaW_tolocation(), luaW_tounit(), vconfig::null(), lua_unit::on_recall_list(), t, and WRN_LUA.

◆ intf_message()

int game_lua_kernel::intf_message ( lua_State *  L)
private

Displays a message in the chat window and in the logs.

  • Arg 1: optional message header.
  • Arg 2 (or 1): message.

Definition at line 1947 of file game_lua_kernel.cpp.

References h, LOG_LUA, lua_chat(), and luaW_checktstring().

◆ intf_modify_ai_wml()

int game_lua_kernel::intf_modify_ai_wml ( lua_State *  L)
private

◆ intf_move_floating_label()

int game_lua_kernel::intf_move_floating_label ( lua_State *  L)
private

◆ intf_override_shroud()

int game_lua_kernel::intf_override_shroud ( lua_State *  L)
private

Overrides the shroud entirely.

All locations are shrouded, except for the ones passed in as argument 2. Arg 1: Side number Arg 2: List of locations that should be unshrouded

Definition at line 786 of file game_lua_kernel.cpp.

References board(), game_display_, display::invalidate_all(), display::labels(), loc, luaW_check_locationset(), luaW_checkteam(), luaW_type_error(), display::recalculate_minimap(), map_labels::recalculate_shroud(), and t.

◆ intf_play_sound()

int game_lua_kernel::intf_play_sound ( lua_State *  L)
private

Plays a sound, possibly repeated.

  • Arg 1: string.
  • Arg 2: optional integer.

Definition at line 3270 of file game_lua_kernel.cpp.

References play_controller::is_skipping_replay(), play_controller_, sound::play_sound(), and sound::SOUND_FX.

◆ intf_progress_achievement()

int game_lua_kernel::intf_progress_achievement ( lua_State *  L)
private

Progresses the provided achievement.

  • Arg 1: string - content_for.
  • Arg 2: string - achievement id.
  • Arg 3: int - the amount to progress the achievement.
  • Arg 4: int - the limit the achievement can progress by
  • Ret 1: int - the achievement's current progress after adding amount or -1 if not a progressable achievement (including if it's already achieved)
  • Ret 2: int - the achievement's max progress or -1 if not a progressable achievement

Definition at line 3412 of file game_lua_kernel.cpp.

References achievement::achieved_, achievement::current_progress_, ERR_LUA, game_config_manager::get(), prefs::get(), achievement::id_, intf_set_achievement(), play_controller::is_replay(), lua_push(), achievement::max_progress_, play_controller_, prefs::progress_achievement(), and achievement::sub_achievements_.

◆ intf_put_recall_unit()

int game_lua_kernel::intf_put_recall_unit ( lua_State *  L)
private

Puts a unit on a recall list.

  • Arg 1: WML table or unit.
  • Arg 2: (optional) side.

Definition at line 2846 of file game_lua_kernel.cpp.

References board(), unit::create(), unit_map::erase(), game_board::get_team(), luaW_checkconfig(), luaW_checkunit_ref(), luaW_isunit(), map_locked_, utf8::size(), t, teams(), units(), and resources::whiteboard.

◆ intf_put_unit()

int game_lua_kernel::intf_put_unit ( lua_State *  L)
private

Places a unit on the map.

  • Arg 1: (optional) location.
  • Arg 2: Unit (WML table or proxy), or nothing/nil to delete. OR
  • Arg 1: Unit (WML table or proxy)
  • Arg 2: (optional) location
  • Arg 3: (optional) boolean

Definition at line 2751 of file game_lua_kernel.cpp.

References unit::create(), unit_map::erase(), game_events::wml_event_pump::fire(), unit::get_location(), lua_unit::get_shared(), unit_map::insert(), loc, luaW_checkconfig(), luaW_checkunit_ref(), luaW_isunit(), luaW_toboolean(), luaW_tolocation(), map(), map_locked_, lua_unit::on_map(), play_controller_, play_controller::pump(), lua_unit::put_map(), put_unit_helper(), map_location::set_wml_x(), map_location::set_wml_y(), units(), and map_location::valid().

◆ intf_redraw()

int game_lua_kernel::intf_redraw ( lua_State *  L)
private

◆ intf_remove_event()

int game_lua_kernel::intf_remove_event ( lua_State *  L)
private

Definition at line 4386 of file game_lua_kernel.cpp.

References game_state::events_manager_, and game_state_.

◆ intf_remove_floating_label()

int game_lua_kernel::intf_remove_floating_label ( lua_State *  L)
private

◆ intf_remove_label()

int game_lua_kernel::intf_remove_label ( lua_State *  L)
private

◆ intf_remove_tile_overlay()

int game_lua_kernel::intf_remove_tile_overlay ( lua_State *  L)
private

Removes an overlay from a tile.

  • Arg 1: location.
  • Arg 2: optional string.

Definition at line 4141 of file game_lua_kernel.cpp.

References game_display_, loc, luaW_checklocation(), display::remove_overlay(), and display::remove_single_overlay().

◆ intf_remove_time_area()

int game_lua_kernel::intf_remove_time_area ( lua_State *  L)
private

Removing new time_areas dynamically with Standard Location Filters.

Definition at line 4806 of file game_lua_kernel.cpp.

References LOG_LUA, log_scope, tod_manager::remove_time_area(), and tod_man().

◆ intf_replace_schedule()

int game_lua_kernel::intf_replace_schedule ( lua_State *  l)
private

◆ intf_screen_fade()

int game_lua_kernel::intf_screen_fade ( lua_State *  L)
private

Definition at line 4413 of file game_lua_kernel.cpp.

References display::fade_to(), game_display_, and luaW_type_error().

◆ intf_scroll()

int game_lua_kernel::intf_scroll ( lua_State *  L)
private

Definition at line 4867 of file game_lua_kernel.cpp.

References game_display_, intf_delay(), lua_push(), and display::scroll().

◆ intf_scroll_to_tile()

int game_lua_kernel::intf_scroll_to_tile ( lua_State *  L)
private

Scrolls to given tile.

  • Arg 1: location.
  • Arg 2: boolean preventing scroll to fog.
  • Arg 3: boolean specifying whether to warp instantly.
  • Arg 4: boolean specifying whether to skip if already onscreen

Definition at line 3547 of file game_lua_kernel.cpp.

References game_display_, loc, luaW_checklocation(), luaW_toboolean(), display::ONSCREEN, display::ONSCREEN_WARP, display::SCROLL, display::scroll_to_tile(), and display::WARP.

◆ intf_select_unit()

int game_lua_kernel::intf_select_unit ( lua_State *  L)
private

Selects and highlights the given location on the map.

  • Arg 1: location.
  • Args 2,3: booleans

Definition at line 3570 of file game_lua_kernel.cpp.

References gui2::event::implementation::fire_event(), play_controller::get_mouse_handler_base(), loc, luaW_checklocation(), luaW_toboolean(), map(), map_location::null_location(), play_controller_, and events::mouse_handler::select_hex().

◆ intf_set_achievement()

int game_lua_kernel::intf_set_achievement ( lua_State *  L)
private

◆ intf_set_floating_label()

int game_lua_kernel::intf_set_floating_label ( lua_State *  L,
bool  spawn 
)
private

Arg 1: text - string Arg 2: options table.

  • size: font size
  • max_width: max width for word wrapping
  • color: font color
  • bgcolor: background color
  • bgalpha: background opacity
  • duration: display duration (integer or the string "unlimited")
  • fade_time: duration of fade-out
  • location: screen offset
  • valign: vertical alignment and anchoring - "top", "center", or "bottom"
  • halign: horizontal alignment and anchoring - "left", "center", or "right" Returns: label handle

Definition at line 2540 of file game_lua_kernel.cpp.

References font::add_floating_label(), ALPHA_OPAQUE, font::CENTER_ALIGN, color_t::from_hex_string(), game_display_, impl_floating_label_getmethod(), font::LABEL_COLOR, labelKey, font::LEFT_ALIGN, loc, luaW_check_floating_label(), luaW_checklocation(), luaW_checktstring(), luaW_table_set(), luaW_tableget(), luaW_tostring(), display::map_outside_area(), font::remove_floating_label(), font::RIGHT_ALIGN, font::floating_label::set_alignment(), font::floating_label::set_bg_color(), font::floating_label::set_clip_rect(), font::floating_label::set_color(), font::floating_label::set_font_size(), font::floating_label::set_lifetime(), font::floating_label::set_position(), utf8::size(), font::SIZE_SMALL, utils::stoi(), map_location::wml_x(), and map_location::wml_y().

◆ intf_set_menu_item()

int game_lua_kernel::intf_set_menu_item ( lua_State *  L)
private

◆ intf_set_side_id()

int game_lua_kernel::intf_set_side_id ( lua_State *  L)
private

◆ intf_set_sub_achievement()

int game_lua_kernel::intf_set_sub_achievement ( lua_State *  L)
private

◆ intf_set_variable()

int game_lua_kernel::intf_set_variable ( lua_State *  L)
private

Sets a WML variable.

  • Arg 1: string containing the variable name.
  • Arg 2: boolean/integer/string/table containing the value.

Definition at line 707 of file game_lua_kernel.cpp.

References game_data::clear_variable(), gamedata(), game_data::get_variable_access_write(), and luaW_checkvariable().

◆ intf_set_village_owner()

int game_lua_kernel::intf_set_village_owner ( lua_State *  L)
private

Sets the owner of a village.

  • Arg 1: map location.
  • Arg 2: integer for the side or empty to remove ownership.

Definition at line 1219 of file game_lua_kernel.cpp.

References board(), gamedata(), game_board::get_team(), team::get_village(), loc, team::lose_village(), luaW_checklocation(), luaW_toboolean(), map(), and display_context::village_owner().

◆ intf_simulate_combat()

int game_lua_kernel::intf_simulate_combat ( lua_State *  L)
private

Simulates a combat between two units.

  • Arg 1: attacker userdata.
  • Arg 2: optional weapon index.
  • Arg 3: defender userdata.
  • Arg 4: optional weapon index.
  • Ret 1: attacker results.
  • Ret 2: defender results.
  • Ret 3: info about the attacker weapon.
  • Ret 4: info about the defender weapon.

Definition at line 3233 of file game_lua_kernel.cpp.

References battle_context::get_attacker_combatant(), battle_context::get_attacker_stats(), battle_context::get_defender_combatant(), battle_context::get_defender_stats(), luaW_checkunit(), luaW_pushsimdata(), luaW_pushsimweapon(), and units().

◆ intf_skip_messages()

int game_lua_kernel::intf_skip_messages ( lua_State *  L)
private

Set whether to skip messages Arg 1 (optional) - boolean.

Definition at line 3618 of file game_lua_kernel.cpp.

References game_state::events_manager_, game_state_, and luaW_toboolean().

◆ intf_teleport()

int game_lua_kernel::intf_teleport ( lua_State *  L)
private

◆ intf_toggle_fog()

int game_lua_kernel::intf_toggle_fog ( lua_State *  L,
const bool  clear 
)
private

Implements the lifting and resetting of fog via WML.

Keeping affect_normal_fog as false causes only the fog override to be affected. Otherwise, fog lifting will be implemented similar to normal sight (cannot be individually reset and ends at the end of the turn), and fog resetting will, in addition to removing overrides, extend the specified teams' normal fog to all hexes.

Arg 1: (optional) Side number, or list of side numbers Arg 2: List of locations; each is a two-element array or a table with x and y keys Arg 3: (optional) boolean

Definition at line 5060 of file game_lua_kernel.cpp.

References board(), draw::clear(), game_display_, game_board::get_team(), display::invalidate_all(), luaW_check_locationset(), luaW_toboolean(), luaW_toteam(), display::recalculate_minimap(), utf8::size(), t, and teams().

◆ intf_toggle_shroud()

int game_lua_kernel::intf_toggle_shroud ( lua_State *  L,
bool  place_shroud 
)
private

Toggle shroud on some locations Arg 1: Side number Arg 2: List of locations on which to place/remove shroud.

Definition at line 755 of file game_lua_kernel.cpp.

References board(), game_display_, display::invalidate_all(), display::labels(), loc, luaW_check_locationset(), luaW_checkteam(), display::recalculate_minimap(), map_labels::recalculate_shroud(), and t.

◆ intf_unit_ability()

int game_lua_kernel::intf_unit_ability ( lua_State *  L)
private

Returns true if the unit has the given ability enabled.

  • Arg 1: unit userdata.
  • Arg 2: string.
  • Ret 1: boolean.

Definition at line 3116 of file game_lua_kernel.cpp.

References unit::get_ability_bool(), and luaW_checkunit().

◆ intf_view_locked()

int game_lua_kernel::intf_view_locked ( lua_State *  L)
private

Gets whether gamemap scrolling is disabled for the user.

  • Ret 1: boolean.

Definition at line 852 of file game_lua_kernel.cpp.

References game_display_, and display::view_locked().

◆ intf_zoom()

int game_lua_kernel::intf_zoom ( lua_State *  L)
private

◆ load_game()

void game_lua_kernel::load_game ( const config level)

Executes the game_events.on_load function and passes to it all the scenario tags not yet handled.

Definition at line 5762 of file game_lua_kernel.cpp.

References impl_get_callback(), is_handled_file_tag(), game_config::images::level, luaW_pcall(), luaW_pushconfig(), and lua_kernel_base::mState.

◆ log_error()

void game_lua_kernel::log_error ( char const *  msg,
char const *  context = "Lua error" 
)
overridevirtual

Error reporting mechanisms, used by virtual methods protected_call and load_string.

Reimplemented from lua_kernel_base.

Definition at line 187 of file game_lua_kernel.cpp.

References lua_kernel_base::log_error(), lua_chat(), and wfl::msg().

Referenced by run_filter(), and save_game().

◆ lua_chat()

void game_lua_kernel::lua_chat ( const std::string &  caption,
const std::string &  msg 
)
private

◆ luaW_push_schedule()

void game_lua_kernel::luaW_push_schedule ( lua_State *  L,
int  area_index 
)
private

Definition at line 903 of file game_lua_kernel.cpp.

Referenced by intf_get_time_area(), and current_tag::push_schedule().

◆ map()

const gamemap & game_lua_kernel::map ( ) const

◆ mouse_button_callback()

bool game_lua_kernel::mouse_button_callback ( const map_location loc,
const std::string &  button,
const std::string &  event 
)

◆ mouse_over_hex_callback()

void game_lua_kernel::mouse_over_hex_callback ( const map_location loc)

◆ my_name()

virtual std::string game_lua_kernel::my_name ( )
inlineoverridevirtual

User-visible name of the lua kernel that they are talking to.

Reimplemented from lua_kernel_base.

Definition at line 219 of file game_lua_kernel.hpp.

Referenced by intf_get_sides().

◆ preload_finished()

void game_lua_kernel::preload_finished ( )
inline

Definition at line 282 of file game_lua_kernel.hpp.

References has_preloaded_.

◆ push_builtin_effect()

void game_lua_kernel::push_builtin_effect ( )

Registers a function for use as an effect handler.

Definition at line 5884 of file game_lua_kernel.cpp.

References lua_kernel_base::mState.

Referenced by game_lua_kernel().

◆ put_unit_helper()

void game_lua_kernel::put_unit_helper ( const map_location loc)
private

Definition at line 2733 of file game_lua_kernel.cpp.

References game_display_, display::invalidate(), loc, and resources::whiteboard.

Referenced by intf_put_unit().

◆ run_event()

bool game_lua_kernel::run_event ( const game_events::queued_event ev)

Executes the game_events.on_event function.

Returns false if there was no lua handler for this event

Definition at line 5828 of file game_lua_kernel.cpp.

References dummy, impl_get_callback(), luaW_pcall(), lua_kernel_base::mState, game_events::queued_event::name, and queued_events_.

Referenced by game_events::wml_event_pump::operator()().

◆ run_filter() [1/4]

bool game_lua_kernel::run_filter ( char const *  name,
const map_location l 
)

Runs a script from a location filter.

The script is an already compiled function given by its name.

Definition at line 6116 of file game_lua_kernel.cpp.

References lua_kernel_base::mState, run_filter(), map_location::wml_x(), and map_location::wml_y().

◆ run_filter() [2/4]

bool game_lua_kernel::run_filter ( char const *  name,
const team t 
)

Runs a script from a location filter.

The script is an already compiled function given by its name.

Definition at line 6127 of file game_lua_kernel.cpp.

References luaW_pushteam(), lua_kernel_base::mState, run_filter(), and t.

◆ run_filter() [3/4]

bool game_lua_kernel::run_filter ( char const *  name,
const unit u 
)

Runs a script from a unit filter.

The script is an already compiled function given by its name.

Definition at line 6138 of file game_lua_kernel.cpp.

References luaW_pushlocalunit(), and lua_kernel_base::mState.

Referenced by terrain_filter::match_internal(), side_filter::match_internal(), and run_filter().

◆ run_filter() [4/4]

bool game_lua_kernel::run_filter ( char const *  name,
int  nArgs 
)

Runs a script from a filter.

The script is an already compiled function given by its name.

Definition at line 6156 of file game_lua_kernel.cpp.

References b, log_error(), luaW_getglobal(), luaW_pcall(), luaW_toboolean(), lua_kernel_base::mState, game_config::path, utils::split(), and utils::STRIP_SPACES.

◆ run_wml_action()

bool game_lua_kernel::run_wml_action ( const std::string &  cmd,
const vconfig cfg,
const game_events::queued_event ev 
)

Runs a command from an event handler.

Returns
true if there is a handler for the command.
Note
cfg should be either volatile or long-lived since the Lua code may grab it for an arbitrary long time.

Definition at line 5974 of file game_lua_kernel.cpp.

References dummy, luaW_getglobal(), luaW_pcall(), luaW_pushvconfig(), lua_kernel_base::mState, and queued_events_.

Referenced by actions::undo_event::undo().

◆ run_wml_conditional()

bool game_lua_kernel::run_wml_conditional ( const std::string &  cmd,
const vconfig cfg 
)

Evaluates a WML conidition.

Returns
Whether the condition passed.
Note
cfg should be either volatile or long-lived since the Lua code may grab it for an arbitrarily long time.

Definition at line 5997 of file game_lua_kernel.cpp.

References b, ERR_WML, lg::log_to_chat(), luaW_getglobal(), luaW_pcall(), luaW_pushvconfig(), luaW_toboolean(), and lua_kernel_base::mState.

◆ run_wml_event()

bool game_lua_kernel::run_wml_event ( int  ref,
const vconfig args,
const game_events::queued_event ev,
bool *  out = nullptr 
)

Run a WML stored in the Lua registry.

Parameters
refThe unique index into the EVENT_TABLE within the Lua registry
argsArguments to pass to the event function, as a config
evThe event data for the event being fired
outIf non-null, receives the result of the called function (provided it is a boolean value)
Returns
Whether the function was successfully called; could be false if ref was invalid or if the function raised an error

Definition at line 6090 of file game_lua_kernel.cpp.

References dummy, EVENT_TABLE, luaW_pcall(), luaW_pushvconfig(), luaW_toboolean(), lua_kernel_base::mState, ON_SCOPE_EXIT, and queued_events_.

Referenced by game_events::event_handler::handle_event(), lua_event_filter::operator()(), and actions::undo_event::undo().

◆ save_game()

void game_lua_kernel::save_game ( config cfg)

Executes the game_events.on_save function and adds to cfg the returned tags.

Also flushes the [lua] tags.

Definition at line 5789 of file game_lua_kernel.cpp.

References config::child_name_view(), is_handled_file_tag(), log_error(), luaW_pcall(), luaW_toconfig(), lua_kernel_base::mState, and config::splice_children().

◆ save_wml_event() [1/3]

int game_lua_kernel::save_wml_event ( )

Store a WML event in the Lua registry, as a function.

Uses a default function that interprets ActionWML.

Returns
A unique index into the EVENT_TABLE within the Lua registry

Definition at line 6032 of file game_lua_kernel.cpp.

References EVENT_TABLE, intf_run_event_wml(), lua_kernel_base::mState, and ON_SCOPE_EXIT.

Referenced by intf_add_event(), intf_add_event_simple(), intf_add_undo_actions(), lua_event_filter::lua_event_filter(), and game_events::event_handler::register_wml_event().

◆ save_wml_event() [2/3]

int game_lua_kernel::save_wml_event ( const std::string &  name,
const std::string &  id,
const std::string &  code 
)

Store a WML event in the Lua registry, as a function.

Compiles the function from the given code.

Parameters
nameThe event name, used to generate a chunk name for the compiled function
idThe event id, used to generate a chunk name for the compiled function
codeThe actual code of the function
Returns
A unique index into the EVENT_TABLE within the Lua registry

Definition at line 6044 of file game_lua_kernel.cpp.

References ERR_LUA, EVENT_TABLE, lua_kernel_base::load_string(), lua_kernel_base::mState, and ON_SCOPE_EXIT.

◆ save_wml_event() [3/3]

int game_lua_kernel::save_wml_event ( int  idx)

Store a WML event in the Lua registry, as a function.

Uses the function at the specified Lua stack index.

Parameters
idxThe Lua stack index of the function to store
Returns
A unique index into the EVENT_TABLE within the Lua registry

Definition at line 6069 of file game_lua_kernel.cpp.

References EVENT_TABLE, lua_kernel_base::mState, and ON_SCOPE_EXIT.

◆ select_hex_callback()

void game_lua_kernel::select_hex_callback ( const map_location loc)

◆ set_game_display()

void game_lua_kernel::set_game_display ( game_display gd)

Definition at line 5715 of file game_lua_kernel.cpp.

References game_display_.

◆ set_wml_action()

void game_lua_kernel::set_wml_action ( const std::string &  cmd,
game_events::wml_action::handler  h 
)

Registers a function for use as an action handler.

Definition at line 5922 of file game_lua_kernel.cpp.

References h, and lua_kernel_base::mState.

Referenced by game_lua_kernel().

◆ set_wml_condition()

void game_lua_kernel::set_wml_condition ( const std::string &  ,
bool(*)(const vconfig &)   
)

Registers a function for use as a conditional handler.

Definition at line 5954 of file game_lua_kernel.cpp.

References cfun_wml_condition(), h, and lua_kernel_base::mState.

Referenced by game_lua_kernel().

◆ synced_state()

std::string game_lua_kernel::synced_state ( )
private

◆ teams()

std::vector< team > & game_lua_kernel::teams ( )

◆ tod_man()

tod_manager & game_lua_kernel::tod_man ( )
private

◆ units()

unit_map & game_lua_kernel::units ( )
private

Friends And Related Function Documentation

◆ current_tag

friend struct current_tag
friend

Definition at line 71 of file game_lua_kernel.hpp.

◆ game_config_glk_tag

friend struct game_config_glk_tag
friend

Definition at line 74 of file game_lua_kernel.hpp.

◆ game_config_manager

friend class game_config_manager
friend

Definition at line 70 of file game_lua_kernel.hpp.

◆ scenario_tag

friend struct scenario_tag
friend

Definition at line 72 of file game_lua_kernel.hpp.

◆ schedule_tag

friend struct schedule_tag
friend

Definition at line 73 of file game_lua_kernel.hpp.

Member Data Documentation

◆ EVENT_TABLE

int game_lua_kernel::EVENT_TABLE
private

◆ game_display_

game_display* game_lua_kernel::game_display_
private

◆ game_state_

game_state& game_lua_kernel::game_state_
private

◆ has_preloaded_

bool game_lua_kernel::has_preloaded_ = false
private

Definition at line 60 of file game_lua_kernel.hpp.

Referenced by intf_add_event(), intf_add_event_simple(), and preload_finished().

◆ level_lua_

config game_lua_kernel::level_lua_
private

Definition at line 58 of file game_lua_kernel.hpp.

Referenced by initialize().

◆ map_locked_

int game_lua_kernel::map_locked_

A value != 0 means that the shouldn't remove any units from the map, usually because we are currently operating on a unit& and removing it might cause memory corruptions note that we don't check for the dtor of lua owned units because we assume that we operate on such a unit that the lua function that invoked the operation on that unit (like wesnoth.units.add_modification, wesnoth.units.matches ..) have a local copy of that lua_unit* userdata in its stack that prevents it from being collected.

Definition at line 214 of file game_lua_kernel.hpp.

Referenced by intf_erase_unit(), intf_extract_unit(), intf_put_recall_unit(), intf_put_unit(), map_locker::map_locker(), and map_locker::~map_locker().

◆ play_controller_

play_controller& game_lua_kernel::play_controller_
private

◆ preload_config

config game_lua_kernel::preload_config
staticprivate

Definition at line 68 of file game_lua_kernel.hpp.

Referenced by extract_preload_scripts(), and initialize().

◆ preload_scripts

std::vector< config > game_lua_kernel::preload_scripts
staticprivate

Definition at line 67 of file game_lua_kernel.hpp.

Referenced by extract_preload_scripts(), and initialize().

◆ queued_events_

std::stack<game_events::queued_event const * > game_lua_kernel::queued_events_
private

◆ reports_

reports& game_lua_kernel::reports_
private

The documentation for this class was generated from the following files: