#textdomain wesnoth

#toplevel macros to handle base tiles

###############################
#  No test on neighbour       #
###############################
#define TERRAIN_BASE_PLFB TERRAIN PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_SINGLE_PLFB ({TERRAIN})  ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef

#meta-macro TERRAIN_BASE TERRAINLIST P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_RANDOM_LFB TERRAIN LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_SINGLE_RANDOM_LFB ({TERRAIN}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef

#meta-macro TERRAIN_BASE_RANDOM TERRAINLIST L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_SINGLEHEX_PLFB TERRAIN PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_SINGLEHEX_PLFB ({TERRAIN})  ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef

#meta-macro TERRAIN_BASE_SINGLEHEX TERRAINLIST P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

###############################
#  Needs one neighbour        #
###############################

#define TERRAIN_BASE_RESTRICTED_PLFB TERRAIN ADJACENT PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) ()}
#enddef

#meta-macro TERRAIN_BASE_RESTRICTED TERRAIN ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_RESTRICTED_RANDOM_LFB TERRAIN ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) ()}
#enddef

#meta-macro TERRAIN_BASE_RESTRICTED_RANDOM TERRAIN ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_ROTATION_RESTRICTED_PLFB TERRAIN ADJACENT PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) (-@R0)}
#enddef

#meta-macro TERRAIN_BASE_ROTATION_RESTRICTED TERRAIN  ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) (-@R0)}
#enddef

#meta-macro TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

###############################
#  Needs two neighbour        #
###############################

#define TERRAIN_BASE_RESTRICTED2_PLFB TERRAINLIST ADJACENT PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) ()}
#enddef

#meta-macro TERRAIN_BASE_RESTRICTED2 TERRAINLIST ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_RESTRICTED2_RANDOM_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) ()}
#enddef

#meta-macro TERRAIN_BASE_RESTRICTED2_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB TERRAINLIST ADJACENT PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) (-@R0-@R1)}
#enddef

#meta-macro TERRAIN_BASE_ROTATION_RESTRICTED2 TERRAINLIST  ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) (-@R0-@R1)}
#enddef

#meta-macro TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

###############################
#  Needs three neighbour      #
###############################

#define TERRAIN_BASE_RESTRICTED3_PLFB TERRAINLIST ADJACENT PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) ()}
#enddef

#meta-macro TERRAIN_BASE_RESTRICTED3 TERRAINLIST ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_RESTRICTED3_RANDOM_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) ()}
#enddef

#meta-macro TERRAIN_BASE_RESTRICTED3_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB TERRAINLIST ADJACENT PROB LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) (-@R0-@R1-@R2)}
#enddef

#meta-macro TERRAIN_BASE_ROTATION_RESTRICTED3 TERRAINLIST  ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM}) (-@R0-@R1-@R2)}
#enddef

#meta-macro TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

###############################
#  Combination of the above   #
###############################

#define TERRAIN_BASE_COMPLETE_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {GENERIC_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef

#meta-macro TERRAIN_BASE_COMPLETE TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM

#####################################################################################################
###############        AUTO GENERATED CODE        ###################################################
#####################################################################################################
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE TERRAINLIST P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_LFB TERRAINLIST LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_PFB TERRAINLIST PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_FB TERRAINLIST FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_PLB TERRAINLIST PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_LB TERRAINLIST LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_PB TERRAINLIST PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_B TERRAINLIST BUILDER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_PLF TERRAINLIST PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_LF TERRAINLIST LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_PF TERRAINLIST PROB FLAG IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_F TERRAINLIST FLAG IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_PL TERRAINLIST PROB LAYER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_L TERRAINLIST LAYER IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_P TERRAINLIST PROB IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE TERRAINLIST IMAGESTEM
    {TERRAIN_BASE_PLFB ({TERRAINLIST}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_RANDOM TERRAINLIST L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_RANDOM_FB TERRAINLIST FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RANDOM_LFB ({TERRAINLIST}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RANDOM_LB TERRAINLIST LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RANDOM_LFB ({TERRAINLIST}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RANDOM_B TERRAINLIST BUILDER IMAGESTEM
    {TERRAIN_BASE_RANDOM_LFB ({TERRAINLIST}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RANDOM_LF TERRAINLIST LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RANDOM_LFB ({TERRAINLIST}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RANDOM_F TERRAINLIST FLAG IMAGESTEM
    {TERRAIN_BASE_RANDOM_LFB ({TERRAINLIST}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RANDOM_L TERRAINLIST LAYER IMAGESTEM
    {TERRAIN_BASE_RANDOM_LFB ({TERRAINLIST}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RANDOM TERRAINLIST IMAGESTEM
    {TERRAIN_BASE_RANDOM_LFB ({TERRAINLIST}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_SINGLEHEX TERRAINLIST P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_SINGLEHEX_LFB TERRAINLIST LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_PFB TERRAINLIST PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_FB TERRAINLIST FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_PLB TERRAINLIST PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_LB TERRAINLIST LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_PB TERRAINLIST PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_B TERRAINLIST BUILDER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_PLF TERRAINLIST PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_LF TERRAINLIST LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_PF TERRAINLIST PROB FLAG IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_F TERRAINLIST FLAG IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_PL TERRAINLIST PROB LAYER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_L TERRAINLIST LAYER IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX_P TERRAINLIST PROB IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_SINGLEHEX TERRAINLIST IMAGESTEM
    {TERRAIN_BASE_SINGLEHEX_PLFB ({TERRAINLIST}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_RESTRICTED TERRAIN ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_RESTRICTED_LFB TERRAIN ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_PFB TERRAIN ADJACENT PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_FB TERRAIN ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_PLB TERRAIN ADJACENT PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_LB TERRAIN ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_PB TERRAIN ADJACENT PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_B TERRAIN ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_PLF TERRAIN ADJACENT PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_PF TERRAIN ADJACENT PROB FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_F TERRAIN ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_PL TERRAIN ADJACENT PROB LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_L TERRAIN ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_P TERRAIN ADJACENT PROB IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED TERRAIN ADJACENT IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_RESTRICTED_RANDOM TERRAIN ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_RESTRICTED_RANDOM_FB TERRAIN ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_RANDOM_LB TERRAIN ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_RANDOM_B TERRAIN ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_RANDOM_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_RANDOM_F TERRAIN ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_RANDOM_L TERRAIN ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED_RANDOM TERRAIN ADJACENT IMAGESTEM
    {TERRAIN_BASE_RESTRICTED_RANDOM_LFB ({TERRAIN}) ({ADJACENT}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_ROTATION_RESTRICTED TERRAIN  ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_ROTATION_RESTRICTED_LFB TERRAIN ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_PFB TERRAIN ADJACENT PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_FB TERRAIN ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_PLB TERRAIN ADJACENT PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_LB TERRAIN ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_PB TERRAIN ADJACENT PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_B TERRAIN ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_PLF TERRAIN ADJACENT PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_LF TERRAIN ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_PF TERRAIN ADJACENT PROB FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_F TERRAIN ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_PL TERRAIN ADJACENT PROB LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_L TERRAIN ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_P TERRAIN ADJACENT PROB IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED TERRAIN ADJACENT IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_PLFB ({TERRAIN}) ({ADJACENT}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_RESTRICTED2 TERRAINLIST ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_RESTRICTED2_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_PFB TERRAINLIST ADJACENT PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_PLB TERRAINLIST ADJACENT PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_PB TERRAINLIST ADJACENT PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_PLF TERRAINLIST ADJACENT PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_PF TERRAINLIST ADJACENT PROB FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_PL TERRAINLIST ADJACENT PROB LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_P TERRAINLIST ADJACENT PROB IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2 TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_RESTRICTED2_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_RESTRICTED2_RANDOM_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_RANDOM_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_RANDOM_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_RANDOM_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_RANDOM_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_RANDOM_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED2_RANDOM TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_ROTATION_RESTRICTED2 TERRAINLIST  ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_ROTATION_RESTRICTED2_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_PFB TERRAINLIST ADJACENT PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_PLB TERRAINLIST ADJACENT PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_PB TERRAINLIST ADJACENT PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_PLF TERRAINLIST ADJACENT PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_PF TERRAINLIST ADJACENT PROB FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_PL TERRAINLIST ADJACENT PROB LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_P TERRAINLIST ADJACENT PROB IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2 TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED2_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_RESTRICTED3 TERRAINLIST ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_RESTRICTED3_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_PFB TERRAINLIST ADJACENT PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_PLB TERRAINLIST ADJACENT PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_PB TERRAINLIST ADJACENT PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_PLF TERRAINLIST ADJACENT PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_PF TERRAINLIST ADJACENT PROB FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_PL TERRAINLIST ADJACENT PROB LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_P TERRAINLIST ADJACENT PROB IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3 TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_RESTRICTED3_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_RESTRICTED3_RANDOM_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_RANDOM_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_RANDOM_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_RANDOM_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_RANDOM_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_RANDOM_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_RESTRICTED3_RANDOM TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_ROTATION_RESTRICTED3 TERRAINLIST  ADJACENT P=PROB=100 L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_ROTATION_RESTRICTED3_LFB TERRAINLIST ADJACENT LAYER FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_PFB TERRAINLIST ADJACENT PROB FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_PLB TERRAINLIST ADJACENT PROB LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_PB TERRAINLIST ADJACENT PROB BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_PLF TERRAINLIST ADJACENT PROB LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_PF TERRAINLIST ADJACENT PROB FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_PL TERRAINLIST ADJACENT PROB LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_P TERRAINLIST ADJACENT PROB IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) ({PROB}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3 TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_PLFB ({TERRAINLIST}) ({ADJACENT}) 100 -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_ROTATION_RESTRICTED3_RANDOM_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
#The following code is autogenerated by expand-terrain-macros.py
#generated from: #meta-macro TERRAIN_BASE_COMPLETE TERRAINLIST ADJACENT L=LAYER=-1000 F=FLAG=base B=BUILDER=IMAGE_SINGLE IMAGESTEM
#Please do not modify
#define TERRAIN_BASE_COMPLETE_FB TERRAINLIST ADJACENT FLAG BUILDER IMAGESTEM
    {TERRAIN_BASE_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_COMPLETE_LB TERRAINLIST ADJACENT LAYER BUILDER IMAGESTEM
    {TERRAIN_BASE_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_COMPLETE_B TERRAINLIST ADJACENT BUILDER IMAGESTEM
    {TERRAIN_BASE_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base ({BUILDER}) ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_COMPLETE_LF TERRAINLIST ADJACENT LAYER FLAG IMAGESTEM
    {TERRAIN_BASE_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_COMPLETE_F TERRAINLIST ADJACENT FLAG IMAGESTEM
    {TERRAIN_BASE_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 ({FLAG}) IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_COMPLETE_L TERRAINLIST ADJACENT LAYER IMAGESTEM
    {TERRAIN_BASE_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) ({LAYER}) base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#define TERRAIN_BASE_COMPLETE TERRAINLIST ADJACENT IMAGESTEM
    {TERRAIN_BASE_COMPLETE_LFB ({TERRAINLIST}) ({ADJACENT}) -1000 base IMAGE_SINGLE ({IMAGESTEM})}
#enddef
#end of generated code
