The Battle for Wesnoth  1.15.0+dev
Classes | Macros | Typedefs | Functions | Variables
game_lua_kernel.cpp File Reference

Provides a Lua interpreter, to be embedded in WML. More...

#include "scripting/game_lua_kernel.hpp"
#include "actions/attack.hpp"
#include "actions/advancement.hpp"
#include "actions/move.hpp"
#include "actions/vision.hpp"
#include "ai/composite/ai.hpp"
#include "ai/composite/component.hpp"
#include "ai/composite/contexts.hpp"
#include "ai/lua/engine_lua.hpp"
#include "ai/composite/rca.hpp"
#include "ai/composite/stage.hpp"
#include "ai/configuration.hpp"
#include "ai/lua/core.hpp"
#include "ai/manager.hpp"
#include "attack_prediction.hpp"
#include "chat_events.hpp"
#include "config.hpp"
#include "display_chat_manager.hpp"
#include "formatter.hpp"
#include "game_board.hpp"
#include "game_classification.hpp"
#include "game_config.hpp"
#include "game_config_manager.hpp"
#include "game_data.hpp"
#include "game_display.hpp"
#include "game_errors.hpp"
#include "game_events/conditional_wml.hpp"
#include "game_events/entity_location.hpp"
#include "game_events/pump.hpp"
#include "preferences/game.hpp"
#include "help/help.hpp"
#include "log.hpp"
#include "utils/make_enum.hpp"
#include "map/map.hpp"
#include "map/label.hpp"
#include "map/location.hpp"
#include "mouse_events.hpp"
#include "mp_game_settings.hpp"
#include "pathfind/pathfind.hpp"
#include "pathfind/teleport.hpp"
#include "play_controller.hpp"
#include "recall_list_manager.hpp"
#include "replay.hpp"
#include "reports.hpp"
#include "resources.hpp"
#include "scripting/lua_audio.hpp"
#include "scripting/lua_unit.hpp"
#include "scripting/lua_unit_attacks.hpp"
#include "scripting/lua_common.hpp"
#include "scripting/lua_cpp_function.hpp"
#include "scripting/lua_gui2.hpp"
#include "scripting/lua_pathfind_cost_calculator.hpp"
#include "scripting/lua_race.hpp"
#include "scripting/lua_team.hpp"
#include "scripting/lua_unit_type.hpp"
#include "scripting/push_check.hpp"
#include "synced_commands.hpp"
#include "color.hpp"
#include "sdl/surface.hpp"
#include "side_filter.hpp"
#include "sound.hpp"
#include "soundsource.hpp"
#include "synced_context.hpp"
#include "synced_user_choice.hpp"
#include "team.hpp"
#include "terrain/terrain.hpp"
#include "terrain/filter.hpp"
#include "terrain/translation.hpp"
#include "terrain/type_data.hpp"
#include "time_of_day.hpp"
#include "tod_manager.hpp"
#include "tstring.hpp"
#include "units/unit.hpp"
#include "units/animation_component.hpp"
#include "units/udisplay.hpp"
#include "units/filter.hpp"
#include "units/map.hpp"
#include "units/ptr.hpp"
#include "units/types.hpp"
#include "variable.hpp"
#include "variable_info.hpp"
#include "whiteboard/manager.hpp"
#include "wml_exception.hpp"
#include "deprecation.hpp"
#include "utils/functional.hpp"
#include <boost/range/algorithm/copy.hpp>
#include <boost/range/adaptors.hpp>
#include <cassert>
#include <cstring>
#include <iterator>
#include <map>
#include <new>
#include <set>
#include <sstream>
#include <utility>
#include <algorithm>
#include <vector>
#include <SDL2/SDL_timer.h>
#include "lua/lauxlib.h"
#include "lua/lua.h"

Go to the source code of this file.

Classes

struct  map_locker
 

Macros

#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)
 

Typedefs

typedef int(game_lua_kernel::* member_callback) (lua_State *)
 
typedef int(game_lua_kernel::* member_callback2) (lua_State *, bool)
 
using wml_conditional_handler = bool(*)(const vconfig &)
 

Functions

template<member_callback method>
int dispatch (lua_State *L)
 
template<member_callback2 method, bool b>
int dispatch2 (lua_State *L)
 
static int special_locations_len (lua_State *L)
 
static int special_locations_next (lua_State *L)
 
static int special_locations_pairs (lua_State *L)
 
static int special_locations_index (lua_State *L)
 
static int special_locations_newindex (lua_State *L)
 
static void push_locations_table (lua_State *L)
 
static int intf_get_viewing_side (lua_State *L)
 Gets currently viewing side. More...
 
static int impl_animator_collect (lua_State *L)
 
static int impl_add_animation (lua_State *L)
 
static int impl_clear_animation (lua_State *L)
 
static int impl_animator_get (lua_State *L)
 
static int intf_get_era (lua_State *L)
 Gets a table for an era tag. More...
 
static int impl_end_level_data_get (lua_State *L)
 
static int impl_end_level_data_collect (lua_State *L)
 
static int intf_eval_conditional (lua_State *L)
 Evaluates a boolean WML conditional. More...
 
static bool intf_find_cost_map_helper (const unit *ptr)
 
template<typename T >
static int load_fake_units (lua_State *L, int arg, T &fake_units)
 
static int intf_create_unit (lua_State *L)
 Creates a unit from its WML description. More...
 
static int intf_copy_unit (lua_State *L)
 Copies a unit. More...
 
static int intf_unit_resistance (lua_State *L)
 Returns unit resistance against a given attack type. More...
 
static int intf_unit_movement_cost (lua_State *L)
 Returns unit movement cost on a given terrain. More...
 
static int intf_unit_vision_cost (lua_State *L)
 Returns unit vision cost on a given terrain. More...
 
static int intf_unit_jamming_cost (lua_State *L)
 Returns unit jamming cost on a given terrain. More...
 
static int intf_unit_defense (lua_State *L)
 Returns unit defense on a given terrain. More...
 
static int intf_transform_unit (lua_State *L)
 Changes a unit to the given unit type. More...
 
static void luaW_pushsimdata (lua_State *L, const combatant &cmb)
 Puts a table at the top of the stack with some combat result. More...
 
static void luaW_pushsimweapon (lua_State *L, const battle_context_unit_stats &bcustats)
 Puts a table at the top of the stack with information about the combatants' weapons. More...
 
static int intf_set_music (lua_State *L)
 Modifies the music playlist. More...
 
static int intf_sound_volume (lua_State *L)
 Gets/sets the current sound volume. More...
 
static int intf_synchronize_choice (lua_State *L)
 Ensures a value is synchronized among all the clients. More...
 
static int intf_synchronize_choices (lua_State *L)
 Ensures a value is synchronized among all the clients. More...
 
static int intf_do_unsynced (lua_State *L)
 Calls a function in an unsynced context (this specially means that all random calls used by that function will be unsynced). More...
 
static int intf_modify_ai (lua_State *L, const char *action)
 
static int intf_switch_ai (lua_State *L)
 
static int intf_append_ai (lua_State *L)
 
static int intf_get_traits (lua_State *L)
 .Returns information about the global traits known to the engine. More...
 
static int intf_add_modification (lua_State *L)
 Adds a modification to a unit. More...
 
static int intf_remove_modifications (lua_State *L)
 Removes modifications from a unit. More...
 
static int intf_advance_unit (lua_State *L)
 Advances a unit if the unit has enough xp. More...
 
static int intf_add_known_unit (lua_State *L)
 Adds a new known unit type to the help system. More...
 
static int intf_modify_ai_old (lua_State *L)
 Lua frontend to the modify_ai functionality. More...
 
static int cfun_exec_candidate_action (lua_State *L)
 
static int cfun_exec_stage (lua_State *L)
 
static void push_component (lua_State *L, ai::component *c, const std::string &ct="")
 
static int intf_debug_ai (lua_State *L)
 Debug access to the ai tables. More...
 
static int intf_invoke_synced_command (lua_State *L)
 
static bool is_handled_file_tag (const std::string &s)
 
static int cfun_wml_condition (lua_State *L)
 Executes its upvalue as a wml condition and returns the result. More...
 

Variables

static lg::log_domain log_scripting_lua ("scripting/lua")
 
static const char animatorKey [] = "unit animator"
 
static char const * handled_file_tags []
 These are the child tags of [scenario] (and the like) that are handled elsewhere (in the C++ code). More...
 

Detailed Description

Provides a Lua interpreter, to be embedded in WML.

Note
Naming conventions:
  • intf_ functions are exported in the wesnoth domain,
  • impl_ functions are hidden inside metatables,
  • cfun_ functions are closures,
  • luaW_ functions are helpers in Lua style.

Definition in file game_lua_kernel.cpp.

Macro Definition Documentation

◆ ERR_LUA

#define ERR_LUA   LOG_STREAM(err, log_scripting_lua)

◆ LOG_LUA

#define LOG_LUA   LOG_STREAM(info, log_scripting_lua)

◆ WRN_LUA

#define WRN_LUA   LOG_STREAM(warn, log_scripting_lua)

Typedef Documentation

◆ member_callback

typedef int(game_lua_kernel::* member_callback) (lua_State *)

Definition at line 144 of file game_lua_kernel.cpp.

◆ member_callback2

typedef int(game_lua_kernel::* member_callback2) (lua_State *, bool)

Definition at line 152 of file game_lua_kernel.cpp.

◆ wml_conditional_handler

using wml_conditional_handler = bool(*)(const vconfig&)

Definition at line 4664 of file game_lua_kernel.cpp.

Function Documentation

◆ cfun_exec_candidate_action()

static int cfun_exec_candidate_action ( lua_State L)
static

◆ cfun_exec_stage()

static int cfun_exec_stage ( lua_State L)
static

Definition at line 3529 of file game_lua_kernel.cpp.

References lua_getfield(), lua_pop, lua_touserdata(), and ai::stage::play_stage().

Referenced by push_component().

◆ cfun_wml_condition()

static int cfun_wml_condition ( lua_State L)
static

Executes its upvalue as a wml condition and returns the result.

Definition at line 4669 of file game_lua_kernel.cpp.

References h, lua_pushboolean(), lua_touserdata(), lua_upvalueindex, and luaW_checkvconfig().

Referenced by game_lua_kernel::set_wml_condition().

◆ dispatch()

template<member_callback method>
int dispatch ( lua_State L)

Definition at line 147 of file game_lua_kernel.cpp.

Referenced by events::console_handler::console_handler().

◆ dispatch2()

template<member_callback2 method, bool b>
int dispatch2 ( lua_State L)

Definition at line 155 of file game_lua_kernel.cpp.

References b.

◆ impl_add_animation()

static int impl_add_animation ( lua_State L)
static

◆ impl_animator_collect()

static int impl_animator_collect ( lua_State L)
static

Definition at line 333 of file game_lua_kernel.cpp.

References animatorKey, and luaL_checkudata().

Referenced by game_lua_kernel::intf_create_animator().

◆ impl_animator_get()

static int impl_animator_get ( lua_State L)
static

Definition at line 463 of file game_lua_kernel.cpp.

References lua_tostring, and luaW_getmetafield().

Referenced by game_lua_kernel::intf_create_animator().

◆ impl_clear_animation()

static int impl_clear_animation ( lua_State L)
static

◆ impl_end_level_data_collect()

static int impl_end_level_data_collect ( lua_State L)
static

Definition at line 1623 of file game_lua_kernel.cpp.

References lua_touserdata(), and UNUSED.

Referenced by game_lua_kernel::intf_get_end_level_data().

◆ impl_end_level_data_get()

static int impl_end_level_data_get ( lua_State L)
static

◆ intf_add_known_unit()

static int intf_add_known_unit ( lua_State L)
static

Adds a new known unit type to the help system.

  • Arg 1: string.

Definition at line 3305 of file game_lua_kernel.cpp.

References preferences::encountered_units(), unit_type_data::find(), luaL_argerror(), luaL_checkstring, and unit_types.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_add_modification()

static int intf_add_modification ( lua_State L)
static

Adds a modification to a unit.

  • Arg 1: unit.
  • Arg 2: string.
  • Arg 3: WML table.
  • Arg 4: (optional) Whether to add to [modifications] - default true

Definition at line 3228 of file game_lua_kernel.cpp.

References unit::add_modification(), deprecated_message(), lua_isnone, luaL_argerror(), luaL_checkstring, luaW_checkconfig(), luaW_checkunit(), luaW_toboolean(), and PREEMPTIVE.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_advance_unit()

static int intf_advance_unit ( lua_State L)
static

Advances a unit if the unit has enough xp.

  • Arg 1: unit.
  • Arg 2: optional boolean whether to animate the advancement.
  • Arg 3: optional boolean whether to fire advancement events.

Definition at line 3284 of file game_lua_kernel.cpp.

References advance_unit_at(), advance_unit_params::animate(), advance_unit_params::fire_events(), unit::get_location(), lua_isboolean, luaW_checkunit(), and luaW_toboolean().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_append_ai()

static int intf_append_ai ( lua_State L)
static

◆ intf_copy_unit()

static int intf_copy_unit ( lua_State L)
static

Copies a unit.

  • Arg 1: unit userdata.
  • Ret 1: unit userdata.

Definition at line 2420 of file game_lua_kernel.cpp.

References unit::clone(), luaW_checkunit(), and luaW_pushunit().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_create_unit()

static int intf_create_unit ( lua_State L)
static

Creates a unit from its WML description.

  • Arg 1: WML table.
  • Ret 1: unit userdata.

Definition at line 2406 of file game_lua_kernel.cpp.

References unit::create(), luaW_checkconfig(), and luaW_pushunit().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_debug_ai()

static int intf_debug_ai ( lua_State L)
static

◆ intf_do_unsynced()

static int intf_do_unsynced ( lua_State L)
static

Calls a function in an unsynced context (this specially means that all random calls used by that function will be unsynced).

This is usually used together with an unsynced if like 'if controller != network'

  • Arg 1: function that will be called during the unsynced context.

Definition at line 2952 of file game_lua_kernel.cpp.

References lua_pushvalue(), and luaW_pcall().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_eval_conditional()

static int intf_eval_conditional ( lua_State L)
static

Evaluates a boolean WML conditional.

  • Arg 1: WML table.
  • Ret 1: boolean.

Definition at line 1687 of file game_lua_kernel.cpp.

References b, cond(), game_events::conditional_passed(), lua_pushboolean(), and luaW_checkvconfig().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_find_cost_map_helper()

static bool intf_find_cost_map_helper ( const unit ptr)
static

◆ intf_get_era()

static int intf_get_era ( lua_State L)
static

Gets a table for an era tag.

  • Arg 1: userdata (ignored).
  • Arg 2: string containing id of the desired era
  • Ret 1: config for the era

Definition at line 1365 of file game_lua_kernel.cpp.

References game_config_manager::get(), luaL_checkstring, and luaW_pushconfig().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_get_traits()

static int intf_get_traits ( lua_State L)
static

.Returns information about the global traits known to the engine.

  • Ret 1: Table with named fields holding wml tables describing the traits.

Definition at line 3205 of file game_lua_kernel.cpp.

References lua_newtable, lua_pushstring(), lua_rawset(), luaW_pushconfig(), unit_type_data::traits(), and unit_types.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_get_viewing_side()

static int intf_get_viewing_side ( lua_State L)
static

Gets currently viewing side.

  • Ret 1: integer specifying the currently viewing side
  • Ret 2: Bool whether the vision is not limited to that team, this can for example be true during replays.

Definition at line 319 of file game_lua_kernel.cpp.

References display::get_singleton(), lua_pushboolean(), and lua_pushinteger().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_invoke_synced_command()

static int intf_invoke_synced_command ( lua_State L)
static

◆ intf_modify_ai()

static int intf_modify_ai ( lua_State L,
const char *  action 
)
static

◆ intf_modify_ai_old()

static int intf_modify_ai_old ( lua_State L)
static

Lua frontend to the modify_ai functionality.

  • Arg 1: config.

Definition at line 3502 of file game_lua_kernel.cpp.

References deprecated_message(), ai::manager::get_singleton(), luaW_toconfig(), ai::manager::modify_active_ai_for_side(), and PREEMPTIVE.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_remove_modifications()

static int intf_remove_modifications ( lua_State L)
static

Removes modifications from a unit.

  • Arg 1: unit
  • Arg 2: table (filter as [filter_wml])
  • Arg 3: type of modification (default "object")

Definition at line 3259 of file game_lua_kernel.cpp.

References config::all_children_count(), config::attribute_count(), config::attribute_range(), config::child_range(), unit::expire_modifications(), unit::get_modifications(), luaL_optstring, luaW_checkconfig(), and luaW_checkunit().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_set_music()

static int intf_set_music ( lua_State L)
static

Modifies the music playlist.

  • Arg 1: WML table, or nil to force changes.

Definition at line 2665 of file game_lua_kernel.cpp.

References sound::commit_music_changes(), deprecated_message(), INDEFINITE, lua_isnoneornil, luaW_checkconfig(), and sound::play_music_config().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_sound_volume()

static int intf_sound_volume ( lua_State L)
static

Gets/sets the current sound volume.

  • Arg 1: (optional) New volume to set
  • Return: Original volume

Definition at line 2697 of file game_lua_kernel.cpp.

References f, sound::get_sound_volume(), lua_isnumber(), lua_pushnumber(), lua_tonumber, luaL_argerror(), sound::set_sound_volume(), and preferences::sound_volume().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_switch_ai()

static int intf_switch_ai ( lua_State L)
static

◆ intf_synchronize_choice()

static int intf_synchronize_choice ( lua_State L)
static

Ensures a value is synchronized among all the clients.

  • Arg 1: optional string specifying the type id of the choice.
  • Arg 2: function to compute the value, called if the client is the master.
  • Arg 3: optional function, called instead of the first function if the user is not human.
  • Arg 4: optional integer specifying, on which side the function should be evaluated.
  • Ret 1: WML table returned by the function.

Definition at line 2884 of file game_lua_kernel.cpp.

References _(), mp_sync::get_user_choice(), lua_isfunction, lua_tointeger, luaL_argerror(), luaW_pushconfig(), and luaW_totstring().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_synchronize_choices()

static int intf_synchronize_choices ( lua_State L)
static

Ensures a value is synchronized among all the clients.

  • Arg 1: optional string the id of this type of user input, may only contain characters a-z and '_'
  • Arg 2: function to compute the value, called if the client is the master.
  • Arg 3: an optional function to compute the value, if the side was null/empty controlled.
  • Arg 4: an array of integers specifying, on which side the function should be evaluated.
  • Ret 1: a map int -> WML tabls.

Definition at line 2919 of file game_lua_kernel.cpp.

References _(), mp_sync::get_user_choice_multiple_sides(), lua_isfunction, lua_push(), luaL_argerror(), and luaW_totstring().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_transform_unit()

static int intf_transform_unit ( lua_State L)
static

Changes a unit to the given unit type.

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

Definition at line 2529 of file game_lua_kernel.cpp.

References unit::advance_to(), unit_type_data::find(), luaL_argerror(), luaL_checkstring, luaW_checkunit(), and unit_types.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_unit_defense()

static int intf_unit_defense ( lua_State L)
static

Returns unit defense on a given terrain.

  • Arg 1: unit userdata.
  • Arg 2: string containing the terrain type.
  • Ret 1: integer.

Definition at line 2501 of file game_lua_kernel.cpp.

References unit::defense_modifier(), lua_pushinteger(), luaL_checkstring, luaW_checkunit(), t_translation::read_terrain_code(), and t.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_unit_jamming_cost()

static int intf_unit_jamming_cost ( lua_State L)
static

Returns unit jamming cost on a given terrain.

  • Arg 1: unit userdata.
  • Arg 2: string containing the terrain type.
  • Ret 1: integer.

Definition at line 2486 of file game_lua_kernel.cpp.

References unit::jamming_cost(), lua_pushinteger(), luaL_checkstring, luaW_checkunit(), t_translation::read_terrain_code(), and t.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_unit_movement_cost()

static int intf_unit_movement_cost ( lua_State L)
static

Returns unit movement cost on a given terrain.

  • Arg 1: unit userdata.
  • Arg 2: string containing the terrain type.
  • Ret 1: integer.

Definition at line 2456 of file game_lua_kernel.cpp.

References lua_pushinteger(), luaL_checkstring, luaW_checkunit(), unit::movement_cost(), t_translation::read_terrain_code(), and t.

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_unit_resistance()

static int intf_unit_resistance ( lua_State L)
static

Returns unit resistance against a given attack type.

  • Arg 1: unit userdata.
  • Arg 2: string containing the attack type.
  • Arg 3: boolean indicating if attacker.
  • Arg 4: optional location.
  • Ret 1: integer.

Definition at line 2435 of file game_lua_kernel.cpp.

References a, unit::get_location(), lua_isnoneornil, lua_pushinteger(), luaL_checkstring, luaW_checklocation(), luaW_checkunit(), luaW_toboolean(), and unit::resistance_against().

Referenced by game_lua_kernel::game_lua_kernel().

◆ intf_unit_vision_cost()

static int intf_unit_vision_cost ( lua_State L)
static

Returns unit vision cost on a given terrain.

  • Arg 1: unit userdata.
  • Arg 2: string containing the terrain type.
  • Ret 1: integer.

Definition at line 2471 of file game_lua_kernel.cpp.

References lua_pushinteger(), luaL_checkstring, luaW_checkunit(), t_translation::read_terrain_code(), t, and unit::vision_cost().

Referenced by game_lua_kernel::game_lua_kernel().

◆ is_handled_file_tag()

static bool is_handled_file_tag ( const std::string &  s)
static

Definition at line 4479 of file game_lua_kernel.cpp.

References handled_file_tags, and t.

Referenced by game_lua_kernel::load_game(), and game_lua_kernel::save_game().

◆ load_fake_units()

template<typename T >
static int load_fake_units ( lua_State L,
int  arg,
T &  fake_units 
)
static

◆ luaW_pushsimdata()

static void luaW_pushsimdata ( lua_State L,
const combatant cmb 
)
static

◆ luaW_pushsimweapon()

static void luaW_pushsimweapon ( lua_State L,
const battle_context_unit_stats bcustats 
)
static

◆ push_component()

static void push_component ( lua_State L,
ai::component c,
const std::string &  ct = "" 
)
static

◆ push_locations_table()

static void push_locations_table ( lua_State L)
static

◆ special_locations_index()

static int special_locations_index ( lua_State L)
static

Definition at line 254 of file game_lua_kernel.cpp.

References left, luaL_checkstring, and luaW_pushlocation().

Referenced by push_locations_table().

◆ special_locations_len()

static int special_locations_len ( lua_State L)
static

Definition at line 217 of file game_lua_kernel.cpp.

References lua_pushnumber(), and utf8::size().

Referenced by push_locations_table().

◆ special_locations_newindex()

static int special_locations_newindex ( lua_State L)
static

Definition at line 267 of file game_lua_kernel.cpp.

References lua_error(), and lua_pushstring().

Referenced by push_locations_table().

◆ special_locations_next()

static int special_locations_next ( lua_State L)
static

◆ special_locations_pairs()

static int special_locations_pairs ( lua_State L)
static

Variable Documentation

◆ animatorKey

const char animatorKey[] = "unit animator"
static

◆ handled_file_tags

char const* handled_file_tags[]
static
Initial value:
{
"color_palette", "color_range", "display", "end_level_data", "era",
"event", "generator", "label", "lua", "map", "menu_item",
"modification", "music", "options", "side", "sound_source",
"story", "terrain_graphics", "time", "time_area", "tunnel",
"undo_stack", "variables"
}

These are the child tags of [scenario] (and the like) that are handled elsewhere (in the C++ code).

Any child tags not in this list will be passed to Lua's on_load event.

Definition at line 4471 of file game_lua_kernel.cpp.

Referenced by is_handled_file_tag().

◆ log_scripting_lua

lg::log_domain log_scripting_lua("scripting/lua")
static