changelog
============================================================================

2007-12-15 0.5.0
- implemented locales. (almost) every text can be translated to other
  languages (game messages, error messages, dialogs, names of items and
  characters). this makes creating dialogs a little bit more complex, but I
  hope it's worth the effort
- implemented toggle delay also for fullscreen toggling. otherwise faster
  computers would switch more than once on a single key press
- quit dialog: any other key than ESC resumes game

2007-10-28 0.4.5
- improved quest system. available player dialogs may depend on completed
  quests
- quadratic font maps. this saves about 94% of texture memory for each font
  map, because we had to resize them to power of two dimensions
- special objects can be marked as non passable with the solid keyword
- event system to trigger special events like teleporting the player,
  changing the map through a dialog or changing the player image
- theme support for maps. no more butterflies in the desert :/
- switch to cmake for makefile generation
- don't load footprints texture if footprints = 0 is set
- start coordinates for world and player editable through config file
- several code improvements

2007-08-10 0.4.4
- the "damn the machine" release
- implemented skill level. visibility of characters, items and objects
  depends now on player progress
- characters may give items to player or take them away
- improvements get randomly (horizontally) mirrored on level load
- moved improvements code from world.cpp to own file world_improvments.cpp
- more flexible parser of map items, characters and objects
- fixed bug in font drawing where fontmaps with different character widths
  weren't drawn properly
- added additional larger font used to inform player about special events
- fonts use antialiasing
- added delay between toggling of auto pickup / auto talk and graphical
  messages to show the current state of them
- game no longer refuses to start if there is no audio device
- sound can be disabled via config
- added shadows to player, characters, items and improvements
- several small code reworks

2007-07-30 0.4.3
- the "no silly name this time" release
- disabled auto pickup of items and auto talks to characters by default, can
  be toggled ingame and through the config file
- almost every key is now configurable through the config file
- some minor tweaks

2007-03-30 0.4.2
- the "all hail to Rock'n'Rolf" release
- more flexible dialog system implementation. you can declare multiple items
  required or forbidden for a specific dialog message to appear
- implemented object system where you can put simple objects (just images)
  on the map
- added some quests for testing purposes
- thanks to Emat0r's magnificent ideas, we now have a quit dialog

2007-03-23 0.4.1
- item dependend dialog system. dialogs appear whether you picked up a
  specified item or not (needs further improvements)
- message system added. player is informed about picked up items, talks to
  characters and level changes
- support for alpha channel images. now we can handle images with real
  transparency (e.g. with PNG)
- some minor code enhancements

2007-03-11 0.4.0
- the "with lots of cool bonus stuff for people who like cool bonus stuff"
  release
- implemented simple item system
- fixed memory leaks (forgot to delete special character texture on level
  change and accidently loaded new texture every dialog call). now this
  program should finally be free of any memory leaks. wheee.
- several code cleanups/reworks
- icon for windows executable

2007-03-02 0.3.9.1
- the "nothing new for you" release
- converted code indention from tab to 4 spaces

2007-03-01 0.3.9
- the "new year, new feature" release
- dialogs have sound

2006-09-22 0.3.8
- the "free as an eagle" release
- added random occurring events (at the moment flying butterflies/birds)
- skipping to last dialog choice possible
- changed key mapping for quitting dialog choice
- reduced player speed
- map file names now have ".txt" ending
- new forest texture

2006-09-08 0.3.7
- switching between window and fullscreen now also under MS Windows possible
- copy of GPL gets shipped with source code tarball
- added copyright notice to source files
- each level has now it's own title
- keypress during dialog skips to next message
- dialogs can be left at any time
- ship README
- some changes to the code layout
- additional font config options

2006-09-04 0.3.6
- now all texture sizes get converted to power of two. strangely drawing
  nonpower of two textures didn't create any problems unter GNU/Linux, and
  MS Windows with very old detonator graphics drivers (= my test box)
- clear screen and depth buffer on startup
- some changes to the code layout
- new character and new map
- rescaled some textures to power of two sizes

2006-09-02 0.3.5
- now we mostly use OpenGL for drawing, thus allowing real hardware
  acceleration
- player now produces silly footprints
- dialog system: - added minimum message delay additionally to message delay
                   per character
                 - delays now editable through config file
- new character

2006-07-24 0.3.4
- the "beware of the litchen" release
- forgot to use config values in World::improve_terrain()
- improvements aren't drawn above each other any more
- changed resolution from 800x600 to 1024x768
- thus, increased texture size (tex_size) from 40 to 64 pixels
- thus, decreased level width from 20 to 16 and level height from 15 to 12
  tiles
- thus, created new textures from scratch and reworked some old ones
- minor code improvements
- additional config options

2006-07-17 0.3.3
- added config (config.cfg), most values are now editable through this file
- added additional checks to prevent crashes

2006-07-13 0.3.2
- implemented dialog choices

2006-07-10 0.3.1
- improved dialog system
 - added background box
 - messages handled by deque, dialog shows only last 5 messages
- some minor graphics improvements, new title logo and new gui panel
- fixed bad memory leak (~+4MB per level change),
  existed probably since v0.2.6

2006-07-08 0.3
- the "this project is not dead" release
- game now exitable inside intro screen
- intro screen does not use full CPU anymore
- (very) simple dialog system
- fixed typo in collision detection, should now be accurate
- special characters are not passable anymore (due to dialog system),
  unfortunately collision detection of these characters is really bad

2006-03-18 0.2.8
- now we use SDL_image, thus we can also load other image formats than BMP
- improvements are now drawn on 2x2 field with at least three same textures
  (not four, as in the past)

2006-03-17 0.2.7
- fixed bug #0003 (see http://www.choerbaert.org/wiki/bert:bugs)

2006-03-16 0.2.6
- increased compatibility by using SDL_ANYFORMAT on video surface
- smooth texture transition by drawing single pixels around the border
  (through direct pixel access)
- fixed bugs #0001 and #0002 (see http://www.choerbaert.org/wiki/bert:bugs)
- modified passable check to recognize new fence identifier

2006-02-19 0.2.5
- now we use SDL_GetKeyState instead of SDL events, which are simpler and
  make the code easier redable
- improvements and special characters are now drawn above player if player
  is behind (north of) these objects
- terrain textures are now drawn randomly if there are more than one (see
  tex_grass.bmp and tex_forest.bmp for examples)

2006-02-10 0.2.4
- fixed logical error (or maybe typo?) in calculation of framerate
- special characters are now animated
- improvements are now animated
- increased number of animation frames from three to four
- fixed memory leak in LoadBitmap() (exists since last version)
- reduced texture loadings through storing surfaces of textures and
  improvements rather than source of the texture
- changed FPS from 30 to 20 and APS from 5 to 3

2006-01-20 0.2.3
- now LoadBitmap() converts surface to the pixel format and colors of the
  video framebuffer, thus enabling faster blitting, which results in a
  significantly reduced cpu usage
- replaced SDL_UpdateRect() by SDL_Flip in Intro() (forgotten in 0.2.1)
- added window title
- pressing 'f' now toggles fullscreen ingame

2006-01-15 0.2.2
- made source code doxygen friendly and include Doxyfile (configuration file
  for doxygen)
- note: this release doesn't include any game play relevant changes, thus it
  is only attractive to developers

2006-01-13 0.2.1
- srand was called several times (after Intro() and on each level load),
  removed the latter 
- implemented fixed number of frames per second (later, it may be possible
  to set FPS through config file), but i have doubts that this isn't really
  working as wanted
- thus, we could also significantly reduce cpu usage
- adjustable animations per second (maybe later also through config file),
  because this depends on the FPS-code, it may also be buggy
- fixed logical error in Player::draw() whereby the wrong (opposite) level
  was loaded when moving to the north/south, therefore we ship also an
  additional map to have an example of vertical level changes
- additional code comments
- reworked movement system: now supports moving diagonal, additionally
  all hangs should be eliminated
- now we use double buffering if the graphics card supports it
- made code fit on terminals with 80 columns
- print errors to stderr instead of stdout
- commented out all debug messages since they aren't interesting for non-
  developers
- included SDL/SDL.h instead of SDL.h for compatibility reasons
- maybe i should have made this to 0.2, damn versioning system :)

2006-01-07 0.2
- now you can place so called "special characters" on each map (currently
  they have no role), see example in maps/world5050
- World::draw() reworked, path now needs to be passed as first argument
  instead of the tile, allows more flexibility
- minor code improvements
- additional code comments
- print more debug messages

2005-04-09 0.1.2
- terrain will now be improved by searching for 2x2 fields with the same
  texture and placing an "improvement texture" in the center of them
- old textures replaced by more realistic textures (maybe you can choose
  between realistic and comic-style textures in the future)
- every class has now it's own header- and implementation-file

2005-03-28 0.1.1
- smoother movement, player now moves only 1 field instead of 40 if a cursor
  is pressed
- easier movement, now you can leave the cursor pressed to move the player
- collision detection, player can't move on fields which tileset identifier
  is uppercase (collision detection is a little bit buggy at the moment)
- bitmap fonts
- fixed very bad memory leak (level background wasn't freed when new
  background was loaded)
- very simple gui-panel
