Skip to content

Commit

Permalink
Fixed most remaining layering glitches with mountains
Browse files Browse the repository at this point in the history
Desert mountains left unchanged, as they require a different solution. Also, one subtle glitch still exists between the lower ends of 1x3 mountains and adjacent restricted single mountains, but that is impossible to fix without breaking layering with forests or cutting the tiles differently.
  • Loading branch information
ln-zookeeper committed Dec 29, 2016
1 parent b352ed3 commit 7e99452
Show file tree
Hide file tree
Showing 2 changed files with 256 additions and 12 deletions.
21 changes: 9 additions & 12 deletions data/core/terrain-graphics.cfg
Expand Up @@ -197,10 +197,7 @@
{OVERLAY_COMPLETE_F Mv (!,Xv,Mv,!,C*,K*,X*,Q*) base,base2 mountains/volcano}

# Mountains
{OVERLAY_RESTRICTED3_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/basic-castle-n}
{OVERLAY_ROTATION_RESTRICTED2_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/basic-castle}
{OVERLAY_RESTRICTED2_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/basic-castle-n}
{OVERLAY_ROTATION_RESTRICTED_F Mm (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/basic-castle}
{MOUNTAIN_RESTRICTED Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/basic-castle}

{MOUNTAINS_2x4_NW_SE Mm 18 base,base2 mountains/basic_range3}
{MOUNTAINS_2x4_SW_NE Mm 26 base,base2 mountains/basic_range4}
Expand All @@ -211,13 +208,12 @@
{MOUNTAINS_2x2 Mm 40 base,base2 mountains/basic5}
{MOUNTAINS_2x2 Mm 30 base,base2 mountains/basic6}

{MOUNTAIN_SMALL Mm (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/basic-castle-n}

{MOUNTAIN_SINGLE_RANDOM Mm base,base2 mountains/basic}

# Dry Mountains
{OVERLAY_RESTRICTED3_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/dry-castle-n}
{OVERLAY_ROTATION_RESTRICTED2_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/dry-castle}
{OVERLAY_RESTRICTED2_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/dry-castle-n}
{OVERLAY_ROTATION_RESTRICTED_F Md (!,Xv,!,C*,K*,X*,Ql,Qx*,W*) base2 mountains/dry-castle}
{MOUNTAIN_RESTRICTED Md (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/dry-castle}

{MOUNTAINS_2x4_NW_SE Md 18 base,base2 mountains/dry_range3}
{MOUNTAINS_2x4_SW_NE Md 26 base,base2 mountains/dry_range4}
Expand All @@ -228,13 +224,12 @@
{MOUNTAINS_2x2 Md 40 base,base2 mountains/dry5}
{MOUNTAINS_2x2 Md 30 base,base2 mountains/dry6}

{MOUNTAIN_SMALL Md (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/dry-castle-n}

{MOUNTAIN_SINGLE_RANDOM Md base,base2 mountains/dry}

# Snow mountains (uncomment rules as the corresponding tiles are added)
#{OVERLAY_RESTRICTED3_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle-n}
#{OVERLAY_ROTATION_RESTRICTED2_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle}
#{OVERLAY_RESTRICTED2_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle-n}
#{OVERLAY_ROTATION_RESTRICTED_F Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle}
#{MOUNTAIN_RESTRICTED Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle}

#{MOUNTAINS_2x4_NW_SE Ms 18 base,base2 mountains/snow_range3}
#{MOUNTAINS_2x4_SW_NE Ms 26 base,base2 mountains/snow_range4}
Expand All @@ -245,6 +240,8 @@
{MOUNTAINS_2x2 Ms 15 base,base2 mountains/snow5}
{MOUNTAINS_2x2 Ms 25 base,base2 mountains/snow6}

{MOUNTAIN_SMALL Ms (!,Xv,!,C*,K*,X*,Ql,Qx*) base2 mountains/snow-castle-n}

{MOUNTAIN_SINGLE_RANDOM Ms base,base2 mountains/snow}

#This one is to fill any "gaps" there might be when next to castles or walls
Expand Down
247 changes: 247 additions & 0 deletions data/core/terrain-graphics/mountains.cfg
Expand Up @@ -231,6 +231,253 @@
{MOUNTAIN_SINGLE ({TERRAIN}) 100 {FLAG} {IMAGESTEM}@V}
#enddef

#define MOUNTAIN_RESTRICTED TERRAIN ADJACENT FLAG IMAGESTEM
# Places directional small mountains. The single-direction versions are six
# separate rules instead of one with rotations, because the exact layering
# doesn't work when the base coordinates get rotated too.
[terrain_graphics]
map="
, 2
3, 3
, 1
3, 3
, 3"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG},mountain-small-1
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{ADJACENT}
[/tile]
[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} -n}
base=90,143
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 3
3, 2
, 1
3, 3
, 3"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG},mountain-small-1
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{ADJACENT}
[/tile]
[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} -ne}
base=90,143
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 3
3, 3
, 1
3, 2
, 3"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG},mountain-small-1
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{ADJACENT}
[/tile]
[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} -se}
base=90,143
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 3
3, 3
, 1
3, 3
, 2"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG},mountain-small-1
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{ADJACENT}
[/tile]
[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} -s}
base=90,143
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 3
3, 3
, 1
2, 3
, 3"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG},mountain-small-1
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{ADJACENT}
[/tile]
[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} -sw}
base=90,143
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
[terrain_graphics]
map="
, 3
2, 3
, 1
3, 3
, 3"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG},mountain-small-1
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{ADJACENT}
[/tile]
[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} -nw}
base=90,143
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]

[terrain_graphics]
map="
, 2
3, 2
, 1
3, 3
, 3"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG},mountain-small-2
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]
[tile]
pos=3
type=!,{ADJACENT}
[/tile]

rotations=n,ne,se,s,sw,nw

[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} -@R0-@R1}
base=90,143
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]

# Marks all the hexes for which a matching directional image was not found
# with the mountain-small-3 flag, so it can be filled by MOUNTAIN_SMALL
# after multihex tiles have been placed.
[terrain_graphics]
map="
, 2
*, *
, 1
*, *
, *"
[tile]
pos=1
type={TERRAIN}
no_flag={FLAG},mountain-small-1,mountain-small-2
set_flag=mountain-small-3
[/tile]
[tile]
pos=2
type={ADJACENT}
[/tile]

rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef

#define MOUNTAIN_SMALL TERRAIN ADJACENT FLAG IMAGESTEM
[terrain_graphics]
map="
, *
*, *
, 1
*, *
, *"
[tile]
pos=1
type={TERRAIN}
set_no_flag={FLAG}
has_flag=mountain-small-3
[/tile]

[image]
name={BUILD_IMAGE IMAGE_SINGLE {IMAGESTEM} ()}
base=90,108
center=90,144
variations=";2;3;4;5;6"
[/image]
[/terrain_graphics]
#enddef

#
# Macros for mountain peaks
#
Expand Down

0 comments on commit 7e99452

Please sign in to comment.