Wesnoth data is stored in 11 different directories, but most of the information is in data/. == data/ == is divided into 5 subdirectories.
To understand how data/ works, it is suggested that you read BuildingScenariosWML.
This page contains links explaining how data in each subdirectory of data/|| and the ||game.cfg file work.
Some information is stored in files in the data/ directory itself. These are explained on this page.
battleworld.cfg: This is a multiplayer scenario (See multiplayer.cfg)
convert.pl: !(What does this file do?)
deaths.cfg: This is a partial scenario file (See BuildingScenarios) used as a shortcut that makes death of Delfador, Kalenz, or Li'sar cause the player's defeat on any scenario in the Heir to the Throne campaign. See BuildingScenariosWML for information on how to make shortcuts.
intro.cfg: This is a partial scenario file containing a [story] tag. It is accessed only once, in the file scenarios/Elves_Besieged. See BuildingScenariosAdvanced for info on [story] tags.
items.cfg: This contains macros for objects and items (Objects and items are subelements of scenario files. See BuildingScenariosReference for further information).
multiplayer.cfg: This file contains all multiplayer scenarios except Battleworld. Multiplayer scenarios have the same format as normal scenarios but are contained within a [multiplayer]|| tag instead of a ||[scenario] tag. == multiplayer.cfg also contains [era] == tags which contain information about the possible eras a multiplayer game can take place in. Each era contains [multiplayer_side] tags which contain information about the different sides available in that area.
names.cfg: Names in Wesnoth are generated by randomly combining parts of the base names, which are contained in this file.
sample_translation.cfg: This is not a data file. It is a template for translations.
scenario-test.cfg: This file contains a test scenario (accessed by the command wesnoth -t). Any scenario enclosed in [test] tags with the attribute id=test is interpreted by Wesnoth as being the test scenario.
schedules.cfg: This file contains the definitions for the different times of day.
terrain.cfg: This file contains a series of [terrain] tags, each of which creates a new terrain.
tutorial.cfg: This file contains the tutorial (accessed by the button 'tutorial' in-game). Any scenario enclosed in [tutorial] tags with the attribute id=tutorial is interpreted by Wesnoth as being the tutorial.
utils.cfg: This contains macros for scenario files.
Syntax for [multiplayer_side]|| and ||[terrain] tags:
The first keys in [multiplayer_side] are == name, ||type||, ||recruit||, and recruitment_pattern ==. These work the same way as in a normal [side] tag (See BuildingScenariosSimple).
The music key is the music to play for that team. The terrain_liked key !(does what?)
The only neccessary keys in a [terrain] tag are == name, ||char||, ||image||, and aliasof ==.
All instances of the character char in a map file will be replaced by this terrain. This terrain is gameplay-equivalent to the terrain with character equal to the value of aliasof
== name == is displayed in the terrain descriptor corner (top-right) when this terrain is selected. == image == is the image displayed for this terrain. All other keys for [terrain] affect the image in some way. (not documented)