moagg-0.18:
~~~~~~~~~~~
* Magnets now can be activated, deactivated and toggled via a switch
  or via the appropriate events, like laser barriers. The tutorial level
  switches.xml was adapted to demonstrate this.
  (btrummer, 2005-04-17)

* Fuel platforms now can define a fuel_cost property, which means that
  refueling the ship is not free anymore.
  (btrummer, 2005-04-16)

* SAM batteries now can be destroyed by projectiles too (like turrets).
  (btrummer, 2005-03-12)

* Now every decoration object supports the hide-property and can be shown
  via the show-event during game flow.
  (btrummer, 2005-03-12)

* Added three new levels to mission1.
  (btrummer, 2005-03-01, thanks to Will Poulsen)

* Fixed a bug, where the initial position of a turret projectile was
  calculated wrong, thus causing immediate collisions with the turret.
  (btrummer, 2005-02-08, thanks to Stefan Hamacher for reporting)


moagg-0.17:
~~~~~~~~~~~
* Platforms now can be declared as fuel platforms, where the ship's fuel
  will be refilled when landing on it.
  (btrummer, 2005-01-29)

* Added previously missing support for brightness values of a map layer
  lying between 0x80 and 0xff (normal brightness - white).
  (btrummer, 2005-01-05)

* Fixed Debian bug #284923 (compile errors with g++-4.0 at amd64).
  (btrummer, 2004-12-09, thanks to Andreas Jochens for reporting)

* Added a thorn decoration object, which will rise out of the walls.
  Added a new tutorial level to demonstrate them.
  (btrummer, 2004-12-08)


moagg-0.16:
~~~~~~~~~~~
* Added a level description window, that will be shown when starting a level,
  if the level-file contains a <description> node.
  Further, a short description for all tutorial levels was written.
  (btrummer, 2004-11-12, thanks to Andreas Granig for the code-prototype)


moagg-0.15:
~~~~~~~~~~~
* Added support for the status-action in the event handlers of the
  objective nodes. Added a new tutorial level to demonstrate this feature.
  (btrummer, 2004-10-24)

* All XML properties of the level files holding a comma-seperated list
  of object ids now can contain id-ranges (e.g. "10,15-18").
  (btrummer, 2004-10-23)

* Fuel crates can now have an optional 'amount' attribute to define
  the amount of fuel to add on pickup.
  (btrummer, 2004-10-23)

* Added some levels to the "Neverending Winter" mission.
  (btrummer, 2004-10-16, thanks to Janek Kozicki)

* Added turret presets 'dome1', 'dome1b' and 'dome1c'.
  (btrummer, 2004-10-16)

* Added some more tiles for the 'winter' tile set.
  (btrummer, 2004-10-05, thanks to Janek Kozicki)

* Moved the cloud graphics into a new 'clouds' tile set.
  The former sky background was moved to the 'colors' tile set.
  (btrummer, 2004-10-02)

* Switched all maps to the new file format (version 2).
  (btrummer, 2004-10-02)

* Fixed a bug in the "out of fuel" handling, where all remaining ships were
  destroyed too.
  (btrummer, 2004-09-04, thanks to Stefan Hamacher for reporting)

* Added support for version 2 of the map file format.
  (btrummer, 2004-08-29)


moagg-0.14:
~~~~~~~~~~~
* Added a switch decoration object, which can be used to toggle barriers,
  if hit by a missile, grenade or projectile.
  Added a new tutorial level to demonstrate switches.
  (btrummer, 2004-08-14)

* Added a 'toggle' event handler.
  (btrummer, 2004-08-13)

* Added an 'activate' and 'deactivate' event handler, which can be used
  to turn on/off laser barriers during the game flow.
  Added a new tutorial level to demonstrate this feature.
  (btrummer, 2004-08-08)

* Added a 'danger' tile set.
  (btrummer, 2004-08-03)

* Added event handling framework for the objective nodes. For example,
  it's possible to show crates only if a particular objective is reached.
  See doc/levels.tex for details.
  (btrummer, 2004-07-31)

* Fixed the handling in the game control engine, if the player's ship
  is destroyed while unloading a crate.
  (btrummer, 2004-07-31)

* Fixed a gamecontrol bug in frozen/janek02.xml, where one of the fuel crates
  got an id and was present in the <pickup> node.
  (btrummer, 2004-07-29, thanks to Stefan Hamacher for reporting)


moagg-0.13:
~~~~~~~~~~~
* Added support for the DESTDIR variable in the Makefiles for a yet more
  flexible installation, mainly useful for package maintainers.
  (btrummer, 2004-07-26, thanks to Michael Sterrett for reporting)

* Added support for <destroy> objectives in the new game control engine.
  (btrummer, 2004-07-24)

* Fixed Debian bug #260583 (compile errors with g++-3.4).
  (btrummer, 2004-07-21, thanks to Andreas Jochens for reporting)

* Refactoring of the game control engine. All objectives of a level now
  have to be described via XML nodes. The currently supported objectives
  are <land> and <pickup>, resembling the former race and rescue game mode.
  See doc/levels.tex for details.
  (btrummer, 2004-07-17)

* Changed the XML-format of the level files: The <startposition> node now
  has to lie outside of the <gamecontrol> node.
  (btrummer, 2004-07-16)

* Prevent turrets and mortars from shooting themselves.
  Added test cases to assure this for all four orientations.
  (btrummer, 2004-07-14)


moagg-0.12:
~~~~~~~~~~~
* Added new graphics option to permanently use the full framerate.
  On fast machines you can enable this option for a smoother scrolling.
  (btrummer, 2004-07-03)

* Added prototype of a primitive commandline tool to change tile indices
  of particular layers of a map. When changing the content of the tiles.idx
  files, this tool will become very handy.
  (btrummer, 2004-07-03)

* Added grass tileset including houses and trees.
  Added some cloud tiles to the background category.
  (btrummer, 2004-07-02, thanks to Janek Kozicki)

* Fixed a signed/unsigned bug in File::readUint16(), preventing the loading
  of maps equal or bigger than 128 tiles in one direction.
  (btrummer, 2004-07-01)

* Added mission "Revan's claw", including three levels for now.
  (agranig, 2004-07-02, thanks to Fredrik Reveny)

* Added janek01 and janek02 levels to the frozen mission.
  (btrummer, 2004-07-01, thanks to Janek Kozicki)

* Merged the internals of RaceGame and RescueGame into GameControlBase.
  Within one game control engine, these two and future game types
  can be combined much easier.
  (btrummer, 2004-06-28)

* Introduced an ObjectRepository. Its purpose is to store all objects
  using an object id as key and to get objects via this object id.
  (btrummer, 2004-06-25)

* Added support for turret presets.
  (btrummer, 2004-06-21)


moagg-0.11:
~~~~~~~~~~~
* Added track03.mod to the in-game music tracks.
  (btrummer, 2004-06-18)

* Added new graphics for turrets/mortars and an apropriate XML property
  to the turret node to select one of the available graphics.
  (btrummer, 2004-06-16)

* Added a transparent tile set containing different colored tiles, that
  will be blitted half-transparent. An underwater tutorial level was added
  to show this graphical effect.
  (btrummer, 2004-06-15)

* Reduced the fixed main framerate to 72 fps. This was mainly done
  to reduce the CPU load on levels with many particle fountains.
  (btrummer, 2004-06-14)

* The fullscreen setting can now be changed via the options menu.
  It further will be stored in the player's configuration file.
  (btrummer, 2004-06-10)

* Reviewed the path handling in configure, the Makefiles and Configuration.cpp.
  Now, the ./configure options --prefix, --datadir, --bindir etc. are handled
  correctly. See the INSTALL file for details.
  (btrummer, 2004-06-10)

* Reviewed the lstat() handling in the Directory class. Now, a directory entry
  is only statted on demand to find out, if it is a file or directory.
  (btrummer, 2004-06-09)

* Added brick and clay background tiles to the background tile set. They
  will be drawn to the playground but are ignored in the collision handling.
  (btrummer, 2004-06-05)


moagg-0.10:
~~~~~~~~~~~
* Reviewed and extended the previously implemented local force fields.
  In addition to the position, dimension, gravity and friction, a drift
  velocity can be given, which drags the ship away dependend on the friction.
  (btrummer, 2004-06-04)

* The player's ship now is configurable via the "Options -> Player" menu.
  Further, some Federation and Klingon ship types from Star Trek were added.
  (btrummer, 2004-05-30)

* The friction of a playground now is divided into tiles, like the gravity.
  This might become useful for future enhancements.
  (btrummer, 2004-05-28)

* Added support for local force fields in levels.
  Added a tutorial level demonstrating these force fields.
  (btrummer, 2004-05-28)

* Simplified the screen-update state machine in PlayGroundMenu.
  This prevents full screen updates on every frame, when scrolling slowly,
  which leads to a relatively high CPU load on slow machines.
  (btrummer, 2004-05-24)


moagg-0.9:
~~~~~~~~~~
* Fix another cosmetical bug in the level preview, where displaying level n
  of a mission also lead to a loading of all previous n-1 levels.
  (btrummer, 2004-05-20)

* Fixed cosmetical bug in LevelSelectorMenu, where displaying the preview
  of the currently selected mission leads to a flickered preview of the
  n-1 missions that lie before the selected mission.
  (btrummer, 2004-05-20)

* Added basic support for parsing text data to the XMLParser.
  (btrummer, 2004-05-20)

* When a game is finished or aborted, move from the highscore back to the
  level selection menu instead of the main menu.
  (btrummer, 2004-05-16)

* Added mortars, that can shoot grenades, which then may explode to
  projectiles. Added a tutorial level to demonstrate the mortars.
  (btrummer, 2004-05-16)

* Don't quit on startup, if the sound system cannot be initalized.
  Continue the startup as if the commandline option '-s' was given.
  (btrummer, 2004-05-14)

* Implemented bonus and fuel crates, increasing the score / refilling the fuel
  when picked up. Added a tutorial level to demostrate these crates.
  (btrummer, 2004-05-09)


moagg-0.8:
~~~~~~~~~~
* Reviewed the level preview. Use a dynamic scale factor, so always the whole
  level is shown in the preview box. Further, wrong handicap and last played
  level entries in the config file are automatically fixed.
  (btrummer, 2004-04-06)

* Reviewed the Menu classes in libMoaggGui. They are derivated from PG_Widget
  now for two reasons: The Show() and Hide() functionality can be reused
  and the keyboard-event handling fix below now is solved via PG_Widget,
  which doesn't accept events, if not visible on the screen.
  (btrummer, 2004-04-04)

* Fixed a memory leak that occured, because GameControlBase::destroy() never
  was called. Now its init() method will call destroy() implicitly.
  The same fix was applied to the PlayGround class.
  (btrummer, 2004-04-03)

* For each mission, store the last played level in addition to the handicap
  in the player config.
  (btrummer, 2004-04-03)

* Added support for bonus score handling. Some tutorial and snakepit levels
  now have an initial bonus, which continuously decrements until the level
  is finished. The remaining bonus then is added to the score.
  (btrummer, 2004-04-03)

* Fixed a keyboard event-handling bug related to the IngameMenu and
  PlayGroundMenu due a misunderstanding of the paragui-internals.
  (btrummer, 2004-04-02)

* Added support for resuming a mission based on mission handicap.
  Also highscore tables are now written when user aborts a mission.
  (agranig, 2004-03-28)

* Added support for mission handicaps in the user's config.
  (btrummer, 2004-03-28)

* Added support to migrate old config files to the new format.
  This ought to be useful for the next release...
  (btrummer, 2004-03-28)

* Merged all CustomConfiguration classes into a better class framework.
  Further, the player, control and sound configuration now is stored
  in one XML-file, thus breaking the previous file format.
  (btrummer, 2004-03-27)


moagg-0.7:
~~~~~~~~~~
* Start with an empty highscore for all missions. The highscore tables
  in the scores.xml file will be created and filled on demand now.
  (btrummer, 2004-03-24)

* Highscores are now handled separately for each mission. If you're using
  a CVS version newer than 2004-03-20, remove ~/.moagg/score.xml because 
  this breaks the current highscore handling.
  (agranig, 2004-03-23)
  
* The current highscores can now be shown in the level selection menu.
  (btrummer, 2004-03-23)

* Implemented persistent sound configuration.
  (agranig, 2004-03-22)

* Implemented highscore table.
  (agranig, 2004-03-20)

* Replaced the libxml2 with libexpat, since paragui depends on it.
  Added an own XML class-structure, which can be used easily where needed
  (btrummer, 2004-03-20)

* Extended "make archive" to create three archives: one containing the source,
  one containing the data, and one containing the static binary.
  (btrummer, 2004-03-15)

* Added support to build a static binary of moagg using "make static".
  (agranig, btrummer, 2004-03-14)

* The ship now will explode, if it runs out of fuel.
  (btrummer, 2004-03-13)

* Added a new sound effect, if the ship lands on a platform
  or is bumped from it.
  (btrummer, 2004-03-13)

* Fixed some sloppy GUI bugs in statusbar and control menu. They now should
  be displayed correctly.
  (agranig, 2004-03-12)


moagg-0.6:
~~~~~~~~~~
* The JukeBox now always resets the current music volume after starting
  the playback of a mod-track. Otherwise, somehow a wrong volume is used.
  (btrummer, 2004-03-12)

* Added second in-game music track.
  (btrummer, 2004-03-11)

* Major re-design of the sound system. The Sound and music settings can
  be changed seperately. If moagg is started with the option '-s', the
  sound system will be disabled completely. It even cannot be enabled
  via the sound settings again.
  (btrummer, 2004-03-07)

* Added a title music track title.mod.
  (btrummer, 2004-02-29)

* Added more SFX samples and make use of them via the SoundInterface.
  (btrummer, 2004-02-28)

* Use a SoundInterface between libMoaggObjects and libMoaggSound.
  Introduced a SoundFactory, holding all wave files for the sound effects.
  (btrummer, 2004-02-27)


moagg-0.5:
~~~~~~~~~~
* Added framework for .mod music playback.
  (agranig, 2004-02-15)

* Added snakepit04 level.
  (btrummer, 2004-02-14)

* Added hitpoints XML-attribute to turrets and tanks.
  (btrummer, 2004-02-13)

* Finished the InitializeExplosionParticleConstVisitor.
  (btrummer, 2004-02-09)

* Reviewed the "make install" rule. See the INSTALL file for details.
  (btrummer, 2004-02-08)

* Replaced statusbar by a paragui-driven.
  (agranig, 2004-02-08)

* Added POSIX compliant way to check directory entries.
  (agranig, 2004-02-08)


moagg-0.4:
~~~~~~~~~~
* Added level tutorial10, introducing tanks with different shoot strategies.
  (btrummer, 2004-02-02)

* SAMBatteries can now be destroyed by a collision with a missile or a ship.
  (btrummer, 2004-02-01)

* The PlayGround now stores all particles in an own list 
  for a much better performance of the collision detection.
  (btrummer, 2004-01-31)

* Implemented a Tank decoration, which is able to move and shoot.
  Further, it can be destroyed by the player.
  (btrummer, 2004-01-27)

* Turrets can now be destroyed.
  (btrummer, 2004-01-25)

* Rewrote the whole PlayGround::update() handling based on visitors.
  (btrummer, 2004-01-24)

* Added "winter" tileset and started a "Neverending Winter" mission.
  (agranig, 2004-01-23)

* The particle color now can sweep through a white-yellow-red-black gradient.
  (btrummer, 2004-01-18)

* Turrets only shoot now, if the player's ship lies in visible range.
  (btrummer, 2004-01-17)

* Introduced a class-hierarchy for the Surface factories.
  (btrummer, 2004-01-17)


moagg-0.3:
~~~~~~~~~~
* The startposition tag of every level now can have a fuel attribute,
  containing the initial fuel capacity of the ship in seconds of thrust.
  (btrummer, 2004-01-13)

* All score increment values are now gathered in the new ScoreTable class.
  (btrummer, 2004-01-13)

* Added sound and control configuration menus.
  Introduced some command line options (start Moagg with 
  the "-h" option for more information).
  (agranig, 2004-01-13)

* Added basic sound support (requires SDL_mixer) and suppressed
  continuous firing.
  (agranig, 2004-01-12)

* Missiles now have a warhead option, useable by the SAMBattery:
  - normal: The missile will fly, until it hits something.
  - coneburst: The missile will explode near the player's ship
               and fire off multiple projectiles inside an angle of 90.
  - starburst: Same as coneburst, but the projectiles will be fired off
               in all directions.
  (btrummer, 2004-01-11)

* Introduced skeletons for ingame and highscore menus.
  (agranig, 2004-01-11)

* Eliminated SinglePlayerDriver and moved code to PlayGroundMenu.
  Frames now are triggered by SDL events. So GUI and game are
  better merged, which simplifies ingame menus.
  (agranig, 2004-01-11)


moagg-0.2:
~~~~~~~~~~
* Every class derivated from ObjectBase now uses its m_surface member,
  taken from the apropriate surface container class.
  Objects former composed of multiple surfaces (e.g. Magnets) now use a
  factory method of their surface container to get the composed surface.
  (btrummer, 2003-12-23)

* Added "Slash's Snakepit" mission with a first level. By the time,
  this mission will be extended with further extra-hard levels from me.
  (btrummer, 2003-12-23)

* Crates in an XML level-file must now be declared in the playground node
  rather than in the gamecontrol node.
  This is, because crates are now handled as decoration objects internally.
  (btrummer, 2003-12-23)

* Added a visitor framework for all objects.
  (btrummer, 2003-12-22)

* Introduced a base class for moving decoration objects.
  Added a Grinder decoration, which is the first decoration derivated from it.
  Added level tutorial09, introducing the Grinder.
  (btrummer, 2003-12-21)

* Split up libMoaggCore into the libraries libMoaggCore, libMoaggObjects
  and libMoaggGame. This forces cleaner interfaces between these modules.
  (btrummer, 2003-12-20)

* Added 'clay' tileset.
  (btrummer, 2003-12-19)

* Restructuring of the 'levels' directory.
  Each mission now has its own subdirectory.
  (btrummer, 2003-12-14)

* Refactoring of the Directory class.
  (btrummer, 2003-12-13)

* Added player customization, which breaks ~/.moagg/.
  So delete it before first startup.
  (agranig, 2003-12-11)

* Missiles can now be destroyed by shooting at them.
  (btrummer, 2003-12-09)


moagg-0.1:
~~~~~~~~~~
* This is the first official release.
