Hexen FGD 0.93
^^^^^^^^^^^^^^
A lot of things were changed in this version:

- Key values for many things such as worldspawn, doors, triggers,
  plats, rotating stuff etc. were added or modified. Some didn't
  work at all because of missing keys and some others had redundant
  or bad variable type values which in some cases prevented them from
  working as expected (doors, for example). These changes were
  thoughroughly tested and all the entities that I have been able
  to figure out work properly now.

- Some entities like like the (rotating) func_train, monsterspawner,
  func_rotate, trigger_changelevel, etc. don't all work as expected in
  all of their possible setups so trial and error will still be in
  order here. Generally speaking they are not always simple to use but
  once you get used to them, you will see that a lot of them work ok.

- The func_angletrigger has a bug (I think) that causes it to fire its
  trigger at its set angle step and the angle step that immediately
  follows. Might not be a problem in every case and a workaroud is
  probably possible using a trigger_message_transfer entity and an
  intermediate trigger. The people at Raven have been advised and are
  looking into it. PS: Mike Gummelt of Raven later told me they had no
  choice but to make it this way.

- I have found that 40 entities out of the original 252 produce a
  "no spawn function for:" message at the beginning of the game. I
  assumed those to be either obsolete or internal functions of the
  main entities and I have removed them from the FGD files. I have
  found this to be a typo for the obj_webs entity which was documented
  in the official utilities (h3ents.hc) as "obj_web". This is also the
  case for the light_torch_egypt which is in fact spelled light_torch_
  eqypt. The obsolete entity list is provided below. PS: Mike Gummelt
  later confirmed that those had been dropped from the entity set in
  his email reply to my inquiry.

- The entities were basically sorted in alphebetical order in the
  original FGD's and I modified this to sort them in a logical order
  instead. This should make editing easier and minimize the tedious
  process of leaving WC, renaming the files and re-starting WC. (PS: I
  originally made this FGD for WC1.5. Not an issue in 1.6 so it's all
  in one file now).

- Too many other details to include here. Read and compare the files
  if you want to know. Oh, all right then... here it is:

	worldspawn key "CD" was set to string type: this must be
	integer type as it's the number of the track. The MIDI key was
	added: this is a string type, name of the midi file to play in
	case the CD's not in the drive.

	the message key is actually an integer type and not a string
	like in Quake. It refers to a line number in the file named
	"strings.txt". In some entities, the message key is used
	for another kind of parameter though.

	The real name of obj_web is obj_webs. The real name of
	light_torch_egypt is light_torch_eqypt.
	(actually typos in the .hc file: confirmed by Mike Gummelt).

	The puzzle_piece_x keys in the trigger_once and multiple ents
	MUST be a string type and not integer otherwise the triggers
	just won't work. Same for doors. The no_puzzle_msg key must be
	an integer type (refers to a line number in strings.txt)

	In many places, I changed the delay type to string because
	floating point values are supported and FGD has no provisions
	as such for the float type. Same goes for the abslight key.

	Added comments on the use of the puzzle_piece and puzzle_static
	_piece ents.

	Updated and corrected the choice options for the thingtype key.
	It's used in many entities.

	Updated and corrected the choice options for the soundtype key
	used in the sound generating entities.

	Updated a lot of spawnflag description stuff in the obj_* ents.

	Never did figure out how to make the riders or Eidolon bosses
	show up in a map. Takes more than just placing the entity in
	the map design but I haven't been able to find out what it is.
	These all make Hexen2 return a "no spawn function for" message.

	The obj_chaos_orb ent is valid but I have no idea on how to
	make it work. Just putting it in the design is not sufficient
	and Hexen2 will return a "no spawn function for ...." when
	loading the .bsp

	I merged all 3 FGD's in 1 for WC1.6

Obsolete entities list
^^^^^^^^^^^^^^^^^^^^^
PointClass:

air_bubbles
art_sword_and_crown
fx_colorbeam_start
fx_colorbeam_end
fx_particle_explosion
item_mirage
light_flame_small_white
light_globe
misc_explobox
misc_explobox2
misc_noisemaker
misc_teleporttrain
monster_ogre
obj_boulder
obj_chaos_orb (really not sure about this one)
paladin_dead
sprite_backgrnd_1
sprite_backgrnd_2
sprite_moss1
sprite_tree1
sprite_tree2
sprite_treetop
trap_boulder
trap_death_fireball

SolidClass:

func_door_smashing
func_reflect
fx_friction_change
obj_bridge
obj_stairs
ropebridge_link
trigger_fan_blow
trigger_magicfield
trigger_no_friction
trigger_onlyregistered (who cares anyway?)
trigger_reflect
trigger_secret
trigger_setskill
trigger_teleport_newmap
weather_dust