# 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