2016-08-05 13:46:39 +11:00

1666 lines
35 KiB
INI

# This file contains a WIP set of terrain graphics macros, intended to be as
# short and simple as possible.
#define NEW:BASE TERRAIN IMAGESTEM
# Places {IMAGESTEM}[1-11].png as base tiles. Assumes 72x72 hex-shaped
# images.
[terrain_graphics]
[tile]
x,y=0,0
type={TERRAIN}
set_no_flag=base
[image]
name={IMAGESTEM}@V.png
variations=";2;3;4;5;6;7;8;9;10;11"
layer=-1000
[/image]
[/tile]
[/terrain_graphics]
#enddef
#define NEW:BASE_P TERRAIN PROB IMAGESTEM
{NEW:BASE {TERRAIN} {IMAGESTEM}}
[+terrain_graphics]
probability={PROB}
# No need to look for variations here...
[+tile]
[+image]
name={IMAGESTEM}.png
variations=""
[/image]
[/tile]
[/terrain_graphics]
#enddef
#define NEW:TRANSITION TERRAINLIST ADJACENT LAYER IMAGESTEM
[terrain_graphics]
map="
, 2
. , 3
, 1
. , 4
, 5"
[tile]
pos=1
type={ADJACENT}
set_no_flag=transition-@R0,transition-@R1,transition-@R2,transition-@R3
[image]
name={IMAGESTEM}-@R0-@R1-@R2-@R3.png
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
set_no_flag=transition-@R3
[/tile]
[tile]
pos=3
type={TERRAINLIST}
set_no_flag=transition-@R4
[/tile]
[tile]
pos=4
type={TERRAINLIST}
set_no_flag=transition-@R5
[/tile]
[tile]
pos=5
type={TERRAINLIST}
set_no_flag=transition-@R0
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
[terrain_graphics]
map="
, 2
. , 3
, 1
. , 4
, ."
[tile]
pos=1
type={ADJACENT}
set_no_flag=transition-@R0,transition-@R1,transition-@R2
[image]
name={IMAGESTEM}-@R0-@R1-@R2.png
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
set_no_flag=transition-@R3
[/tile]
[tile]
pos=3
type={TERRAINLIST}
set_no_flag=transition-@R4
[/tile]
[tile]
pos=4
type={TERRAINLIST}
set_no_flag=transition-@R5
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
[terrain_graphics]
map="
, 2
. , 3
, 1
. , .
, ."
[tile]
pos=1
type={ADJACENT}
set_no_flag=transition-@R0,transition-@R1
[image]
name={IMAGESTEM}-@R0-@R1.png
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
set_no_flag=transition-@R3
[/tile]
[tile]
pos=3
type={TERRAINLIST}
set_no_flag=transition-@R4
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
[terrain_graphics]
map="
, 2
. , .
, 1
. , .
, ."
[tile]
pos=1
type={ADJACENT}
set_no_flag=transition-@R0
[image]
name={IMAGESTEM}-@R0.png
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
set_no_flag=transition-@R3
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
#define NEW:GENERIC_CORNER_TRANSITION TERRAINLIST ADJACENT LAYER IMAGESTEM MASKSTEM MASKIPF
[terrain_graphics]
map="
, 2
2, 2
, 1
2, 2
, 2"
[tile]
pos=1
type={ADJACENT}
set_no_flag=corner_concave-@R0,corner_concave-@R1,corner_concave-@R2,corner_concave-@R3,corner_concave-@R4,corner_concave-@R5
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-concave-2-@R0.png~BLIT(terrain/{MASKSTEM}-concave-2-@R1.png)~BLIT(terrain/{MASKSTEM}-concave-2-@R2.png)~BLIT(terrain/{MASKSTEM}-concave-2-@R3.png)~BLIT(terrain/{MASKSTEM}-concave-2-@R4.png)~BLIT(terrain/{MASKSTEM}-concave-2-@R5.png){MASKIPF})
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 2
, 1
2, 2
, 2"
[tile]
pos=1
type={ADJACENT}
set_no_flag=corner_concave-@R0,corner_concave-@R1,corner_concave-@R2,corner_concave-@R3
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-concave-2-@R0.png~BLIT(terrain/{MASKSTEM}-concave-2-@R1.png)~BLIT(terrain/{MASKSTEM}-concave-2-@R2.png)~BLIT(terrain/{MASKSTEM}-concave-2-@R3.png){MASKIPF})
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 2
, 1
., 2
, 2"
[tile]
pos=1
type={ADJACENT}
set_no_flag=corner_concave-@R0,corner_concave-@R1,corner_concave-@R2
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-concave-2-@R0.png~BLIT(terrain/{MASKSTEM}-concave-2-@R1.png)~BLIT(terrain/{MASKSTEM}-concave-2-@R2.png){MASKIPF})
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 2
, 1
., 2
, ."
[tile]
pos=1
type={ADJACENT}
set_no_flag=corner_concave-@R0,corner_concave-@R1
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-concave-2-@R0.png~BLIT(terrain/{MASKSTEM}-concave-2-@R1.png){MASKIPF})
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 2
, 1
., .
, ."
[tile]
pos=1
type={ADJACENT}
set_no_flag=corner_concave-@R0
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-concave-2-@R0.png{MASKIPF})
layer={LAYER}
[/image]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
3, 3
, 1
., .
, ."
[tile]
pos=1
type={TERRAINLIST}
[/tile]
[tile]
pos=2
type={ADJACENT}
set_no_flag=corner_convex-@R0-@R5,corner_convex-@R5-@R0
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-convex-@R0-@R5.png~BLIT(terrain/{MASKSTEM}-convex-@R5-@R0.png){MASKIPF})
layer={LAYER}
[/image]
[/tile]
[tile]
pos=3
type=!,{TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 3
, 1
., .
, ."
[tile]
pos=1
type={TERRAINLIST}
[/tile]
[tile]
pos=2
type={ADJACENT}
set_no_flag=corner_convex-@R0-@R5
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-convex-@R0-@R5.png{MASKIPF})
layer={LAYER}
[/image]
[/tile]
[tile]
pos=3
type=!,{TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 3
, 1
., .
, ."
[tile]
pos=1
type={TERRAINLIST}
[/tile]
[tile]
pos=2
type=!,{TERRAINLIST}
[/tile]
[tile]
pos=3
type={ADJACENT}
set_no_flag=corner_convex-@R0-@R1
[image]
name={IMAGESTEM}.png~MASK(terrain/{MASKSTEM}-convex-@R0-@R1.png{MASKIPF})
layer={LAYER}
[/image]
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
#enddef
#define NEW:FOREST TERRAINLIST ADJACENT IMAGESTEM
# This assumes centered images. Places the images named
# {IMAGESTEM}-small[1-11].png on all {TERRAIN} adjacent to {ADJACENT}, and
# {IMAGESTEM}[1-11].png on all others.
# Note: normally base= coordinates are affected by rotations, but here that
# causes problems; this is why the rules for setting the flag for a small
# forest and placing the actual image are separate.
[terrain_graphics]
map="
, 2
., .
, 1
., .
, ."
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=smallforest
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
[terrain_graphics]
map="
, *
*, *
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
has_flag=smallforest
set_no_flag=overlay
[/tile]
[image]
name={IMAGESTEM}-small@V.png
variations=";2;3;4;5;6;7;8;9;10;11"
layer=0
base=90,161
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, *
*, *
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=overlay
[/tile]
[image]
name={IMAGESTEM}@V.png
variations=";2;3;4;5;6;7;8;9;10;11"
layer=0
base=90,161
center=90,144
[/image]
[/terrain_graphics]
#enddef
#define NEW:FENCE TERRAINLIST IMAGESTEM
[terrain_graphics]
map="
, .
2, 2
, 1
2, 2
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[ne,se,sw,nw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-ne-se-sw-nw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
2, 2
, 1
., 2
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[ne,se,nw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-ne-se-nw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
2, .
, 1
2, 2
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[se,sw,nw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-se-sw-nw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
., 2
, 1
2, 2
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[ne,se,sw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-ne-se-sw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
2, 2
, 1
2, .
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[ne,sw,nw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-ne-sw-nw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
., 2
, 1
., 2
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[ne,se]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-ne-se.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
2, .
, 1
2, .
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[sw,nw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-sw-nw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
., .
, 1
2, 2
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[se,sw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-se-sw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, .
2, 2
, 1
., .
, ."
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[ne,nw]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-ne-nw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, *
*, 2
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-@R4
[/tile]
[tile]
pos=2
type={TERRAINLIST}
has_flag=fence-@R4
[/tile]
rotations=n,ne,se,s,sw,nw
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-@R1-@R4-@V.png
# wmlscope: stop ignoring
variations="01;02"
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, *
*, 2
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-@R4
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=n,ne,se,s,sw,nw
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-@R1-@R4-@V.png
# wmlscope: stop ignoring
variations="01;02"
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, *
2, 2
, 1
2, 2
, *"
[tile]
pos=1
type={TERRAINLIST}
no_flag=fence
set_flag=fence,fence-[ne,se,sw,nw]
[/tile]
[tile]
pos=2
type=!,{TERRAINLIST}
[/tile]
[image]
name={IMAGESTEM}-ne-se-sw-nw.png
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, *
*, 2
, 1
*, *
, *"
[tile]
pos=1
type=!,{TERRAINLIST}
[/tile]
[tile]
pos=2
type={TERRAINLIST}
has_flag=fence-@R4
[/tile]
rotations=n,ne,se,s,sw,nw
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-@R1.png
# wmlscope: stop ignoring
layer=-80
base=90,144
center=90,144
[/image]
[/terrain_graphics]
#enddef
#define NEW:WALL_P TERRAINLIST ADJACENT PROB IMAGESTEM
[terrain_graphics]
map="
2
, 3
1"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=wall-@R0
[/tile]
[tile]
pos=2
type={ADJACENT}
set_no_flag=wall-@R2
[/tile]
[tile]
pos=3
type={ADJACENT}
set_no_flag=wall-@R4
[/tile]
rotations=tr,r,br,bl,l,tl
probability={PROB}
[image]
layer=0
base=54,72
name={IMAGESTEM}@V-convex-@R0.png
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
2
, 3
1"
[tile]
pos=1
type={ADJACENT}
set_no_flag=wall-@R0
[/tile]
[tile]
pos=2
type={TERRAINLIST}
set_no_flag=wall-@R2
[/tile]
[tile]
pos=3
type={TERRAINLIST}
set_no_flag=wall-@R4
[/tile]
rotations=tr,r,br,bl,l,tl
probability={PROB}
[image]
layer=0
base=54,72
name={IMAGESTEM}@V-concave-@R0.png
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
#enddef
#define NEW:WALL TERRAINLIST ADJACENT IMAGESTEM
{NEW:WALL_P {TERRAINLIST} {ADJACENT} 100 {IMAGESTEM}}
#enddef
#define NEW:WALL2_P TERRAINLIST ADJACENT1 ADJACENT2 PROB IMAGESTEM
{NEW:WALL {TERRAINLIST} {ADJACENT1} {IMAGESTEM}}
[terrain_graphics]
map="
2
, 3
1"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=wall-@R0
[/tile]
[tile]
pos=2
type={ADJACENT1}
set_no_flag=wall-@R2
[/tile]
[tile]
pos=3
type={ADJACENT2}
set_no_flag=wall-@R4
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
layer=0
base=54,72
name={IMAGESTEM}@V-cw-@R0.png
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
2
, 3
1"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=wall-@R0
[/tile]
[tile]
pos=2
type={ADJACENT2}
set_no_flag=wall-@R2
[/tile]
[tile]
pos=3
type={ADJACENT1}
set_no_flag=wall-@R4
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
layer=0
base=54,72
name={IMAGESTEM}@V-ccw-@R0.png
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
#enddef
#define NEW:WALL2 TERRAINLIST ADJACENT1 ADJACENT2 IMAGESTEM
{NEW:WALL2_P {TERRAINLIST} {ADJACENT1} {ADJACENT2} 100 {IMAGESTEM}}
#enddef
#define NEW:WAVES TERRAINLIST ADJACENT LAYER IMAGESTEM
[terrain_graphics]
map="
, 2
*, 2
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=waves_convex-@R0-@R5,waves_convex-@R0-@R1
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
name={IMAGESTEM}-convex-A[01~13].png~MASK(terrain/masks/7hex-@R0.png):200
random_start=no
layer={LAYER}
center=90,144
base=90,144
is_water=yes
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 2
*, 2
, 1
*, *
, *"
[tile]
pos=1
type={ADJACENT}
set_no_flag=waves_concave-@R0-@R5,waves_concave-@R0-@R1
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
name={IMAGESTEM}-concave-A[01~13].png~MASK(terrain/masks/7hex-@R0.png):200
random_start=no
layer={LAYER}
center=90,144
base=90,144
is_water=yes
[/image]
[/terrain_graphics]
# These 4 rules draw very special convex-concave combination rules in 3-way
# sand-water-other corners
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
no_draw=yes
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{TERRAINLIST},{ADJACENT}
no_draw=yes
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
name={IMAGESTEM}-convex-A[01~13].png~MASK(terrain/masks/7hex-@R0.png):200
random_start=no
layer={LAYER}
center=90,144
base=90,144
is_water=yes
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={ADJACENT}
no_draw=yes
[/tile]
[tile]
pos=2
type=!,{TERRAINLIST},{ADJACENT}
no_draw=yes
[/tile]
[tile]
pos=3
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
name={IMAGESTEM}-concave-A[01~13].png~MASK(terrain/masks/7hex-@R0-@R1.png):200
random_start=no
layer={LAYER}
center=90,144
base=90,144
is_water=yes
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
no_draw=yes
[/tile]
[tile]
pos=2
type=!,{TERRAINLIST},{ADJACENT}
no_draw=yes
[/tile]
[tile]
pos=3
type={ADJACENT}
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
name={IMAGESTEM}-convex-A[01~13].png~MASK(terrain/masks/7hex-@R0.png):200
random_start=no
layer={LAYER}
center=90,144
base=90,144
is_water=yes
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={ADJACENT}
no_draw=yes
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
[tile]
pos=3
type=!,{TERRAINLIST},{ADJACENT}
no_draw=yes
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
name={IMAGESTEM}-concave-A[01~13].png~MASK(terrain/masks/7hex-@R0-@R5.png):200
random_start=no
layer={LAYER}
center=90,144
base=90,144
is_water=yes
[/image]
[/terrain_graphics]
#enddef
#define NEW:BEACH TERRAINLIST ADJACENT IMAGESTEM
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={ADJACENT}
set_no_flag=beach-@R0-[@R5,@R1]
[/tile]
[tile]
pos=2
type={TERRAINLIST}
set_no_flag=beach-@R2-@R3
[/tile]
[tile]
pos=3
type={TERRAINLIST}
set_no_flag=beach-@R4-@R3
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-concave-@R0-@R5.png
# wmlscope: stop ignoring
layer=-500
center=90,144
base=90,144
[/image]
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-concave-@R0-@R1.png
# wmlscope: stop ignoring
layer=-500
center=90,144
base=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=beach-@R0-[@R5,@R1]
[/tile]
[tile]
pos=2
type={ADJACENT}
set_no_flag=beach-@R2-@R3
[/tile]
[tile]
pos=3
type={ADJACENT}
set_no_flag=beach-@R4-@R3
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-convex-@R0-@R5.png
# wmlscope: stop ignoring
layer=-500
center=90,144
base=90,144
[/image]
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-convex-@R0-@R1.png
# wmlscope: stop ignoring
layer=-500
center=90,144
base=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=beach-@R0-@R5
[/tile]
[tile]
pos=2
type={ADJACENT}
set_no_flag=beach-@R2-@R3
[/tile]
[tile]
pos=3
type=!,{TERRAINLIST},{ADJACENT}
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-convex-@R0-@R5.png
# wmlscope: stop ignoring
layer=-500
center=90,144
base=90,144
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 2
*, 3
, 1
*, *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=beach-@R0-@R1
[/tile]
[tile]
pos=2
type=!,{TERRAINLIST},{ADJACENT}
[/tile]
[tile]
pos=3
type={ADJACENT}
set_no_flag=beach-@R4-@R3
[/tile]
rotations=tr,r,br,bl,l,tl
[image]
# wmlscope: start ignoring
name={IMAGESTEM}-convex-@R0-@R1.png
# wmlscope: stop ignoring
layer=-500
center=90,144
base=90,144
[/image]
[/terrain_graphics]
#enddef
#define NEW:VILLAGE TERRAINLIST IMAGESTEM
[terrain_graphics]
map="
, *
* , *
, 1
* , *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=village
[/tile]
[image]
name={IMAGESTEM}@V.png
variations=";2;3;4;5;6;7"
layer=0
base=90,144
center=90,144
[/image]
[/terrain_graphics]
#enddef
#define NEW:VILLAGE_A3 TERRAINLIST TIME IMAGESTEM
[terrain_graphics]
map="
, *
* , *
, 1
* , *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=village
[/tile]
[image]
name={IMAGESTEM}[01~03].png:{TIME}
layer=0
base=90,144
center=90,144
[/image]
[/terrain_graphics]
#enddef
#define NEW:VILLAGE_A4 TERRAINLIST TIME IMAGESTEM
[terrain_graphics]
map="
, *
* , *
, 1
* , *
, *"
[tile]
pos=1
type={TERRAINLIST}
set_no_flag=village
[/tile]
[image]
name={IMAGESTEM}[01~04].png:{TIME}
layer=0
base=90,144
center=90,144
[/image]
[/terrain_graphics]
#enddef
# This hacky macro will hopefully be replaced with a more elegant way of passing
# variation-specific probabilities sometime
#define VILLAGE_PROBABILITY PROB
[+terrain_graphics]
probability={PROB}
[/terrain_graphics]
#enddef
# This needs to be called only once, to set the flags used by all 12-hex 324x180
# water animations.
#define NEW:WATER_342_180_TILE_FLAGS
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=0,0
set_no_flag=342x180_water01
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=1,0
set_no_flag=342x180_water02
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=2,0
set_no_flag=342x180_water03
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=3,0
set_no_flag=342x180_water04
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=4,0
set_no_flag=342x180_water05
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=5,0
set_no_flag=342x180_water06
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=0,1
set_no_flag=342x180_water07
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=1,1
set_no_flag=342x180_water08
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=2,1
set_no_flag=342x180_water09
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=3,1
set_no_flag=342x180_water10
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=4,1
set_no_flag=342x180_water11
[/tile]
[/terrain_graphics]
[terrain_graphics]
mod_x=6
mod_y=2
[tile]
x,y=5,1
set_no_flag=342x180_water12
[/tile]
[/terrain_graphics]
#enddef
#define WATER_342_180_TILE_VARIANTS MASKIPF LAYER IPF IMAGESTEM FRAMES
[image]
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(0,0,72,72){MASKIPF}{IPF}:100
random_start=no
is_water=yes
[variant]
has_flag=342x180_water02
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(54,36,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water03
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(108,0,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water04
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(162,36,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water05
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(216,0,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water06
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(270,36,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water07
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(0,72,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water08
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(54,108,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water09
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(108,72,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water10
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(162,108,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water11
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(216,72,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[variant]
has_flag=342x180_water12
layer={LAYER}
name={IMAGESTEM}[01~{FRAMES}].png~CROP(270,108,72,72){MASKIPF}{IPF}:100
random_start=no
[/variant]
[/image]
#enddef
#define NEW:WATER_342_180 TERRAINLIST IMAGESTEM FRAMES
[terrain_graphics]
[tile]
x,y=0,0
type={TERRAINLIST}
set_no_flag=base
{WATER_342_180_TILE_VARIANTS "" -1000 "" {IMAGESTEM} {FRAMES}}
[/tile]
[/terrain_graphics]
#enddef
#define NEW:WATER_342_180_OVERLAY TERRAINLIST COLOROVERLAY LAYER
[terrain_graphics]
[tile]
x,y=0,0
type={TERRAINLIST}
[image]
name={COLOROVERLAY}.png
layer={LAYER}
[/image]
[/tile]
[/terrain_graphics]
#enddef
#define NEW:WATER_342_180_OVERLAY_TRANSITION TERRAINLIST ADJACENT LAYER IMAGESTEM OPACITY
{NEW:GENERIC_CORNER_TRANSITION {TERRAINLIST} {ADJACENT} {LAYER} {IMAGESTEM} "masks/long" "~O({OPACITY})"}
#enddef
#define NEW:WATER_342_180_TRANSITION TERRAINLIST ADJACENT LAYER IPF IMAGESTEM FRAMES
[terrain_graphics]
map="
, 2
., 2
, 1
., .
, ."
[tile]
pos=1
type={ADJACENT}
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-concave-2-@R0.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES}}
[/tile]
[tile]
pos=2
type={TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 3
, 1
., .
, ."
[tile]
pos=1
type={TERRAINLIST}
[/tile]
[tile]
pos=2
type={ADJACENT}
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-convex-@R0-@R5.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES}}
[/tile]
[tile]
pos=3
type=!,{TERRAINLIST}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
[terrain_graphics]
map="
, 2
., 3
, 1
., .
, ."
[tile]
pos=1
type={TERRAINLIST}
[/tile]
[tile]
pos=2
type=!,{TERRAINLIST}
[/tile]
[tile]
pos=3
type={ADJACENT}
{WATER_342_180_TILE_VARIANTS "~MASK(terrain/masks/long-convex-@R0-@R1.png)" {LAYER} {IPF} {IMAGESTEM} {FRAMES}}
[/tile]
rotations=tr,r,br,bl,l,tl
[/terrain_graphics]
#enddef