Difference between revisions of "MultiHexTutorial"
(lede) |
|||
(6 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | This is a tutorial having to do with the [[TerrainGraphicsWML|Terrain Graphics]] system. | ||
+ | |||
(quickly written, I'll explain it more in detail when I have more time -- Ayin) | (quickly written, I'll explain it more in detail when I have more time -- Ayin) | ||
Line 5: | Line 7: | ||
Suppose we have the following map to fill with mountain tiles: | Suppose we have the following map to fill with mountain tiles: | ||
− | http:// | + | http://wesnoth.org/wiki-images/multi-hex/tutorial1.png |
And we have the following images to fill it: | And we have the following images to fill it: | ||
− | * tile1: http:// | + | * tile1: http://wesnoth.org/wiki-images/multi-hex/tile1.png |
− | * tile2: http:// | + | * tile2: http://wesnoth.org/wiki-images/multi-hex/tile2.png |
− | * tile5: http:// | + | * tile5: http://wesnoth.org/wiki-images/multi-hex/tile5.png |
We will use the following three rules to fill the mountains. Beware: '''Spaces into maps do matter!''' | We will use the following three rules to fill the mountains. Beware: '''Spaces into maps do matter!''' | ||
− | + | <syntaxhighlight lang=wml> | |
− | + | [terrain_graphics] | |
− | + | map=" | |
− | + | . , 1 | |
− | + | , . | |
− | + | . , 1 | |
− | + | , . | |
− | + | . , 1 | |
− | + | , 1 | |
− | + | 1" | |
− | + | [tile] | |
− | + | pos=1 | |
− | + | type=Mm | |
− | + | [/tile] | |
− | + | probability=30 | |
− | + | no_flag="base" | |
− | + | set_flag="base" | |
− | + | [image] | |
− | + | layer=-1000 | |
− | + | name=tile5 | |
− | + | [/image] | |
− | + | [/terrain_graphics] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [terrain_graphics] | |
− | + | map=" | |
− | + | . | |
− | + | , 1 | |
− | + | 1" | |
− | + | [tile] | |
− | + | pos=1 | |
− | + | type=Mm | |
+ | [/tile] | ||
+ | probability=30 | ||
+ | no_flag="base" | ||
+ | set_flag="base" | ||
+ | [image] | ||
+ | layer=-1000 | ||
+ | name=tile2 | ||
+ | [/image] | ||
+ | [/terrain_graphics] | ||
− | + | [terrain_graphics] | |
− | + | [tile] | |
− | + | x=0 | |
− | + | y=0 | |
− | + | type=Mm | |
− | + | [/tile] | |
− | + | probability=100 | |
− | + | no_flag="base" | |
− | + | set_flag="base" | |
− | + | [image] | |
− | + | layer=-1000 | |
− | + | name=tile1 | |
− | + | [/image] | |
− | + | [/terrain_graphics] | |
+ | </syntaxhighlight> | ||
The first rule, regarding the biggest mountains, will apply first. It will include, with 30% probability, the big | The first rule, regarding the biggest mountains, will apply first. It will include, with 30% probability, the big | ||
5-tile mountain range. This will make, for example, something like this. | 5-tile mountain range. This will make, for example, something like this. | ||
− | http:// | + | http://wesnoth.org/wiki-images/multi-hex/tutorial2.png |
The second rule will then apply. Note that the previous rule had set the "built-m" flag, thus preventing the mountains | The second rule will then apply. Note that the previous rule had set the "built-m" flag, thus preventing the mountains | ||
Line 82: | Line 83: | ||
something like that: | something like that: | ||
− | http:// | + | http://wesnoth.org/wiki-images/multi-hex/tutorial3.png |
The, the last rule, with 100% probability (the probability key could have been omitted) will apply. It will place a | The, the last rule, with 100% probability (the probability key could have been omitted) will apply. It will place a | ||
mountain tile on the places where no other mountain tile was placed. The final mountain range will look like that: | mountain tile on the places where no other mountain tile was placed. The final mountain range will look like that: | ||
− | http:// | + | http://wesnoth.org/wiki-images/multi-hex/tutorial4.png |
== Village with a tower == | == Village with a tower == | ||
− | To add a building with a tower that spans over 2 hexes, you may use the following rule ( | + | To add a building with a tower that spans over 2 hexes, you may use the following rule (Tt being the character |
representing the building hex) | representing the building hex) | ||
[terrain_graphics] | [terrain_graphics] | ||
− | map=" | + | map="*, 1" |
− | + | [tile] | |
− | + | pos=1 | |
− | + | type=Tt | |
+ | [/tile] | ||
[image] | [image] | ||
name=tower # a 36x72 image | name=tower # a 36x72 image | ||
Line 122: | Line 124: | ||
set_flag="built-m" means that the rule, upon matching, sets the flag "built-m". | set_flag="built-m" means that the rule, upon matching, sets the flag "built-m". | ||
− | |||
− | |||
− | |||
+ | [[Category:Art Tutorials]] |
Latest revision as of 03:41, 8 May 2023
This is a tutorial having to do with the Terrain Graphics system.
(quickly written, I'll explain it more in detail when I have more time -- Ayin)
First example: mountains
Suppose we have the following map to fill with mountain tiles:
And we have the following images to fill it:
- tile1:
- tile2:
- tile5:
We will use the following three rules to fill the mountains. Beware: Spaces into maps do matter!
[terrain_graphics]
map="
. , 1
, .
. , 1
, .
. , 1
, 1
1"
[tile]
pos=1
type=Mm
[/tile]
probability=30
no_flag="base"
set_flag="base"
[image]
layer=-1000
name=tile5
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
.
, 1
1"
[tile]
pos=1
type=Mm
[/tile]
probability=30
no_flag="base"
set_flag="base"
[image]
layer=-1000
name=tile2
[/image]
[/terrain_graphics]
[terrain_graphics]
[tile]
x=0
y=0
type=Mm
[/tile]
probability=100
no_flag="base"
set_flag="base"
[image]
layer=-1000
name=tile1
[/image]
[/terrain_graphics]
The first rule, regarding the biggest mountains, will apply first. It will include, with 30% probability, the big 5-tile mountain range. This will make, for example, something like this.
The second rule will then apply. Note that the previous rule had set the "built-m" flag, thus preventing the mountains from the second rule to overlap the place where the first mountains already have been placed. The result will be something like that:
The, the last rule, with 100% probability (the probability key could have been omitted) will apply. It will place a mountain tile on the places where no other mountain tile was placed. The final mountain range will look like that:
Village with a tower
To add a building with a tower that spans over 2 hexes, you may use the following rule (Tt being the character representing the building hex)
[terrain_graphics] map="*, 1" [tile] pos=1 type=Tt [/tile] [image] name=tower # a 36x72 image position=vertical base=36,108 [/image]
[/terrain_graphics]
Reference
Map:
'.' means "this rule does not apply to this hex" (i.e: no image will be set to this hex, this hex will not be checked for flags, etc).
'*' means "this rule applies to this hex, but this hex can be any terrain type".
Flags:
no_flag="built-m" means that the rule only matches if the flag "built-m" is not set.
set_flag="built-m" means that the rule, upon matching, sets the flag "built-m".