Updated terrain-graphics.cfg file.

Now it uses modules in a sub-directory, to reduce the bloat in the main file.

Updated castle graphics, improved them not tiling well since they
became 72x72. There is still work to be done.  Added forest-to-castle
transitions.
This commit is contained in:
Philippe Plantier 2004-06-03 19:59:57 +00:00
parent e6e85cb3ef
commit 55710fa144
37 changed files with 853 additions and 574 deletions

View file

@ -11,586 +11,19 @@
# in the given direction (or should not have one). No other one should be
# added.
# Attachs an image to a single terrain tile, with a given probability.
# example: {TERRAIN_BASE_PROBABILITY g grassland-rocks 20}
# The following precendeces are defined to have a meaning:
# 0: normal terrain, normal transitions
# 16: castles
# 32: decorations over castles
#define TERRAIN_BASE_PROBABILITY LETTER IMAGE PROBABILITY
[terrain_graphics]
[tile]
x=0
y=0
type="{LETTER}"
[image]
z_index=-99
name={IMAGE}
[/image]
[/tile]
probability={PROBABILITY}
no_flag="terrain-{LETTER}"
set_flag="terrain-{LETTER}"
[/terrain_graphics]
#enddef
# Same as above, but with 100% probability
# example: {TERRAIN_BASE g grassland}
# Should be last on the list: when a terrain has been placed, no other one can.
#define TERRAIN_BASE LETTER IMAGE
{TERRAIN_BASE_PROBABILITY ({LETTER}) {IMAGE} 100}
#enddef
# Defines a terrain that has a transition image of the form: "void-n-ne-se-s.png"
# example: {TERRAIN_ADJACENT_4 gt grassland}
# This will add 4-tile transitions from terrains of type g or t to terrains of
# any other type, using the filename grassland-x-x-x-x.png
#define TERRAIN_ADJACENT_4 LETTERS IMAGE
[terrain_graphics]
map="
2
. 3
1
. 4
5
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[no_flag]
name=transition-@R1
[/no_flag]
[no_flag]
name=transition-@R2
[/no_flag]
[no_flag]
name=transition-@R3
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[set_flag]
name=transition-@R1
[/set_flag]
[set_flag]
name=transition-@R2
[/set_flag]
[set_flag]
name=transition-@R3
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0-@R1-@R2-@R3
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
[tile]
pos=3
type={LETTERS}
no_flag=transition-@R4
set_flag=transition-@R4
[/tile]
[tile]
pos=4
type={LETTERS}
no_flag=transition-@R5
set_flag=transition-@R5
[/tile]
[tile]
pos=5
type={LETTERS}
no_flag=transition-@R0
set_flag=transition-@R0
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Same as above, but for 3-tile transitions.
#define TERRAIN_ADJACENT_3 LETTERS IMAGE
[terrain_graphics]
map="
2
. 3
1
. 4
.
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[no_flag]
name=transition-@R1
[/no_flag]
[no_flag]
name=transition-@R2
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[set_flag]
name=transition-@R1
[/set_flag]
[set_flag]
name=transition-@R2
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0-@R1-@R2
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
[tile]
pos=3
type={LETTERS}
no_flag=transition-@R4
set_flag=transition-@R4
[/tile]
[tile]
pos=4
type={LETTERS}
no_flag=transition-@R5
set_flag=transition-@R5
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Same as above, but for 2-tile transitions.
#define TERRAIN_ADJACENT_2 LETTERS IMAGE
[terrain_graphics]
map="
2
. 3
1
. .
.
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[no_flag]
name=transition-@R1
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[set_flag]
name=transition-@R1
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0-@R1
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
[tile]
pos=3
type={LETTERS}
no_flag=transition-@R4
set_flag=transition-@R4
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Same as above, but for 1-tile (simple) transitions.
#define TERRAIN_ADJACENT_1 LETTERS IMAGE
[terrain_graphics]
map="
2
. .
1
. .
.
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Defines a terrain that could have 4-tile, 3-tile, 2-tile, or 1-tile
# transitions to other terrains. The larger transitions have greater priority
# and go first.
#define TERRAIN_ADJACENT_1234 LETTERS IMAGE
{TERRAIN_ADJACENT_4 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_3 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_2 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_1 ({LETTERS}) {IMAGE}}
#enddef
#define TERRAIN_ADJACENT_123 LETTERS IMAGE
{TERRAIN_ADJACENT_3 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_2 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_1 ({LETTERS}) {IMAGE}}
#enddef
#define TERRAIN_ADJACENT_12 LETTERS IMAGE
{TERRAIN_ADJACENT_2 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_1 ({LETTERS}) {IMAGE}}
#enddef
# Defines a terrain that has 1-tile transitions, but only on its northern side.
# The other transitions may be defined below, with a lower priority; this will
# ensure the given tile always overlaps to the north.
#define TERRAIN_ADJACENT_NORTH LETTERS IMAGE
[terrain_graphics]
map="
2
. .
1
"
[tile]
pos=2
type=!{LETTERS}
no_flag=transition-s
set_flag=transition-s
[image]
z_index=-99
name={IMAGE}-s
[/image]
[/tile]
[tile]
no_flag=transition-n
set_flag=transition-n
pos=1
type={LETTERS}
[/tile]
[/terrain_graphics]
[terrain_graphics]
map="
.
2 .
1
"
[tile]
pos=2
type=!{LETTERS}
no_flag=transition-se
set_flag=transition-se
[image]
z_index=-99
name={IMAGE}-se
[/image]
[/tile]
[tile]
no_flag=transition-nw
set_flag=transition-nw
pos=1
type={LETTERS}
[/tile]
[/terrain_graphics]
[terrain_graphics]
map="
.
. 2
1
"
[tile]
pos=2
type=!{LETTERS}
no_flag=transition-sw
set_flag=transition-sw
[image]
z_index=-99
name={IMAGE}-sw
[/image]
[/tile]
[tile]
no_flag=transition-ne
set_flag=transition-ne
pos=1
type={LETTERS}
[/tile]
[/terrain_graphics]
#enddef
# This utility macro disables standard transitions on a given terrain type. It
# is used for castles and keeps, as those have custom transitions.
#define DISABLE_TRANSITIONS LETTER
[terrain_graphics]
map="
1
6 2
7
5 3
4
"
[tile]
pos=1
set_flag=transition-s
[/tile]
[tile]
pos=2
set_flag=transition-sw
[/tile]
[tile]
pos=3
set_flag=transition-nw
[/tile]
[tile]
pos=4
set_flag=transition-n
[/tile]
[tile]
pos=5
set_flag=transition-ne
[/tile]
[tile]
pos=6
set_flag=transition-se
[/tile]
[tile]
pos=7
type={LETTER}
[/tile]
[/terrain_graphics]
#enddef
# Defines the given terrain will behave like the walls of a castle. Two
# parameters are given: terrains that are considered to be a castle for this
# macro's purpose and terrains that are not.
#define CASTLE_WALLS CASTLE NOTCASTLE IMAGE
{DISABLE_TRANSITIONS {CASTLE}}
[terrain_graphics]
map="
2
2
1"
[tile]
pos=1
type={NOTCASTLE}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[image]
z_index=-1
name="{IMAGE}-bg-concave-@R0"
[/image]
[image]
z_index=1
name="{IMAGE}-fg-concave-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
[/terrain_graphics]
[terrain_graphics]
map="
1
1
2"
[tile]
pos=1
type={NOTCASTLE}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[image]
z_index=-1
name="{IMAGE}-bg-convex-@R0"
[/image]
[image]
z_index=1
name="{IMAGE}-fg-convex-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
[/terrain_graphics]
#enddef
# Defines the given terrain will behave like the walls of a castles, with added
# dynamically-drawn keeps.
#define CASTLE_AND_KEEP CASTLE KEEP CASTLE_IMAGE KEEP_IMAGE
{CASTLE_WALLS {CASTLE} !{CASTLE}{KEEP} {CASTLE_IMAGE}}
{DISABLE_TRANSITIONS {KEEP}}
[terrain_graphics]
map="
2
2
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-inside-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-inside-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
[/terrain_graphics]
[terrain_graphics]
map="
3
3
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=3
type=!{CASTLE}{KEEP}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-wall-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-wall-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
[/terrain_graphics]
[terrain_graphics]
map="
2
3
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=3
type=!{CASTLE}{KEEP}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-wall-0-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-wall-0-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
[/terrain_graphics]
[terrain_graphics]
map="
3
2
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=3
type=!{CASTLE}{KEEP}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-wall-1-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-wall-1-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
[/terrain_graphics]
#enddef
{terrain-graphics}
#
# Attachs graphics to each known terrain types
#
{CASTLE_TRANSITION CK f dirt forest-ctrans}
{TERRAIN_BASE K keep}
{TERRAIN_BASE C castle}
{TERRAIN_BASE D flag-cave-neutral}

View file

@ -0,0 +1,78 @@
# Defines a terrain that has 1-tile transitions, but only on its northern side.
# The other transitions may be defined below, with a lower priority; this will
# ensure the given tile always overlaps to the north.
#define TERRAIN_ADJACENT_NORTH LETTERS IMAGE
[terrain_graphics]
map="
2
. .
1
"
[tile]
pos=2
type=!{LETTERS}
no_flag=transition-s
set_flag=transition-s
[image]
z_index=-99
name={IMAGE}-s
[/image]
[/tile]
[tile]
no_flag=transition-n
set_flag=transition-n
pos=1
type={LETTERS}
[/tile]
[/terrain_graphics]
[terrain_graphics]
map="
.
2 .
1
"
[tile]
pos=2
type=!{LETTERS}
no_flag=transition-se
set_flag=transition-se
[image]
z_index=-99
name={IMAGE}-se
[/image]
[/tile]
[tile]
no_flag=transition-nw
set_flag=transition-nw
pos=1
type={LETTERS}
[/tile]
[/terrain_graphics]
[terrain_graphics]
map="
.
. 2
1
"
[tile]
pos=2
type=!{LETTERS}
no_flag=transition-sw
set_flag=transition-sw
[image]
z_index=-99
name={IMAGE}-sw
[/image]
[/tile]
[tile]
no_flag=transition-ne
set_flag=transition-ne
pos=1
type={LETTERS}
[/tile]
[/terrain_graphics]
#enddef

View file

@ -0,0 +1,252 @@
# Defines a terrain that has a transition image of the form: "void-n-ne-se-s.png"
# example: {TERRAIN_ADJACENT_4 gt grassland}
# This will add 4-tile transitions from terrains of type g or t to terrains of
# any other type, using the filename grassland-x-x-x-x.png
#define TERRAIN_ADJACENT_4 LETTERS IMAGE
[terrain_graphics]
map="
2
. 3
1
. 4
5
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[no_flag]
name=transition-@R1
[/no_flag]
[no_flag]
name=transition-@R2
[/no_flag]
[no_flag]
name=transition-@R3
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[set_flag]
name=transition-@R1
[/set_flag]
[set_flag]
name=transition-@R2
[/set_flag]
[set_flag]
name=transition-@R3
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0-@R1-@R2-@R3
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
[tile]
pos=3
type={LETTERS}
no_flag=transition-@R4
set_flag=transition-@R4
[/tile]
[tile]
pos=4
type={LETTERS}
no_flag=transition-@R5
set_flag=transition-@R5
[/tile]
[tile]
pos=5
type={LETTERS}
no_flag=transition-@R0
set_flag=transition-@R0
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Same as above, but for 3-tile transitions.
#define TERRAIN_ADJACENT_3 LETTERS IMAGE
[terrain_graphics]
map="
2
. 3
1
. 4
.
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[no_flag]
name=transition-@R1
[/no_flag]
[no_flag]
name=transition-@R2
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[set_flag]
name=transition-@R1
[/set_flag]
[set_flag]
name=transition-@R2
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0-@R1-@R2
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
[tile]
pos=3
type={LETTERS}
no_flag=transition-@R4
set_flag=transition-@R4
[/tile]
[tile]
pos=4
type={LETTERS}
no_flag=transition-@R5
set_flag=transition-@R5
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Same as above, but for 2-tile transitions.
#define TERRAIN_ADJACENT_2 LETTERS IMAGE
[terrain_graphics]
map="
2
. 3
1
. .
.
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[no_flag]
name=transition-@R1
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[set_flag]
name=transition-@R1
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0-@R1
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
[tile]
pos=3
type={LETTERS}
no_flag=transition-@R4
set_flag=transition-@R4
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Same as above, but for 1-tile (simple) transitions.
#define TERRAIN_ADJACENT_1 LETTERS IMAGE
[terrain_graphics]
map="
2
. .
1
. .
.
"
[tile]
pos=1
type=!{LETTERS}
[no_flag]
name=transition-@R0
[/no_flag]
[set_flag]
name=transition-@R0
[/set_flag]
[image]
z_index=-98
name={IMAGE}-@R0
[/image]
[/tile]
[tile]
pos=2
type={LETTERS}
no_flag=transition-@R3
set_flag=transition-@R3
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
# Defines a terrain that could have 4-tile, 3-tile, 2-tile, or 1-tile
# transitions to other terrains. The larger transitions have greater priority
# and go first.
#define TERRAIN_ADJACENT_1234 LETTERS IMAGE
{TERRAIN_ADJACENT_4 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_3 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_2 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_1 ({LETTERS}) {IMAGE}}
#enddef
#define TERRAIN_ADJACENT_123 LETTERS IMAGE
{TERRAIN_ADJACENT_3 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_2 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_1 ({LETTERS}) {IMAGE}}
#enddef
#define TERRAIN_ADJACENT_12 LETTERS IMAGE
{TERRAIN_ADJACENT_2 ({LETTERS}) {IMAGE}}
{TERRAIN_ADJACENT_1 ({LETTERS}) {IMAGE}}
#enddef

View file

@ -0,0 +1,30 @@
# Attachs an image to a single terrain tile, with a given probability.
# example: {TERRAIN_BASE_PROBABILITY g grassland-rocks 20}
#define TERRAIN_BASE_PROBABILITY LETTER IMAGE PROBABILITY
[terrain_graphics]
[tile]
x=0
y=0
type="{LETTER}"
[image]
z_index=-99
name={IMAGE}
[/image]
[/tile]
probability={PROBABILITY}
no_flag="terrain-{LETTER}"
set_flag="terrain-{LETTER}"
[/terrain_graphics]
#enddef
# Same as above, but with 100% probability
# example: {TERRAIN_BASE g grassland}
# Should be last on the list: when a terrain has been placed, no other one can.
#define TERRAIN_BASE LETTER IMAGE
{TERRAIN_BASE_PROBABILITY ({LETTER}) {IMAGE} 100}
#enddef

View file

@ -0,0 +1,259 @@
# This special transition is used in castle-to-forest, castle-to-mountains,
# castle-to-anything graphics. It uses a background image for the forest tile
# (generally, dirt), then the castle is drawn (by castle macros, with
# precedence 16), then the precedence-32-macros generate the image that are
# laid over the castle walls. Those are only on northern sides, and are named
# (name)-nw-n-ne, (name)-nw-n, etc, according to the directions on which there
# are castle tiles.
#
# Example:
# {CASTLE_TRANSITION CK f dirt forest-special}
#define CASTLE_TRANSITION CASTLE FOREST BACKGROUND FOREGROUND
# Background tiles of the castle transition
[terrain_graphics]
map="
2
. .
1
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
[image]
z_index=-99
name={BACKGROUND}
[/image]
set_flag="terrain-{FOREST}"
no_flag="terrain-{FOREST}"
[/tile]
[/terrain_graphics]
[terrain_graphics]
map="
2
. 1
.
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
[image]
z_index=-99
name={BACKGROUND}
[/image]
set_flag="terrain-{FOREST}"
no_flag="terrain-{FOREST}"
[/tile]
[/terrain_graphics]
[terrain_graphics]
map="
2
1 .
.
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
[image]
z_index=-99
name={BACKGROUND}
[/image]
set_flag="terrain-{FOREST}"
no_flag="terrain-{FOREST}"
[/tile]
[/terrain_graphics]
# Actual castle transition tiles
[terrain_graphics]
map="
2
2 2
1
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
[image]
z_index=-99
name={FOREGROUND}-nw-n-ne
[/image]
[set_flag]
name=castle-transition-nw
[/set_flag]
[set_flag]
name=castle-transition-n
[/set_flag]
[set_flag]
name=castle-transition-ne
[/set_flag]
[no_flag]
name=castle-transition-nw
[/no_flag]
[no_flag]
name=castle-transition-n
[/no_flag]
[no_flag]
name=castle-transition-ne
[/no_flag]
[/tile]
precedence=32 # Just after terrains
[/terrain_graphics]
[terrain_graphics]
map="
2
2 .
1
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
[image]
z_index=-99
name={FOREGROUND}-nw-n
[/image]
[set_flag]
name=castle-transition-nw
[/set_flag]
[set_flag]
name=castle-transition-n
[/set_flag]
[no_flag]
name=castle-transition-nw
[/no_flag]
[no_flag]
name=castle-transition-n
[/no_flag]
[/tile]
precedence=32 # Just after terrains
[/terrain_graphics]
[terrain_graphics]
map="
2
. 2
1
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
[image]
z_index=-99
name={FOREGROUND}-n-ne
[/image]
[set_flag]
name=castle-transition-ne
[/set_flag]
[set_flag]
name=castle-transition-n
[/set_flag]
[no_flag]
name=castle-transition-ne
[/no_flag]
[no_flag]
name=castle-transition-n
[/no_flag]
[/tile]
precedence=32 # Just after terrains
[/terrain_graphics]
[terrain_graphics]
map="
2
. .
1
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
set_flag=castle-transition-n
no_flag=castle-transition-n
[image]
z_index=-99
name={FOREGROUND}-n
[/image]
[/tile]
precedence=32 # Just after terrains
[/terrain_graphics]
[terrain_graphics]
map="
2
. 1
.
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
set_flag=castle-transition-nw
no_flag=castle-transition-nw
[image]
z_index=-99
name={FOREGROUND}-nw
[/image]
[/tile]
precedence=32 # Just after terrains
[/terrain_graphics]
[terrain_graphics]
map="
2
1 .
.
"
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=1
type={FOREST}
set_flag=castle-transition-ne
no_flag=castle-transition-ne
[image]
z_index=-99
name={FOREGROUND}-ne
[/image]
[/tile]
precedence=32 # Just after terrains
[/terrain_graphics]
#enddef

View file

@ -0,0 +1,182 @@
# Defines the given terrain will behave like the walls of a castle. Two
# parameters are given: terrains that are considered to be a castle for this
# macro's purpose and terrains that are not.
#define CASTLE_WALLS CASTLE NOTCASTLE IMAGE
{DISABLE_TRANSITIONS {CASTLE}}
[terrain_graphics]
map="
2
2
1"
[tile]
pos=1
type={NOTCASTLE}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[image]
z_index=-1
name="{IMAGE}-bg-concave-@R0"
[/image]
[image]
z_index=1
name="{IMAGE}-fg-concave-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
precedence=16
[/terrain_graphics]
[terrain_graphics]
map="
1
1
2"
[tile]
pos=1
type={NOTCASTLE}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[image]
z_index=-1
name="{IMAGE}-bg-convex-@R0"
[/image]
[image]
z_index=1
name="{IMAGE}-fg-convex-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
precedence=16
[/terrain_graphics]
#enddef
# Defines the given terrain will behave like the walls of a castles, with added
# dynamically-drawn keeps.
#define CASTLE_AND_KEEP CASTLE KEEP CASTLE_IMAGE KEEP_IMAGE
{CASTLE_WALLS {CASTLE} !{CASTLE}{KEEP} {CASTLE_IMAGE}}
{DISABLE_TRANSITIONS {KEEP}}
[terrain_graphics]
map="
2
2
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-inside-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-inside-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
precedence=16
[/terrain_graphics]
[terrain_graphics]
map="
3
3
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=3
type=!{CASTLE}{KEEP}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-wall-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-wall-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
precedence=16
[/terrain_graphics]
[terrain_graphics]
map="
2
3
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=3
type=!{CASTLE}{KEEP}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-wall-0-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-wall-0-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
precedence=16
[/terrain_graphics]
[terrain_graphics]
map="
3
2
1"
[tile]
pos=1
type={KEEP}
[/tile]
[tile]
pos=2
type={CASTLE}
[/tile]
[tile]
pos=3
type=!{CASTLE}{KEEP}
[/tile]
[image]
z_index=-1
name="{KEEP_IMAGE}-bg-wall-1-@R0"
[/image]
[image]
z_index=1
name="{KEEP_IMAGE}-fg-wall-1-@R0"
[/image]
rotations=ne,e,se,sw,w,nw
precedence=16
[/terrain_graphics]
#enddef

View file

@ -0,0 +1,45 @@
# This utility macro disables standard transitions on a given terrain type. It
# is used for castles and keeps, as those have custom transitions.
#define DISABLE_TRANSITIONS LETTER
[terrain_graphics]
map="
1
6 2
7
5 3
4
"
[tile]
pos=1
set_flag=transition-s
[/tile]
[tile]
pos=2
set_flag=transition-sw
[/tile]
[tile]
pos=3
set_flag=transition-nw
[/tile]
[tile]
pos=4
set_flag=transition-n
[/tile]
[tile]
pos=5
set_flag=transition-ne
[/tile]
[tile]
pos=6
set_flag=transition-se
[/tile]
[tile]
pos=7
type={LETTER}
[/tile]
[/terrain_graphics]
#enddef

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 B

After

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 987 B

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 924 B

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,008 B

After

Width:  |  Height:  |  Size: 1,019 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB