TerrainCodesWML
Contents
Values of terrain letters
What each letter represents in Wesnoth maps, and the possible values of the letter key.
See TerrainWML for information on how to define a terrain.
- A human (snow) hill village
- a human hill village
- B desert village (adobe)
- b human mountain village
- C castle
- c shallow water, "coast"
- D underground village (cave, village), "dungeon village"
- d sand, (old desert)
- E desert road
- e elven (snow) village
- F forest (snow)
- f forest
- G savanna (grass)
- g grass
- H hills (snow)
- h hills
- I desert
- i ice (tundra)
- J desert hills
- j -nothing- (will be snowy mountains)
- K keep (castle)
- k river ford (grass, shallow water)
- L tropical forest village (savanna, village)
- l lava (canyon)
- M desert mountains
- m mountain
- N ruined castle
- n encampment (castle)
- O -nothing- (will probably be an Orc Castle one day)
- o dwarven castle (castle)
- P desert oasis
- p dwarven village
- Q sunken ruin
- q ruin (swamp)
- R road (grass)
- r dirt (grass)
- S tundra
- s deep water
- T forest (tropical)
- t village
- U desert village (tent)
- u cave
- V snow village (tundra, village)
- v human village (village)
- W cavewall
- w swamp
- X canyon (replaced by chasm in trunk)
- x reserved for UMCs
- Y swamp village (swamp, village)
- y reserved for UMCs
- Z mermen village (shallow water)
- z reserved for UMCs
- /,|,\ bridge (grass, shallow water)
- ~ fog
- ' ' void/shroud (it uses the "space" character)
- * reserved for UMCs
- ^ reserved for UMCs
- % reserved for UMCs
- @ reserved for UMCs
- [ rockbound cave
- ] mushroom grove
- ' illuminated cave
- ? great Elven tree
- & impassable mountains
- " ???
- $ ???
- . ???
- ; ???
- : ???
- < ???
- > ???
- _ ???
- ` ???
Reserved letters and non-letter Characters
Reserved letters are for custom terrains in user-made campaigns. In addition to these it is currently also possible to use other characters not on the above list to represent custom terrain, such as ½ § @ % etc., but new "official" terrain may be assigned for these characters in the future. So when creating custom terrain, the letters marked as reserved on the above list should be used first. Use campaign definitions (see CampaignWML) to prevent your custom terrains from interfering with other campaigns.
Terrain strings (SVN terrain only)
The terrains will be changed from a single letter to a multi letter system. There will be a compability layer for a short while. This layer doesn't work for campaigns with custom terrains, these campaigns have to be changed to use the new system.
The following rules are stated for the new terrain letters, note most of these rules are not validated since it would slow down Wesnoth; not following these rules might break Wesnoth.
- terrain strings are between 2 and 4 characters
- terrain strings start with a capital letter and the following letters are lower case
- terrain strings can only contain letters and the symbols /|\ which are meant for directional items like bridges.
- the underscore is used for internal terrains
- the star '*' can be used for wildcards in some parts
Starting positions are defined by a number followed by 1 space and then the terrain string; this means that a starting position is no longer automatically a keep.
The letters Y,y,Z,z are reserved for UMC so any string containing any of these letters is a custom terrain. Other undefined terrain strings are reserved for future expansion within Wesnoth.
Conversion form old to new
Map conversion logic is included in the upconvert tool (in newer versions, wmllint). This script will, among other things, convert a map with the old letters to the new strings. Here is a lookup table with the letters.
char= a b c d e f g h i j k l m str= Vhh Vhm Ww Ds Vea Ff Gg Hh Ai Wwf Ql Mm
char= n o p q r s t u v w x y z str= Ce Cud Vud Chs Re Wo Veg Uu Vhg Ss
char= A B C D E F G H I J K L M str= Vhha Vda Ch Vu Rd Fa Gs Ha Dd Hd _K Vht Md
char= N O P Q R S T U V W X Y Z str= Chr Do Chw Rr Aa Ft Vdt Vha Xu Qxu Vs Vwm
char= / | \ & _ ~ ? ] [ ' str= Bww/ Bww| Bww\ Xm _s _f Fet Uf Uh Uui
Terrain Table
This is a list of the terrains, the strings used for them in the new map format, the letters used for them in the old map format, their id and the terrains they take their stats from.
ID | String | Old letter | Name | Stats from |
---|---|---|---|---|
off_map | _off^_usr | None | ||
shroud | _s | Shroud | ||
fog | _f | ~ | Fog | |
ice | Ai | i | Ice | Snow |
tundra | Aa | S | Snow | |
bridge | Ww^Bw| | | | Bridge | Grassland,Shallow Water |
bridgediag1 | Ww^Bw/ | / | Bridge | Grassland,Shallow Water |
bridgediag2 | Ww^Bw\ | \ | Bridge | Grassland,Shallow Water |
bridgedeep | Wo^Bw| | Bridge | Grassland,Deep Water | |
bridgedeepdiag1 | Wo^Bw/ | Bridge | Grassland,Deep Water | |
bridgedeepdiag2 | Wo^Bw\ | Bridge | Grassland,Deep Water | |
bridgeswamp | Ss^Bw| | Bridge | Grassland,Swamp | |
bridgeswampdiag1 | Ss^Bw/ | Bridge | Grassland,Swamp | |
bridgeswampdiag2 | Ss^Bw\ | Bridge | Grassland,Swamp | |
encampment | Ce | n | Encampment | Castle |
castle | Ch | y | Castle | |
castle | Cv | y | Elven Castle | Castle |
dwarven_castle | Cud | o | Dwarven Castle | Castle |
ruin | Chr | N | Ruin | Castle |
sunkenruin | Chw | Q | Sunken Ruin | Castle,Shallow Water |
swampruin | Chs | q | Swamp Ruin | Castle,Swamp |
encampment_keep | Ke | Encampment keep | Castle | |
human_keep | Kh | Keep | Castle | |
elven_keep | Kv | Elven Keep | Castle | |
dwarven_keep | Kud | Dwarven keep | Castle | |
ruined_keep | Khr | Ruined keep | Castle | |
sunken_keep | Khw | Sunken keep | Castle,Shallow Water | |
swamp_keep | Khs | Swamp keep | Castle,Swamp | |
crater | Dd^Dc | Crater | Sand | |
desert | Dd | I | Desert | Sand |
sand_rubble | Dd^Dr | Rubble | Hills | |
sand | Ds | d | Sand | |
oasis | Dd^Do | P | Oasis | Sand |
snow_forest | Aa^Fpa | F | Snow Forest | Snow,Forest |
great_tree | Gg^Fet | ? | Great Tree | Forest |
forest | Gs^Fp | f | Forest | |
tropical_forest | Gs^Ft | T | Tropical Forest | Forest |
grassland | Gg | g | Grassland | |
grassland_flowers | Ggf | Grassland | Grassland | |
savanna | Gs | G | Savanna | Grassland |
snow_hills | Ha | H | Snow Hills | Snow,Hills |
desert_hills | Hd | J | Dunes | Sand,Hills |
hills | Hh | h | Hills | |
desert_mountains | Md | M | Mountains | Mountains |
mountains | Mm | m | Mountains | |
canyon | Qxu | X | Chasm | |
lava | Ql | l | Lava | Chasm |
road | Rd | E | Desert road | Grassland |
dirt | Re | r | Dirt | Grassland |
road | Rr | E | Road | Grassland |
farm | Re^Gvs | Farmland | Grassland | |
swamp_water | Ss | w | Swamp | |
cave | Uu | u | Cave | |
cave_beam | Uu^Ii | ' | Cave Lit | Cave |
fungus | Uu^Uf | ] | Mushroom Grove | |
fungusabove | Re^Uf | Mushroom Grove | Mushroom Grove | |
rocky_cave | Uh | [ | Rockbound Cave | Cave,Hills |
rocky_cave_beam | Uh^Ii | Rockbound Cave Lit | Cave,Hills | |
desert_village | Dd^Vda | U | Village | Village,Sand |
desert_village | Dd^Vdt | U | Village | Village,Sand |
elven_snow_village | Aa^Vea | e | Village | Village |
village | Gg^Ve | t | Village | Village |
snow_village | Aa^Vha | V | Village | Village |
village | Gg^Vh | t | Village | |
hill_village | Hh^Vhh | a | Village | Village,Hills |
snow-hill_village | Ha^Vhha | A | Village | Village,Hills |
mountain_village | Mm^Vhh | b | Village | Village,Mountains |
tropical_forest_village | Gs^Vht | L | Village | Village |
underground_village | Uu^Vu | D | Village | Village,Cave |
dwarven_village | Uu^Vud | p | Village | Village,Cave |
mermen_village | Ww^Vm | Z | Village | Shallow Water |
swamp_village | Ss^Vhs | Y | Village | Village,Swamp |
swamp_merfolk-village | Ss^Vm | Village | Swamp | |
deep_water | Wo | s | Deep Water | |
shallow_water | Ww | c | Shallow Water | |
ford | Wwf | k | River Ford | Grassland,Shallow Water |
cloud | Mm^Xm | & | Impassable Mountains | Cave Wall |
clouddesert | Md^Xm | Impassable Desert Mountains | Cave Wall | |
cavewall | Xu | W | Cave Wall |
Specials
These terrains are hardcoded in the game and translated automatically. The old UMC terrains are here for backwards compability this compability will only be guaranteed till the next major release after 1.2.(That would be 1.4 or 2.0.) As stated before the * will no longer be supported.
String | Old letter | Description | Theme |
---|---|---|---|
_f | ~ | fog | misc |
_s | (space character) | void/shroud | misc |
Adding terrains
When adding terrains make sure the following files are also checked:
data/faction/* contains favorite positions for the different factions, this is only used for the random map generator at the moment so it is not very important.
data/abilities.cfg contains the definition of submerge and ambush so depending on the change these need to be updated.
data/utils/utils.cfg contains the macro STARTING_VILLAGES which contains a list of village strings. This list doesn't support wildcards (yet).