rnd-20100202-1-src
[rocksndiamonds.git] / ChangeLog
index 9602a817a8ef54eaf3bcb9f2026260176798ca35..babc5be443f3664e70a1dccf5da222c972dee12a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2010-02-02
+       * added small kludge that allows transparent pushing animation over
+         non-black background
+       * added editor flag to Sokoban field/object elements to automatically
+         finish solved Sokoban style levels (even if they contain non-Sokoban
+         elements, which prevents auto-enabling this feature for such levels)
+
+2010-01-10
+       * added new element "from_level_template" which is replaced by element
+         from level template at same playfield position when loaded (currently
+         not accessible from level editor, but only used for special Sokoban
+         level conversion when using "special_flags: load_xsb_to_ces")
+       * added special behaviour for "special_flags: load_xsb_to_ces": global
+         settings of individual level files are overwritten by template level
+         (except playfield size, level name, level author and template flag)
+
+2010-01-07
+       * added handling of gravity ports when converting Supaplex style R'n'D
+         levels to native Supaplex levels for playing with Supaplex engine
+
+2010-01-06
+       * fixed bug in Supaplex engine regarding initial screen scroll position
+
+2009-12-17
+       * fixed EMC style pushing animations in the R'n'D graphics engine (when
+         using ".2nd_movement_tile" for animations having start and end tile)
+       * for this to work (look) properly for two-tile pushing animations with
+         non-black (i.e. opaque) background, the pushing graphics drawing order
+         was changed to first draw the pushed element, then the player (maybe
+         this should be controlled by an ".anim_mode" flag yet to be added)
+       * two-tile animations for moving or pushing should have 7 frames for
+         normal speed, 15 frames for half speed etc. to display correct frames
+       * two-tile animations are also displayed correctly with different speed
+         settings for the player (for pushing animations) or moving elements
+
+2009-12-16
+       * added searching for template level (file "template.level") not only
+         inside the level set directory, but also in above level directories;
+         this makes is possible to use the same single template level file
+         (placed in a level group directory) for many level sub-directories
+
+2009-12-10
+       * fixed bug with steel exit being destructible during opening phase
+       * added token "special_flags" to "levelinfo.conf" (currently with the
+         only recognized value "load_xsb_to_ces", doing the same as the flag
+         "-Dload_xsb_to_ces" on the command line, but as a permanent flag for
+         converting all elements in native (XSB) Sokoban level files to CEs)
+
+2009-12-08
+       * fixed some problems with Supaplex engine when compiling for Windows
+
+2009-12-05
+       * added special mode to convert elements of Sokoban XSB levels to CEs
+         by adding "-Dload_xsb_to_ces" to the command line starting the game
+         (also adding a dependency to a template level file "template.level")
+
+2009-12-01
+       * added reading native Sokoban levels and level packages (XSB files)
+
+2009-11-25
+       * fixed bugs in (auto)scrolling behaviour when passing ports or when
+         wrapping around the playfield through "holes" in the playfield border
+
+2009-11-24
+       * changed internal playfield bitmap handling from playfield sized bitmap
+         to screen sized bitmap (visible scrolling area), therefore speeding up
+         graphics operations (by eliminating bitmap updates in invisible areas)
+         and removing playfield size limitations due to increasing bitmap size
+         for larger playfield sizes (while the new implementation always uses
+         a fixed playfield bitmap size for arbitrary internal playfield sizes)
+
+2009-11-12
+       * fixed bug with single step mode (there were some cases where the game
+         did not automatically return to pause mode, e.g. when trying to push
+         things that cannot be pushed or when trying to run against a wall)
+
+2009-11-01
+       * added support for loading Supaplex levels in MPX level file format
+
+2009-10-31
+       * fixed SP engine to set "game over" not before lead out counter done
+
+2009-10-30
+       * fixed (potential) compile error when using GCC option "-std=gnu99"
+         (thanks to Tom "spot" Callaway)
+
+2009-10-28
+       * fixed array allocation in native Supaplex engine to correctly handle
+         preceding scratch buffers (needed because of missing border checking)
+       * fixed playfield initialization to correctly add raw header bytes as
+         subsequent scratch buffer (needed because of missing border checking)
+
+2009-10-24
+       * most important parts of native Supaplex engine integration working:
+         - native Supaplex levels can be played in native Supaplex engine
+         - native Supaplex level/demo files ("*.sp" files) can be re-played
+         - all 111 classic original Supaplex levels automatically solvable
+         - native Supaplex engine can be selected and used from level editor
+         - logic of re-playing Supaplex demos migrated to R'n'D tape logic
+
+2009-09-25
+       * fixed another translation problem from VisualBasic to C (where "int"
+         should be "short") causing unsolvable demos with bugs and terminals
+         ("bugs" being related to the Supaplex "buggy base" element here ;-) )
+
+2009-09-23
+       * fixed bug when reading Supaplex single level files (preventing loader
+         from seeking to level position like in Supaplex level package files)
+
+2009-08-01
+       * first classic Supaplex level running and solved by solution/demo tape
+
+2009-06-20
+       * started with integration of native Supaplex engine, using source code
+         of Megaplex from Frank Schindler, based on original Supaplex engine
+
+2009-06-16
+       * version number set to 3.2.6.2
+
+2009-06-15
+       * version 3.2.6.1 released
+
+2009-05-31
+       * fixed bug with element_info[e].gfx_element not being initialized in
+         early game stage, causing native graphics in EMC level sets to be
+         mapped completely to EL_EMPTY (causing a blank screen when playing)
+         (this only happened when starting the program with an EMC set with
+         native graphics, but not when switching to such a set at runtime)
+
+2009-03-30
+       * deactivated blit-to-same-surface workaround again (see 2009-03-24)
+         and using self-compiled, patched SDL.dll that solves this problem
+         (interim solution until release of SDL 1.2.14 that should fix this)
+
+2009-03-26
+       * extended backwards compatibility mode to allow already fixed bug with
+         change actions (see "2008-02-05") for existing levels (especially the
+         Zelda and Zelda II levels and other cool stuff by Alan Bond like FMV)
+
+2009-03-24
+       * reactivated workaround to prevent program crashes due to blitting to
+         the same SDL surface that apparently only occurs on Windows systems
+         (this is no final solution; this problem needs further investigation)
+
+2008-11-05
+       * version number set to 3.2.6.1
+
+2008-11-04
+       * version 3.2.6.0 released
+
+2008-10-11
+       * fixed behaviour of player option "no centering when relocating" which
+         was incorrect when disabled and relocation target inside visible area
+         and "no scrolling when relocating" enabled at the same time
+
+2008-10-06
+       * fixed problems with re-mapping players on playfield to input devices:
+         previously, players found on the level playfield were changed to the
+         players connected to input devices (for example, player 3 in the level
+         was changed to player 1 (using artwork of player 3, to be able to use
+         a player with a different color)); this had the disadvantage that CE
+         conditions using player elements did not work (because the players in
+         the level definition are different to those effectively used in-game);
+         the new system uses the same player elements as defined in the level
+         playfield and re-maps the input devices of connected players to the
+         corresponding player elements when playing the level (in the above
+         example, player 3 now really exists in the game and is moved using the
+         events from input device 1); level tapes still store the events from
+         input devices 1 to 4, which are then re-mapped to players accordingly
+         when re-playing the tape (just as it is done when playing the level)
+
+2008-09-29
+       * fixed bug with player relocation while the player switches an element
+
+2008-09-24
+       * fixed bug with EM/DC style exit and EM/DC style steel exit which was
+         not walkable (and did not let the player enter) when in process of
+         opening, but not fully open yet (which can cause the player not being
+         able to enter the exit in EM/DC style levels in time)
+
+2008-08-02
+       * fixed some bugs regarding the new level/CE random seed reset options
+
+2008-07-14
+       * moved "level settings" and "editor settings" to two tabbed screens in
+         level editor to gain space for additional level property settings
+       * added level setting to start a level with always the same random seed
+       * added CE action "set random seed" to re-initialize random seed in game
+         (this is the only CE action that gets executed before the CE changes,
+         which is needed to use the newly set random seed during the CE change)
+
+2008-06-16
+       * fixed redraw problem of special editor door when playing from editor
+
+2008-06-16
+       * fixed initialization of gfx_element for level sketch image creation
+
+2008-06-15
+       * added switch for EM style dynamite "[ ] explodes with chain reaction"
+         (with default set to "on" for existing levels, but "off" for all new
+         levels), as EM style dynamite does not chain-explode in original EM
+
+2008-02-05
+       * added optional initial inventory for players (pre-collected elements)
+       * added change page actions "set player inventory" and "set CE artwork"
+       * added recognition of "player" parameter on change pages when player
+         actions are defined, but no trigger player in corresponding condition
+         (this resulted in actions that only affected the first player before)
+       * fixed bug with change actions being executed for newly created custom
+         elements resulting from custom element changes, when the intention was
+         only to check for change actions for the previous custom element
+
+2008-02-03
+       * changed design and size of element drawing area in level editor
+       * added "element used as action parameter" to element change actions
+
+2008-01-27
+       * added possibility to reanimate player immediately after his death
+         (for example, by "change to <player> when explosion of <player>")
+
+2008-01-25
+       * fixed bug with "gray" white door not being uncovered by magnifier
+       * added score for collecting (any) key to the white key config page
+
+2008-01-22
+       * added condition "deadly when <getting hit by>" for custom elements
+         that behaves a bit like the existing "deadly when <colliding with>",
+         but with the following differences:
+         - it only kills players or friends when it was moving before it hits
+         - it does not kill players or friends that try to run into it
+
+2008-01-21
+       * fixed the following change conditions where a player element is used
+         as the "element that is triggering the custom element change":
+         - touching <element>
+         - hitting <element>
+         - explosion of <element>
+         - move of <element>
+         (the last two conditions already worked partially, but only for the
+         first player, and not for the "Murphy" player when using "move of")
+
+2008-01-20
+       * fixed crash bug caused by accessing invalid element (with value -1)
+         in UpdateGameControlValues()
+       * fixed graphical bug when using two-tile movement animations with EMC
+         game engine without explicitly using native EMC graphics engine
+
+2007-10-31
+       * fixed bug in new "can dig" feature (see below) so that an unsuccessful
+         try to push something (due to push delay) does not cause a dig action
+
+2007-10-29
+       * fixed bug with reference elements used as trigger elements on custom
+         element change pages not being recognized
+       * fixed bug with reference elements not being removed from the playfield
+       * added engine functionality that allows custom elements that "can dig"
+         other elements not only to do so when moving by themselves, but also
+         when being pushed by the player (therefore adding the functionality to
+         push one element over another element, replacing it with the new one)
+
+2007-10-23
+       * added command line function to write level sketch images to directory
+
+2007-10-20
+       * merged override and auto-override options into new override options
+         with a new data type than can take the values "no", "yes" and "auto"
+
+2007-10-18
+       * fixed growing steel wall to also leave behind steel wall instead of
+         normal, destructible wall
+       * fixed handling of rocks falling through stacks of quicksand with
+         different speed (before, the rocks just got stuck in the quicksand)
+
+2007-10-09
+       * fixed nasty bug with auto-override and normal override not working on
+         program startup (especially when current level set has custom artwork)
+
+2007-10-05
+       * version 3.2.5 released as special edition "R'n'D jue"
+
+2007-10-05
+       * fixed X11 crash bug when blitting masked title screens over background
+
+2007-10-04
+       * changed build system to support special editions (like "R'n'D jue")
+       * added (hardcoded) loading graphics for "R'n'D jue" special edition
+       * fixed X11 crash bug when scaling images with width/height less than 32
+
+2007-09-27
+       * added "background.PLAYING" (only visible as two-pixel border in game)
+       * added default level set for first start of special R'n'D version
+       * changed door animations for editor always behaving like "quick doors"
+
+2007-09-26
+       * added new custom artwork setup option "auto-override non-CE sets" for
+         automatic artwork override that is only used for level sets without
+         custom element artwork (as it does not make much sense to override
+         any artwork that redefines custom element artwork for sets using CEs)
+       * fixed default artwork for "special" R'n'D versions always using the
+         "classic" artwork as the base if base artwork is not explicitly
+         defined in "levelinfo.conf", regardless of different default artwork
+         used by the special R'n'D version -- this is needed because any such
+         custom artwork is designed using the "classic" artwork definitions as
+         the base (including menu definitions and screen positions etc., which
+         would otherwise be taken from the different special default artwork)
+
+2007-09-17
+       * fixed drawing of animated "quicksand.filling" and "quicksand.emptying"
+         for both EMC and R'n'D graphics engine (heavy workarounds needed due
+         to massively broken handling of quicksand in R'n'D game engine)
+       * fixed off-limits access to array in DrawLevelFieldCrumbledSandExt()
+       * fixed crash bug (hopefully) when scrolling with cursor keys in editor
+
+2007-09-16
+       * fixed small bug in toon drawing (introduced when fixing the crash bug)
+
+2007-09-15
+       * added graphics definition "game.panel.highscore" to display the
+         current levels current high score in the game panel
+
+2007-09-13
+       * version number set to 3.2.5
+
+2007-09-13
+       * version 3.2.4 released
+
+2007-09-13
+       * fixed crash bug in toon drawing functions for large step offset values
+
+2007-09-12
+       * fixed some problems with displaying game panel when quick-loading tape
+
+2007-09-07
+       * fixed (experimental only) redrawing of every tile per frame (even if
+         unneeded) for the extended (R'n'D based) EMC graphics engine
+       * added optimization to only calculate element count for panel display
+         if really needed (that is, if element count values defined on panel)
+       * fixed problem with special editor door redraw when entering main menu
+
+2007-09-03
+       * fixed bug with displaying background for title messages on info screen
+       * some code cleanup for the extended (R'n'D based) EMC graphics engine
+
+2007-09-01
+       * fixed bug with CE action "move player" always resulting in player 4
+         if there was a CE action with no trigger player (because the player
+         element was calculated by using log_2() from trigger player bits with
+         the value PLAYER_BITS_ANY) -- this is now fixed by also storing the
+         triggering player bit mask and handling all players in "move player"
+       * fixed bug when defined artwork cannot be found for artwork that has
+         default artwork cloned from other artwork (without default filename)
+       * added several fixes to the extended (R'n'D based) EMC graphics engine
+
+2007-08-26
+       * fixed broken editor copy and paste for custom elements between levels
+
+2007-08-25
+       * title messages are now also searched in graphics artwork directory;
+         those found in graphics directory have precendence over those found
+         in level directory -- this handles title messages stored in graphics
+         directories as part of the artwork set, just like title images; this
+         makes sense, as corresponding special font definitions for messages
+         are usually defined in the same graphics artwork directory, and also
+         because title images and title messages that are combined in a level
+         set introduction should usually not be separated when the level set
+         is used with a different artwork set (e.g. using "override graphics")
+       * fixed problem with door borders on main screen by first drawing doors
+         and then the corresponding border masks, but not vice versa
+       * fixed problem with artwork config entries using the value "[DEFAULT]";
+         this does not what one might expect, but sets the value to an invalid
+         value -- solution: simply ignore such entries, which results in this
+         value keeping its previous (real) default value (in general, entries
+         that should use their default value should just not be defined here)
+       * fixed problem with wrong fading area size from main menu to setup menu
+
+2007-08-22
+       * fixed problem with broken crumbled graphics after level set changes
+         when using R'n'D custom artwork with level sets using the EMC engine
+
+2007-05-07
+       * fixed invisible "joysticks deactivated ..." text on setup input screen
+
+2007-04-27
+       * added use of hashes created from static lists (element tokens, image
+         config, font tokens) to speed up lookup of configuration parameters
+       * fixed bug where element and graphic config token lookup was mixed up
+
+2007-04-26
+       * added "busy" animation when initializing program and loading artwork
+       * added initialization profiling for program startup (debugging only)
+
+2007-04-25
+       * fixed(?) very strange bug apparently triggered by memset() when code
+         was cross-compiled with MinGW cross-compiler for Windows XP platform
+         (this only happened when using SDL.dll also self-compiled with MinGW)
+
+2007-04-19
+       * added graphics engine directive "border.draw_masked_when_fading" that
+         enables/disables drawing of border mask over screen that is just faded
+
+2007-04-18
+       * fixed small problem with separate fading definition for game screen
+
+2007-04-14
+       * added additional configuration directives for setup screen draw offset
+         menu.draw_xoffset.SETUP[XXX] and menu.draw_yoffset.SETUP[XXX] with XXX
+         in GAME, EDITOR, GRAPHICS, SOUND, ARTWORK, INPUT, SHORTCUTS_1,
+         SHORTCUTS_2, CHOOSE_ARTWORK, CHOOSE_OTHER (where "CHOOSE_ARTWORK" is
+         used to define draw offset on custom artwork selection screens and
+         "CHOOSE_OTHER" is used on all other list style selection screens, like
+         choosing game speed or screen mode for fullscreen mode)
+       * added additional configuration directives to define main menu buttons:
+         - menu.button_name    and menu.button_name.active
+         - menu.button_levels  and menu.button_levels.active
+         - menu.button_scores  and menu.button_scores.active
+         - menu.button_editor  and menu.button_editor.active
+         - menu.button_info    and menu.button_info.active
+         - menu.button_game    and menu.button_game.active
+         - menu.button_setup   and menu.button_setup.active
+         - menu.button_quit    and menu.button_quit.active
+       * added eight pure decoration graphic definitions for the game panel
+
+2007-04-08
+       * added support for accessing native Diamond Caves II level packages
+       * fixed displaying of game panel values for Emerald Mine game engine
+       * fixed displaying end-of-level time and score values on new game panel
+
+2007-04-07
+       * added game panel control to display arbitrary elements on game panel
+       * added game panel control to display custom element score (globally
+         unique for identical custom elements) either as value or as element
+       * added ".draw_masked" and ".draw_order" to game panel control drawing
+
+2007-04-05
+       * fixed some general bugs with handling of ".active" elements and fonts
+
+2007-04-04
+       * cleanup of game panel elements (some elements were not really needed)
+       * added displaying of gravity state (on/off) as new game panel control
+       * added animation for game panel elements (similar to game elements)
+
+2007-04-03
+       * added new pseudo game mode "PANEL" to define panel fonts and graphics
+         - panel fonts now use ".PANEL" suffix instead of ".PLAYING" suffix
+         - panel graphics now use ".PANEL" suffix instead of ".DOOR" suffix
+         (else graphics would have to use ".PLAYING", which would be confusing)
+       * fixed bug when fading out to game screen with border mask defined
+
+2007-04-02
+       * added attribute ".tile_size" for element style game panel controls
+
+2007-04-01
+       * added <space> key as additional valid key to use for confirm requester
+
+2007-03-31
+       * improved menu fading, adding separate fading definitions for entering
+         and leaving a "content" screen (in general), and optional definitions
+         for the special "content" screens SCORES, EDITOR, INFO and PLAYING
+
+2007-03-30
+       * added (currently invisible) setup option to define scroll delay value
+       * fixed small bug in priority handling when auto-detecting level start
+         position in levels without player element (but player from CE etc.)
+       * added option "game.forced_scroll_delay_value" to override user choice
+         of scroll delay value for certain level sets with "graphicsinfo.conf"
+       * replaced setup option "scroll delay: on/off" by new setup option that
+         directly allows selecting the desired scroll delay value from 0 to 8
+
+2007-03-28
+       * added displaying of most game panel control elements (not animated)
+
+2007-03-26
+       * added new configuration directives to display additional game engine
+         values on the game control panel, like the following examples:
+         - game.panel.time_hh/time_mm/time_ss  - level time in HH/MM/SS format
+         - game.panel.penguins                 - number of penguins to rescue
+         - game.panel.level_name               - level name of current level
+
+2007-03-24
+       * added support for preview tile sizes "1" and "2" (1x1 and 2x2 pixels)
+
+2007-03-23
+       * added new player option "no centering when relocating" for "invisible"
+         teleportations to level areas that look exactly the same, giving the
+         illusion that the player did not relocate at all (this was the default
+         since 3.2.3, but caused visual problems with room creation in "Zelda")
+       * added new menu fading effect "melt", shamelessly stolen from "DOOM"
+
+2007-03-21
+       * improved menu fading, adding separate fading definitions for entering
+         and leaving a menu and for fading between menu and "content" screens
+       * fixed small bug with recognizing also ".font_xyz" style definitions
+
+2007-03-20
+       * improved menu fading, adding separate fading definitions for fading
+         between menu screens and fading between menu and "destination" screens
+
+2007-03-19
+       * titlemessage_initial_x and titlemessage_x set to "[DEFAULT]" in static
+         configuration (set from "[titlemessage_initial]" and "[titlemessage]")
+       * fading settings of "[titlemessage_initial]" and "[titlemessage]" set
+         to "[DEFAULT]" in static configuration (set from "[title_initial]" and
+         "[title]")
+       * improved title fading, allowing fading animation types "none", "fade"
+         and "crossfade" (including cross-fading of last title to main menu)
+
+2007-03-18
+       * added configurability of graphics, sounds and music for title screens,
+         which are separated into initial title screens (only shown once at
+         program startup) and title screens shown for a given level set; these
+         title screens can be composed of up to five title images and up to
+         five title text messages (each drawn using an optional background
+         image), also using background music and/or sounds; aspects like
+         background images, sounds and music of title screens can either be
+         defined generally (valid for all title screens) or specifically (and
+         therefore differently for each title screen) using these directives:
+
+         to define a background image, sound or music file for all screens:
+         - background.TITLE_INITIAL (for all title screens for game startup)
+         - background.TITLE         (for all title screens for level sets)
+
+         to define a background image, sound or music file for a single screen:
+         - background.titlescreen_initial_x  (with x in 1,2,3,4,5)
+         - background.titlescreen_x          (with x in 1,2,3,4,5)
+         - background.titlemessage_initial_x (with x in 1,2,3,4,5)
+         - background.titlemessage_x         (with x in 1,2,3,4,5)
+
+         to define the title screen images:
+         - titlescreen_initial_x             (with x in 1,2,3,4,5)
+         - titlescreen_x                     (with x in 1,2,3,4,5)
+
+         to define the title text messages, place text files into the level set
+         directory that have the following file names:
+         - titlemessage_initial_x.txt        (with x in 1,2,3,4,5)
+         - titlemessage_x.txt                (with x in 1,2,3,4,5)
+
+         to define the properties of the text messages, either use directives
+         that affect all text messages:
+         - [titlemessage_initial].<suffix>
+         - [titlemessage].<suffix>
+         or use directives that affect single text messages:
+         - titlemessage_initial_x.<suffix>   (with x in 1,2,3,4,5)
+         - titlemessage_x.<suffix>           (with x in 1,2,3,4,5)
+
+         valid values for <suffix> are the same as for readme.<suffix> below;
+         use ".sort_priority" (default: 0) to define an arbitrary order for
+         title images and title messages (which can therefore be mixed)
+
+2007-03-14
+       * added full configurability of "readme.txt" screen appearance:
+         - readme.x:              <left position used with alignment>
+         - readme.y:              <top position>
+         - readme.width:          <maximim text width in pixels>
+         - readme.height:         <maximum text height in pixels>
+         - readme.chars:          <maximum number of chars per line>
+         - readme.lines:          <maximum number of lines displayed>
+         - readme.align:          left,center,right (default: center)
+         - readme.top:            top,middle,bottom (default: top)
+         - readme.font:           font name
+         - readme.autowrap:       true,false (default: true)
+         - readme.centered:       true,false (default: false)
+         - readme.parse_comments: true,false (default: true)
+         - readme.sort_priority:  (not used here, but only for title screens)
+         when "readme.chars" and/or "readme.lines" is set to "-1" (this is the
+         default), they are automatically determined from "readme.width" and
+         "readme.height" accordingly; when they are not "-1", they have
+         precedence over "readme.width" and "readme.height"
+       * added internal ad-hoc config settings for displaying text files like
+         title messages or "readme.txt" style level set info files:
+         - .font:           font name  (default: readme.font)
+         - .autowrap:       true,false (default: readme.autowrap)
+         - .centered:       true,false (default: readme.centered)
+         - .parse_comments: true,false (default: readme.parse_comments)
+         (the leading '.' and the separating ':' are mandatory here); to use
+         these ad-hoc settings, they have to be written inside a comment, like
+         "# .autowrap: false" or "# .centered: true"; these settings then
+         override the above global settings (they can even be used more than
+         once, like "# .centered: true", then some text that should be drawn
+         centered, then "# .centered: false" to go back to non-centered text;
+         important note: after using "# .parse_comments: false", or when using
+         "readme.parse_comments: false", detecting and parsing comments inside
+         the file is disabled and comments are just printed like normal text;
+         also be aware that all automatic text size calculations are done with
+         the font defined in "readme.font", while using different fonts using
+         "# .font: <font>" inside the text file may cause unexpected results
+
+2007-03-08
+       * changed some numerical limits in the level editor from 255 to 999
+
+2007-03-07
+       * added option "system.sdl_videodriver" to select SDL video driver
+       * added output of SDL video and audio driver to "version info" page
+
+2007-03-06
+       * added group element drawing to IntelliDraw drawing functions
+       * fixed animation resetting problem again (last try broke Snake Bite)
+       * fixed diagonal scrolling in screen scrolling (last try broke Pac Man)
+
+2007-03-01
+       * added new (special) "include: <filename>" directive that works in all
+         configuration files (like "graphicsinfo.conf") and that has the same
+         effect as if that directive would be replaced with the content of the
+         specified file (this can be useful to split large configuration files
+         into several smaller ones and include them from one main file, or to
+         store configuration settings that always stay the same into a separate
+         file, while including it and only add those parts that really change)
+
+2007-02-24
+       * fixed minor bug (screen redraw of player tiles) in EMC graphics engine
+
+2007-02-23
+       * fixed bug in "InitMovingField()" where treating an integer array as
+         boolean caused wrong resetting of animations while elements are moving
+       * fixed problem with resetting animations when starting element change
+
+2007-02-08
+       * added sort priority for order of title screens and title messages
+
+2007-02-07
+       * changed end of game again: do not wait for the user to press a key
+         anymore, but directly ask/confirm tape saving and go to hall of fame
+       * re-enabled quitting of lost game by pressing space or return again
+       * added blanking of mouse pointer when displaying title screens
+       * added remaining menu draw offset definitions for info sub-screens
+
+2007-02-05
+       * added setup option to select game speed (from very slow to very fast)
+       * improved handling of title text messages (initial and for level set)
+
+2007-02-03
+       * added new options "auto-wrap" and "centered" for DC2 style envelopes
+
+2007-01-31
+       * fixed displaying and typing of player name when it is centered
+       * added special characters to be allowed for player name (not only A-Z)
+
+2007-01-25
+       * fixed blit in ScrollLevel() to same bitmap to not overlap anymore
+         (newer versions of the SDL library seem to not like this anymore)
+
+2007-01-23
+       * added code for configuration directives for control of game panel
+
+2007-01-21
+       * fixed small cosmetical bug with underlining property tabs in editor
+
+2007-01-20
+       * fixed small drawing bug in X11FadeRectangle
+       * added new elements for newly supported Diamond Caves II levels:
+         - EM/DC style exits that disappear after passing
+         - white key and gate (one white key needed for each white gate)
+         - fake gate (there is no key to open/pass this kind of gate!)
+         - extended magic wall which also handles pearls and crystals
+         - fast quicksand
+
+2007-01-14
+       * changed maximum value for endless loop detection to a higher value
+         (some levels really used very deep recursion without being endless)
+
+2007-01-13
+       * added new elements for newly supported Diamond Caves II levels:
+         - growing steel walls
+         - snappable land mine
+
+2007-01-08
+       * added new elements for newly supported Diamond Caves II levels:
+         - steel text elements
+
+2007-01-06
+       * added level file loader for native Diamond Caves II levels
+
+2007-01-05
+       * version number set to 3.2.4
+
+2007-01-05
+       * version 3.2.3 released
+
+2007-01-04
+       * fixed malloc/free bug when updating EMC artwork entries in level list
+       * added workaround (warning and request to quit the current game) when
+         changing elements cause endless recursion loop (which would otherwise
+         freeze the game, causing a crash-like program exit on some systems)
+
+2006-12-16
+       * fixed nasty string overflow bug when entering too long envelope text
+
+2006-12-05
+       * added feedback sounds for menu navigation "menu.item.activating" and
+         "menu.item.selecting" (for highlighting and executing menu entries)
+
+2006-12-03
+       * improved "no scrolling when relocating" to also consider scroll delay
+         (meaning that the player is not automatically centered in this case;
+         this makes it possible to "invisibly" relocate the player to a region
+         of the level playfield which looks the same as the old level region)
+       * fixed bug with not recognizing "main.input.name.align" when active
+
+2006-12-02
+       * fixed bug with displaying masked borders over title screens when
+         screen fading is disabled
+
+2006-11-25
+       * fixed infinite loop / crash bug when killing the player while having
+         a CE with the setting "kill player X when explosion of <player X>"
+       * added special editor graphic for "char_space" to distinguish it from
+         "empty_space" when editing a level (in-game graphics still the same)
+
+2006-11-21
+       * fixed nasty bug with initialization only done for the first player
+
+2006-11-19
+       * small change to handle loading empty element/content list micro chunks
+
+2006-11-03
+       * uploaded pre-release (test) version 3.2.3-0 binary and source code
+
+2006-11-01
+       * some optimizations on startup speed by reducing initial text output
+
+2006-10-30
+       * added caching of custom artwork information for faster startup times
+
+2006-10-29
+       * fixed graphical bug when using fewer menu entries on level selection
+         screen than usual (with "menu.list_size.LEVELS" directive)
+       * fixed crash bug (Windows/SDL only) caused by BlitBitmap blitting from
+         the backbuffer to the backbuffer by error (with identical rectangle)
+
+2006-10-28
+       * fixed bug when displaying titlescreen with size less than element tile
+       * fixed bug that caused elements with "change when digging <e>" event
+         to change for _every_ digged element, not only those specified in <e>
+       * fixed bug that caused impact style collision when dropping element one
+         tile over the player that can both fall down and smash players
+       * fixed bug that caused impact style collision when element changed to
+         falling/smashing element over the player immediately after movement
+
+2006-10-24
+       * fixed bug that allowed making engine snapshots from the level editor
+
+2006-10-22
+       * fixed bugs with player name and current level positions on main screen
+
+2006-10-20
+       * added configuration directives for control of title screens:
+         - "title.fade_delay" for fading time
+         - "title.post_delay" for pause between screens (when not crossfading)
+         - "title.auto_delay" to automatically continue after some time
+         these settings can each be overridden by specifying them with titles:
+         - "titlescreen_initial_{1-5}.{fade_delay,post_delay,auto_delay}"
+         - "titlescreen_{1-5}.{fade_delay,post_delay,auto_delay}"
+         fading mode can also be specified:
+         - "titlescreen_initial_{1-5}.anim_mode: {fade,crossfade}
+         - "titlescreen_{1-5}.anim_mode: {fade,crossfade}
+         default is using normal fading for menues and initial title screens,
+         while using cross-fading for level set title screens
+       * fixed bug with background not drawn in Hall of Fame after game was won
+
+2006-10-18
+       * added configuration directives for the remaining main menu items
+
+2006-10-17
+       * added additional configuration directives for info screen draw offset:
+         menu.draw_{x,y}offset.INFO[{ELEMENTS,MUSIC,CREDITS,PROGRAM,LEVELSET}]
+       * added additional configuration directives for preview info text
+       * limited mouse wheel sensitive screen area to scrollable screen area
+
+2006-10-16
+       * added highlighted menu text entries to menu navigation when selected
+
+2006-10-14
+       * fixed bug that prevented player from correctly being created in the
+         top left corner by a custom element change in a level without player
+       * fixed bug that prevented player from being killed when indestructible,
+         non-walkable element is placed on player position by extended change
+       * added configurable menu button, text and input positions to main menu
+
+2006-10-13
+       * added page fading effects for remaining info sub-screens
+       * fixed small bug that caused some delays when answering door request
+
+2006-10-12
+       * added directives "border.draw_masked.*" for menu/playfield area and
+         door areas to display overlapping/masked borders from "global.border"
+
+2006-10-09
+       * fixed bug with CE with move speed "not moving" not being animated
+       * when changing player artwork by CE action, reset animation frame
+
+2006-10-03
+       * fixed bug with not unmapping main menu screen gadgets on other screens
+       * fixed bug with un-pausing a paused game by releasing still pressed key
+       * fixed bug with not redrawing screen when toggling to/from fullscreen
+         mode while fast reloading tape (without redrawing playfield contents)
+       * fixed bug with quick-saving tape snapshot despite answering with "no"
+
+2006-08-30
+       * version number set to 3.2.3
+
+2006-08-29
+       * version 3.2.2 released
+
+2006-08-29
+       * fixed bug with redrawing screen in fullscreen mode after quick tape
+         reloading when using the EMC game engine
+       * changed token names from "last_ce_[1-8]" to "prev_ce_[1-8]"
+
+2006-08-28
+       * fixed bug in GameWon() when level contains no exit (like in Sokoban)
+
+2006-08-23
+       * added engine snapshot functionality for instant tape reloading (this
+         only works for the last tape saved using "quick save", and does not
+         work across program restarts, because it completely works in memory)
+
+2006-08-21
+       * version number set to 3.2.2
+
+2006-08-20
+       * version 3.2.1 released
+
+2006-08-20
+       * fixed nasty bugs with handling error message file on Mac OS X systems
+
+2006-08-19
+       * general code cleanup (removing many annoying "#if 0" blocks etc.)
+
+2006-08-18
+       * fixed bug that caused broken tapes when manually appending to tapes
+         using the "pause before death" functionality, followed by recording
+       * added setup option to disable fading of screens for faster testing
+
+2006-08-16
+       * code cleanup of new fading functions
+
+2006-08-15
+       * changed behaviour after solved game -- do not immediately stop engine
+       * added some more smooth screen fadings (game start, hall of fame etc.)
+
+2006-08-14
+       * fixed bug with displaying pushed CE with value/score/delay anim_mode
+
+2006-08-12
+       * added configurable level preview position, tile size and dimensions
+       * added configurable game panel value positions (gems, time, score etc.)
+
+2006-08-10
+       * fixed small bug with time displayed incorrectly when collecting CEs
+
+2006-08-07
+       * fixed bug with bumpy scrolling with EM engine in double player mode
+
+2006-08-05
+       * added compatibility code to fix "Snake Bite" style levels that were
+         broken due to a bugfix regarding EL_SOKOBAN_FIELD_PLAYER in 3.2.0
+
 2006-08-04
        * fixed bug with scrollbars inside editor when using the Windows mouse
          enhancement tool "True X-Mouse" (which injects key events to the event
          queue to insert selected stuff into the Windows clipboard, which gets
          confused with the "Insert" key for jumping to the last editor cascade
          block in the element list)
+       * added Rocks'n'Diamonds icon for use as window icon to SDL version
+       * added key shortcut "Alt + Enter" to toggle fullscreen mode at any time
 
 2006-08-01
        * added selection of preferred fullscreen mode to setup / graphics menu
          (useful if default mode 800 x 600 does not match screen aspect ratio)
 
 2006-07-30
-       * improved down-scaling of images for better level and preview graphics
+       * improved down-scaling of images for better editor and preview graphics
        * changed user data directory for Mac OS X from Unix style to new place
 
 2006-07-26