Merge branch 'master' into releases
[rocksndiamonds.git] / ChangeLog
index 0efd5105d46c4f606582d2f6397b7104944bb949..2469c878cf229ac1e4e1ef9df49af90d5bbb3ed7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,263 @@
+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)