+2015-03-30
+ * replaced stop/play buttons in game panel with save/load buttons
+
+2015-03-24
+ * added step-based engine snapshots to undo/redo single steps in game
+
+2015-03-19
+ * fixed (swapped) editor zoom directions for '-' and '+' (keypad) keys
+
+2015-03-18
+ * added dynamically configurable graphics and layout of editor gadgets
+
+2015-03-11
+ * fixed (swapped) editor zoom directions for left and right mouse button
+
+2015-03-10
+ * added main menu backlink to level set selection screen
+
+2015-03-07
+ * added support for gadget-like pressable menu buttons on main screen
+
+2015-03-02
+ * added classic graphics, sounds and music to git repository
+ * added classic level sets to git repository
+ * added element description files to git repository
+ * changed mouse cursor on title screens not being always invisible
+ * added manually edited non-preset audio volume values to select list
+ (if sound, loops or music volume was manually edited in "setup.conf")
+
+2015-02-27
+ * fixed using "background.TOOLBOX", which was simply ignored before
+
+2015-02-23
+ * added key pad '-', '+' and '0' keys to zoom function in level editor
+ * changed editor key shortcut for undo/redo to 'u' and 'Shift-u'
+ * fixed using 'PageUp' and 'PageDown' keys for element list in editor
+
+2015-02-21
+ * added 1%, 2% and 5% to volume controls for sound and music settings
+
+2015-02-14
+ * fixed bug with editor border element not adjusted after resizing level
+ * changed unused playfield from "default" to "empty" after loading level
+ * increased number of undo/redo steps in level editor from 10 to 64
+
+2015-02-13
+ * added zoom functionality for playfield drawing area to level editor
+ (use left, right and middle mouse buttons on new "zoom" toolbox button
+ or use keys '-', '+' and '0' to zoom out, in or reset to default size)
+
+2015-02-11
+ * fixed bug not updating game panel values in visible warp forward mode
+
+2015-02-10
+ * changed position of CE/GE use/save template gadgets to be visually
+ separated from other CE/GE gadgets (to prevent accidental use)
+ * fixed bug in editor when using undo after rotating level repeatedly
+ * added 'redo' functionality to editor (by pressing 'undo' with right
+ mouse button or by using key shortcut "Shift-R")
+
+2015-02-04
+ * added configurability of editor control buttons (toolbox buttons)
+
+2015-02-03
+ * finished configurability of tape date and time display positions
+ * fixed bug with game buttons in tape area not properly redrawn
+ * fixed small graphical bug with default tape time display position
+ * added optionally configurable game frame counter to tape display
+
+2015-02-02
+ * fixed configurability of editor element palette (for columns != 4)
+
+2015-01-29
+ * improved configurability of tape date and time display positions
+ * added configurability of element properties button in editor
+ * added build dependency for auto-conf files
+
+2015-01-27
+ * added looking for editor element descriptions in level set directory
+ (for example, in file "<my-level-folder>/docs/elements/custom_1.txt")
+
+2015-01-25
+ * moved "element properties" button in editor from toolbox to palette
+ * added "zoom level tile size" button in editor to toolbox (currently
+ no function behind it; will be used to zoom level editor playfield)
+ * added key shortcuts '1' to '3' to view properties of drawing elements
+ * fixed gadget display bug in editor (door 1 area) after test playing
+ * fixed bugs when changing drawing area gadgets (like group elements)
+
+2015-01-19
+ * re-enabled editor palette element options in setup configuration file
+
+2014-12-13
+ * fixed loading custom PCX image files with default artwork file names
+ (like "RocksDoor.pcx") which are not redefined in artwork config file
+ (this is a special fix for Zelda 2 and probably some other existing
+ level sets which use new graphics which are not defined in the file
+ "graphicsinfo.conf", but use a file name of one of default graphics
+ (like "RocksScreen.pcx"); this did not work anymore for PCX files
+ since the default graphics files have been changed to PNG files, so
+ different file names are checked now (like "RocksScreen.png"), so if
+ the PNG files cannot be found, the old PCX files are also checked)
+
+2014-12-03
+ * added some more graphics customization options for the level editor:
+ - editor.button.prev_level (position)
+ - editor.button.next_level (position)
+ - editor.input.level_number (position)
+ - editor.palette.tile_size (tile size for palette elements)
+ - editor.palette.element_left.tile_size (draw element tile size)
+ - editor.palette.element_middle.tile_size (draw element tile size)
+ - editor.palette.element_right.tile_size (draw element tile size)
+ - editor.input.gfx.level_number (current level number input field)
+
+2014-11-22
+ * fixed menu display bugs caused by drawing outside menu area (again)
+
+2014-11-19
+ * fixed broken door animations when switching between custom graphics
+
+2014-11-06
+ * fixed layout for "level set info" to support custom playfield size
+ * fixed changing from title to info screen with custom playfield size
+
+2014-11-02
+ * fixed bug with not updating default bitmap pointer for scaled images
+ * fixed redraw/fade bugs when redefining the playfield size or position
+
+2014-10-27
+ * fixed some smaller issues with loading custom artwork
+
+2014-10-22
+ * added warnings when using undefined element and graphic names in
+ custom artwork definitions (like ".crumbled_like" or ".clone_from")
+ * added setting default filenames for all cloned graphics in static
+ graphics configuration on startup (to be able to fall back later)
+
+2014-10-20
+ * fixed using buttons on main screen with size other than 32x32 pixels
+ * fixed some initialization bugs for scrollbars and main screen buttons
+ * fixed bug when drawing non-element graphics (without separate in-game
+ graphic/bitmap defined) while non-standard game tile size is defined
+
+2014-10-17
+ * removed some remaining unused X11 stuff
+ * fixed bug with potentially suppressed exit error message on startup
+
+2014-10-16
+ * fixed bug not loading tape when selecting level from level selection
+ screen (thanks to filbo for finding this bug and supplying a patch)
+
+2014-10-15
+ * fixed menu display bugs (drawing outside menu area with draw offset)
+ * fixed menu key navigation bugs (when using smaller menu list size)
+
+2014-10-14
+ * added support for animated door parts during opening/closing movement
+
+2014-10-13
+ * added automatic detection of normal/steel character elements in level
+ editor when drawing text (depending on currently selected element)
+
+2014-10-13
+ * eliminated historical ISO-8859-1 characters from source code files
+ (but still using them internally for special character encodings)
+ * changed output of special character for level sketch brushes to UTF-8
+
+2014-10-08
+ * added handling of unselectable selectbox options and option headlines
+
+2014-10-07
+ * fixed bug when changing between graphic sets with different tile size
+ * cleanup of handling the various graphic sizes for different purposes
+ (like 32x32, 16x16 etc.); this change was needed for the bugfix above
+
+2014-10-02
+ * added virtual keyboard on Android port when entering player name
+
+2014-10-01
+ * fixed "quick menu doors" and sounds for door and envelope requests
+
+2014-09-29
+ * fixed display bugs with certain custom menu definitions regarding the
+ hall of fame (high scores) and setup screens that require scrolling
+ (these display bugs showed up with custom menu graphics of R'n'D jue)
+
+2014-09-28
+ * fixed bug with animation frames per line with non-standard tile size
+ (relevant for example for 64x64 sized frames continued on next row)
+
+2014-09-22
+ * removed checking of file identifier tokens for configuration files
+
+2014-09-19
+ * fixed bug where player actions were only mapped in team mode
+ (this broke four tapes in automatic game engine unit test where
+ old levels contained a non-yellow player, like rnd_abby_king, 011)
+
+2014-09-15
+ * removed large parts of the preprocessor hell of old and unused code
+
+2014-09-14
+ * updated source file headers (mainly author contact information)
+
+2014-09-11
+ * added key shortcuts for window scaling and toggling fullscreen mode:
+ - Ctrl-'+', Ctrl-'-' and Ctrl-'0' for up/downscaling and normal size
+ - "F11" key for toggling fullscreen mode (in addition to Alt-Enter)
+
+2014-09-10
+ * fixed some drawing bugs when scaling graphics due to "game.tile_size"
+ * added some performance improvements when handling SDL surface scaling
+
+2014-09-04
+ * added custom graphics property "game.tile_size" to define in-game tile
+ size (this defines the tile size actually displayed on the playfield);
+ tile graphics will either be scaled to the defined game tile size or
+ have to be specified with the same image size (using ".tile_size")
+
+2014-09-01
+ * added custom graphics property ".tile_size" to define tile image size
+ for game element graphics (like "custom_1.tile_size"); non-standard
+ sized images will then be scaled accordingly to standard tile size
+
+2014-08-30
+ * fixed music still being played in Android version when in background
+
+2014-08-30
+ * added Android "menu" button to be treated as "yes" requester button
+ (while the Android "back" button was already treated as "no" button)
+
+2014-08-28
+ * added command line options "--version" / "-V" to show program version
+ (also shows SDL library versions when prefixed with "--debug" option)
+
+2014-08-27
+ * error file set to unbuffered to prevent truncation in case of crashes
+
+2014-08-19
+ * fixed bug causing wrong screen updates while playing (whole screen
+ update from backbuffer instead of playfield buffer if REDRAW_ALL set)
+ * fixed nasty (typo) bug in native EM engine causing broken player
+ graphics when using different (redefined) playfield size
+
+2014-08-18
+ * fixed bug causing EM/EMC graphics sets containing original 16x16 tiles
+ to be displayed incorrectly (with broken scaling) when switching
+ between small and normal game graphics (thanks a lot to filbo for
+ analyzing and describing how to exactly reproduce this bug)
+
+2014-05-15
+ * removed MS-DOS support
+ * removed native X11 support (X11 now only supported via SDL/SDL2)
+
+2014-05-14
+ * cleanup of functions RedrawPlayfield() and BlitScreenToBitmap()
+
+2014-05-13
+ * fixed level redraw after quick-loading tape with small tile graphics
+
+2014-03-03
+ * added compatibility code for existing request door animation settings
+
+2014-03-01
+ * added ultra-generic, ultra-flexible request door animation handling
+
+2014-02-18
+ * fixed major bugs in handling single-player and multi-player tapes
+ (for details, see http://www.artsoft.org/forum/viewtopic.php?t=2086)
+
+2014-02-13
+ * fixed various problems with playfield and requester/tape/editor doors
+ defined to be at non-standard screen positions in artwork config file
+
+2014-01-28
+ * added envelope style requester dialog (alternative to door requester)
+
+2014-01-27
+ * fixed problems with window scaling and updating related setup value
+ * added setup option to select anti-aliasing quality of scaled windows
+
+2014-01-17
+ * improved speed of displaying progress when loading levels and artwork
+ * changed fullscreen and window scaling changes in setup menu to have
+ immediate effect (instead of being effective after leaving setup menu)
+
+2014-01-15
+ * fixed toons stopping on continuous touch events on Mac OS X
+
+2014-01-14
+ * fixed bug when displaying game envelope with even sized playfield
+ * added graphic configuration options for request (dialog) buttons
+
+2014-01-13
+ * fixed some redraw bugs with window scaling under Mac OS X
+
+2014-01-10
+ * fixed problems with window scaling and updating related setup value
+
+2014-01-07
+ * fixed problems related to fullscreen switching and window scaling
+
+2014-01-06
+ * fixed inconsistent custom artwork constants numbering in src/main.h,
+ src/screen.c and src/conf_gfx.c (this really should be cleaned up)
+ (this bug caused custom artwork definition to set wrong variable)
+
+2014-01-05
+ * fixed using fullscreen mode on Android instead of pseudo-window mode
+ * fixed keeping desktop fullscreen mode when changing viewport size
+
+2014-01-04
+ * fixed remaining text input problems for non-ASCII keys with modifier
+ * added window scaling options to graphics setup menu
+
+2014-01-03
+ * fixed key code problems with certain keys for SDL2
+ (keypad keys not being in numerical order; number of function keys)
+ * fixed text input problems for text characters using modifier keys
+
+2014-01-02
+ * fixed fullscreen option for SDL2 (using only desktop fullscreen now)
+
+2013-12-28
+ * fixed graphical bugs when using renderer/texture based graphics
+
+2013-12-23
+ * fixed playing certain sounds (menu navigation sound and counting
+ score sound after solving a level) when "normal sounds" are disabled
+
+2013-12-16
+ * continued porting Rocks'n'Diamonds to Android (levels now playable)
+
+2013-12-12
+ * added SDL2 renderer/texture based graphics frame handling to allow for
+ "desktop" style fullscreen mode and scaling of game screen/window
+
+2013-12-11
+ * removed limitation of artwork files to selected file types (this means
+ that every file type supported by SDL_image and SDL_mixer can be used)
+ * changed default graphics from PCX to PNG (needed for Android version
+ to prevent painfully slow image loading, although not compressing PCX
+ files in the assets directory of the APK package might also work fine)
+ * fixed bug with SDL_BlitSurface creating garbage when source and target
+ surface are the same (this bug also existed in versions of SDL 1.2.x)
+
+2013-12-07
+ * started porting Rocks'n'Diamonds to Android (already shows main menu)
+
+2013-12-03
+ * ported Rocks'n'Diamonds to SDL2 (first simple version that works)
+
+2013-12-01
+ * version number set to 3.3.1.3
+
+2013-11-24
+ * version 3.3.1.2 released
+
+2013-11-20
+ * improved error handling: display error message on screen (not only in
+ the error file or on the console), and display path of the error file
+
+2013-11-13
+ * fixed problem with R'n'D restarting with same level set that may have
+ caused a problem (and therefore failing again and again); after an
+ error, the last level set is now deactivated in file "levelsetup.conf"
+ to restart with default level set (which should work without error)
+
+2013-11-07
+ * fixed determining main game data directory on Mac OS X "Mavericks"
+
+2013-11-04
+ * version number set to 3.3.1.2
+
+2013-11-04
+ * version 3.3.1.1 released
+
+2013-11-03
+ * added scripts directory to distribution package to enable building
+ element definitions after editing artwork config source code files
+
+2013-10-26
+ * added volume controls for sounds, loops and music to sound setup
+
+2013-10-24
+ * version number set to 3.3.1.1
+
+2013-10-23
+ * version 3.3.1.0 released
+
+2013-10-21
+ * version number set to 3.3.1.0
+
+2012-10-13
+ * fixed display of level time switching from ascending to descending
+ when making use of the "time orb bug" (see element setting in editor)
+ (see level 053 of set "rnd_equinox_tetrachloride_ii" for an example)
+ * fixed graphics performance problems (especially on Mac OS X) by using
+ whole-playfield redraw on SDL target, while still using the previous
+ single-tile redraw method on X11 target (using redraw tiles threshold)
+
+2011-10-07
+ * fixed code (esp. random/tape handling) when compiled on 64-bit systems
+ (by replacing all "long" types by "int" types)
+
+2010-11-19
+ * fixed nasty bug (affecting crumbled graphics) after adding new special
+ graphics suffix ".TAPE" (and messing some things up in src/main.c)
+
+2010-08-04
+ * fixed wrong argument order in DrawTextBuffer() in gadgets.c
+ (this caused fonts in envelope config in level editor being invisible)
+
+2010-07-19
+ * fixed some problems with half tile size and even tile sized playfields
+
+2010-07-12
+ * added level selection screen (when clicking on main menu level number)
+ * added level tracing (played, solved) for use in level selection screen
+ (to display already played or solved levels in different font color)
+
+2010-06-24
+ * added alternative game mode for playing with half size playfield tiles
+ * fixed another memory violation bug in the native Supaplex game engine
+ (this potential memory bug was also in the original Megaplex code, but
+ apparently only occured under rare conditions triggered by using the
+ additional added preceding playfield memory area to make a few strange
+ levels using dirty off-playfield tricks (bugs) like "12s033.sp" also
+ solvable (this all worked fine in the classic DOS version, of course))
+
+2010-06-23
+ * added graphics performance optimization to native Supaplex game engine
+ * fixed bug with accidentally removing preceding buffer in SP engine
+ * moved some editor graphics from "RocksDoor.pcx" to "RocksMore.pcx"
+ (to prevent compatibility mapping of these newer graphics to older
+ (custom) versions of "RocksDoor.pcx" which did not contain them yet)
+
+2010-06-18
+ * added separately configurable game panel background to graphics config
+ * fixed displaying Supaplex time (now based on 35 fps instead of 50 fps)
+
+2010-06-16
+ * added tape panel graphics and screen positions to graphics config
+
+2010-06-15
+ * added compatibility stuff for redefined "global.door" (which affects
+ all parts of that image that have their own graphics definition now)
+
+2010-06-14
+ * added sound button graphics to graphics config
+
+2010-06-13
+ * added tape button graphics and screen positions to graphics config
+
+2010-06-09
+ * improved single step mode in R'n'D, EM and SP engines
+
+2010-06-08
+ * version number set to 3.3.0.2
+
+2010-06-08
+ * version 3.3.0.1 released
+
+2010-06-08
+ * added configurable key shortcuts for snap+direction player actions
+ (probably most useful for recording tool-assisted speedrun (TAS)
+ tapes using the single-step mode of the tape recorder)
+
+2010-05-28
+ * version number set to 3.3.0.1
+
+2010-05-25
+ * version 3.3.0.0 released
+
+2010-05-22
+ * fixed missing memory allocation in SP engine when saving engine data
+ for non-SP game engine snapshots (which also stores SP engine part)
+
+2010-05-21
+ * fixed problem with scrolling in native EM engine in multi-user mode
+ (this bug was just introduced with the experimental viewport stuff)
+ * fixed animation of splashing acid in EM engine with classic artwork
+ * fixed animation of cracking nut in EM engine with classic artwork
+ * fixed (implemented) single step mode in native EM and SP engines
+ * fixed "latest_engine" flag in classic levels (moved to single sets)
+ * updated SDL library DLLs for Windows to the latest release versions
+ (this fixed some mysterious crashes of the game on Windows systems)
+ * replaced EM and SP set in classic level set with native level files
+ * finally added a newly written "CREDITS" file to the game package
+ * removed sampled music loops from classic music set
+
+2010-04-20
+ * changed native Emerald Mine engine to support different viewport sizes
+
+2010-04-19
+ * changed native Supaplex engine to support different viewport sizes
+
+2010-04-07
+ * added initial, experimental support for different viewport properties
+ (with "viewports" being menu/playfield area and doors; currently the
+ size of the menu/playfield area and door positions can be redefined)
+
+2010-04-02
+ * added initial, experimental support for different window sizes
+
+2010-03-27
+ * added support for native Sokoban solution files in pure 'udlrUDLR'
+ format with extension ".sln" instead of ".tape" for solution tapes
+
+2010-03-26
+ * added image config suffix ".class" to be able to define classes of
+ crumbled elements which are then separated against each others when
+ drawing crumbled borders (class names can freely be defined)
+ (Example: "sand.CRUMBLED.class: sand" and "emc_grass.CRUMBLED.class:
+ emc_grass" results in sand and emc_grass being crumbled separately,
+ even if directly adjacent on the playfield.)
+ * added image config suffix ".style" to use two new features for
+ crumbled graphics:
+ - "accurate_borders": try to draw correctly crumbled corners (which
+ means that a row of crumbled elements does not have two crumbled
+ corners for each element in the row, but only at the "real" corners
+ at the start and the end of the row of elements)
+ - "inner_corners": also draw inner corners in concave constructions
+ of several crumbled elements -- this is currently a big kludge: the
+ number of frames for crumbled graphic must be "2", with the first
+ frame as usual (crumbled graphic), while the second frame contains
+ the graphic with inner (crumbled) corners for the crumbled graphic
+ (These two features are mainly intended for bevelled walls, not for
+ diggable elements like sand; "inner_corners" only works reliably for
+ static walls, not for in-game dynamically changing walls using CEs.)
+
+2010-03-16
+ * finished code cleanup of native Supaplex game engine
+
+2010-03-14
+ * started code cleanup of native Supaplex game engine
+
+2010-03-13
+ * integrated playing sound effects into native Supaplex game engine
+
+2010-03-10
+ * added configurable key shortcuts for the tape recorder buttons
+
+2010-03-09
+ * added (hidden) function to save native Supaplex levels with tape as
+ native *.sp file containing level with demo (saved with a file name
+ similar to native R'n'D levels, but with ".sp" extension instead of
+ ".level"); to use this functionality, enter ":save-native-level" or
+ ":snl" from the main menu with the native Supaplex level loaded and
+ the appropriate tape loaded to the tape recorder
+ * fixed potential crash bug caused by illegal array access in engine
+ snapshot loading and saving code
+ * changed setting permissions of score files to be world-writable if
+ the program is not installed and running setgid to allow the program
+ to modify existing score files when run as a different user (which
+ allows cheating, of course, as the score files are not protected
+ against modification in this case)
+ * added (commented out) suggestions for RO_GAME_DIR and RW_GAME_DIR to
+ the top level Makefile for Debian / Ubuntu installations
+ * added saving read-only levels from editor into personal level set
+ (thanks to Bela Lubkin for the above four patches)
+
+2010-03-03
+ * added updating of game values on the panel to Supaplex game engine
+
+2010-02-23
+ * finished integrating R'n'D graphics engine into Supaplex game engine
+ (although some animations do not support full customizability yet)
+
+2010-02-22
+ * done integrating R'n'D graphics engine into file "Infotron.c"
+ * done integrating R'n'D graphics engine into file "OrangeDisk.c"
+
+2010-02-19
+ * integrated engine snapshot functionality into Supaplex game engine
+
+2010-02-16
+ * fixed bug in native Supaplex engine that broke several demo solutions
+ * fixed bug with re-initializing already existing elements in function
+ RelocatePlayer() in src/game.c (causing problems with Sokoban fields
+ counted a second time, making the currently playing level unsolvable)
+ * done integrating R'n'D graphics engine into file "SnikSnaks.c"
+ * done integrating R'n'D graphics engine into file "Electrons.c"
+ * done integrating R'n'D graphics engine into file "Zonk.c"
+
+2010-02-14
+ * done integrating R'n'D graphics engine into file "Murphy.c"
+ * done integrating R'n'D graphics engine into file "BugsTerminals.c"
+
+2010-02-07
+ * started integrating R'n'D graphics engine into Supaplex game engine
+
+2010-02-02
+ * added small kludge that allows transparent pushing animation over
+ non-black background (by using "game.use_masked_pushing: true")
+ * 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)
+