bridge reorganisation step one:

...use only [image] out of [tile] and merge three variants into a
single macro
This commit is contained in:
Jérémy Rosen 2010-06-18 16:08:11 +00:00
parent b5cef1fae6
commit f59e76004f
7 changed files with 50 additions and 85 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

@ -2,33 +2,17 @@
# This file handles transitions involving bridges
# macros to make things shorter
#define IMAGE_L_N LAYER NAME
#define IMAGEC_L_N LAYER NAME
[image]
layer={LAYER}
center=90,144
name={BUILD_IMAGE IMAGE_SINGLE {NAME} ()}
[/image]
#enddef
# this macro adds dock-style ends to bridges ending in water
#define DOCK_END IMAGESTEM WATER_TERRAIN_NAME BRIDGETYPE_NAME BEACHSIDE_AFFIX X Y
[terrain_graphics]
[tile]
x=1
y=1
type={BRIDGETYPE_NAME}
[/tile]
[tile]
x={X}
y={Y}
type={WATER_TERRAIN_NAME}
no_flag=angleaway_{BEACHSIDE_AFFIX}
{IMAGE_L_N -80 {IMAGESTEM}-{BEACHSIDE_AFFIX}-end}
[/tile]
[/terrain_graphics]
#enddef
# this macro adds ramp-style ends to bridges ending on other bridges
#define RAMP_BRIDGE IMAGESTEM BRIDGETYPE_NAME BRIDGES_VALUE R0 R1 R2 R3 R4 R5 S0 S1 S2 S3 S4 S5
#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}
@ -37,35 +21,16 @@
{S4}, {S2}
, {S3}"
[tile]
pos=1
type={BRIDGETYPE_NAME}
no_flag=angle_{R1},angle_{R5}
pos=2
type={TERRAIN}
no_flag=angleaway_{R3},angle_{R2},angle_{R4}
[/tile]
[tile]
pos=2
type={BRIDGES_VALUE}
no_flag=angle_{R3}
{IMAGE_L_N -80 {IMAGESTEM}-{R3}}
[/tile]
[/terrain_graphics]
#enddef
# this macro adds ramp-style ends to bridges ending on land
#define RAMP_END IMAGESTEM WATER_TERRAIN_NAME NOTERM_AFFIX 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}
[/tile]
[tile]
x={X}
y={Y}
type=!,{BRIDGETYPE_NAME},{WATER_TERRAIN_NAME},{NOTERM_AFFIX}
no_flag=angle_{R3}
{IMAGE_L_N -80 {IMAGESTEM}-{R3}}
pos=1
type={ADJACENT}
no_flag=angle_{R0}
[/tile]
{IMAGEC_L_N -80 {IMAGESTEM}-{R0}}
[/terrain_graphics]
#enddef
@ -83,7 +48,6 @@
type={BRIDGETYPE1_NAME}
no_flag=overlay,angle_{R0},angle_{R2},angle_{R4}
set_flag=overlay,angle_{R1},angle_{R5},angle_{R3}
{IMAGE_L_N -80 {Y_IMAGE}}
[/tile]
[tile]
pos=2
@ -102,6 +66,7 @@
type=!,{BRIDGETYPE1_NAME}
set_flag=angleaway_{R3}
[/tile]
{IMAGEC_L_N -80 {Y_IMAGE}}
[/terrain_graphics]
#enddef
@ -139,8 +104,8 @@
type={BRIDGETYPE1_NAME}
no_flag=overlay,angle_{A3},angle_{A4},angle_{A5},angle_{A6}
set_flag=overlay,angle_{A1},angle_{A2}
{IMAGE_L_N -80 {ANGLE_IMAGE}}
[/tile]
{IMAGEC_L_N -80 {ANGLE_IMAGE}}
[tile]
pos=2
type={BRIDGETYPE2_NAME}
@ -158,12 +123,12 @@
#define BRIDGE SE_NW_VALUE N_S_VALUE NE_SW_VALUE WATER_TERRAIN_NAME NOTERM_AFFIX 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}
{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}
# make sure that colinear adjacent bridges stay connected
{BRIDGECONNECT {N_S_VALUE} n ne se s sw nw 1 0}
@ -171,18 +136,18 @@
{BRIDGECONNECT {SE_NW_VALUE} 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 . . . .}
{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 * * * *}
# these 3 macros define the default straight bridges
{OVERLAY_L {N_S_VALUE} -80 {IMAGESTEM}-n-s}
@ -190,27 +155,27 @@
{OVERLAY_L {SE_NW_VALUE} -80 {IMAGESTEM}-se-nw}
# add ramps where straight bridges intersect Ys
{RAMP_BRIDGE {IMAGESTEM} {N_S_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) n ne se s sw nw 2 . . . . .}
{RAMP_BRIDGE {IMAGESTEM} {NE_SW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) ne se s sw nw n . 2 . . . .}
{RAMP_BRIDGE {IMAGESTEM} {SE_NW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) se s sw nw n ne . . 2 . . .}
{RAMP_BRIDGE {IMAGESTEM} {N_S_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) s sw nw n ne se . . . 2 . .}
{RAMP_BRIDGE {IMAGESTEM} {NE_SW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) sw nw n ne se s . . . . 2 .}
{RAMP_BRIDGE {IMAGESTEM} {SE_NW_VALUE} ({N_S_VALUE}, {NE_SW_VALUE}, {SE_NW_VALUE}) nw n ne se s sw . . . . . 2}
{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}
# add ramps where straight bridges end on land
{RAMP_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NOTERM_AFFIX} {N_S_VALUE} n ne se s sw nw 1 0}
{RAMP_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NOTERM_AFFIX} {NE_SW_VALUE} ne se s sw nw n 2 1}
{RAMP_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NOTERM_AFFIX} {SE_NW_VALUE} se s sw nw n ne 2 2}
{RAMP_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NOTERM_AFFIX} {N_S_VALUE} s sw nw n ne se 1 2}
{RAMP_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NOTERM_AFFIX} {NE_SW_VALUE} sw nw n ne se s 0 2}
{RAMP_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NOTERM_AFFIX} {SE_NW_VALUE} nw n ne se s sw 0 1}
{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}
# add dock-style ends to bridges ending in water
{DOCK_END {IMAGESTEM} {WATER_TERRAIN_NAME} {N_S_VALUE} s 1 0}
{DOCK_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NE_SW_VALUE} sw 2 1}
{DOCK_END {IMAGESTEM} {WATER_TERRAIN_NAME} {SE_NW_VALUE} nw 2 2}
{DOCK_END {IMAGESTEM} {WATER_TERRAIN_NAME} {N_S_VALUE} n 1 2}
{DOCK_END {IMAGESTEM} {WATER_TERRAIN_NAME} {NE_SW_VALUE} ne 0 2}
{DOCK_END {IMAGESTEM} {WATER_TERRAIN_NAME} {SE_NW_VALUE} se 0 1}
{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}
#enddef