                 Heretic II Entity Stuff
                        v 1.0
                  tiglari@hexenworld.com
                    


Here are some entity files I've produced.  The *.qkf files are
generated automatically from the source-code comments, & need to
be fixed by hand (i.e. the `HIERARCH' specific removed, because
this is an obsolete spawnflag).  Then the idea is to use these
files to generate entity support for map-editors; I'm planning
to do this for Quark5 first, then maybe Qoole (a Good Idea, given
how sensitive Qoole is to minor errors in the .ent file format).
Qoole will need some additional info, namely the types (String, Num,
Angle, etc. of the various values, there's probably an easy way to
provide this but I haven't spent any time thinking about it.


This stuff is quite rushed, don't trust it, I hope to have
an improved version soon.  The most useful info is probably
the stuff about spawnflags.

There's also her2ents.zip, the entity lumps from the .bsp;s in
the .pak file(s), and programming.zip, actual source code for
the entities & other stuff.

 mapents - a listing of entities occurring in the maps, with
   keys & frequency info (spawnflags not cracked, but only
   listed if they're really spawnflags).

 spawn - cracked spawnflags.  N.B: flag positions 9-17 in
   the code comments represent bit positions 14-22 (starting
   from 1) in the actual spawnflag (32 bit unsigned long). I list
   first the original #s, then the crack.  When values are listed but
   no spawnflags are recorded as used, that's because the used positions
   are 9-13, which aren't spawnflags (difficulty/coop/dm flags would
   be my guess as to what they're doing).

comments/*.ec - the comment sections from the game code, with a
   dab of very light reformatting to help out the info extraction
   proggies, each original .c file going  into an *.ec file.

diffs - differences between map entities and code entities.
   There's quite a list of entities in the game code that don't
   appear in the maps, but only script_runner is the other
   way.


tigtools/*.exe - tigtools hacked to deal with the extra spawnflag
   pozzies.  No source at this point, cuz I'd like to redo them
   better as Quark5 plugins.


perl/*.pl/pm - the perl scripts, a horrible mess, under
  revision

spawn.qkf, spnkeys.qkf - spawn.qkf is a listing of the different
  spawnflag sets, spnkeys.qkf lists entities & tags for their
  spawnflags sets.

info.qkf - entities listed alphabetically with info about files,
  bounding boxes & a short description.  ?? for apparent
  keys that don't occur in the maps.  I'm planning to add a
  help: field which will appear instead of the description as the
  flyover hint for the quark info button (pressing the button will
  fire up a web-browser loaded with a real web-page).  This will
  be done manually.  Also an mdl field should be added.  

spec.qkf - entities with their keys & hint info, I'm prolly gonna
  abolish this one.

droppos.qkf, dropkeys.qkf - dropbox info

entspec.qkf - info about specifics, drop-boxes & hints integrated
  quark entity support is meant to be generated off this, but there's
  a lot of overlap with spec.qkf, which I'm currently planning to dump.
  Specifics with ?? aren't ever used as specifics in the maps, so
  they are likely to be bodgy (misconstrued/obsolete spawnflags,
  unimplemented, etc.).  I'm going to use /- for multi-line hints,
  and these lines will be respected when the hint is displayed.

The entspec.qkf file will undergo a lot of hand editing, for example
common combinations of keys can be given names & invoked, & there's
an `advanced specs' facility in quark 5 whereby you hit a button &
get a bumch of less often used specs to play with.

Also, there will be a default hints file for things like ondeath_target
that always have the same meaning, so these should not be added.

