EntEd What's New:

If you have any problems using this program, or would like to tell me
that you don't, ;) feel free to e-mail me: raistlan@atheist.com

Let me know what you think, what you think would be cool new features,
how useful you find the program, etc.

You can always check on the current version of EntEd at EntEd's very
own homepage: http://www.erinyes.com/ented

Thanx,
Raistlan

***************************** To Register *****************************
***********************************************************************

Send $10 cash/check/money order, along with your name and email address
(so I can send you your key) to:

Al Bahr Enterprises
P.O. Box 191058
Boise, ID  83719

***********************************************************************

Next on my plate
----------------

*  Add the Targeter.
*  Adding a text editor for the current file (only the entity section of a .bsp file).
*  Adding in TF 2.6 & 2.7 map code changes: [Yes, I have weird Priorities ;) ]
    - A new bit (32) was added to "goal_result" for Goals/etc which
      forces anyone affected by the goal to simply respawn. The player
      doesn't die... just respawns.
    - An new bit (2048) was added to "goal_activation" for Goals and
      GoalItems.
        2048: If this bit is set, the Goal/Item drops to the ground
              when it first spawns.
    - More Abbreviations, as follows:
        Floats
            "h_i_g"     for     "has_item_from_group"
            "r_i_g"     for     "remove_item_group"

            "a_s"       for     "ammo_shells"
            "a_n"       for     "ammo_nails"
            "a_r"       for     "ammo_rockets"
            "a_c"       for     "ammo_cells"

            "rv_s_h"    for     "remove_spawngroup"
            "rs_s_h"    for     "restore_spawngroup"
            "rv_gr"     for     "remove_group_no"
            "rs_gr"     for     "restore_group_no"
            "rv_g"      for     "remove_goal_no"
            "rs_g"      for     "restore_goal_no"

Changes and fixes From v2.0 RC0.1 to RC0.2
------------------------------------------

*  Added right pane with property box embedded; You can still pop up a property box for any entity

Changes and fixes From v2.0 Beta 5e to RC0.1
--------------------------------------------

*  Added Multiple Entity selection
*  Added Multi-Level Undo support (currently with 4 levels)
*  Changed 'Field' Tab a bit, removing the edit dialog; now just click on what you want to change
*  Changed MRU List to one each for .map files, .ent files, and .bsp files
*  Expanded each MRU list to 10 files
*  Importing and exporting files updates MRU File lists
*  Confirm Options are saved in the registry
*  Initial entity choices in Insert Entity Dialog are based on the current Game selected

Changes and fixes From v2.0 Beta 5d to Beta 5e
----------------------------------------------

*  Interim release to completely support comments in .map files.
*  Fixes crash when loading .map files created with BSP.
   [Thanks Mike Loughlin]

Changes and fixes From v2.0 Beta 5c to Beta 5d
----------------------------------------------

*  Interim release to fix bug introduced in Beta 5c that mangles Qoole .map files  :/
   [Thanks Jon Worthy]

Changes and fixes From v2.0 Beta 5b to Beta 5c
----------------------------------------------

*  Sped up file loading speed.
*  Added a link to the EntEd homepage in the Help menu.
*  The choices of illegal playerclasses build the class menu for that team.
*  Added the ability to comment out entities in maps.
*  Added Cut and Paste!  EntEd now places the currently selected entities on the clipboard in text
   format, and reads from the clipboard properly formatted map code.
*  Some new icons and other prettying up.  (I love icon art!)  If you have Plus!, turn on "Use
   large icons" and "Show icons using all possible colors" on the Plus! tab of Display Properties
   and check out my new EntEd icon in all of its glory. ;)

Changes and fixes From v2.0 Beta 5a to Beta 5b
----------------------------------------------

*  Added in Hexen 2 Demo entities.  EntEd WILL NOT work with Hexen 2 bsps yet.  It seems that it
   uses a newer version of qbsp, so until that's released, EntEd CAN't work with them. :(  Thanks
   to Network for extracting the entity names after I stupidly formatted the hard drive I had saved
   my list on. :(
*  You can now delete all entities of a certain type by selecting the root of the branch (The one
   with the classname that you want to delete all instances of), and deleting.
*  Fixed "Remove after Activate"
*  "model" field wasn't exported
*  Spawn Points didn't have "goal_state" field
*  Inserting a new entity gave it incorrect icons
*  GPFed when deleting entities
*  Removed artificial 4096 limit to effects radius
*  Detection Entity Properties added extraneous 0s to entity
*  Removed several instances of extraneous fields being created
*  "Messages" tab now correctly indicates that the message that is displayed when a goal kills
   someone is prepended by their name.
*  Deleting an entity with a brush warned you, but then did it anyways
*  "goal_state" field was added unneccesarily if it equalled 2
*  If you did't type an extension in file save box, you got an error

Changes and fixes From v2.0 Beta 5 to Beta 5a
---------------------------------------------

I deleted the newer version of this file, so I don't remember. :(
Here's what I do remember:

*  If an Entity has brushes in a bsp, deleting is disabled; if it's an ent or map file, it just
   asks for confirmation.

Changes and fixes From v2.0 Beta 4z to Beta 5
---------------------------------------------

*  Added registration support (Help/Register EntEd...)  For only $10, you will be registered for
   life (and future versions) and be able to use all of EntEd's features.  The first Registered
   only feature is full .bsp entity editing support.  (see below)
*  Fixed default goal state bug.  (It was setting the initial goal state to active by default,
   instead of inactive...)
*  Added in support for opening .map, .ent, and .bsp files; importing (appending entities) from any
   of those 3 file types; Replacing entities with those in a file of one of those 3 types;
   exporting entities to a new/existing .ent or .map, or an existing .bsp; saving .bsp files as a
   .ent, a .map without brushs, or a .bsp (effectively equivalent to qbsp -onlyents); saving .map
   or .ent files as a .map or an .ent file. (Registered only Feature)

Changes and fixes From v2.0 Beta 4a to Beta 4z
----------------------------------------------

*  I rewrote a LOT of the property dialog code to make it easier for me to add new entity types and
   new tabs.  This results in exactly 0 visible changes, but it should make it quicker and easier
   for me to add in the standard Quake entities and entities from other MODs.
*  Alright, now EntEd remembers every change.  I found my stupid mistake and did things correctly,
   so now the program can be relied on to save changes.
*  You could delete the classname from the "Fields" tab.
*  You could create a new entity with a blank classname.
*  Added the "skin" edit box; skins are 0-based.  Only enabled if the "mdl" field isn't empty.

Changes and fixes From v2.0 Beta 4 to Beta 4a
---------------------------------------------

*  After getting a few reports of EntEd still occasionally 'forgeting' changes, I went to a lower
   level and replaced a bit of code to something that should behave.  Again, if you do encounter
   this behavior, PLEASE let me know, along with any directions on how it happened.
*  In Goal Properties, choosing the Player Effects tab would clear the "goal_activation" field.
*  Status strings no longer have a \n automatically appended.
*  Setting Stay Active Forever would give you error nessages.

Changes and fixes From v2.0 Beta 3a to Beta 4
---------------------------------------------

*  There's a new 'Mail To...' command that allows you to email the current map.
*  It's more intelligent as to when you need to save.
*  Added the option to save netnames in comments freeing up precious entity memory.
*  Added .ent import/export ability.  A .ent file is a .map file without a 'worldspawn' entity and
   consequently, all of the brushes that aren't tied to entities.
*  Improved and expanded the interface.  [And made lots of pretty toolbar buttons. :) ]
*  Added per field comments.  These are comments that take the form:
   "field" "value" //comment
   Comments that are on their own lines are still stripped, except for a comment block that starts
   the file.
*  Added the ability to revert to the last saved version.
*  Added optional confirmation for reverting and deleting.
*  Added drop-down list of all TF and Quake entities in the 'New Entity...' dialog.
*  Sometimes EntEd would 'forget' changes.  I'm pretty sure that I fixed this, but if you do
   encounter this behavior, PLEASE let me know, along with any directions on how it happened.
*  Added support for the 'armortype' field; it's referred to as 'Quality.'
*  Clarified message and status tabs a little.

Changes and fixes From v2.0 Beta 3 to Beta 3a
---------------------------------------------

*  The "owned_by" field for Goal Items was messed up.

Changes and fixes From v2.0 Beta 2c to Beta 3
---------------------------------------------

*  Added support for TeamFortress v2.5, specifically:

    - A new Bit was added to the "goal_result" of Goals and GoalItems.
      As follows:
        
        16  :   If the player these results are being applied to is a Spy,
                reset his/her skin and color.
                When a Spy is carrying a GoalItem with this bit set, he/she
                will be unable to change skin and color.

        This enables you to have areas where spies cannot go undercover, etc.
        It also means you can have the spy unable to change his/her skin/color
        when carrying the flag.
        To introduce a bit of backwards compatability, the spy cannot disguise
        himself when he's dimly lit either, due to carrying a GoalItem with
        the first bit of its "goal_activation" set.
        Almost all the flags in existing TF maps have this bit set.

    - Goals can work with groups of items more now, using the following
      variables:
        "has_item_from_group" : More Criteria. Player must be carrying
                at least 1 of the items in the group.

        "remove_item_group"   : Result. Removes all items belonging to this 
                group from the Player.

    - A new Bit was added to the "goal_effects" of Goals and GoalItems.
      As Follows:
        
        32  :   If a player who fits one of the other "goal_effects" variables
                is not in the same environment as the Goal, don't affect him.
                Environments are air, water, slime, lava.
                e.g. If a Goal is above some water, and does a radius effect
                     with "t_length", and a player in the water is within the
                     radius, he won't be affected if this bit is set.

    - The Spy and Engineer were added to the list of classes the TF Detect
      entity can ban. The list is now as follows:
                Bit 1 (1)   :       No Scout            
            Bit 2 (2)   :   No Sniper        
            Bit 3 (4)   :   No Soldier       
            Bit 4 (8)   :   No Demolitions Man
            Bit 5 (16)  :   No Combat Medic
            Bit 6 (32)  :   No Heavy Weapons Guy
            Bit 7 (64)  :   No Pyro
            Bit 8 (128) :   No Random PlayerClass
            Bit 9 (256)     :   No Spy
            Bit 10(512)     :   No Engineer

    - Since quake has a limit on the size of the entity data in a map,
      abbreviations for some of the common entity fields were created.
      The Abbreviations are as follows:
        Classnames
            "i_p_t"   for   "info_player_teamspawn"
            "i_t_g"   for   "info_tfgoal"
            "i_t_t"   for   "info_tfgoal_timer"

        Common Variables
            "g_a"     for   "goal_activation"
            "g_e"     for   "goal_effects"

        String Variables
            "t_s_h"   for   "team_str_home"
            "t_s_m"   for   "team_str_moved"
            "t_s_c"   for   "team_str_carried"
            "n_s_h"   for   "non_team_str_home"
            "n_s_m"   for   "non_team_str_moved"
            "n_s_c"   for   "non_team_str_carried"

            "b_b"     for   "broadcast"
            "b_t"     for   "team_broadcast"
            "b_n"     for   "non_team_broadcast"
            "b_o"     for   "owners_team_broadcast"
            "n_b"     for   "netname_broadcast"
            "n_t"     for   "netname_team_broadcast"
            "n_n"     for   "netname_non_team_broadcast"
            "n_o"     for   "netname_owners_team_broadcast"

            "d_t"     for   "team_drop"
            "d_n"     for   "non_team_drop"
            "d_n_t"   for   "netname_team_drop"
            "d_n_n"   for   "netname_non_team_drop"

    - Goals can use the "delay_time" variable now to delay their activation 
      for a specific amount of time.

    - Team Spawnpoints can now use Criteria the same way Goals do.
      Players can only spawn at spawnpoints that they match the Criteria of.

    - Team Spawnpoints can activate a goal when someone spawns on them, 
      using the "activate_goal_no" variable.

    - Way back in version 1.3 the "goal_effects" variable was introduced,
      to allow goals to affect more than one player. In version 1.21 you
      didn't have to specify a "goal_effects" variable... instead, any
      goal simply affected it's AP. To allow for backwards compatability,
      in all versions since 1.3, any Goal that did not specify a "goal_effects"
      field automatically had it's "goal_effects" set to 1, which is affect
      AP only. This has become a problem now, since it prevents map-makers
      from having goals that have a "goal_effects" of 0.
      From this version onwards, the "goal_effects" variable will be left 
      as it is in the .map file. So, if you have a map which contains any
      Goals/Items that do _not_ have a "goal_effects" variable specified,
      add it in and set it to 1.

    - An extra bit was added to the "goal_effects" variable for Timer Goals.
      The bit will be ignored by any goal/item other than Timers, and is as
      follows:
    64 :    If this bit is set, then instead of just applying this 
        Goal's results to the group of players specified by the 
        other "goal_effects" variable, this Goal checks it's 
        criteria for each player in the group and then applies it's 
        results invididually to any of them that pass.

*  Added an option to save maps with the abbreviated fields and classnames that are supported by
   TF.  By default this is off, unless you open a map that contains an abbreviation.  In EntEd, the
   long name is always shown for clarity, but it does save abbreviations if you tell it to.
*  Goals couldn't stay active forever.
*  The "playerclass" field was mistakenly written as "player_class".

Changes and fixes From v2.0 Beta 2b to Beta 2c
----------------------------------------------

*  Fixed Team Spawnpoints possibly having a goal_activation field when not needed.
*  In Team Spawnpoint properties, unchecking 'Display' wouldn't get rid of the message.
*  On Goal ITEMS, the number in the goal_activation field to toggle "AP has to be"/"AP has to NOT
   be" is 64, whereas for Goals, the number is 4.  EntEd previously treated BOTH as 4, so Goal
   Items didn't behave correctly.
   [Thanx Network for pointing this out.  I was wrong, you were right. :) ]

Changes and fixes From v2.0 Beta 2a to Beta 2b
----------------------------------------------

*  The Player Effects tab will now let you enter negative values.
*  The "glowing" checkbox on the Basic tab of item_tfgoal now works correctly.
*  Checkboxes in the Activation and Effects tab now work correctly.
*  I added the Message tab to item_tfgoals.

Changes and fixes From v2.0 Beta 2 to Beta 2a
---------------------------------------------

*  Since v2.5bF of TeamFortress, maps will not work right if goal_effects is set to 0, or
   non-existant.  All goals/items now automatically add the goal_effects field with value 1, until
   changed to another number...
*  Fix weird .ent behavior
*  Grappling hook flag fixed.  Grappling hook checked means to allow it in the level
*  Spawnpoint Properties 'Spawn members of' Dropdown list now works properly
*  Changed the About... box style

Changes and fixes From v2.0 Beta 1 to Beta 2
--------------------------------------------

*  EntEd would crash if you:
   1) Open a MAP file and look at an entity
   2) Open another MAP file without saving changes to the first one
   3) Try to look at an entity of the first type
*  If you went to any "Fields" tab and right click the window (nothing is selected) and choose
   "delete" from the popdown menu, EntEd would crash
*  In the info_tfgoal_timer properties dialog. There was no place to enter how long the timer is
   supposed to run.
*  1 Using Worldcraft 1.1a.
   2 Save the map as a .MAP file
   3 Edit it using EntEd 2.0
   4 Save the changed Ents
   5 Go back into WC and load the .MAP file and over half of all the Ents would be missing
*  When editing the info_player_teamspawn the netname would get killed.
*  When you went into the Goal Properties screen the Team 1 score field was blank until you clicked
   on it.
*  1) Open an info_tfgoal and say set the broadcast to "Test"
   2) Close the dialog
   3) Open another info_tfgoal and set the broadcast to "Test2"
   4) Close the dialog
   5) Reopen the first dialog and "Test" would be gone
   6) Close the dialog
   7) Reopen the second dialog and "Test2" would be gone
*  The HUL file in which a copy of the .map file was created in the .map directory and wasn't
   deleted after EntEd quit, and the HUL file wasn't even created in the EntEd directory.  This is
   half fixed. :/  I didn't have the time to figure out how to *always* put the .hul file in the
   EntEd directory, so I stuck it in c:\ because I know it will always be there...  Definitely not
   ideal, so I'll look into changing it...
*  Added the .ent file extension to the 'Open' and 'New' pulldown menu as a file type
*  Fixed EntEd throwing in "maxammo_shells" (maxammo_nails, etc.) "0" when it's not needed.
*  There wasn't a 'Fields' tab on timer goals
*  Some edit fields didn't have numbers enforced
