ln-zookeeper c3bf0ee816 Improved on some glitchy 3-way corners involving beach waves
Corners where water, sand and anything that sand transitions over (such as roads) exhibited the problem. This fix isn't perfect as the convex and concave shore waves don't completely match, but it's a clear improvement.
2016-03-30 19:16:10 +03: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