Difference between revisions of "GameConfigWML"

From The Battle for Wesnoth Wiki
(Remove DevFeature, highlight tags/attributes)
(The [game_config] tag: Document the orbs)
 
(16 intermediate revisions by 11 users not shown)
Line 1: Line 1:
This page has several unknown informations; they are represented by '???'.
 
Feel free to replace them with actual data.
 
 
 
{{WML Tags}}
 
{{WML Tags}}
 
== The [game_config] tag ==
 
== The [game_config] tag ==
Line 7: Line 4:
 
This tag is a top level WML tag which can only be used once because
 
This tag is a top level WML tag which can only be used once because
 
it defines basic settings that are used everywhere in the game.
 
it defines basic settings that are used everywhere in the game.
In official versions of Wesnoth it is in ''game.cfg''; values used there are labeled 'standard'.
+
In official versions of Wesnoth it is in ''game_config.cfg''; values used there are labeled 'standard'.
  
 +
{{Note|This page is very outdated, and will take multiple edits to update.}}
  
 
The following keys are recognised
 
The following keys are recognised
 
* '''base_income''': (standard 2) how much your leader earns without any villages
 
* '''base_income''': (standard 2) how much your leader earns without any villages
 +
* '''village_income''': (standard 1) how much your leader earns for each village you control
 +
* '''poison_amount''': (standard 8) the amount of damage poison deals to a unit
 
* '''rest_heal_amount''': (standard 2) how much HP a unit gains each turn it rests
 
* '''rest_heal_amount''': (standard 2) how much HP a unit gains each turn it rests
 
* '''recall_cost''': (standard 20) how much it costs to recall a unit; this cost is independent of level.
 
* '''recall_cost''': (standard 20) how much it costs to recall a unit; this cost is independent of level.
 
* '''kill_experience''': (standard 8) killing a unit with ''level=X'' will give ''X''*''kill_experience'' experience to the killing unit. However, if a unit has ''level=0'', it will still give half of ''X'' experience.
 
* '''kill_experience''': (standard 8) killing a unit with ''level=X'' will give ''X''*''kill_experience'' experience to the killing unit. However, if a unit has ''level=0'', it will still give half of ''X'' experience.
  
* '''icon''': (standard 'wesnoth-icon.png') the game icon file
+
* '''default_defeat_music''': (standard 'defeat.ogg,defeat2.ogg') default list of music tracks that are chosen to play on player's defeat; this can be overriden per-scenario
* '''title''': (standard 'misc/title.png') the title screen image
+
* '''default_victory_music''': (standard 'victory.ogg,victory2.ogg') default list of music tracks that are chosen to play on player's victory; this can be overriden per-scenario
* '''logo''': (standard 'misc/logo.png') the wesnoth logo which will be put over the title image
 
 
* '''title_music''': (standard 'main_menu.ogg') the music to play at the title screen
 
* '''title_music''': (standard 'main_menu.ogg') the music to play at the title screen
* '''logo_x''':      (standard 292) the x position of the logo on the title screen
 
* '''logo_y''':      (standard  120) the y position of the logo on the title screen
 
* '''buttons_x''':  (standard 760) the x position of the buttons on the title screen
 
* '''buttons_y''':  (standard 330) the y position of the buttons on the title screen
 
* '''buttons_padding''': (standard  20) space between buttons, and border in main menu
 
* '''tip_x''':      (standard 100) space between the button panel left edge and the tip-of-the-day panel right edge
 
* '''tip_y''':      (standard 500) not used (the bottom right corner of the tip-of-the-day panel is pegged to align with the bottom of the button panel)
 
* '''tip_width''':  (standard 495) max width in pixels of the tip-of-the-day panel.  The width will actually adjust to be the smallest size necessary to fit the text.  Once the max width is reached, if text must flow onto multiple lines, then the height will also automatically adjust.
 
* '''tip_padding''': (standard  20) space between the edge of the tip-of-the-day panel and an imaginary bounding box containing the text inside the panel
 
  
* '''map_image''':   (standard 'maps/wesnoth.png') the background image for the "About" screen
+
* '''energy''': (standard 'misc/bar-energy.png') the images used to display hp/xp bars.
* '''sidebar_image''': (standard 'misc/rightside.png') border of window when displaying unit statistics
+
* '''orb''': (standard 'misc/orb.png') the orb image to add on top of the hp bar, this is recolorable to show the status; see 'Orbs', [[WesnothManual]]
* '''sidebar_image_bottom''': (standard 'misc/rightside-bottom.png') border of image when displaying unit statistics
+
* '''orb_two_color''': (standard 'misc/orb-two-color.png') like '''orb''', but has two separate recolorable parts. Note this is the image to use, although the colors to use for recoloring it also have names that end '_color'.
* '''energy_image''': (standard 'misc/bar-energy.png') the images used to display hp/xp bars.
+
* '''show_moved_orb''', '''show_partial_orb''', '''show_unmoved_orb''': (default to 'yes' when omitted from the .cfg) whether to show the orb for the player's own units when they're in the given state
* '''moved_ball_image''': (standard 'misc/ball-moved.png') the orb image to add on top of the hp bar for player's moved units; see 'Orbs', [[WesnothManual]]
+
* '''show_disengaged_orb''': (defaults to 'yes' when omitted from the .cfg) whether to show a special orb instead of the "partial" orb when a unit can move but can't attack
* '''unmoved_ball_image''': (standard 'misc/ball-unmoved.png') like '''moved_ball_image''', but for player's unmoved units
+
* '''show_ally_orb''': (defaults to 'yes' when omitted from the .cfg) whether to show an orb on allied units
* ''partmoved_ball_image''': (standard 'misc/ball-partmoved.png') like '''moved_energy_image''', but for player's partially moved units
+
* '''show_enemy_orb''': (defaults to '' 'no' '' when omitted from the .cfg) whether to show an orb on opposing units
 +
* '''show_status_on_ally_orb''': (defaults to 'yes' when omitted from the .cfg) if true, during allies' turns their units have orbs that show the unmoved/partial/moved status. If true, overrides 'show_ally_orb' during that ally's turn.
 +
* '''ally_orb_color''': (standard 'lightblue') target for recoloring the ally orb
 +
* '''enemy_orb_color''': (standard 'black') target for recoloring the enemy orb, although by default this orb is not shown
 +
* '''moved_orb_color''': (standard 'red') target for recoloring the moved orb
 +
* '''partial_orb_color''': (standard 'brightorange') target for recoloring the partially-moved orb, also used for half of the disengaged orb
 +
* '''unmoved_orb_color''': (standard 'brightgreen') target for recoloring the fully-moved orb, also used for half of the disengaged orb
 +
 
 
* '''flag_image''': (standard 'image/flag'terrain/flag-1.png:150,terrain/flag-2.png:150,terrain/flag-3.png:150,terrain/flag-4.png:150') the default flag animation to mark captured villages (if no custom flag is defined in the [side] tag). By example, this animation has 4 frames of 150ms each. An automatic side-coloring is applied.  
 
* '''flag_image''': (standard 'image/flag'terrain/flag-1.png:150,terrain/flag-2.png:150,terrain/flag-3.png:150,terrain/flag-4.png:150') the default flag animation to mark captured villages (if no custom flag is defined in the [side] tag). By example, this animation has 4 frames of 150ms each. An automatic side-coloring is applied.  
 
* '''flag_icon_image''': (standard 'flags/flag-icon.png') the default flag icon to indicate the side playing in the statusbar (if no custom flag_icon is defined in the [side] tag). An automatic side-coloring is applied.  
 
* '''flag_icon_image''': (standard 'flags/flag-icon.png') the default flag icon to indicate the side playing in the statusbar (if no custom flag_icon is defined in the [side] tag). An automatic side-coloring is applied.  
 
+
* ''' hp_bar_scaling ''': (standard '0.6') The ratio of hitpoints to height used for displaying the hp bar. Can be overwritten in [unit] and [unit_type].
* '''cross_image''': (standard 'misc/cross.png') the cross image displayed on the map at start of scenarios; see [[IntroWML]]
+
* ''' xp_bar_scaling ''': (standard '0.5') The ratio of xp to height used for displaying the xp bar. Can be overwritten in [unit] and [unit_type].
* '''dot_image''': (standard 'misc/dot.png') the dot image used to draw a path on the map before scenarios
 
  
 
* '''footprint_left_nw''', '''footprint_left_n''', '''footprint_right_nw''', '''footprint_right_n''': images used to display the path that a unit would take to the tile the cursor is on.
 
* '''footprint_left_nw''', '''footprint_left_n''', '''footprint_right_nw''', '''footprint_right_n''': images used to display the path that a unit would take to the tile the cursor is on.
Line 54: Line 50:
 
* '''unreachable_image''': (standard 'terrain/darken.png') the stripes mask used to show unreachable locations
 
* '''unreachable_image''': (standard 'terrain/darken.png') the stripes mask used to show unreachable locations
  
* '''missile_n_image''': (standard 'projectiles/missile-n.png') orthogonal missile image to use if none is specified; see ''image'', '''[missile_frame]''', [[AnimationWML]]
+
* '''observer_image''': (standard 'misc/eye.png') the image to use for observer in multi-player games. (The eye in the upper right hand corner.)
* '''missile_ne_image''': (standard 'projectiles/missile-ne.png') diagonal missile image to use if none is specified; see ''image_diagonal'', '''[missile_frame]''', [[AnimationWML]]
+
* '''zoom_levels''': {{DevFeature1.13|8}} A comma-separated list of valid zoom levels, with 1.0 representing 100%.
* '''observer_image''': (standard 'misc/eye.png') the image to use for observer ???
+
 
* '''download_campaign_image''': (standard no image) the icon for the "Download more Campaigns" campaign menu option.
+
== Color Palettes ==
 +
 
 +
Color palettes are defined by two tags within '''[game_config]'''.
 +
 
 +
* '''[color_palette]''': Contains the definitions of source palettes, such as magenta. Each key defines a palette, and must be set to a comma-separated list of hexadecimal colors.
 +
* '''[color_range]''': Defines a target color palette.
 +
** '''id''': Used to reference the palette, for example from '''[side]''' or ~RC().
 +
** '''name''': A translatable name for the color. <s>This may be ignored for non-core colors?</s>
 +
** '''rgb''': A comma-separated sequence of four hexadecimal colors:
 +
**# the average shade of a unit's team-color portions
 +
**# the maximum highlight shade of a unit's team-color portions
 +
**# the minimum shadow shade of a unit's team-color portions
 +
**# the color of the markers on the mini-map.
  
 
== See Also ==
 
== See Also ==

Latest revision as of 06:15, 31 January 2023

[edit]WML Tags

A:

abilities, about, achievement, achievement_group, add_ai_behavior, advanced_preference, advancefrom, advancement, advances, affect_adjacent, ai, allied_with, allow_end_turn, allow_extra_recruit, allow_recruit, allow_undo, and, animate, animate_unit, animation, aspect, attack (replay, weapon), attack_anim, attacks (special, stats), avoid;

B:

base_unit, background_layer, berserk, binary_path, break, brush;

C:

campaign, cancel_action, candidate_action, capture_village, case, chance_to_hit, change_theme, chat, checkbox, choice, choose, clear_global_variable, clear_menu_item, clear_variable, color_adjust, color_palette, color_range, command (action, replay), continue, core, credits_group, criteria;

D:

damage, damage_type, death, deaths, default, defend, defends, defense, delay, deprecated_message, destination, difficulty, disable, disallow_end_turn, disallow_extra_recruit, disallow_recruit, do, do_command, drains, draw_weapon_anim;

E:

editor_group, editor_music, editor_times, effect, else (action, animation), elseif, endlevel, end_turn (action, replay), enemy_of, engine, entry (credits, options), era, event, experimental_filter_ability, experimental_filter_ability_active, experimental_filter_specials, extra_anim;

F:

facet, facing, fake_unit, false, feedback, female, filter (concept, event), filter_adjacent, filter_adjacent_location, filter_attack, filter_attacker, filter_base_value, filter_condition, filter_defender, filter_enemy, filter_location, filter_opponent, filter_own, filter_owner, filter_radius, filter_recall, filter_second, filter_second_attack, filter_self, filter_side, filter_student, filter_vision, filter_weapon, filter_wml, find_path, fire_event, firststrike, floating_text, fonts, for, foreach, found_item, frame;

G:

game_config, get_global_variable, goal, gold, gold_carryover;

H:

harm_unit, has_ally, has_attack, has_unit, has_achievement, have_location, have_unit, heal_on_hit, heal_unit, healed_anim, healing_anim, heals, hide_help, hide_unit, hides;

I:

idle_anim, if (action, animation, intro), illuminates, image (intro, terrain), init_side, insert_tag, inspect, item, item_group;

J:

jamming_costs, join;

K:

kill, killed;

L:

label, language, leader, leader_goal, leadership, leading_anim, levelin_anim, levelout_anim, lift_fog, limit, literal, load_resource, locale, lock_view, lua;

M:

male, menu_item, message, micro_ai, missile_frame, modification, modifications, modify_ai, modify_side, modify_turns, modify_unit, modify_unit_type, move, move_unit, move_unit_fake, move_units_fake, movement_anim, movement costs, movetype, multiplayer, multiplayer_side, music;

N:

not, note;

O:

object, objective, objectives, on_undo, open_help, option, options, or;

P:

part, petrifies, petrify, place_shroud, plague, poison, post_movement_anim, pre_movement_anim, primary_attack, primary_unit, print, progress_achievement, put_to_recall_list;

R:

race, random_placement, recall (action, replay), recalls, recruit, recruit_anim, recruiting_anim, recruits, redraw, regenerate, remove_event, remove_item, remove_object, remove_shroud, remove_sound_source, remove_time_area, remove_trait, remove_unit_overlay, repeat, replace_map, replace_schedule, replay, replay_start, reset_fog, resistance (ability, unit), resistance_defaults, resolution, resource, return, role, rule;

S:

save, scenario, screen_fade, scroll, scroll_to, scroll_to_unit, secondary_attack, secondary_unit, section, select_unit, sequence, set_achievement, set_extra_recruit, set_global_variable, set_menu_item, set_recruit, set_specials, set_variable, set_variables, sheath_weapon_anim, show_if (message, objective, set_menu_item), show_objectives, side, skirmisher, slider, slow, snapshot, sound, sound_source, source (replay, teleport), special_note, specials, split, stage, standing_anim, statistics, status, store_gold, store_items, store_locations, store_map_dimensions, store_reachable_locations, store_relative_direction, store_side, store_starting_location, store_time_of_day, store_turns, store_unit, store_unit_defense, store_unit_defense_on, store_unit_type, store_unit_type_ids, store_villages, story, swarm, sub_achievement, switch, sync_variable;

T:

target, team, teleport (ability, action), teleport_anim, terrain, terrain_defaults, terrain_graphics, terrain_mask, terrain_type, test, test_condition, test_do_attack_by_id, text_input, textdomain, theme, then, tile, time, time_area, topic, toplevel, trait, transform_unit, traveler, true, tunnel;

U:

unhide_unit, unit (action, scenario), unit_overlay, unit_type, unit_worth, units, unlock_view, unpetrify, unstore_unit, unsynced;

V:

value, variable, variables, variant, variation, victory_anim, village, vision_costs, volume;

W:

while, wml_message, wml_schema;

Z:

zoom;

The [game_config] tag

This tag is a top level WML tag which can only be used once because it defines basic settings that are used everywhere in the game. In official versions of Wesnoth it is in game_config.cfg; values used there are labeled 'standard'.

Note Note: This page is very outdated, and will take multiple edits to update.

The following keys are recognised

  • base_income: (standard 2) how much your leader earns without any villages
  • village_income: (standard 1) how much your leader earns for each village you control
  • poison_amount: (standard 8) the amount of damage poison deals to a unit
  • rest_heal_amount: (standard 2) how much HP a unit gains each turn it rests
  • recall_cost: (standard 20) how much it costs to recall a unit; this cost is independent of level.
  • kill_experience: (standard 8) killing a unit with level=X will give X*kill_experience experience to the killing unit. However, if a unit has level=0, it will still give half of X experience.
  • default_defeat_music: (standard 'defeat.ogg,defeat2.ogg') default list of music tracks that are chosen to play on player's defeat; this can be overriden per-scenario
  • default_victory_music: (standard 'victory.ogg,victory2.ogg') default list of music tracks that are chosen to play on player's victory; this can be overriden per-scenario
  • title_music: (standard 'main_menu.ogg') the music to play at the title screen
  • energy: (standard 'misc/bar-energy.png') the images used to display hp/xp bars.
  • orb: (standard 'misc/orb.png') the orb image to add on top of the hp bar, this is recolorable to show the status; see 'Orbs', WesnothManual
  • orb_two_color: (standard 'misc/orb-two-color.png') like orb, but has two separate recolorable parts. Note this is the image to use, although the colors to use for recoloring it also have names that end '_color'.
  • show_moved_orb, show_partial_orb, show_unmoved_orb: (default to 'yes' when omitted from the .cfg) whether to show the orb for the player's own units when they're in the given state
  • show_disengaged_orb: (defaults to 'yes' when omitted from the .cfg) whether to show a special orb instead of the "partial" orb when a unit can move but can't attack
  • show_ally_orb: (defaults to 'yes' when omitted from the .cfg) whether to show an orb on allied units
  • show_enemy_orb: (defaults to 'no' when omitted from the .cfg) whether to show an orb on opposing units
  • show_status_on_ally_orb: (defaults to 'yes' when omitted from the .cfg) if true, during allies' turns their units have orbs that show the unmoved/partial/moved status. If true, overrides 'show_ally_orb' during that ally's turn.
  • ally_orb_color: (standard 'lightblue') target for recoloring the ally orb
  • enemy_orb_color: (standard 'black') target for recoloring the enemy orb, although by default this orb is not shown
  • moved_orb_color: (standard 'red') target for recoloring the moved orb
  • partial_orb_color: (standard 'brightorange') target for recoloring the partially-moved orb, also used for half of the disengaged orb
  • unmoved_orb_color: (standard 'brightgreen') target for recoloring the fully-moved orb, also used for half of the disengaged orb
  • flag_image: (standard 'image/flag'terrain/flag-1.png:150,terrain/flag-2.png:150,terrain/flag-3.png:150,terrain/flag-4.png:150') the default flag animation to mark captured villages (if no custom flag is defined in the [side] tag). By example, this animation has 4 frames of 150ms each. An automatic side-coloring is applied.
  • flag_icon_image: (standard 'flags/flag-icon.png') the default flag icon to indicate the side playing in the statusbar (if no custom flag_icon is defined in the [side] tag). An automatic side-coloring is applied.
  • hp_bar_scaling : (standard '0.6') The ratio of hitpoints to height used for displaying the hp bar. Can be overwritten in [unit] and [unit_type].
  • xp_bar_scaling : (standard '0.5') The ratio of xp to height used for displaying the xp bar. Can be overwritten in [unit] and [unit_type].
  • footprint_left_nw, footprint_left_n, footprint_right_nw, footprint_right_n: images used to display the path that a unit would take to the tile the cursor is on.

The first image of each key is used for tiles which would take only 1 movement point for the selected unit to move onto; the second for ones which would take more. The 'n' and 'nw' designations distinguish between tiles which are moved from orthogonally and diagonally in the same way as described in [missile_frame], AnimationWML. The 'left' and 'right' designations are used alternately throughout the path; however, the standard values are the same for 'left' and 'right'.

  • terrain_mask_image: (standard 'terrain/alphamask.png') used to give a hex-shape from a rectangular image.
  • grid_image: (standard 'terrain/grid.png') the image used by the grid option
  • unreachable_image: (standard 'terrain/darken.png') the stripes mask used to show unreachable locations
  • observer_image: (standard 'misc/eye.png') the image to use for observer in multi-player games. (The eye in the upper right hand corner.)
  • zoom_levels: (Version 1.13.8 and later only) A comma-separated list of valid zoom levels, with 1.0 representing 100%.

Color Palettes

Color palettes are defined by two tags within [game_config].

  • [color_palette]: Contains the definitions of source palettes, such as magenta. Each key defines a palette, and must be set to a comma-separated list of hexadecimal colors.
  • [color_range]: Defines a target color palette.
    • id: Used to reference the palette, for example from [side] or ~RC().
    • name: A translatable name for the color. This may be ignored for non-core colors?
    • rgb: A comma-separated sequence of four hexadecimal colors:
      1. the average shade of a unit's team-color portions
      2. the maximum highlight shade of a unit's team-color portions
      3. the minimum shadow shade of a unit's team-color portions
      4. the color of the markers on the mini-map.

See Also

This page was last edited on 31 January 2023, at 06:15.