EditorWML
Wesnoth's Map Editor allows configuration of certain aspects via the following WML. All save [brush] are free to be used be UMC content creators. All code within #ifdef EDITOR ... #endif blocks should be placed in your _main.cfg.
Contents
The [brush] tag
Each brush tag defines one brush. (0,0) is the hotspot, that is, the brush is always moved so the mouse is over the brush's (0,0) coordinate. The following keys and tags are recognized:
- name: name for the brush (will possibly show up in the tooltip for the brush)
- image: icon for the brush to de displayed on the toolbar
- radius: (int) include in the brushall hexes that are this or closer to the center of the brush, excluding the (0,0) point
- [relative]: include in the brush a single hex with coordinates relative from the center of the brush
- x: the relative x coordinate
- y: the relative y coordinate
A brush that has neither a radius nor any [relative] hexes will be empty which is not desired and a warning or error is to be expected.
The [editor_times] tag
The editor_times tag defines a schedule (time-of-day) for the editor. Standard time of day macros can be used.
- [time] Time of day definitions
- id: The identifier of the time schedule
- name: The translatable name of the schedule
An example using Wesnoth default Time of Day schedule:
#ifdef EDITOR
[editor_times]
name= _ "Default"
id=default
{DEFAULT_SCHEDULE}
[/editor_times]
#endif
The [editor_music] tag
This tag defines a music playlist for the editor. Standard music macros can be used here.
- Music: Playlist item definitions
Example of code to be put in _main.cfg from the add-on UMC Music Book 1:
#ifdef EDITOR
[binary_path]
path="data/add-ons/UMC_Music_Book_1"
[/binary_path]
[editor_music]
[music]
name=a3deap_DontFearTheReaper.ogg
append=yes
title="Don't Fear The Reaper"
[/music]
[music]
name=a3deap_GoForTheWorldAgain.ogg
append=yes
title="Go For The World Again"
[/music]
[music]
name=a3deap_HighInTheMountains.ogg
append=yes
title="High In The Mountains"
[/music]
[music]
name=a3deap_HoistTheColours.ogg
append=yes
title="Hoist The Colors"
[/music]
[music]
name=battlecry.ogg
append=yes
title="Battlecry"
[/music]
[music]
name=calm-before-storm.ogg
append=yes
title="Calm Before The Storm"
[/music]
[music]
name=gameplay06.ogg
append=yes
title="Gameplay06"
[/music]
[music]
name=snowfall.ogg
append=yes
title="Snowfall"
[/music]
[music]
name=tribal_war_song.ogg
append=yes
title="Tribal War Song"
[/music]
[/editor_music]
#endif
The [editor_group] tag
The editor_group tag defines a group of terrains displayed together on the terrain palette. Terrains must use a editor_group attribute from the list of ids specified in the editor_group tags. Custom terrains should be put in their own separate groups.
- id: the unique id of this group. Duplicates are ignored.
- name: a name for the group
- icon: an icon for the group
- core: whether this group is a "core" group. Non-core (UMC) groups are treated slightly differently by the editor -- a warning may be given to map authors, since maps using non-core terrains need special treatment in the scenario file to work properly. UMC groups should not define this attribute.
In order to get the editor to see custom terrains, you need to do something like the following:
#ifdef EDITOR
[binary_path]
path=data/campaigns/Under_the_Burning_Suns
[/binary_path]
[editor_group]
id=utbs
name= _ "Under the Burning Suns"
icon="group_custom"
[/editor_group]
{campaigns/Under_the_Burning_Suns/utils/terrain.cfg}
{campaigns/Under_the_Burning_Suns/utils/terrain_graphics.cfg}
#endif
The [item_group] tag
The item_group tag defines a group of items displayed together in the items palette.
- id: The unique id of the group.
- icon: An icon to use for the group.
- name: A name for the group.
- core: Whether this is a core group. Should not be specified by UMC content.
- [item]: Definition of the items in the group. See [item].
#ifdef EDITOR
[item_group]
id=somegroup
name= _ "Some Group"
icon=icons/book.png
[item]
id=someitem
name= _ "Some Item"
image=scenary/fire1.png
halo=scenery/fire[1~8].png:100
[/item]
[/item_group]
#endif
Units
The following is a code example for allowing the use of units in the map editor - in this case for an add-on called Great_Legends_Era. The macros folder must be included if any of the units have weapon specials or abilities that make use of those macros.
#ifdef EDITOR
{~add-ons/Great_Legend_Era/macros}
[+units]
{~add-ons/Great_Legend_Era/units}
{~add-ons/Great_Legend_Era/units/humans}
{~add-ons/Great_Legend_Era/units/trolls}
{~add-ons/Great_Legend_Era/units/elementals}
{~add-ons/Great_Legend_Era/units/knightmare}
{~add-ons/Great_Legend_Era/units/orcs}
{~add-ons/Great_Legend_Era/units/elves-desert}
{~add-ons/Great_Legend_Era/units/vampires}
{~add-ons/Great_Legend_Era/units/gargoyles}
{~add-ons/Great_Legend_Era/units/monsters}
[/units]
#endif