rnd-20080126-1-src
[rocksndiamonds.git] / ChangeLog
index ce543daf3a49611db7b20205f55369ced890511c..3c9830190b8854c2f4409fbf0c6e894eb1084897 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,270 @@
+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