%name feat
%prefix TILE
%startvalue TILE_WALL_MAX tiledef-wall.h

%sdir dc-dngn

wall/tree1 DNGN_TREE
wall/tree2

%variation DNGN_TREE yellow
wall/tree1_yellow DNGN_TREE_YELLOW
wall/tree2_yellow

%variation DNGN_TREE lightred
wall/tree1_lightred DNGN_TREE_LIGHTRED
wall/tree2_lightred

%variation DNGN_TREE red
wall/tree1_red DNGN_TREE_RED
wall/tree2_red

# this may need to change, but it should make things a bit simpler
%variation DNGN_TREE darkgray
wall/tree1_dead DNGN_TREE_DEAD
wall/tree2_dead

## doors
dngn_detected_secret_door DNGN_DETECTED_SECRET_DOOR
dngn_closed_door DNGN_CLOSED_DOOR
gate_closed_left DNGN_GATE_CLOSED_LEFT
gate_closed_middle DNGN_GATE_CLOSED_MIDDLE
gate_closed_right DNGN_GATE_CLOSED_RIGHT
dngn_open_door DNGN_OPEN_DOOR
gate_open_left DNGN_GATE_OPEN_LEFT
gate_open_middle DNGN_GATE_OPEN_MIDDLE
gate_open_right DNGN_GATE_OPEN_RIGHT

## Alternate doors for vaults, etc. Should be in the order listed above for
## doors which also provide gateways; otherwise detected, closed, open, or
## closed, open.
%sdir dc-dngn/gateways
fleshy_orifice_closed DNGN_FLESHY_ORIFICE
fleshy_orifice_open

%sdir dc-dngn/gateways
dngn_stone_arch DNGN_STONE_ARCH

%sdir dc-dngn
dngn_orcish_idol DNGN_ORCISH_IDOL
dngn_granite_statue DNGN_GRANITE_STATUE
elephant_statue DNGN_ELEPHANT_STATUE
crumbled_column DNGN_CRUMBLED_COLUMN

## Features only used in certain minivaults
%sdir dc-dngn/vaults

## Reworked statues for Zonguldrok Wizlab: gravestones
gravestone_blank DNGN_GRAVESTONE
gravestone_writing1
gravestone_writing2
gravestone_ornate DNGN_GRAVESTONE_ORNATE

## strange machine for Tukima's Wizlab
machine_tukima DNGN_MACHINE_TUKIMA

## tiles for the_teleporter vaults
the_teleporter_vaults DNGN_THE_TELEPORTER_VAULTS
the_teleporter_ice_cave DNGN_THE_TELEPORTER_ICE_CAVE

# A couple of placeholders in case we absolutely need
# to add some more tiles for vault design.
# (In response to error messages, basically.)
dc-misc/error PLACEHOLDER1
dc-misc/error PLACEHOLDER2
dc-misc/error PLACEHOLDER3
dc-misc/error PLACEHOLDER4
dc-misc/error PLACEHOLDER5
dc-misc/error PLACEHOLDER6
dc-misc/error PLACEHOLDER7
dc-misc/error PLACEHOLDER8

%sdir dc-dngn
## traps
dngn_trap_dart DNGN_TRAP_DART
dngn_trap_arrow DNGN_TRAP_ARROW
dngn_trap_needle DNGN_TRAP_NEEDLE
dngn_trap_bolt DNGN_TRAP_BOLT
dngn_trap_spear DNGN_TRAP_SPEAR
dngn_trap_axe DNGN_TRAP_AXE
dngn_trap_blade DNGN_TRAP_BLADE
dngn_trap_net DNGN_TRAP_NET
dngn_trap_alarm DNGN_TRAP_ALARM
dngn_trap_shaft DNGN_TRAP_SHAFT
dngn_trap_teleport DNGN_TRAP_TELEPORT
dngn_trap_zot DNGN_TRAP_ZOT

## stairs
%sdir dc-dngn/gateways
stone_stairs_down DNGN_STONE_STAIRS_DOWN
stone_stairs_up DNGN_STONE_STAIRS_UP
escape_hatch_down DNGN_ESCAPE_HATCH_DOWN
escape_hatch_up DNGN_ESCAPE_HATCH_UP
dngn_enter DNGN_ENTER
%rim 1
dngn_return DNGN_RETURN
%rim 0

%sdir dc-dngn/shops
##dngn_enter_shop DNGN_ENTER_SHOP
%shrink 0
%back dngn_enter_shop
shop_general SHOP_GENERAL
shop_weapon SHOP_WEAPONS
shop_armour SHOP_ARMOUR
shop_food SHOP_FOOD
shop_books SHOP_BOOKS
shop_scrolls SHOP_SCROLLS
shop_wands SHOP_WANDS
shop_jewellery SHOP_JEWELLERY
shop_potions SHOP_POTIONS
%back none
%shrink 1
dngn_abandoned_shop DNGN_ABANDONED_SHOP
%sdir dc-dngn

## from here on multiple tile definitions are CHANGEABLE, i.e. they may
## change from turn to turn
floor/lava0 DNGN_LAVA
floor/lava1
floor/lava2
floor/lava3

## water
%sdir dc-dngn/water
%weight 3
dngn_open_sea DNGN_OPEN_SEA
%weight 1
dngn_open_sea2

%weight 2
dngn_deep_water DNGN_DEEP_WATER
%weight 1
dngn_deep_water2

%weight 3
dngn_shallow_water DNGN_SHALLOW_WATER
%weight 1
dngn_shallow_water2
dngn_shallow_water_disturbance DNGN_SHALLOW_WATER_DISTURBANCE
dngn_shallow_water_disturbance2
%weight 2
dngn_deep_water_murky DNGN_DEEP_WATER_MURKY
%weight 1
dngn_deep_water_murky2
%weight 3
dngn_shallow_water_murky DNGN_SHALLOW_WATER_MURKY
%weight 1
dngn_shallow_water_murky2
dngn_shallow_water_murky_disturbance DNGN_SHALLOW_WATER_MURKY_DISTURBANCE
dngn_shallow_water_murky_disturbance2

grey_dirt_bb SHORE_N
grey_dirt_bl SHORE_W
grey_dirt_br SHORE_E
grey_dirt_bcl SHORE_NW
grey_dirt_bcr SHORE_NE

dngn_shallow_bord_top DNGN_WAVE_N
dngn_shallow_bord_tr DNGN_WAVE_NE
dngn_shallow_bord_rgt DNGN_WAVE_E
dngn_shallow_bord_br DNGN_WAVE_SE
dngn_shallow_bord_btm DNGN_WAVE_S
dngn_shallow_bord_bl DNGN_WAVE_SW
dngn_shallow_bord_lft DNGN_WAVE_W
dngn_shallow_bord_tl DNGN_WAVE_NW

# Make all base variants equally likely, but their special ones less so.
%weight 4
dngn_shoals_deep_water1 SHOALS_DEEP_WATER
%weight 2
dngn_shoals_deep_water1_shape
%weight 4
dngn_shoals_deep_water2
%weight 1
dngn_shoals_deep_water2_shape
dngn_shoals_deep_water2_bubbles
%weight 4
dngn_shoals_deep_water3
%weight 2
dngn_shoals_deep_water3_bubbles
%weight 4
dngn_shoals_deep_water4
%weight 2
dngn_shoals_deep_water4_bubbles
%weight 1
dngn_shoals_shallow_water1 SHOALS_SHALLOW_WATER
dngn_shoals_shallow_water2
dngn_shoals_shallow_water3
dngn_shoals_shallow_water4
dngn_shoals_shallow_water_disturbance1 SHOALS_SHALLOW_WATER_DISTURBANCE
dngn_shoals_shallow_water_disturbance2
dngn_shoals_shallow_water_disturbance3

%shrink 0
## deep water waves
# corner waves (diagonals)
deep_water_wave_corner_NE WAVE_DEEP_CORNER_NE
deep_water_wave_corner_NW WAVE_DEEP_CORNER_NW
deep_water_wave_corner_SE WAVE_DEEP_CORNER_SE
deep_water_wave_corner_SW WAVE_DEEP_CORNER_SW

# orthogonal waves
deep_water_wave_N WAVE_DEEP_N
deep_water_wave_S WAVE_DEEP_S
deep_water_wave_E WAVE_DEEP_E
deep_water_wave_W WAVE_DEEP_W

## shallow water waves
# corner waves (diagonals)
shallow_water_wave_corner_NE WAVE_CORNER_NE
shallow_water_wave_corner_NW WAVE_CORNER_NW
shallow_water_wave_corner_SE WAVE_CORNER_SE
shallow_water_wave_corner_SW WAVE_CORNER_SW

# orthogonal waves
shallow_water_wave_N WAVE_N
shallow_water_wave_S WAVE_S
shallow_water_wave_E WAVE_E
shallow_water_wave_W WAVE_W

## ink sheen
# corner waves (diagonals)
ink_wave_corner_NE WAVE_INK_CORNER_NE
ink_wave_corner_NW WAVE_INK_CORNER_NW
ink_wave_corner_SE WAVE_INK_CORNER_SE
ink_wave_corner_SW WAVE_INK_CORNER_SW

# orthogonal waves
ink_wave_N WAVE_INK_N
ink_wave_S WAVE_INK_S
ink_wave_E WAVE_INK_E
ink_wave_W WAVE_INK_W

#full
ink_full WAVE_INK_FULL
%shrink 1

%sdir dc-dngn/gateways
dngn_entrance DNGN_UNSEEN_ENTRANCE
%rim 1
dngn_enter_hell DNGN_ENTER_HELL
dngn_enter_zot_closed DNGN_ENTER_ZOT_CLOSED
dngn_enter_zot_open DNGN_ENTER_ZOT_OPEN
%rim 0
dngn_return_zot DNGN_RETURN_ZOT
dngn_enter_dis DNGN_ENTER_DIS
dngn_enter_gehenna DNGN_ENTER_GEHENNA
dngn_enter_cocytus DNGN_ENTER_COCYTUS
dngn_enter_tartarus DNGN_ENTER_TARTARUS
dngn_return_hell DNGN_RETURN_HELL

dngn_enter_abyss DNGN_ENTER_ABYSS
dngn_exit_abyss DNGN_EXIT_ABYSS
dngn_exit_abyss_flickering

dngn_enter_labyrinth DNGN_ENTER_LABYRINTH
dngn_enter_pandemonium DNGN_ENTER_PANDEMONIUM
dngn_portal DNGN_PORTAL
dngn_portal_rotated
%rim 1
dngn_transit_pandemonium DNGN_TRANSIT_PANDEMONIUM
%rim 0

# portal vault entrances
volcano_portal DNGN_PORTAL_VOLCANO
sewer_portal DNGN_PORTAL_SEWER
sewer_portal_rusted DNGN_PORTAL_SEWER_RUSTED
ice_cave_portal DNGN_PORTAL_ICE_CAVE
wizlab_portal0 DNGN_PORTAL_WIZARD_LAB
wizlab_portal1
wizlab_portal2
wizlab_portal3
wizlab_portal4
wizlab_portal5
wizlab_portal6
wizlab_portal7
wizlab_portal8
# More placeholders for portal vault entries
dc-misc/error PLACEHOLDER9
dc-misc/error PLACEHOLDER10
dc-misc/error PLACEHOLDER11
dc-misc/error PLACEHOLDER12
dc-misc/error PLACEHOLDER13
dc-misc/error PLACEHOLDER14
dc-misc/error PLACEHOLDER15
dc-misc/error PLACEHOLDER16
dc-misc/error PLACEHOLDER17
dc-misc/error PLACEHOLDER18

%sdir dc-dngn/altars
dngn_altar DNGN_UNSEEN_ALTAR
dngn_altar_zin DNGN_ALTAR_ZIN
dngn_altar_shining_one DNGN_ALTAR_SHINING_ONE
dngn_altar_kikubaaqudgha DNGN_ALTAR_KIKUBAAQUDGHA
dngn_altar_yredelemnul DNGN_ALTAR_YREDELEMNUL
dngn_altar_xom_blue DNGN_ALTAR_XOM
dngn_altar_xom_green
dngn_altar_xom_pink
dngn_altar_xom_red
dngn_altar_xom_turquoise
dngn_altar_xom_yellow
dngn_altar_vehumet DNGN_ALTAR_VEHUMET
dngn_altar_okawaru DNGN_ALTAR_OKAWARU
dngn_altar_makhleb_flame1 DNGN_ALTAR_MAKHLEB
dngn_altar_makhleb_flame2
dngn_altar_makhleb_flame3
dngn_altar_makhleb_flame4
dngn_altar_makhleb_flame5
dngn_altar_makhleb_flame6
dngn_altar_makhleb_flame7
dngn_altar_makhleb_flame8
dngn_altar_sif_muna DNGN_ALTAR_SIF_MUNA
dngn_altar_trog DNGN_ALTAR_TROG
dngn_altar_nemelex_xobeh DNGN_ALTAR_NEMELEX_XOBEH
dngn_altar_elyvilon DNGN_ALTAR_ELYVILON
dngn_altar_lugonu DNGN_ALTAR_LUGONU
dngn_altar_beogh DNGN_ALTAR_BEOGH
dngn_altar_jiyva01 DNGN_ALTAR_JIYVA
dngn_altar_jiyva02
dngn_altar_jiyva03
dngn_altar_jiyva04
dngn_altar_jiyva05
dngn_altar_jiyva06
dngn_altar_jiyva07
dngn_altar_jiyva08
dngn_altar_jiyva09
dngn_altar_jiyva10
dngn_altar_jiyva11
%rim 1
dngn_altar_fedhas DNGN_ALTAR_FEDHAS
%rim 0
dngn_altar_cheibriados_12 DNGN_ALTAR_CHEIBRIADOS
dngn_altar_cheibriados_10
dngn_altar_cheibriados_09
dngn_altar_cheibriados_08
dngn_altar_cheibriados_06
dngn_altar_cheibriados_04
dngn_altar_cheibriados_03
dngn_altar_cheibriados_02

%sdir dc-dngn
dngn_blue_fountain DNGN_FOUNTAIN DNGN_BLUE_FOUNTAIN
dngn_blue_fountain2

dngn_sparkling_fountain DNGN_SPARKLING_FOUNTAIN
dngn_sparkling_fountain2
dngn_blood_fountain DNGN_BLOOD_FOUNTAIN
dngn_blood_fountain2
dngn_dry_fountain DNGN_DRY_FOUNTAIN

%variation DNGN_DRY_FOUNTAIN white
%desat 30
%lum 30 80
%desat 0
%lum 0 45
%repeat DNGN_DRY_FOUNTAIN DNGN_DRY_FOUNTAIN_WHITE
%resetcol

## Miscellaneous entries that get drawn on the background.
## Flavour is fixed again.
dc-misc/blood_red BLOOD
dc-misc/blood_red1
dc-misc/blood_red2
dc-misc/blood_red3
dc-misc/blood_red4
dc-misc/halo HALO
dc-misc/ray RAY
dc-misc/ray_out_of_range RAY_OUT_OF_RANGE
dc-misc/travel_exclusion TRAVEL_EXCLUSION_BG
dc-misc/travel_exclusion_centre TRAVEL_EXCLUSION_CENTRE_BG
dc-misc/slot ITEM_SLOT
effect/sanctuary SANCTUARY
dc-misc/mold_small1 MOLD
dc-misc/mold_small2
dc-misc/mold_small3
dc-misc/mold_small4
effect/silenced SILENCED
