------------------------------------------------------------------------------
990915

* OpenMod ported to work with Unreal v224/5f.
* OpenModGameInfo would cause there to be two GRIs in game. This was because
  of it's PreBeginPlay() function settup up a GRI for it. The function has
  been over-ridden so this no longer happens.
* Added a function to deal with the bNoTeamStartDisabler option better.
  It will now go through all the spawnpoints and check that there are more
  than one points per team returning false if any team has only one.
* Added function to disable flag spawning if there are flag classes already 
  on the level.
* PlayerStartFinder now sets the team number of a non-team playerstart to 255
  which is the defualt Unreal no-team var.
* Removed ht TShieldBelt package as the Unreal ShielBelt classes are now team 
  aware.
* Released as 0.0.2

- Ob1-Kenobi (ob1@planetunreal.com)


------------------------------------------------------------------------------
990107

* Several level data files were imported from UWar (and converted to be
  OpenMod-compliant.
* ObjectLoader would check the length of the level's title before it was
  checked for bad chars.  This resulted in OpenMod looking for some data files
  with incorrect names.
* "." (without the quotes) is now an illegal level data character.
* "Data" and "Info" now precede level titles.  This replaces the whole "X"
  scheme if a level title began with a number.  (For example: DMAriza now uses
  DataDMAriza.InfoDMAriza.)
* Released as 0.0.1!

- David "VicViper" Ludwig  (davidl@captured.com)


------------------------------------------------------------------------------
990103

* LevelPrefsInfo added (a direct subclass of DynLevelInfo.)  This contains
  some level specific "preferences" such as whether or not to disable the
  grappling hook and what the MaxTeams variable should be set to.

- David "VicViper" Ludwig  (davidl@captured.com)


------------------------------------------------------------------------------
981230

* OpenModGameInfo now contains a utility function which will copy the contents
  of a DynMusicInfo's track info based on the desired type of music.
* More comprehensive error checking added to OpenModGameInfo.LoadLevelData()
  and ObjectLoader.  Now, if an unknown level is fed through LoadLevelData(),
  Unreal will not GPF.
* Fixed a small bug where DynCTFLevelInfo was spawning flags in the place of
  flag bases (ie. each CTFFlagBasePH object would have a flag spawned in it's
  location instead of a flag base.)

- David "VicViper" Ludwig  (davidl@captured.com)


------------------------------------------------------------------------------
981229

* Removed the SMusicInfo struct from DynMusicInfo.  UnrealEd's menus wouldn't
  allow the contents of these to be edited.  Everything is now a separate
  property.
* Added a MusicStr property to DynMusicInfo and made the existing Music
  property uneditable (from UnrealEd.)  This allows a particular music class
  to be specified without having to have the actual music file open.  The
  Music property is now filled out in DynMusicInfo.PreInitialize() (using
  DynamicLoadObject()).
* Added a MusicInfo property to OpenModGameInfo.  This is to inform each game
  of the current DynMusicInfo object.
* DynMusicInfo.PreInitialize() will fill out its Owner's MusicInfo property.
* LoadOMI() added to OpenModGameInfo.  This will load the available classes
  inside an OpenModInfo class.  (An optional class may be specified so it will
  only load the classes of a specific type.)
* LoadSingleClass() added to OpenModGameInfo.  This loads a single specified
  DynInfo class.
* DynItemSpawner added.  This simply spawns a class based on several simple
  attributes and/or effects (such as "popping up" out of a particular point.)
* PersistentItemSpawner added.  This is a persistent class which will spawn
  various items out of PlayerStart points at a set interval.  It will also
  check to make sure that there aren't too many items of that type which have
  already been spawned.
* CTFFlagBasePH added.  This is intended for flag capturing actors, such as
  seen in uWar or TeamFortress.
* DynCTFLevelInfo support added for the 10 DM levels included in Unreal.
  (Note: These currently do not include CTFFlagBasePH objects as that was
  implemented after the data files were made.  This will be corrected in a
  later release of OpenMod.)

- David "VicViper" Ludwig  (davidl@captured.com)


------------------------------------------------------------------------------
981223

* The dynamic level code can now load any type of DynLevelInfo class.  The
  specific game type can also specify what sort of DynLevelInfo classes it
  wants loaded by filling in the "AvailableDLIClasses[]" array (which is a
  part of OpenModGameInfo).  Note: this array is of type 'name' and not type
  'class', as comparisons using an actor's IsA() function require a name to be
  passed as a parameter.  For an example game type, see NnCTF's
  implementation.
* Each DynLevelInfo class can now implement a InitializeDynInfo() function,
  which, in the case of DynCTFLevelInfo, will get all the FlagClasses[]
  information.  (This array was originally copied from OpenModGameInfo to
  DynCTFLevelInfo in OpenModGameInfo.  However, I would rather see the code a
  part of DynCTFLevelInfo, so I made this change.)
* Diff utility source code introduced.  The code is in OpenMod/differ.  Note,
  it is currently in a *VERY* alpha state.
* LevelDiffInfo.uc moved from NnCTF to OpenMod.  This class generates output
  intended for the diff utility.
* DynPlayerStart.uc moved from NnCTF to OpenMod.  This class allows
  PlayerStart points to be spawned at run-time.
  
- David "VicViper" Ludwig  (davidl@captured.com)

------------------------------------------------------------------------------
981221

* DynMusicInfo added, however it is really only a shell of it's eventual
  capabilities.  Right now, it merely specifies what kind of music will be
  available in a particular game, however it doesn't actually "do" anything
  (for the moment.)
  
- David "VicViper" Ludwig  (davidl@captured.com)


------------------------------------------------------------------------------
981218

* Works under Unreal 220, no changes necessary.
* Test level "OpenModTest2" needed to have it's BSP rebuilt, otherwise no
  actors could exist in it without "falling out of the world".
* Flag placement code works using the CTFFlagPH actors.

- David "VicViper" Ludwig  (davidl@captured.com)


------------------------------------------------------------------------------
981207 - Initial source-code-only release.