bridge refactoring step 2: add possibility to use random bridges...
...(note that it won't be possible to have animated bridges)
This commit is contained in:
parent
f7ba7f68c6
commit
666a416a36
4 changed files with 355 additions and 160 deletions
|
@ -2,180 +2,82 @@
|
|||
# This file handles transitions involving bridges
|
||||
|
||||
# macros to make things shorter
|
||||
|
||||
#define IMAGEC_L_N LAYER NAME
|
||||
[image]
|
||||
layer={LAYER}
|
||||
center=90,144
|
||||
name={BUILD_IMAGE IMAGE_SINGLE {NAME} ()}
|
||||
[/image]
|
||||
#enddef
|
||||
|
||||
#This adds an end to a bridge (the bridge is on 2, and we draw on 1)
|
||||
#define BRIDGE_END TERRAIN ADJACENT 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=angleaway_{R3},angle_{R2},angle_{R4}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=1
|
||||
type={ADJACENT}
|
||||
no_flag=angle_{R0}
|
||||
[/tile]
|
||||
{IMAGEC_L_N -80 {IMAGESTEM}-{R0}}
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
# this macro produces Y intersections
|
||||
#define BRIDGE_Y BRIDGETYPE1_NAME BRIDGETYPE2_NAME BRIDGETYPE3_NAME Y_IMAGE R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, {S1}
|
||||
{S0}, {S2}
|
||||
, 1
|
||||
{S5}, {S3}
|
||||
, {S4}"
|
||||
[tile]
|
||||
pos=1
|
||||
type={BRIDGETYPE1_NAME}
|
||||
no_flag=overlay,angle_{R0},angle_{R2},angle_{R4}
|
||||
set_flag=overlay,angle_{R1},angle_{R5},angle_{R3}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=2
|
||||
no_flag=angle_{R3},angle_{R1}
|
||||
set_flag=angle_{R2}
|
||||
type={BRIDGETYPE2_NAME}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=3
|
||||
no_flag=angle_{R3},angle_{R5}
|
||||
set_flag=angle_{R4}
|
||||
type={BRIDGETYPE3_NAME}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=4
|
||||
type=!,{BRIDGETYPE1_NAME}
|
||||
set_flag=angleaway_{R3}
|
||||
[/tile]
|
||||
{IMAGEC_L_N -80 {Y_IMAGE}}
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
# this macro keeps colinear bridges connected, it does not add images
|
||||
#define BRIDGECONNECT BRIDGETYPE_NAME R0 R1 R2 R3 R4 R5 X Y
|
||||
[terrain_graphics]
|
||||
[tile]
|
||||
x=1
|
||||
y=1
|
||||
type={BRIDGETYPE_NAME}
|
||||
no_flag=angle_{R1},angle_{R5}
|
||||
set_flag=angle_{R0}
|
||||
[/tile]
|
||||
[tile]
|
||||
x={X}
|
||||
y={Y}
|
||||
type={BRIDGETYPE_NAME}
|
||||
no_flag=angle_{R2},angle_{R4}
|
||||
set_flag=angle_{R3}
|
||||
[/tile]
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
# this macro handles the normal corners
|
||||
#define CORNER ANGLE_IMAGE BRIDGETYPE1_NAME BRIDGETYPE2_NAME A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, {S1}
|
||||
{S0}, {S2}
|
||||
, 1
|
||||
{S5}, {S3}
|
||||
, {S4}"
|
||||
[tile]
|
||||
pos=1
|
||||
type={BRIDGETYPE1_NAME}
|
||||
no_flag=overlay,angle_{A3},angle_{A4},angle_{A5},angle_{A6}
|
||||
set_flag=overlay,angle_{A1},angle_{A2}
|
||||
[/tile]
|
||||
{IMAGEC_L_N -80 {ANGLE_IMAGE}}
|
||||
[tile]
|
||||
pos=2
|
||||
type={BRIDGETYPE2_NAME}
|
||||
no_flag=angle_{A1},angle_{A6}
|
||||
set_flag=angle_{A3}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=3
|
||||
set_flag=angleaway_{A1}
|
||||
[/tile]
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
# the main macro, called from terrain-graphics.cfg
|
||||
#define BRIDGE SE_NW_VALUE N_S_VALUE NE_SW_VALUE WATER_TERRAIN_NAME NOTERM_AFFIX IMAGESTEM
|
||||
#define BRIDGE_LF SE_NW_VALUE N_S_VALUE NE_SW_VALUE WATER_TERRAIN_NAME NOTERM_AFFIX LAYER FLAG IMAGESTEM
|
||||
|
||||
# find Y intersections
|
||||
{BRIDGE_Y {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {IMAGESTEM}-joint-ne-s-nw n ne se s sw nw 2 4 3 * * *}
|
||||
{BRIDGE_Y {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {IMAGESTEM}-joint-n-se-sw ne se s sw nw n * 2 4 3 * *}
|
||||
{BRIDGE_Y {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {IMAGESTEM}-joint-ne-s-nw se s sw nw n ne * * 2 4 3 *}
|
||||
{BRIDGE_Y {N_S_VALUE} {SE_NW_VALUE} {NE_SW_VALUE} {IMAGESTEM}-joint-n-se-sw s sw nw n ne se * * * 2 4 3}
|
||||
{BRIDGE_Y {NE_SW_VALUE} {N_S_VALUE} {SE_NW_VALUE} {IMAGESTEM}-joint-ne-s-nw sw nw n ne se s 3 * * * 2 4}
|
||||
{BRIDGE_Y {SE_NW_VALUE} {NE_SW_VALUE} {N_S_VALUE} {IMAGESTEM}-joint-n-se-sw nw n ne se s sw 4 3 * * * 2}
|
||||
{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
|
||||
{BRIDGECONNECT {N_S_VALUE} n ne se s sw nw 1 0}
|
||||
{BRIDGECONNECT {NE_SW_VALUE} ne se s sw nw n 2 1}
|
||||
{BRIDGECONNECT {SE_NW_VALUE} se s sw nw n ne 2 2}
|
||||
{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
|
||||
{CORNER {IMAGESTEM}-joint-s-nw {N_S_VALUE} {SE_NW_VALUE} s nw se n sw ne 2 3 * * * *}
|
||||
{CORNER {IMAGESTEM}-joint-ne-s {N_S_VALUE} {NE_SW_VALUE} s ne sw n se nw * 3 2 * * *}
|
||||
{CORNER {IMAGESTEM}-joint-n-sw {NE_SW_VALUE} {N_S_VALUE} sw n s ne nw se * 2 3 * * *}
|
||||
{CORNER {IMAGESTEM}-joint-se-sw {NE_SW_VALUE} {SE_NW_VALUE} sw se nw ne s n * * 3 2 * *}
|
||||
{CORNER {IMAGESTEM}-joint-ne-nw {SE_NW_VALUE} {NE_SW_VALUE} nw ne sw se n s * * 2 3 * *}
|
||||
{CORNER {IMAGESTEM}-joint-s-nw {SE_NW_VALUE} {N_S_VALUE} nw s n se sw ne * * * 3 2 *}
|
||||
{CORNER {IMAGESTEM}-joint-n-se {N_S_VALUE} {SE_NW_VALUE} n se nw s ne sw * * * 2 3 *}
|
||||
{CORNER {IMAGESTEM}-joint-n-sw {N_S_VALUE} {NE_SW_VALUE} n sw ne s nw se * * * * 3 2}
|
||||
{CORNER {IMAGESTEM}-joint-ne-s {NE_SW_VALUE} {N_S_VALUE} ne s n sw se nw * * * * 2 3}
|
||||
{CORNER {IMAGESTEM}-joint-ne-nw {NE_SW_VALUE} {SE_NW_VALUE} ne nw se sw n s 2 * * * * 3}
|
||||
{CORNER {IMAGESTEM}-joint-se-sw {SE_NW_VALUE} {NE_SW_VALUE} se sw ne nw s n 3 * * * * 2}
|
||||
{CORNER {IMAGESTEM}-joint-n-se {SE_NW_VALUE} {N_S_VALUE} se n s nw ne sw 3 2 * * * *}
|
||||
{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
|
||||
{OVERLAY_L {N_S_VALUE} -80 {IMAGESTEM}-n-s}
|
||||
{OVERLAY_L {NE_SW_VALUE} -80 {IMAGESTEM}-ne-sw}
|
||||
{OVERLAY_L {SE_NW_VALUE} -80 {IMAGESTEM}-se-nw}
|
||||
{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
|
||||
{BRIDGE_END {N_S_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {IMAGESTEM} n ne se s sw nw 2 * * * * *}
|
||||
{BRIDGE_END {NE_SW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {IMAGESTEM} ne se s sw nw n * 2 * * * *}
|
||||
{BRIDGE_END {SE_NW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {IMAGESTEM} se s sw nw n ne * * 2 * * *}
|
||||
{BRIDGE_END {N_S_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {IMAGESTEM} s sw nw n ne se * * * 2 * *}
|
||||
{BRIDGE_END {NE_SW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {IMAGESTEM} sw nw n ne se s * * * * 2 *}
|
||||
{BRIDGE_END {SE_NW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) {IMAGESTEM} nw n ne se s sw * * * * * 2}
|
||||
{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
|
||||
{BRIDGE_END {N_S_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{N_S_VALUE} {IMAGESTEM} n ne se s sw nw 2 * * * * *}
|
||||
{BRIDGE_END {NE_SW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{NE_SW_VALUE} {IMAGESTEM} ne se s sw nw n * 2 * * * *}
|
||||
{BRIDGE_END {SE_NW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{SE_NW_VALUE} {IMAGESTEM} se s sw nw n ne * * 2 * * *}
|
||||
{BRIDGE_END {N_S_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{N_S_VALUE} {IMAGESTEM} s sw nw n ne se * * * 2 * *}
|
||||
{BRIDGE_END {NE_SW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{NE_SW_VALUE} {IMAGESTEM} sw nw n ne se s * * * * 2 *}
|
||||
{BRIDGE_END {SE_NW_VALUE} !,{WATER_TERRAIN_NAME},{NOTERM_AFFIX},{SE_NW_VALUE} {IMAGESTEM} nw n ne se s sw * * * * * 2}
|
||||
{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
|
||||
{BRIDGE_END {N_S_VALUE} {WATER_TERRAIN_NAME} {IMAGESTEM}-end n ne se s sw nw 2 * * * * *}
|
||||
{BRIDGE_END {NE_SW_VALUE} {WATER_TERRAIN_NAME} {IMAGESTEM}-end ne se s sw nw n * 2 * * * *}
|
||||
{BRIDGE_END {SE_NW_VALUE} {WATER_TERRAIN_NAME} {IMAGESTEM}-end se s sw nw n ne * * 2 * * *}
|
||||
{BRIDGE_END {N_S_VALUE} {WATER_TERRAIN_NAME} {IMAGESTEM}-end s sw nw n ne se * * * 2 * *}
|
||||
{BRIDGE_END {NE_SW_VALUE} {WATER_TERRAIN_NAME} {IMAGESTEM}-end sw nw n ne se s * * * * 2 *}
|
||||
{BRIDGE_END {SE_NW_VALUE} {WATER_TERRAIN_NAME} {IMAGESTEM}-end nw n ne se s sw * * * * * 2}
|
||||
{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
|
||||
|
|
58
data/core/terrain-graphics/internal-complex-tracks.cfg
Normal file
58
data/core/terrain-graphics/internal-complex-tracks.cfg
Normal file
|
@ -0,0 +1,58 @@
|
|||
#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}}
|
||||
#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}}
|
||||
#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}}
|
||||
#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} }
|
||||
#enddef
|
||||
|
142
data/core/terrain-graphics/internal-tracks.cfg
Normal file
142
data/core/terrain-graphics/internal-tracks.cfg
Normal file
|
@ -0,0 +1,142 @@
|
|||
#textdomain wesnoth
|
||||
# macros for bridges/rails and anything overlayed that is path-like
|
||||
|
||||
#define IMAGEC_LN LAYER NAME
|
||||
[image]
|
||||
layer={LAYER}
|
||||
center=90,144
|
||||
name={BUILD_IMAGE IMAGE_SINGLE {NAME} ()}
|
||||
[/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
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, {S1}
|
||||
{S0}, {S2}
|
||||
, 1
|
||||
{S5}, {S3}
|
||||
, {S4}"
|
||||
[tile]
|
||||
pos=1
|
||||
type={TERRAIN}
|
||||
no_flag={FLAG},{FLAG}-{R0},{FLAG}-{R2},{FLAG}-{R4}
|
||||
set_flag={FLAG},{FLAG}-{R1},{FLAG}-{R5},{FLAG}-{R3}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=2
|
||||
no_flag={FLAG}-{R3},{FLAG}-{R1}
|
||||
set_flag={FLAG}-{R2}
|
||||
type={ADJACENT1}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=3
|
||||
no_flag={FLAG}-{R3},{FLAG}-{R5}
|
||||
set_flag={FLAG}-{R4}
|
||||
type={ADJACENT2}
|
||||
[/tile]
|
||||
[tile]
|
||||
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]
|
||||
[/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
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, {S1}
|
||||
{S0}, {S2}
|
||||
, 1
|
||||
{S5}, {S3}
|
||||
, {S4}"
|
||||
[tile]
|
||||
pos=1
|
||||
type={TERRAIN}
|
||||
no_flag={FLAG},{FLAG}-{A3},{FLAG}-{A4},{FLAG}-{A5},{FLAG}-{A6}
|
||||
set_flag={FLAG},{FLAG}-{A1},{FLAG}-{A2}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=2
|
||||
type={ADJACENT}
|
||||
no_flag={FLAG}-{A1},{FLAG}-{A6}
|
||||
set_flag={FLAG}-{A3}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=3
|
||||
set_flag={FLAG}-away-{A1}
|
||||
[/tile]
|
||||
probability={PROB}
|
||||
{IMAGEC_LN {LAYER} {IMAGESTEM}}
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
#define TRACK_PLF TERRAIN PROB LAYER FLAG IMAGESTEM
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, *
|
||||
* , *
|
||||
, 1
|
||||
* , *
|
||||
, *"
|
||||
|
||||
[tile]
|
||||
pos=1
|
||||
type={TERRAIN}
|
||||
no_flag={FLAG}
|
||||
set_flag={FLAG}
|
||||
[/tile]
|
||||
|
||||
probability={PROB}
|
||||
{IMAGEC_LN {LAYER} {IMAGESTEM}}
|
||||
[/terrain_graphics]
|
||||
#enddef
|
|
@ -3,12 +3,105 @@
|
|||
#
|
||||
|
||||
#define IMAGE_L_N LAYER NAME
|
||||
[image]
|
||||
layer={LAYER}
|
||||
name={BUILD_IMAGE IMAGE_SINGLE {NAME} ()}
|
||||
[/image]
|
||||
#enddef
|
||||
|
||||
#define IMAGEC_L_N LAYER NAME
|
||||
[image]
|
||||
layer={LAYER}
|
||||
center=90,144
|
||||
name={BUILD_IMAGE IMAGE_SINGLE {NAME} ()}
|
||||
[/image]
|
||||
#enddef
|
||||
|
||||
# this macro produces Y intersections
|
||||
#define BRIDGE_Y BRIDGETYPE1_NAME BRIDGETYPE2_NAME BRIDGETYPE3_NAME Y_IMAGE R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, {S1}
|
||||
{S0}, {S2}
|
||||
, 1
|
||||
{S5}, {S3}
|
||||
, {S4}"
|
||||
[tile]
|
||||
pos=1
|
||||
type={BRIDGETYPE1_NAME}
|
||||
no_flag=overlay,angle_{R0},angle_{R2},angle_{R4}
|
||||
set_flag=overlay,angle_{R1},angle_{R5},angle_{R3}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=2
|
||||
no_flag=angle_{R3},angle_{R1}
|
||||
set_flag=angle_{R2}
|
||||
type={BRIDGETYPE2_NAME}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=3
|
||||
no_flag=angle_{R3},angle_{R5}
|
||||
set_flag=angle_{R4}
|
||||
type={BRIDGETYPE3_NAME}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=4
|
||||
type=!,{BRIDGETYPE1_NAME}
|
||||
set_flag=angleaway_{R3}
|
||||
[/tile]
|
||||
{IMAGEC_L_N -80 {Y_IMAGE}}
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
# this macro keeps colinear bridges connected, it does not add images
|
||||
#define BRIDGECONNECT BRIDGETYPE_NAME R0 R1 R2 R3 R4 R5 X Y
|
||||
[terrain_graphics]
|
||||
[tile]
|
||||
x=1
|
||||
y=1
|
||||
type={BRIDGETYPE_NAME}
|
||||
no_flag=angle_{R1},angle_{R5}
|
||||
set_flag=angle_{R0}
|
||||
[/tile]
|
||||
[tile]
|
||||
x={X}
|
||||
y={Y}
|
||||
type={BRIDGETYPE_NAME}
|
||||
no_flag=angle_{R2},angle_{R4}
|
||||
set_flag=angle_{R3}
|
||||
[/tile]
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
# this macro handles the normal corners
|
||||
#define CORNER ANGLE_IMAGE BRIDGETYPE1_NAME BRIDGETYPE2_NAME A1 A2 A3 A4 A5 A6 S0 S1 S2 S3 S4 S5
|
||||
[terrain_graphics]
|
||||
map="
|
||||
, {S1}
|
||||
{S0}, {S2}
|
||||
, 1
|
||||
{S5}, {S3}
|
||||
, {S4}"
|
||||
[tile]
|
||||
pos=1
|
||||
type={BRIDGETYPE1_NAME}
|
||||
no_flag=overlay,angle_{A3},angle_{A4},angle_{A5},angle_{A6}
|
||||
set_flag=overlay,angle_{A1},angle_{A2}
|
||||
[/tile]
|
||||
{IMAGEC_L_N -80 {ANGLE_IMAGE}}
|
||||
[tile]
|
||||
pos=2
|
||||
type={BRIDGETYPE2_NAME}
|
||||
no_flag=angle_{A1},angle_{A6}
|
||||
set_flag=angle_{A3}
|
||||
[/tile]
|
||||
[tile]
|
||||
pos=3
|
||||
set_flag=angleaway_{A1}
|
||||
[/tile]
|
||||
[/terrain_graphics]
|
||||
#enddef
|
||||
|
||||
# this macro adds switches at track intersections
|
||||
#define RAIL_SWITCH IMAGESTEM BRIDGETYPE_NAME BRIDGETYPE_JOIN_NAME SWITCHSIDE_AFFIX MAINRAIL_AFFIX SWITCH_REVERSE_AFFIX X Y
|
||||
[terrain_graphics]
|
||||
|
|
Loading…
Add table
Reference in a new issue