Merge branch 'master' into releases
[rocksndiamonds.git] / ChangeLog
index 5eb677f1cd1e6b116a8344584b7863e6c4307431..2469c878cf229ac1e4e1ef9df49af90d5bbb3ed7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,255 @@
+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" that is replaced by element
+       * 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