rnd-20080126-1-src
[rocksndiamonds.git] / ChangeLog
index ca6007bf07a4945a231ccc413149ecae3a0eb26a..3c9830190b8854c2f4409fbf0c6e894eb1084897 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,289 @@
+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
          that affect all text messages:
          - [titlemessage_initial].<suffix>
          - [titlemessage].<suffix>
-         or use directives affect single text messages:
+         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)