1
2#define BRIDGE:NEXUS C_TERRAIN_VALUE NW_TERRAIN_VALUE N_TERRAIN_VALUE NE_TERRAIN_VALUE SW_TERRAIN_VALUE S_TERRAIN_VALUE SE_TERRAIN_VALUE C_FLAGS NW_FLAGS N_FLAGS NE_FLAGS SW_FLAGS S_FLAGS SE_FLAGS LAYER IMAGE
3    [terrain_graphics]
4        map="
5, 3
62,  4
7, 1
85,  7
9, 6"
10        [tile]
11            pos=1
12            type={C_TERRAIN_VALUE}
13            set_no_flag={C_FLAGS}
14        [/tile]
15        [tile]
16            pos=2
17            type={NW_TERRAIN_VALUE}
18            set_no_flag={NW_FLAGS}
19        [/tile]
20        [tile]
21            pos=3
22            type={N_TERRAIN_VALUE}
23            set_no_flag={N_FLAGS}
24        [/tile]
25        [tile]
26            pos=4
27            type={NE_TERRAIN_VALUE}
28            set_no_flag={NE_FLAGS}
29        [/tile]
30        [tile]
31            pos=5
32            type={SW_TERRAIN_VALUE}
33            set_no_flag={SW_FLAGS}
34        [/tile]
35        [tile]
36            pos=6
37            type={S_TERRAIN_VALUE}
38            set_no_flag={S_FLAGS}
39        [/tile]
40        [tile]
41            pos=7
42            type={SE_TERRAIN_VALUE}
43            set_no_flag={SE_FLAGS}
44        [/tile]
45        [image]
46            center=90,144
47            base=90,144
48            layer={LAYER}
49            name={IMAGE}.png
50        [/image]
51    [/terrain_graphics]
52#enddef
53
54#define BRIDGE:STRAIGHT_SE_NW NW_TERRAIN_VALUE SE_TERRAIN_VALUE N_TERRAIN_VALUE S_TERRAIN_VALUE NW_FLAGS SE_FLAGS LAYER IMAGE
55    [terrain_graphics]
56        map="
57, 3
581
59, 2
604"
61        [tile]
62            pos=1
63            type={NW_TERRAIN_VALUE}
64            set_no_flag={NW_FLAGS}
65        [/tile]
66        [tile]
67            pos=2
68            type={SE_TERRAIN_VALUE}
69            set_no_flag={SE_FLAGS}
70        [/tile]
71        [tile]
72            pos=3
73            type={N_TERRAIN_VALUE}
74        [/tile]
75        [tile]
76            pos=4
77            type={S_TERRAIN_VALUE}
78        [/tile]
79        [image]
80            center=63,126
81            base=63,126
82            layer={LAYER}
83            name={IMAGE}.png
84        [/image]
85    [/terrain_graphics]
86#enddef
87
88#define BRIDGE:STRAIGHT_SW_NE NE_TERRAIN_VALUE SW_TERRAIN_VALUE N_TERRAIN_VALUE S_TERRAIN_VALUE NE_FLAGS SW_FLAGS LAYER IMAGE
89    [terrain_graphics]
90        map="
913
92, 1
932
94, 4"
95        [tile]
96            pos=1
97            type={NE_TERRAIN_VALUE}
98            set_no_flag={NE_FLAGS}
99        [/tile]
100        [tile]
101            pos=2
102            type={SW_TERRAIN_VALUE}
103            set_no_flag={SW_FLAGS}
104        [/tile]
105        [tile]
106            pos=3
107            type={N_TERRAIN_VALUE}
108        [/tile]
109        [tile]
110            pos=4
111            type={S_TERRAIN_VALUE}
112        [/tile]
113        [image]
114            center=63,90
115            base=63,90
116            layer={LAYER}
117            name={IMAGE}.png
118        [/image]
119    [/terrain_graphics]
120#enddef
121
122#define BRIDGE:STRAIGHT_S_N N_TERRAIN_VALUE S_TERRAIN_VALUE W_TERRAIN_VALUE E_TERRAIN_VALUE N_FLAGS S_FLAGS LAYER IMAGE
123    [terrain_graphics]
124        map="
125, 1
1263, 4
127, 2"
128        [tile]
129            pos=1
130            type={N_TERRAIN_VALUE}
131            set_no_flag={N_FLAGS}
132        [/tile]
133        [tile]
134            pos=2
135            type={S_TERRAIN_VALUE}
136            set_no_flag={S_FLAGS}
137        [/tile]
138        [tile]
139            pos=3
140            type={W_TERRAIN_VALUE}
141        [/tile]
142        [tile]
143            pos=4
144            type={E_TERRAIN_VALUE}
145        [/tile]
146        [image]
147            center=90,108
148            base=90,108
149            layer={LAYER}
150            name={IMAGE}.png
151        [/image]
152    [/terrain_graphics]
153#enddef
154
155#define BRIDGE:JOINTS NW_SE_OVERLAY N_S_OVERLAY NE_SW_OVERLAY B_TERRAIN_NAME S_TERRAIN_NAME NAME LAYER IMAGE_GROUP_NAME
156    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) * *^{N_S_OVERLAY} * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME} *^{NW_SE_OVERLAY}           ({NAME}-[n,se,sw,ne,s,nw]) () {NAME}-s () {NAME}-ne () {NAME}-nw {LAYER} {IMAGE_GROUP_NAME}-n-se-sw}
157    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME} *^{N_S_OVERLAY} {S_TERRAIN_NAME} ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () {NAME}-n () {LAYER} {IMAGE_GROUP_NAME}-ne-s-nw}
158    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME} *^{N_S_OVERLAY} *           ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () {NAME}-n () {LAYER} {IMAGE_GROUP_NAME}-ne-s-nw-l}
159    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} *           *^{N_S_OVERLAY} {S_TERRAIN_NAME} ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () {NAME}-n () {LAYER} {IMAGE_GROUP_NAME}-ne-s-nw-r}
160#enddef
161
162#define BRIDGE:CORNERS NW_SE_OVERLAY N_S_OVERLAY NE_SW_OVERLAY B_TERRAIN_NAME S_TERRAIN_NAME NAME LAYER IMAGE_GROUP_NAME
163    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY})   *^{NW_SE_OVERLAY} * *                 {S_TERRAIN_NAME}       *^{N_S_OVERLAY}   *                 ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () () () {NAME}-n ()  {LAYER} {IMAGE_GROUP_NAME}-s-nw}
164    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY})   *                 *^{N_S_OVERLAY}   * *                 {S_TERRAIN_NAME}       *^{NW_SE_OVERLAY} ({NAME}-[n,se,sw,ne,s,nw]) () {NAME}-s () () () {NAME}-nw  {LAYER} {IMAGE_GROUP_NAME}-n-se}
165    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NE_SW_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY})   *                 * *^{NE_SW_OVERLAY} *                 *^{N_S_OVERLAY}   {S_TERRAIN_NAME}       ({NAME}-[n,se,sw,ne,s,nw]) () () {NAME}-sw () {NAME}-n ()  {LAYER} {IMAGE_GROUP_NAME}-ne-s}
166    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NE_SW_OVERLAY},{B_TERRAIN_NAME}^{N_S_OVERLAY})   *                 *^{N_S_OVERLAY}   * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME}       *                 ({NAME}-[n,se,sw,ne,s,nw]) () {NAME}-s () {NAME}-ne () ()  {LAYER} {IMAGE_GROUP_NAME}-sw-n}
167    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *                 * *                 *^{NE_SW_OVERLAY} {S_TERRAIN_NAME}       *^{NW_SE_OVERLAY} ({NAME}-[n,se,sw,ne,s,nw]) () () () {NAME}-ne () {NAME}-nw {LAYER} {IMAGE_GROUP_NAME}-sw-se}
168    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME}       {S_TERRAIN_NAME}       {S_TERRAIN_NAME}       ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () () () {LAYER} {IMAGE_GROUP_NAME}-ne-nw}
169    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME}       {S_TERRAIN_NAME}       *                 ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () () () {LAYER} {IMAGE_GROUP_NAME}-ne-nw-lc}
170    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME}       *                 {S_TERRAIN_NAME}       ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () () () {LAYER} {IMAGE_GROUP_NAME}-ne-nw-lr}
171    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} *                 {S_TERRAIN_NAME}       {S_TERRAIN_NAME}       ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () () () {LAYER} {IMAGE_GROUP_NAME}-ne-nw-cr}
172    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} {S_TERRAIN_NAME}       *                 *                 ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () () () {LAYER} {IMAGE_GROUP_NAME}-ne-nw-l}
173    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} *                 {S_TERRAIN_NAME}       *                 ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () () () {LAYER} {IMAGE_GROUP_NAME}-ne-nw-c}
174    {BRIDGE:NEXUS ({B_TERRAIN_NAME}^{NW_SE_OVERLAY},{B_TERRAIN_NAME}^{NE_SW_OVERLAY}) *^{NW_SE_OVERLAY} * *^{NE_SW_OVERLAY} *                 *                 {S_TERRAIN_NAME}       ({NAME}-[n,se,sw,ne,s,nw]) {NAME}-se () {NAME}-sw () () () {LAYER} {IMAGE_GROUP_NAME}-ne-nw-r}
175#enddef
176
177#define BRIDGE:STRAIGHTS NW_SE_OVERLAY N_S_OVERLAY NE_SW_OVERLAY BN_TERRAIN_NAME BS_TERRAIN_NAME S_TERRAIN_NAME NAME LAYER IMAGE_GROUP_NAME
178    {BRIDGE:STRAIGHT_SE_NW {BN_TERRAIN_NAME}^{NW_SE_OVERLAY} {BS_TERRAIN_NAME}^{NW_SE_OVERLAY} * {S_TERRAIN_NAME} {NAME}-se {NAME}-nw {LAYER} {IMAGE_GROUP_NAME}-se-nw}
179    {BRIDGE:STRAIGHT_S_N   {BN_TERRAIN_NAME}^{N_S_OVERLAY}   {BS_TERRAIN_NAME}^{N_S_OVERLAY}   * *           {NAME}-s  {NAME}-n  {LAYER} {IMAGE_GROUP_NAME}-s-n}
180    {BRIDGE:STRAIGHT_SW_NE {BN_TERRAIN_NAME}^{NE_SW_OVERLAY} {BS_TERRAIN_NAME}^{NE_SW_OVERLAY} * {S_TERRAIN_NAME} {NAME}-sw {NAME}-ne {LAYER} {IMAGE_GROUP_NAME}-sw-ne}
181#enddef
182
183#define BRIDGE:ENDS NW_SE_OVERLAY N_S_OVERLAY NE_SW_OVERLAY B_TERRAIN_NAME E_TERRAIN_NAME S_TERRAIN_NAME NAME LAYER IMAGE_GROUP_NAME
184    {BRIDGE:STRAIGHT_SE_NW {B_TERRAIN_NAME}^{NW_SE_OVERLAY} {E_TERRAIN_NAME}                 * {S_TERRAIN_NAME} {NAME}-se () {LAYER} {IMAGE_GROUP_NAME}-nw}
185    {BRIDGE:STRAIGHT_SE_NW {E_TERRAIN_NAME}                 {B_TERRAIN_NAME}^{NW_SE_OVERLAY} * {S_TERRAIN_NAME} () {NAME}-nw {LAYER} {IMAGE_GROUP_NAME}-se}
186    {BRIDGE:STRAIGHT_S_N   {B_TERRAIN_NAME}^{N_S_OVERLAY}   {E_TERRAIN_NAME}                 * *           {NAME}-s  () {LAYER} {IMAGE_GROUP_NAME}-n}
187    {BRIDGE:STRAIGHT_S_N   {E_TERRAIN_NAME}                 {B_TERRAIN_NAME}^{N_S_OVERLAY}   * *           ()  {NAME}-n {LAYER} {IMAGE_GROUP_NAME}-s}
188    {BRIDGE:STRAIGHT_SW_NE {B_TERRAIN_NAME}^{NE_SW_OVERLAY} {E_TERRAIN_NAME}                 * {S_TERRAIN_NAME} {NAME}-sw () {LAYER} {IMAGE_GROUP_NAME}-ne}
189    {BRIDGE:STRAIGHT_SW_NE {E_TERRAIN_NAME}                 {B_TERRAIN_NAME}^{NE_SW_OVERLAY} * {S_TERRAIN_NAME} () {NAME}-ne {LAYER} {IMAGE_GROUP_NAME}-sw}
190#enddef
191