Difference between revisions of "UsefulWMLFragments"
Prometheus (talk | contribs)  (→Useful WML Fragments)  | 
				 (→RPG Tools:  set_icon is now implemented)  | 
				||
| (86 intermediate revisions by 15 users not shown) | |||
| Line 1: | Line 1: | ||
== Useful WML Fragments ==  | == Useful WML Fragments ==  | ||
| − | + | Most of the things found here are macros (see [[PreprocessorRef]]) that must be copied into a scenario file or another file included first by the campaign, and then used in the scenario (or multiplayer map). Remember that a macro cannot be used at a point before it is defined.  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | [[  | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | Also, when creating or using macros, please remember: Every macro must generate a WML fragment which would be syntactically balanced and correct by itself. Unbalanced macros confuse our maintenance and sanity-checking tools, creating extra work and headaches for the already-overworked WML maintainers.  | ||
| + | '''Note: some of the code here is outdated or otherwise poor. It's not advisable to blindly copy-paste code from here and expect it to work on recent Wesnoth versions or assume that the recent versions don't support a simpler and less hacky way of doing the same thing.'''  | ||
| + | Some things '''not''' to do here:  | ||
| + | * Don't add macros that duplicate things in [http://www.wesnoth.org/macro-reference.xhtml the core macro library].  | ||
| + | * Don't add macros that are trivial syntax shortcuts.  | ||
| + | * Don't add macros that generate unbalanced syntax fragments.  | ||
| + | Try to avoid adding pages here. It is better to find a category in which your code fits and add it to that page.  | ||
| + | === Logic Structure Macros ===  | ||
| + | *[[WML Utilities]]: Macros to assist other macros. Overlay with Filter. Determine Opposite Coordinates. Find nearest hex(es)  | ||
| + | ==== RPG Tools ====  | ||
| + | *[[A Shop Like Thing]]: How to add even more RPG elements to your scenarios.  | ||
| + | *[[CutsceneWML]]: Fixed MOVE_TO event (uses FIND_NEARBY from [[WML Utilities]]), move + exit to recall list, define character dialogue and a "main character", grant unlimited moves.*  | ||
| + | ==== Music Tools ====  | ||
| + | *[[WML Musical Moods]]: Groups the Wesnoth music (as of 1.7.x) into "moods" and defines macros for playing randomly songs from these pools and for quickly switching music.  | ||
| + | ==== Unit Tools ====  | ||
| + | *[[WML Abilities]]: Knockback. Charm. Bloodlust.  | ||
| + | ==== Item Tools ====  | ||
| + | *[[DroppableItem]]: For placing items on the terrain upon death of a unit.  | ||
| + | ==== Map Tools ====  | ||
| + | *[[FloodWML]]: Macros to create a flood of a certain terrain type spreading across the map.  | ||
| + | === Advanced WML ===  | ||
| + | *[[Advanced Optimisations and Hacks]]: If you're coding something really complex, this might come handy  | ||
| + | == See Also ==  | ||
| + | * [[ReferenceWML]]  | ||
| − | |||
| − | + | [[Category: UsefulWMLFragments|*]]  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | *   | ||
Latest revision as of 13:27, 13 September 2022
Contents
Useful WML Fragments
Most of the things found here are macros (see PreprocessorRef) that must be copied into a scenario file or another file included first by the campaign, and then used in the scenario (or multiplayer map). Remember that a macro cannot be used at a point before it is defined.
Also, when creating or using macros, please remember: Every macro must generate a WML fragment which would be syntactically balanced and correct by itself. Unbalanced macros confuse our maintenance and sanity-checking tools, creating extra work and headaches for the already-overworked WML maintainers.
Note: some of the code here is outdated or otherwise poor. It's not advisable to blindly copy-paste code from here and expect it to work on recent Wesnoth versions or assume that the recent versions don't support a simpler and less hacky way of doing the same thing.
Some things not to do here:
- Don't add macros that duplicate things in the core macro library.
 - Don't add macros that are trivial syntax shortcuts.
 - Don't add macros that generate unbalanced syntax fragments.
 
Try to avoid adding pages here. It is better to find a category in which your code fits and add it to that page.
Logic Structure Macros
- WML Utilities: Macros to assist other macros. Overlay with Filter. Determine Opposite Coordinates. Find nearest hex(es)
 
RPG Tools
- A Shop Like Thing: How to add even more RPG elements to your scenarios.
 - CutsceneWML: Fixed MOVE_TO event (uses FIND_NEARBY from WML Utilities), move + exit to recall list, define character dialogue and a "main character", grant unlimited moves.*
 
Music Tools
- WML Musical Moods: Groups the Wesnoth music (as of 1.7.x) into "moods" and defines macros for playing randomly songs from these pools and for quickly switching music.
 
Unit Tools
- WML Abilities: Knockback. Charm. Bloodlust.
 
Item Tools
- DroppableItem: For placing items on the terrain upon death of a unit.
 
Map Tools
- FloodWML: Macros to create a flood of a certain terrain type spreading across the map.
 
Advanced WML
- Advanced Optimisations and Hacks: If you're coding something really complex, this might come handy