Difference between revisions of "SavefileWML"

From The Battle for Wesnoth Wiki
(the format for Wesnoth savegames: add tags list)
(Remove DevFeature, highlight tags and attributes)
Line 16: Line 16:
  
 
the following keys are recognized for [save]:
 
the following keys are recognized for [save]:
* ''save'' heading of the save; displayed in bold
+
* '''save''': heading of the save; displayed in bold
* ''mod_time'' a number describing when the savefile was last edited
+
* '''mod_time''': a number describing when the savefile was last edited
 
(i.e. when the game was saved).
 
(i.e. when the game was saved).
 
Display format will not be described
 
Display format will not be described
* ''campaign_type'' whether the scenario is a scenario or multiplayer.
+
* '''campaign_type''': whether the scenario is a scenario or multiplayer.
 
Displayed as is
 
Displayed as is
* ''turn'' describes which turn it is, and the number of turns allowed in the scenario.
+
* '''turn''': describes which turn it is, and the number of turns allowed in the scenario.
 
Displayed in the format '''Turn ''turn'''''
 
Displayed in the format '''Turn ''turn'''''
* ''difficulty'' the difficulty level of the savegame.
+
* '''difficulty''': the difficulty level of the savegame.
 
Displayed in the format '''Difficulty: ''difficulty'''''
 
Displayed in the format '''Difficulty: ''difficulty'''''
* ''leader'' a unit type.
+
* '''leader''': a unit type.
 
This unit type's picture will be displayed to the left
 
This unit type's picture will be displayed to the left
* ''map_data'' the data for the map.
+
* '''map_data''': the data for the map.
 
The mini-map generated by this data is displayed to the right
 
The mini-map generated by this data is displayed to the right
* ''replay''
+
* '''replay'''
* ''scenario''
+
* '''scenario'''
* ''snapshot''
+
* '''snapshot'''
  
 
The savefile itself describes two things- a position, and a replay.
 
The savefile itself describes two things- a position, and a replay.
Line 41: Line 41:
  
 
In addition to the [snapshot] tag, the following key/tags are recognized:
 
In addition to the [snapshot] tag, the following key/tags are recognized:
* ''label'' obsolete? It is the same as ''save'' in [save]
+
* '''label''': obsolete? It is the same as ''save'' in [save]
* ''campaign_define'' when this replay is loaded, the symbol ''campaign_define'' will be stored.
+
* '''campaign_define''': when this replay is loaded, the symbol ''campaign_define'' will be stored.
 
See also "#ifdef", [[PreprocessorRef]]
 
See also "#ifdef", [[PreprocessorRef]]
* ''campaign_type//,//scenario'' the tag type and ID of the scenario, respectively. See [[ScenarioWML]]
+
* '''campaign_type''', '''scenario'': the tag type and ID of the scenario, respectively. See [[ScenarioWML]]
* ''version'' the version of Wesnoth this game was saved by.
+
* '''version''': the version of Wesnoth this game was saved by.
 
If the savegame is from a different version of Wesnoth than the one currently running, the message "This save is from a
 
If the savegame is from a different version of Wesnoth than the one currently running, the message "This save is from a
 
different version of the game. Do you want to try to load it?" is displayed
 
different version of the game. Do you want to try to load it?" is displayed
* ''can_recruit'' the set of unit types side 1 is allowed to recruit.
+
* '''can_recruit''': the set of unit types side 1 is allowed to recruit.
* ''difficulty'' the difficulty level of the savegame.
+
* '''difficulty''': the difficulty level of the savegame.
 
Normal values are "EASY", "NORMAL", and "HARD". See [[CampaignWML]]
 
Normal values are "EASY", "NORMAL", and "HARD". See [[CampaignWML]]
* ''gold'' the amount of gold the player has
+
* '''gold''': the amount of gold the player has
* ''playing_team'' the number of the team whose turn it is, starting with 0
+
* '''playing_team''': the number of the team whose turn it is, starting with 0
* ''turn_at'' the number of the current turn
+
* '''turn_at''': the number of the current turn
 
* ''snapshot''
 
* ''snapshot''
* '''[variables]''' a list of the current values of all variables.
+
* '''[variables]''': a list of the current values of all variables.
 
The attribute '''''variable//=//value//''' means that the variable ''variable'' has the value ''value''.
 
The attribute '''''variable//=//value//''' means that the variable ''variable'' has the value ''value''.
 
The tag '''[''array//]''' describes a unit stored in the array ''array'' (see [[SingleUnitWML]]).
 
The tag '''[''array//]''' describes a unit stored in the array ''array'' (see [[SingleUnitWML]]).
 
See also [[VariablesWML]]
 
See also [[VariablesWML]]
* '''[replay]''' describes what should be displayed if the option "Show replay" is selected
+
* '''[replay]''': describes what should be displayed if the option "Show replay" is selected
** '''[command]''' describes one action.
+
** '''[command]''': describes one action.
 
Syntax for [command] is described in [[ReplayWML]]
 
Syntax for [command] is described in [[ReplayWML]]
* '''[statistics]''' describes previous scenarios
+
* '''[statistics]''': describes previous scenarios
** ''mid_scenario'' if "false", the scenario will be reloaded and any modifications will be played with.
+
** '''mid_scenario''': if "false", the scenario will be reloaded and any modifications will be played with.
** '''[scenario]''' describes basic statistics of a previous scenario.
+
** '''[scenario]''': describes basic statistics of a previous scenario.
 
See [[StatisticalScenarioWML]] for a description of [scenario]
 
See [[StatisticalScenarioWML]] for a description of [scenario]
* '''[unit]''' describes a unit in the recall list. See [[SingleUnitWML]]
+
* '''[unit]''': describes a unit in the recall list. See [[SingleUnitWML]]
* '''[replay_start]''' describes the position the player was in when the game started.
+
* '''[replay_start]''': describes the position the player was in when the game started. Has the same keys and tags as [scenario] (see [[ScenarioWML]]).
has the same keys and tags as [scenario] (see [[ScenarioWML]]).
 
 
In addition to the [scenario] keys and tags, it has the following keys:
 
In addition to the [scenario] keys and tags, it has the following keys:
** ''era'' the name of the era. See [[EraWML]]
+
** '''era''': the name of the era. See [[EraWML]]
** ''experience_modifier'' all units' maximum experience is multiplied by this number
+
** '''experience_modifier''': all units' maximum experience is multiplied by this number
** ''observer'' whether the player is an observer
+
** '''observer''': whether the player is an observer
** ''modify_placing''
+
** '''modify_placing''':
 +
 
  
 
== See Also ==
 
== See Also ==

Revision as of 15:24, 19 February 2008

[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, credits_group, criteria;

D:

damage, 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, found_item, for, foreach, 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, 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 format for Wesnoth savegames

A Wesnoth savegame has two parts. One is a file stored in ~saves/ (See "user data directory", PreprocessorRef). The other is a [save] tag in ~save_index. Each savegame describes a position in a scenario which can be loaded by pressing the "Load" button in-game.

In order to view or modify these files, the option "Binary Saves" (Advanced Preferences) must be set to "No". Also, since they are not config(.cfg) files the normal coloring will not be generated. To generate coloring, simply save the file as .cfg, then open it again.

The [save] tag is used to describe a save so that information about the save can be displayed in the "Load game" menu before the savefile is opened (loading savefiles takes a while)

the following keys are recognized for [save]:

  • save: heading of the save; displayed in bold
  • mod_time: a number describing when the savefile was last edited

(i.e. when the game was saved). Display format will not be described

  • campaign_type: whether the scenario is a scenario or multiplayer.

Displayed as is

  • turn: describes which turn it is, and the number of turns allowed in the scenario.

Displayed in the format Turn turn

  • difficulty: the difficulty level of the savegame.

Displayed in the format Difficulty: difficulty

  • leader: a unit type.

This unit type's picture will be displayed to the left

  • map_data: the data for the map.

The mini-map generated by this data is displayed to the right

  • replay
  • scenario
  • snapshot

The savefile itself describes two things- a position, and a replay. Each of these is described by describing a starting position, then describing a set of actions. The [snapshot] tag has the same format as the rest of the savefile, except that the [replay_start] keys have been moved to toplevel. It describes how the game should be loaded when "Show replay" is not selected

In addition to the [snapshot] tag, the following key/tags are recognized:

  • label: obsolete? It is the same as save in [save]
  • campaign_define: when this replay is loaded, the symbol campaign_define will be stored.

See also "#ifdef", PreprocessorRef

  • campaign_type', scenario: the tag type and ID of the scenario, respectively. See ScenarioWML
  • version: the version of Wesnoth this game was saved by.

If the savegame is from a different version of Wesnoth than the one currently running, the message "This save is from a different version of the game. Do you want to try to load it?" is displayed

  • can_recruit: the set of unit types side 1 is allowed to recruit.
  • difficulty: the difficulty level of the savegame.

Normal values are "EASY", "NORMAL", and "HARD". See CampaignWML

  • gold: the amount of gold the player has
  • playing_team: the number of the team whose turn it is, starting with 0
  • turn_at: the number of the current turn
  • snapshot
  • [variables]: a list of the current values of all variables.

The attribute variable//=//value// means that the variable variable has the value value. The tag [array//] describes a unit stored in the array array (see SingleUnitWML). See also VariablesWML

  • [replay]: describes what should be displayed if the option "Show replay" is selected
    • [command]: describes one action.

Syntax for [command] is described in ReplayWML

  • [statistics]: describes previous scenarios
    • mid_scenario: if "false", the scenario will be reloaded and any modifications will be played with.
    • [scenario]: describes basic statistics of a previous scenario.

See StatisticalScenarioWML for a description of [scenario]

  • [unit]: describes a unit in the recall list. See SingleUnitWML
  • [replay_start]: describes the position the player was in when the game started. Has the same keys and tags as [scenario] (see ScenarioWML).

In addition to the [scenario] keys and tags, it has the following keys:

    • era: the name of the era. See EraWML
    • experience_modifier: all units' maximum experience is multiplied by this number
    • observer: whether the player is an observer
    • modify_placing:


See Also