rewrite the whole bridge logic in order to get it right.

Rails now use the same macros as bridges... now to make the stone
bridge use them too
This commit is contained in:
Jérémy Rosen 2010-06-20 15:24:24 +00:00
parent b817cb049a
commit 036b1c7e56
24 changed files with 278 additions and 303 deletions

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -17,10 +17,23 @@
# themable
# Wooden bridges (put those on top of everything)
{BRIDGE *^Bw\ *^Bw| *^Bw/ (W*^,Ss^,Ai^) (C*,K*,*^F*) bridge/wood}
{TRACK *^Bw\ *^Bw| *^Bw/ bridge/wood}
# add transition bridges<->bridges wherever images are missing
{TRACK_BORDER_RESTRICTED (*Bw|,*^Bw/,*^Bw/) (*^Bw|,*^Bw/,*^Bw/) bridge/wood}
# add dock-style ends to bridges ending in water
{TRACK_BORDER_RESTRICTED (*^Bw|,*^Bw/,*^Bw/) (W*^,Ss^,Ai^) bridge/wood-dock}
# add ramps where straight bridges end on land
{TRACK_BORDER_RESTRICTED (*^Bw|,*^Bw/,*^Bw/) (!,C*,K*,*^F*) bridge/wood}
# Mine rail tracks
{RAILWAY *^Br\ *^Br| *^Br/ cave/rails}
#{RAILWAY *^Br\ *^Br| *^Br/ cave/rails}
{TRACK *^Br\ *^Br| *^Br/ cave/rails}
# add transition rail<->rail wherever images are missing
{TRACK_BORDER_RESTRICTED (*^Br/,*^Br\) *^Br| cave/rails-switch-ns}
{TRACK_BORDER_RESTRICTED (*^Br|,*^Br/) *^Br\ cave/rails-switch-nwse}
{TRACK_BORDER_RESTRICTED (*^Br|,*^Br\) *^Br/ cave/rails-switch-nesw}
#add transitions at rail end
{TRACK_BORDER_RESTRICTED (*^Br|,*^Br/,*^Br/) * cave/rails-end}
# Forests
{OVERLAY_COMPLETE Hh*^Fp (C*,K*,X*,Ql*,Qx*,Gv*,W*,M*,*^V*) forest/pine-sparse}

View file

@ -1,83 +0,0 @@
#textdomain wesnoth
# This file handles transitions involving bridges
# macros to make things shorter
# the main macro, called from terrain-graphics.cfg
#define BRIDGE_LF SE_NW_VALUE N_S_VALUE NE_SW_VALUE WATER_TERRAIN_NAME NOTERM_AFFIX LAYER FLAG IMAGESTEM
# find Y intersections
{TRACK_Y_LF {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s-nw n ne se s sw nw 2 4 3 * * *}
{TRACK_Y_LF {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se-sw ne se s sw nw n * 2 4 3 * *}
{TRACK_Y_LF {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s-nw se s sw nw n ne * * 2 4 3 *}
{TRACK_Y_LF {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se-sw s sw nw n ne se * * * 2 4 3}
{TRACK_Y_LF {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s-nw sw nw n ne se s 3 * * * 2 4}
{TRACK_Y_LF {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se-sw nw n ne se s sw 4 3 * * * 2}
# make sure that colinear adjacent bridges stay connected
{TRACK_CONNECT_F {N_S_VALUE} {FLAG} n ne se s sw nw 1 0}
{TRACK_CONNECT_F {NE_SW_VALUE} {FLAG} ne se s sw nw n 2 1}
{TRACK_CONNECT_F {SE_NW_VALUE} {FLAG} se s sw nw n ne 2 2}
# normal corners
{TRACK_CORNER_LF {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-s-nw s nw se n sw ne 2 3 * * * *}
{TRACK_CORNER_LF {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s s ne sw n se nw * 3 2 * * *}
{TRACK_CORNER_LF {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-sw sw n s ne nw se * 2 3 * * *}
{TRACK_CORNER_LF {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-se-sw sw se nw ne s n * * 3 2 * *}
{TRACK_CORNER_LF {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-nw nw ne sw se n s * * 2 3 * *}
{TRACK_CORNER_LF {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-s-nw nw s n se sw ne * * * 3 2 *}
{TRACK_CORNER_LF {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se n se nw s ne sw * * * 2 3 *}
{TRACK_CORNER_LF {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-sw n sw ne s nw se * * * * 3 2}
{TRACK_CORNER_LF {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s ne s n sw se nw * * * * 2 3}
{TRACK_CORNER_LF {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-nw ne nw se sw n s 2 * * * * 3}
{TRACK_CORNER_LF {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-se-sw se sw ne nw s n 3 * * * * 2}
{TRACK_CORNER_LF {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se se n s nw ne sw 3 2 * * * *}
# these 3 macros define the default straight bridges
{TRACK_LF {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-n-s}
{TRACK_LF {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-ne-sw}
{TRACK_LF {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-se-nw}
# add ramps where straight bridges intersect Ys
{TRACK_END_LF {N_S_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {LAYER} {FLAG} {IMAGESTEM} n ne se s sw nw 2 * * * * *}
{TRACK_END_LF {NE_SW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {LAYER} {FLAG} {IMAGESTEM} ne se s sw nw n * 2 * * * *}
{TRACK_END_LF {SE_NW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {LAYER} {FLAG} {IMAGESTEM} se s sw nw n ne * * 2 * * *}
{TRACK_END_LF {N_S_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {LAYER} {FLAG} {IMAGESTEM} s sw nw n ne se * * * 2 * *}
{TRACK_END_LF {NE_SW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {LAYER} {FLAG} {IMAGESTEM} sw nw n ne se s * * * * 2 *}
{TRACK_END_LF {SE_NW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {LAYER} {FLAG} {IMAGESTEM} nw n ne se s sw * * * * * 2}
# add ramps where straight bridges end on land
{TRACK_END_LF {N_S_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} n ne se s sw nw 2 * * * * *}
{TRACK_END_LF {NE_SW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} ne se s sw nw n * 2 * * * *}
{TRACK_END_LF {SE_NW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} se s sw nw n ne * * 2 * * *}
{TRACK_END_LF {N_S_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} s sw nw n ne se * * * 2 * *}
{TRACK_END_LF {NE_SW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} sw nw n ne se s * * * * 2 *}
{TRACK_END_LF {SE_NW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} nw n ne se s sw * * * * * 2}
# add dock-style ends to bridges ending in water
{TRACK_END_LF {N_S_VALUE} {WATER_TERRAIN_NAME} {LAYER} {FLAG} {IMAGESTEM}-end n ne se s sw nw 2 * * * * *}
{TRACK_END_LF {NE_SW_VALUE} {WATER_TERRAIN_NAME} {LAYER} {FLAG} {IMAGESTEM}-end ne se s sw nw n * 2 * * * *}
{TRACK_END_LF {SE_NW_VALUE} {WATER_TERRAIN_NAME} {LAYER} {FLAG} {IMAGESTEM}-end se s sw nw n ne * * 2 * * *}
{TRACK_END_LF {N_S_VALUE} {WATER_TERRAIN_NAME} {LAYER} {FLAG} {IMAGESTEM}-end s sw nw n ne se * * * 2 * *}
{TRACK_END_LF {NE_SW_VALUE} {WATER_TERRAIN_NAME} {LAYER} {FLAG} {IMAGESTEM}-end sw nw n ne se s * * * * 2 *}
{TRACK_END_LF {SE_NW_VALUE} {WATER_TERRAIN_NAME} {LAYER} {FLAG} {IMAGESTEM}-end nw n ne se s sw * * * * * 2}
#enddef
#meta-macro BRIDGE SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN WATER_TERRAIN NOTRANS_TERRAIN L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#####################################################################################################
############### AUTO GENERATED CODE ###################################################
#####################################################################################################
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro BRIDGE SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN WATER_TERRAIN NOTRANS_TERRAIN L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#Please do not modify
#define BRIDGE_F SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN WATER_TERRAIN NOTRANS_TERRAIN FLAG IMAGESTEM
{BRIDGE_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) ({WATER_TERRAIN}) ({NOTRANS_TERRAIN}) -80 ({FLAG}) ({IMAGESTEM})}
#enddef
#define BRIDGE_L SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN WATER_TERRAIN NOTRANS_TERRAIN LAYER IMAGESTEM
{BRIDGE_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) ({WATER_TERRAIN}) ({NOTRANS_TERRAIN}) ({LAYER}) overlay ({IMAGESTEM})}
#enddef
#define BRIDGE SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN WATER_TERRAIN NOTRANS_TERRAIN IMAGESTEM
{BRIDGE_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) ({WATER_TERRAIN}) ({NOTRANS_TERRAIN}) -80 overlay ({IMAGESTEM})}
#enddef
#end of generated code

View file

@ -1,58 +1,86 @@
#textdomain wesnoth
#define TRACK_CORNER_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 100 {LAYER} {FLAG} {IMAGESTEM} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
#define TRACK_CORNER_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM SUFFIX A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_CORNER_PLF ({TERRAIN}) ({ADJACENT}) 100 {LAYER} {FLAG} {IMAGESTEM} {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
#enddef
#define TRACK_Y_LF TERRAIN ADJACENT1 ADJACENT2 LAYER FLAG IMAGESTEM A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 100 {LAYER} {FLAG} {IMAGESTEM} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
#define TRACK_Y_LF TERRAIN ADJACENT1 ADJACENT2 LAYER FLAG IMAGESTEM SUFFIX A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_Y_PLF ({TERRAIN}) ({ADJACENT1}) ({ADJACENT2}) 100 {LAYER} {FLAG} {IMAGESTEM} {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
#enddef
#define TRACK_END_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 100 {LAYER} {FLAG} {IMAGESTEM} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
#define TRACK_SWITCH_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM R0 R1 R2 S0 S1 S2 S3 S4 S5
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_SWITCH_PLF ({TERRAIN}) ({ADJACENT}) 100 {LAYER} {FLAG} {IMAGESTEM} {R0} {R1} {R2} {S0} {S1} {S2} {S3} {S4} {S5}}
#enddef
#define TRACK_LF TERRAIN LAYER FLAG IMAGESTEM
{TRACK_PLF ({TERRAIN}) 9 {LAYER} {FLAG} {IMAGESTEM}11}
{TRACK_PLF ({TERRAIN}) 10 {LAYER} {FLAG} {IMAGESTEM}10}
{TRACK_PLF ({TERRAIN}) 11 {LAYER} {FLAG} {IMAGESTEM}9 }
{TRACK_PLF ({TERRAIN}) 12 {LAYER} {FLAG} {IMAGESTEM}8 }
{TRACK_PLF ({TERRAIN}) 14 {LAYER} {FLAG} {IMAGESTEM}7 }
{TRACK_PLF ({TERRAIN}) 16 {LAYER} {FLAG} {IMAGESTEM}6 }
{TRACK_PLF ({TERRAIN}) 20 {LAYER} {FLAG} {IMAGESTEM}5 }
{TRACK_PLF ({TERRAIN}) 25 {LAYER} {FLAG} {IMAGESTEM}4 }
{TRACK_PLF ({TERRAIN}) 33 {LAYER} {FLAG} {IMAGESTEM}3 }
{TRACK_PLF ({TERRAIN}) 50 {LAYER} {FLAG} {IMAGESTEM}2 }
{TRACK_PLF ({TERRAIN}) 100 {LAYER} {FLAG} {IMAGESTEM} }
#define TRACK_END_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM SUFFIX A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
{TRACK_END_PLF ({TERRAIN}) ({ADJACENT}) 100 {LAYER} {FLAG} {IMAGESTEM} {SUFFIX} {A1} {A2} {A3} {A4} {A5} {A6} {S0} {S1} {S2} {S3} {S4} {S5}}
#enddef
#define TRACK_STRAIGHT_LF TERRAIN LAYER FLAG IMAGESTEM SUFFIX
{TRACK_STRAIGHT_PLF ({TERRAIN}) 9 {LAYER} {FLAG} {IMAGESTEM}11 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 10 {LAYER} {FLAG} {IMAGESTEM}10 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 11 {LAYER} {FLAG} {IMAGESTEM}9 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 12 {LAYER} {FLAG} {IMAGESTEM}8 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 14 {LAYER} {FLAG} {IMAGESTEM}7 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 16 {LAYER} {FLAG} {IMAGESTEM}6 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 20 {LAYER} {FLAG} {IMAGESTEM}5 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 25 {LAYER} {FLAG} {IMAGESTEM}4 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 33 {LAYER} {FLAG} {IMAGESTEM}3 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 50 {LAYER} {FLAG} {IMAGESTEM}2 {SUFFIX} }
{TRACK_STRAIGHT_PLF ({TERRAIN}) 100 {LAYER} {FLAG} {IMAGESTEM} {SUFFIX} }
#enddef
#define TRACK_BORDER_RESTRICTED_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 9 {LAYER} {FLAG} {IMAGESTEM}11}
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 10 {LAYER} {FLAG} {IMAGESTEM}10}
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 11 {LAYER} {FLAG} {IMAGESTEM}9 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 12 {LAYER} {FLAG} {IMAGESTEM}8 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 14 {LAYER} {FLAG} {IMAGESTEM}7 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 16 {LAYER} {FLAG} {IMAGESTEM}6 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 20 {LAYER} {FLAG} {IMAGESTEM}5 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 25 {LAYER} {FLAG} {IMAGESTEM}4 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 33 {LAYER} {FLAG} {IMAGESTEM}3 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 50 {LAYER} {FLAG} {IMAGESTEM}2 }
{TRACK_BORDER_RESTRICTED_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 {LAYER} {FLAG} {IMAGESTEM} }
#enddef

View file

@ -1,40 +1,16 @@
#textdomain wesnoth
# macros for bridges/rails and anything overlayed that is path-like
#define IMAGEC_LN LAYER NAME
#define IMAGEC_LN LAYER NAME SUFFIX
[image]
layer={LAYER}
center=90,144
name={BUILD_IMAGE IMAGE_SINGLE {NAME} ()}
name={BUILD_IMAGE IMAGE_SINGLE {NAME} {SUFFIX}}
[/image]
#enddef
#This adds an end to a bridge (the bridge is on 2, and we draw on 1)
#define TRACK_END_PLF TERRAIN ADJACENT PROB LAYER FLAG IMAGESTEM R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
[terrain_graphics]
map="
, {S0}
{S5}, {S1}
, 1
{S4}, {S2}
, {S3}"
[tile]
pos=2
type={TERRAIN}
no_flag={FLAG}-away-{R3},{FLAG}-{R2},{FLAG}-{R4}
[/tile]
[tile]
pos=1
type={ADJACENT}
no_flag={FLAG}-{R0}
[/tile]
probability={PROB}
{IMAGEC_LN {LAYER} {IMAGESTEM}-{R0}}
[/terrain_graphics]
#enddef
# this macro produces Y intersections
#define TRACK_Y_PLF TERRAIN ADJACENT1 ADJACENT2 PROB LAYER FLAG IMAGESTEM R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
# this macro keeps colinear bridges connected, it does not add images
#define TRACK_CONNECT_F TERRAIN FLAG R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
[terrain_graphics]
map="
, {S1}
@ -43,55 +19,61 @@
{S5}, {S3}
, {S4}"
[tile]
pos=1
#main bridge
pos=1
type={TERRAIN}
no_flag={FLAG},{FLAG}-{R0},{FLAG}-{R2},{FLAG}-{R4}
set_flag={FLAG},{FLAG}-{R1},{FLAG}-{R5},{FLAG}-{R3}
set_flag={FLAG}-connect-{R0}
[/tile]
[tile]
pos=2
type={TERRAIN}
[/tile]
[/terrain_graphics]
#enddef
# this macro produces Y intersections
#define TRACK_Y_PLF TERRAIN ADJACENT1 ADJACENT2 PROB LAYER FLAG IMAGESTEM SUFFIX R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
[terrain_graphics]
map="
, {S1}
{S0}, {S2}
, 1
{S5}, {S3}
, {S4}"
[tile]
#main track
pos=1
type={TERRAIN}
no_flag={FLAG},{FLAG}-connect-{R0}
set_flag={FLAG},{FLAG}-connect-{R1},{FLAG}-connect-{R5},{FLAG}-connect-{R3},{FLAG}-away-{R0}
[/tile]
[tile]
#out track
pos=2
no_flag={FLAG}-{R3},{FLAG}-{R1}
set_flag={FLAG}-{R2}
no_flag={FLAG}-connect-{R3},{FLAG}-connect-{R1}
set_flag={FLAG}-connect-{R2}
type={ADJACENT1}
[/tile]
[tile]
#out track
pos=3
no_flag={FLAG}-{R3},{FLAG}-{R5}
set_flag={FLAG}-{R4}
no_flag={FLAG}-connect-{R3},{FLAG}-connect-{R5}
set_flag={FLAG}-connect-{R4}
type={ADJACENT2}
[/tile]
[tile]
#middle of both out track
pos=4
type=!,{TERRAIN}
set_flag={FLAG}-away-{R3}
[/tile]
probability={PROB}
{IMAGEC_LN {LAYER} {IMAGESTEM}}
[/terrain_graphics]
#enddef
# this macro keeps colinear bridges connected, it does not add images
#define TRACK_CONNECT_F TERRAIN FLAG R0 R1 R2 R3 R4 R5 X Y
[terrain_graphics]
[tile]
x=1
y=1
type={TERRAIN}
no_flag={FLAG}-{R1},{FLAG}-{R5}
set_flag={FLAG}-{R0}
[/tile]
[tile]
x={X}
y={Y}
type={TERRAIN}
no_flag={FLAG}-{R2},{FLAG}-{R4}
set_flag={FLAG}-{R3}
[/tile]
{IMAGEC_LN {LAYER} {IMAGESTEM} {SUFFIX}}
[/terrain_graphics]
#enddef
# this macro handles the normal corners
#define TRACK_CORNER_PLF TERRAIN ADJACENT PROB LAYER FLAG IMAGESTEM A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
#define TRACK_CORNER_PLF TERRAIN ADJACENT PROB LAYER FLAG IMAGESTEM SUFFIX R1 R2 R3 R4 R5 R6 S0 S1 S2 S3 S4 S5
[terrain_graphics]
map="
, {S1}
@ -100,27 +82,82 @@
{S5}, {S3}
, {S4}"
[tile]
#main track
pos=1
type={TERRAIN}
no_flag={FLAG},{FLAG}-{A3},{FLAG}-{A4},{FLAG}-{A5},{FLAG}-{A6}
set_flag={FLAG},{FLAG}-{A1},{FLAG}-{A2}
no_flag={FLAG},{FLAG}-connect-{R4}
set_flag={FLAG},{FLAG}-connect-{R1},{FLAG}-connect-{R2},{FLAG}-away-{R4}
[/tile]
[tile]
#exit side
pos=2
type={ADJACENT}
no_flag={FLAG}-{A1},{FLAG}-{A6}
set_flag={FLAG}-{A3}
no_flag={FLAG}-connect-{R1},{FLAG}-connect-{R6},{FLAG}-away-{R3}
set_flag={FLAG}-connect-{R3}
[/tile]
[tile]
#side where we should have exited, but don't
pos=3
set_flag={FLAG}-away-{A1}
set_flag={FLAG}-away-{R1}
no_flag={FLAG}-connect-{R1}
[/tile]
probability={PROB}
{IMAGEC_LN {LAYER} {IMAGESTEM}}
{IMAGEC_LN {LAYER} {IMAGESTEM} {SUFFIX}}
[/terrain_graphics]
#enddef
#define TRACK_PLF TERRAIN PROB LAYER FLAG IMAGESTEM
#mark the bridges that finish in a dead end
#define TRACK_DEADEND_F TERRAIN FLAG R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
[terrain_graphics]
map="
, {S1}
{S0}, {S2}
, 1
{S5}, {S3}
, {S4}"
[tile]
#main bridge
pos=1
type={TERRAIN}
no_flag={FLAG}-away-{R0},{FLAG}-connect-{R0}
set_flag={FLAG}-connect-{R0}
[/tile]
[/terrain_graphics]
#enddef
#define TRACK_BORDER_RESTRICTED_PLFB TERRAINLIST ADJACENT PROB LAYER FLAG IMAGESTEM
[terrain_graphics]
map="
, 2
* , *
, 1
* , *
, *"
[tile]
pos=1
type={ADJACENT}
no_flag={FLAG}-@R0,{FLAG}-connect-@R0
set_flag={FLAG}-@R0
[/tile]
[tile]
pos=2
type={TERRAINLIST}
no_flag={FLAG}-@R3
set_flag={FLAG}-@R3
has_flag={FLAG}-connect-@R3
[/tile]
{IMAGEC_LN {LAYER} {IMAGESTEM} -@R0}
# {IMAGEC_LN -80 void ()}
probability={PROB}
rotations=n,ne,se,s,sw,nw
[/terrain_graphics]
#enddef
#define TRACK_STRAIGHT_PLF TERRAIN PROB LAYER FLAG IMAGESTEM SUFFIX
[terrain_graphics]
map="
, *
@ -137,6 +174,6 @@
[/tile]
probability={PROB}
{IMAGEC_LN {LAYER} {IMAGESTEM}}
{IMAGEC_LN {LAYER} {IMAGESTEM} {SUFFIX}}
[/terrain_graphics]
#enddef

View file

@ -1,105 +0,0 @@
#
# Mine rail graphics
#
#define IMAGE_LN LAYER NAME
[image]
layer={LAYER}
name={BUILD_IMAGE IMAGE_SINGLE {NAME} ()}
[/image]
#enddef
# this macro adds switches at track intersections
#define RAIL_SWITCH_LF IMAGESTEM BRIDGETYPE_NAME BRIDGETYPE_JOIN_NAME LAYER FLAG SWITCHSIDE_AFFIX MAINRAIL_AFFIX SWITCH_REVERSE_AFFIX X Y
[terrain_graphics]
[tile]
x=1
y=1
type={BRIDGETYPE_NAME}
set_flag={FLAG}-{SWITCH_REVERSE_AFFIX}
[/tile]
[tile]
x={X}
y={Y}
type={BRIDGETYPE_JOIN_NAME}
no_flag={FLAG}-away-{SWITCHSIDE_AFFIX}, {FLAG}-{SWITCHSIDE_AFFIX}, {FLAG}-{SWITCH_REVERSE_AFFIX}
set_flag={FLAG}-away-{SWITCHSIDE_AFFIX}
{IMAGE_LN {LAYER} ({IMAGESTEM}-switch-{SWITCHSIDE_AFFIX}-{MAINRAIL_AFFIX})}
[/tile]
[/terrain_graphics]
#enddef
#define RAILWAY_LF SE_NW_VALUE N_S_VALUE NE_SW_VALUE LAYER FLAG IMAGESTEM
# find Y intersections
{TRACK_Y_LF {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s-nw n ne se s sw nw 2 4 3 * * *}
{TRACK_Y_LF {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se-sw ne se s sw nw n * 2 4 3 * *}
{TRACK_Y_LF {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s-nw se s sw nw n ne * * 2 4 3 *}
{TRACK_Y_LF {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se-sw s sw nw n ne se * * * 2 4 3}
{TRACK_Y_LF {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s-nw sw nw n ne se s 3 * * * 2 4}
{TRACK_Y_LF {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se-sw nw n ne se s sw 4 3 * * * 2}
# make sure that colinear adjacent bridges stay connected
{TRACK_CONNECT_F {N_S_VALUE} {FLAG} n ne se s sw nw 1 0}
{TRACK_CONNECT_F {NE_SW_VALUE} {FLAG} ne se s sw nw n 2 1}
{TRACK_CONNECT_F {SE_NW_VALUE} {FLAG} se s sw nw n ne 2 2}
# normal corners
{TRACK_CORNER_LF {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-s-nw s nw se n sw ne 2 3 * * * *}
{TRACK_CORNER_LF {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s s ne sw n se nw * 3 2 * * *}
{TRACK_CORNER_LF {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-sw sw n s ne nw se * 2 3 * * *}
{TRACK_CORNER_LF {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-se-sw sw se nw ne s n * * 3 2 * *}
{TRACK_CORNER_LF {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-nw nw ne sw se n s * * 2 3 * *}
{TRACK_CORNER_LF {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-s-nw nw s n se sw ne * * * 3 2 *}
{TRACK_CORNER_LF {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se n se nw s ne sw * * * 2 3 *}
{TRACK_CORNER_LF {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-sw n sw ne s nw se * * * * 3 2}
{TRACK_CORNER_LF {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-s ne s n sw se nw * * * * 2 3}
{TRACK_CORNER_LF {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-ne-nw ne nw se sw n s 2 * * * * 3}
{TRACK_CORNER_LF {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-se-sw se sw ne nw s n 3 * * * * 2}
{TRACK_CORNER_LF {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-joint-n-se se n s nw ne sw 3 2 * * * *}
# these 3 macros define the default straight bridges
{TRACK_LF {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM}-n-s}
{TRACK_LF {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-ne-sw}
{TRACK_LF {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM}-se-nw}
# add switches that are not Ys
{RAIL_SWITCH_LF {IMAGESTEM} {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} s ne n 1 0}
{RAIL_SWITCH_LF {IMAGESTEM} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} s nw n 1 0}
{RAIL_SWITCH_LF {IMAGESTEM} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} sw n ne 2 1}
{RAIL_SWITCH_LF {IMAGESTEM} {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} sw se sw 2 1}
{RAIL_SWITCH_LF {IMAGESTEM} {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} nw s se 2 2}
{RAIL_SWITCH_LF {IMAGESTEM} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} nw ne nw 2 2}
{RAIL_SWITCH_LF {IMAGESTEM} {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} n sw s 1 2}
{RAIL_SWITCH_LF {IMAGESTEM} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} n se s 1 2}
{RAIL_SWITCH_LF {IMAGESTEM} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} ne s sw 0 2}
{RAIL_SWITCH_LF {IMAGESTEM} {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} ne nw ne 0 2}
{RAIL_SWITCH_LF {IMAGESTEM} {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} se n nw 0 1}
{RAIL_SWITCH_LF {IMAGESTEM} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} se sw se 0 1}
# add basic end to anything left
{TRACK_END_LF {N_S_VALUE} * {LAYER} {FLAG} {IMAGESTEM}-end n ne se s sw nw 2 * * * * *}
{TRACK_END_LF {NE_SW_VALUE} * {LAYER} {FLAG} {IMAGESTEM}-end ne se s sw nw n * 2 * * * *}
{TRACK_END_LF {SE_NW_VALUE} * {LAYER} {FLAG} {IMAGESTEM}-end se s sw nw n ne * * 2 * * *}
{TRACK_END_LF {N_S_VALUE} * {LAYER} {FLAG} {IMAGESTEM}-end s sw nw n ne se * * * 2 * *}
{TRACK_END_LF {NE_SW_VALUE} * {LAYER} {FLAG} {IMAGESTEM}-end sw nw n ne se s * * * * 2 *}
{TRACK_END_LF {SE_NW_VALUE} * {LAYER} {FLAG} {IMAGESTEM}-end nw n ne se s sw * * * * * 2}
#enddef
#meta-macro RAILWAY SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#####################################################################################################
############### AUTO GENERATED CODE ###################################################
#####################################################################################################
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro RAILWAY SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#Please do not modify
#define RAILWAY_F SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN FLAG IMAGESTEM
{RAILWAY_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) -80 ({FLAG}) ({IMAGESTEM})}
#enddef
#define RAILWAY_L SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN LAYER IMAGESTEM
{RAILWAY_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) ({LAYER}) overlay ({IMAGESTEM})}
#enddef
#define RAILWAY SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN IMAGESTEM
{RAILWAY_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) -80 overlay ({IMAGESTEM})}
#enddef
#end of generated code

View file

@ -0,0 +1,85 @@
#textdomain wesnoth
# This file handles transitions involving bridges
# macros to make things shorter
# the main macro, called from terrain-graphics.cfg
#define TRACK_LF SE_NW_VALUE N_S_VALUE NE_SW_VALUE LAYER FLAG IMAGESTEM
# make sure that colinear adjacent bridges stay connected
{TRACK_CONNECT_F {N_S_VALUE} {FLAG} n ne se s sw nw * 2 * * * *}
{TRACK_CONNECT_F {NE_SW_VALUE} {FLAG} ne se s sw nw n * * 2 * * *}
{TRACK_CONNECT_F {SE_NW_VALUE} {FLAG} se s sw nw n ne * * * 2 * *}
{TRACK_CONNECT_F {N_S_VALUE} {FLAG} s sw nw n ne se * * * * 2 *}
{TRACK_CONNECT_F {NE_SW_VALUE} {FLAG} sw nw n ne se s * * * * * 2}
{TRACK_CONNECT_F {SE_NW_VALUE} {FLAG} nw n ne se s sw 2 * * * * *}
# find Y intersections
{TRACK_Y_LF {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-ne-s-nw n ne se s sw nw 2 4 3 * * *}
{TRACK_Y_LF {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-n-se-sw ne se s sw nw n * 2 4 3 * *}
{TRACK_Y_LF {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-ne-s-nw se s sw nw n ne * * 2 4 3 *}
{TRACK_Y_LF {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-n-se-sw s sw nw n ne se * * * 2 4 3}
{TRACK_Y_LF {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-ne-s-nw sw nw n ne se s 3 * * * 2 4}
{TRACK_Y_LF {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-n-se-sw nw n ne se s sw 4 3 * * * 2}
# normal corners
{TRACK_CORNER_LF {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-s-nw s nw se n sw ne 2 3 * * * *}
{TRACK_CORNER_LF {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-ne-s s ne sw n se nw * 3 2 * * *}
{TRACK_CORNER_LF {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-n-sw sw n s ne nw se * 2 3 * * *}
{TRACK_CORNER_LF {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-se-sw sw se nw ne s n * * 3 2 * *}
{TRACK_CORNER_LF {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-ne-nw nw ne sw se n s * * 2 3 * *}
{TRACK_CORNER_LF {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-s-nw nw s n se sw ne * * * 3 2 *}
{TRACK_CORNER_LF {N_S_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-n-se n se nw s ne sw * * * 2 3 *}
{TRACK_CORNER_LF {N_S_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-n-sw n sw ne s nw se * * * * 3 2}
{TRACK_CORNER_LF {NE_SW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-ne-s ne s n sw se nw * * * * 2 3}
{TRACK_CORNER_LF {NE_SW_VALUE} {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-ne-nw ne nw se sw n s 2 * * * * 3}
{TRACK_CORNER_LF {SE_NW_VALUE} {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-se-sw se sw ne nw s n 3 * * * * 2}
{TRACK_CORNER_LF {SE_NW_VALUE} {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} -joint-n-se se n s nw ne sw 3 2 * * * *}
# these 3 macros define the default straight bridges
{TRACK_STRAIGHT_LF {N_S_VALUE} {LAYER} {FLAG} {IMAGESTEM} -n-s}
{TRACK_STRAIGHT_LF {NE_SW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -ne-sw}
{TRACK_STRAIGHT_LF {SE_NW_VALUE} {LAYER} {FLAG} {IMAGESTEM} -se-nw}
# At this point, we mark "dead end bridges"
{TRACK_DEADEND_F {N_S_VALUE} {FLAG} n ne se s sw nw * 2 * * * *}
{TRACK_DEADEND_F {NE_SW_VALUE} {FLAG} ne se s sw nw n * * 2 * * *}
{TRACK_DEADEND_F {SE_NW_VALUE} {FLAG} se s sw nw n ne * * * 2 * *}
{TRACK_DEADEND_F {N_S_VALUE} {FLAG} s sw nw n ne se * * * * 2 *}
{TRACK_DEADEND_F {NE_SW_VALUE} {FLAG} sw nw n ne se s * * * * * 2}
{TRACK_DEADEND_F {SE_NW_VALUE} {FLAG} nw n ne se s sw 2 * * * * *}
#enddef
#
#meta-macro TRACK SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#meta-macro TRACK_BORDER_RESTRICTED TERRAINLIST ADJACENT L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#####################################################################################################
############### AUTO GENERATED CODE ###################################################
#####################################################################################################
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TRACK SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#Please do not modify
#define TRACK_F SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN FLAG IMAGESTEM
{TRACK_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) -80 ({FLAG}) ({IMAGESTEM})}
#enddef
#define TRACK_L SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN LAYER IMAGESTEM
{TRACK_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) ({LAYER}) overlay ({IMAGESTEM})}
#enddef
#define TRACK SE_NW_TERRAIN N_S_TERRAIN NE_SW_TERRAIN IMAGESTEM
{TRACK_LF ({SE_NW_TERRAIN}) ({N_S_TERRAIN}) ({NE_SW_TERRAIN}) -80 overlay ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TRACK_BORDER_RESTRICTED TERRAINLIST ADJACENT L=LAYER=-80 F=FLAG=overlay IMAGESTEM
#Please do not modify
#define TRACK_BORDER_RESTRICTED_F TERRAINLIST ADJACENT FLAG IMAGESTEM
{TRACK_BORDER_RESTRICTED_LF ({TERRAINLIST}) ({ADJACENT}) -80 ({FLAG}) ({IMAGESTEM})}
#enddef
#define TRACK_BORDER_RESTRICTED_L TERRAINLIST ADJACENT LAYER IMAGESTEM
{TRACK_BORDER_RESTRICTED_LF ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) overlay ({IMAGESTEM})}
#enddef
#define TRACK_BORDER_RESTRICTED TERRAINLIST ADJACENT IMAGESTEM
{TRACK_BORDER_RESTRICTED_LF ({TERRAINLIST}) ({ADJACENT}) -80 overlay ({IMAGESTEM})}
#enddef
#end of generated code