#------------------------------------------------------------------------
#  BOOM GENERALIZED TYPES
#------------------------------------------------------------------------
#
#  Eureka DOOM Editor
#
#  Copyright (C) 2016 Andrew Apted
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#------------------------------------------------------------------------
#
#  This information comes from the "BOOM reference v1.3" document.
#  
#------------------------------------------------------------------------

gen_line d 0x3c00 0x0400 "DOOR"

gen_field 3 0 7  "Trigger"    W1 WR S1 SR G1 GR D1 DR
gen_field 2 5 0  "Kind"       "Normal" "STAY OPEN" "Close+Open" "Closes"
gen_field 2 3 1  "Speed"      SLOW Medium Fast Turbo
gen_field 2 8 1  "Delay"      "1 sec" "4 secs" "9 secs" "30 secs"
gen_field 1 7 0  "Monsters"   no MONSTER


gen_line k 0x3800 0x0400 "KEYED DOOR"

gen_field 3 0 6  "Trigger"    W1 WR S1 SR G1 GR D1 DR
gen_field 3 6 1  "Keys"       "Any key" "Red Card" "Blue Card" "Yellow Card" "Red Skull" "Blue Skull" "Yellow Skull" "ALL KEYS"
gen_field 1 9 1  "Matching"   Precise skull=card
gen_field 2 3 1  "Speed"      SLOW Medium Fast Turbo
gen_field 1 5 1  "Stay Mode"  "Closes" "STAY OPEN"


# Note: "Model" and "Monsters" share the same bit position.
# The code takes care to enable the approprite one.

gen_line f 0x6000 0x2000 "FLOOR"

gen_field 3 0  0  "Trigger"    W1 WR S1 SR G1 GR D1 DR
gen_field 1 6  0  "Direction"  Down UP
gen_field 3 7  1  "Target"     "Highest Floor" "Lowest Floor" "Next Floor" "Lowest CEIL" "CEILING" "By texture" "24 units" "32 units"
gen_field 2 3  1  "Speed"      SLOW Medium Fast Turbo

gen_field 2 10 0  "Change"     "NONE" "Tex+zero" "Texture" "Tex+type"
gen_field 1 5  0  "Model"      Trigger Numeric
gen_field 1 5  0  "Monsters"   no MONSTER
gen_field 1 12 0  "Crush"      no CRUSH


gen_line c 0x4000 0x2000 "CEILING"

gen_field 3 0  0  "Trigger"    W1 WR S1 SR G1 GR D1 DR
gen_field 1 6  1  "Direction"  Down UP
gen_field 3 7  0  "Target"     "Highest Ceil" "Lowest Ceil" "Next Ceil" "Highest Floor" "FLOOR" "By texture" "24 units" "32 units"
gen_field 2 3  1  "Speed"      SLOW Medium Fast Turbo

gen_field 2 10 0  "Change"     "NONE" "Tex+zero" "Texture" "Tex+type"
gen_field 1 5  0  "Model"      Trigger Numeric
gen_field 1 5  0  "Monsters"   no MONSTER
gen_field 1 12 0  "Crush"      no CRUSH


gen_line l 0x3400 0x0400 "LIFT"

gen_field 3 0 1  "Trigger"    W1 WR S1 SR G1 GR D1 DR
gen_field 2 8 0  "Target"     "Lowest Floor" "Next Floor" "Lowest CEIL" "PERPETUAL"
gen_field 2 3 1  "Speed"      SLOW Medium Fast Turbo
gen_field 2 6 1  "Delay"      "1 sec" "3 secs" "5 secs" "10 secs"
gen_field 1 5 0  "Monsters"   no MONSTER


gen_line s 0x3000 0x0400 "STAIR"

gen_field 3 0 2  "Trigger"      W1 WR S1 SR G1 GR D1 DR
gen_field 1 8 1  "Direction"    Down UP
gen_field 2 6 1  "Step"         "4 units" "8 units" "16 units" "24 units"
gen_field 2 3 1  "Speed"        SLOW Medium Fast Turbo
gen_field 1 5 0  "Monsters"     no MONSTER
gen_field 1 9 0  "Tex Match"    "Same tex" "ANY TEX"


gen_line r 0x2f80 0x0080 "CRUSHER"

gen_field 3 0 0  "Trigger"    W1 WR S1 SR G1 GR D1 DR
gen_field 2 3 0  "Speed"      SLOW Medium Fast Turbo
gen_field 1 5 0  "Monsters"   no MONSTER
gen_field 1 6 0  "Silent"     no SILENT

