rnd-20070331-1-src
[rocksndiamonds.git] / ChangeLog
index 287a460e21c7f41205917110f4491ec6eba157c8..bbccc0d339e5009c7fb78f061d8e85142804d66b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,369 @@
+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"
+
+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
+         program startup) and title screens shown for a given level set; these
+         title screens can be composed of up to five title images and up to
+         five title text messages (each drawn using an optional background
+         image), also using background music and/or sounds; aspects like
+         background images, sounds and music of title screens can either be
+         defined generally (valid for all title screens) or specifically (and
+         therefore differently for each title screen) using these directives:
+
+         to define a background image, sound or music file for all screens:
+         - background.TITLE_INITIAL (for all title screens for game startup)
+         - background.TITLE         (for all title screens for level sets)
+
+         to define a background image, sound or music file for a single screen:
+         - background.titlescreen_initial_x  (with x in 1,2,3,4,5)
+         - background.titlescreen_x          (with x in 1,2,3,4,5)
+         - background.titlemessage_initial_x (with x in 1,2,3,4,5)
+         - background.titlemessage_x         (with x in 1,2,3,4,5)
+
+         to define the title screen images:
+         - titlescreen_initial_x             (with x in 1,2,3,4,5)
+         - titlescreen_x                     (with x in 1,2,3,4,5)
+
+         to define the title text messages, place text files into the level set
+         directory that have the following file names:
+         - titlemessage_initial_x.txt        (with x in 1,2,3,4,5)
+         - titlemessage_x.txt                (with x in 1,2,3,4,5)
+
+         to define the properties of the text messages, either use directives
+         that affect all text messages:
+         - [titlemessage_initial].<suffix>
+         - [titlemessage].<suffix>
+         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)
+
+         valid values for <suffix> are the same as for readme.<suffix> below;
+         use ".sort_priority" (default: 0) to define an arbitrary order for
+         title images and title messages (which can therefore be mixed)
+
+2007-03-14
+       * added full configurability of "readme.txt" screen appearance:
+         - readme.x:              <left position used with alignment>
+         - readme.y:              <top position>
+         - readme.width:          <maximim text width in pixels>
+         - readme.height:         <maximum text height in pixels>
+         - readme.chars:          <maximum number of chars per line>
+         - readme.lines:          <maximum number of lines displayed>
+         - readme.align:          left,center,right (default: center)
+         - readme.top:            top,middle,bottom (default: top)
+         - readme.font:           font name
+         - readme.autowrap:       true,false (default: true)
+         - readme.centered:       true,false (default: false)
+         - readme.parse_comments: true,false (default: true)
+         - readme.sort_priority:  (not used here, but only for title screens)
+         when "readme.chars" and/or "readme.lines" is set to "-1" (this is the
+         default), they are automatically determined from "readme.width" and
+         "readme.height" accordingly; when they are not "-1", they have
+         precedence over "readme.width" and "readme.height"
+       * added internal ad-hoc config settings for displaying text files like
+         title messages or "readme.txt" style level set info files:
+         - .font:           font name  (default: readme.font)
+         - .autowrap:       true,false (default: readme.autowrap)
+         - .centered:       true,false (default: readme.centered)
+         - .parse_comments: true,false (default: readme.parse_comments)
+         (the leading '.' and the separating ':' are mandatory here); to use
+         these ad-hoc settings, they have to be written inside a comment, like
+         "# .autowrap: false" or "# .centered: true"; these settings then
+         override the above global settings (they can even be used more than
+         once, like "# .centered: true", then some text that should be drawn
+         centered, then "# .centered: false" to go back to non-centered text;
+         important note: after using "# .parse_comments: false", or when using
+         "readme.parse_comments: false", detecting and parsing comments inside
+         the file is disabled and comments are just printed like normal text;
+         also be aware that all automatic text size calculations are done with
+         the font defined in "readme.font", while using different fonts using
+         "# .font: <font>" inside the text file may cause unexpected results
+
+2007-03-08
+       * changed some numerical limits in the level editor from 255 to 999
+
+2007-03-07
+       * added option "system.sdl_videodriver" to select SDL video driver
+       * added output of SDL video and audio driver to "version info" page
+
+2007-03-06
+       * added group element drawing to IntelliDraw drawing functions
+       * fixed animation resetting problem again (last try broke Snake Bite)
+       * fixed diagonal scrolling in screen scrolling (last try broke Pac Man)
+
+2007-03-01
+       * added new (special) "include: <filename>" directive that works in all
+         configuration files (like "graphicsinfo.conf") and that has the same
+         effect as if that directive would be replaced with the content of the
+         specified file (this can be useful to split large configuration files
+         into several smaller ones and include them from one main file, or to
+         store configuration settings that always stay the same into a separate
+         file, while including it and only add those parts that really change)
+
+2007-02-24
+       * fixed minor bug (screen redraw of player tiles) in EMC graphics engine
+
+2007-02-23
+       * fixed bug in "InitMovingField()" where treating an integer array as
+         boolean caused wrong resetting of animations while elements are moving
+       * fixed problem with resetting animations when starting element change
+
+2007-02-08
+       * added sort priority for order of title screens and title messages
+
+2007-02-07
+       * changed end of game again: do not wait for the user to press a key
+         anymore, but directly ask/confirm tape saving and go to hall of fame
+       * re-enabled quitting of lost game by pressing space or return again
+       * added blanking of mouse pointer when displaying title screens
+       * added remaining menu draw offset definitions for info sub-screens
+
+2007-02-05
+       * added setup option to select game speed (from very slow to very fast)
+       * improved handling of title text messages (initial and for level set)
+
+2007-02-03
+       * added new options "auto-wrap" and "centered" for DC2 style envelopes
+
+2007-01-31
+       * fixed displaying and typing of player name when it is centered
+       * added special characters to be allowed for player name (not only A-Z)
+
+2007-01-25
+       * fixed blit in ScrollLevel() to same bitmap to not overlap anymore
+         (newer versions of the SDL library seem to not like this anymore)
+
+2007-01-23
+       * added code for configuration directives for control of game panel
+
+2007-01-21
+       * fixed small cosmetical bug with underlining property tabs in editor
+
+2007-01-20
+       * fixed small drawing bug in X11FadeRectangle
+       * added new elements for newly supported Diamond Caves II levels:
+         - EM/DC style exits that disappear after passing
+         - white key and gate (one white key needed for each white gate)
+         - fake gate (there is no key to open/pass this kind of gate!)
+         - extended magic wall which also handles pearls and crystals
+         - fast quicksand
+
+2007-01-14
+       * changed maximum value for endless loop detection to a higher value
+         (some levels really used very deep recursion without being endless)
+
+2007-01-13
+       * added new elements for newly supported Diamond Caves II levels:
+         - growing steel walls
+         - snappable land mine
+
+2007-01-08
+       * added new elements for newly supported Diamond Caves II levels:
+         - steel text elements
+
+2007-01-06
+       * added level file loader for native Diamond Caves II levels
+
+2007-01-05
+       * version number set to 3.2.4
+
+2007-01-05
+       * version 3.2.3 released
+
+2007-01-04
+       * fixed malloc/free bug when updating EMC artwork entries in level list
+       * added workaround (warning and request to quit the current game) when
+         changing elements cause endless recursion loop (which would otherwise
+         freeze the game, causing a crash-like program exit on some systems)
+
+2006-12-16
+       * fixed nasty string overflow bug when entering too long envelope text
+
+2006-12-05
+       * added feedback sounds for menu navigation "menu.item.activating" and
+         "menu.item.selecting" (for highlighting and executing menu entries)
+
+2006-12-03
+       * improved "no scrolling when relocating" to also consider scroll delay
+         (meaning that the player is not automatically centered in this case;
+         this makes it possible to "invisibly" relocate the player to a region
+         of the level playfield which looks the same as the old level region)
+       * fixed bug with not recognizing "main.input.name.align" when active
+
+2006-12-02
+       * fixed bug with displaying masked borders over title screens when
+         screen fading is disabled
+
+2006-11-25
+       * fixed infinite loop / crash bug when killing the player while having
+         a CE with the setting "kill player X when explosion of <player X>"
+       * added special editor graphic for "char_space" to distinguish it from
+         "empty_space" when editing a level (in-game graphics still the same)
+
+2006-11-21
+       * fixed nasty bug with initialization only done for the first player
+
+2006-11-19
+       * small change to handle loading empty element/content list micro chunks
+
+2006-11-03
+       * uploaded pre-release (test) version 3.2.3-0 binary and source code
+
+2006-11-01
+       * some optimizations on startup speed by reducing initial text output
+
+2006-10-30
+       * added caching of custom artwork information for faster startup times
+
+2006-10-29
+       * fixed graphical bug when using fewer menu entries on level selection
+         screen than usual (with "menu.list_size.LEVELS" directive)
+       * fixed crash bug (Windows/SDL only) caused by BlitBitmap blitting from
+         the backbuffer to the backbuffer by error (with identical rectangle)
+
+2006-10-28
+       * fixed bug when displaying titlescreen with size less than element tile
+       * fixed bug that caused elements with "change when digging <e>" event
+         to change for _every_ digged element, not only those specified in <e>
+       * fixed bug that caused impact style collision when dropping element one
+         tile over the player that can both fall down and smash players
+       * fixed bug that caused impact style collision when element changed to
+         falling/smashing element over the player immediately after movement
+
+2006-10-24
+       * fixed bug that allowed making engine snapshots from the level editor
+
+2006-10-22
+       * fixed bugs with player name and current level positions on main screen
+
+2006-10-20
+       * added configuration directives for control of title screens:
+         - "title.fade_delay" for fading time
+         - "title.post_delay" for pause between screens (when not crossfading)
+         - "title.auto_delay" to automatically continue after some time
+         these settings can each be overridden by specifying them with titles:
+         - "titlescreen_initial_{1-5}.{fade_delay,post_delay,auto_delay}"
+         - "titlescreen_{1-5}.{fade_delay,post_delay,auto_delay}"
+         fading mode can also be specified:
+         - "titlescreen_initial_{1-5}.anim_mode: {fade,crossfade}
+         - "titlescreen_{1-5}.anim_mode: {fade,crossfade}
+         default is using normal fading for menues and initial title screens,
+         while using cross-fading for level set title screens
+       * fixed bug with background not drawn in Hall of Fame after game was won
+
+2006-10-18
+       * added configuration directives for the remaining main menu items
+
+2006-10-17
+       * added additional configuration directives for info screen draw offset:
+         menu.draw_{x,y}offset.INFO[{ELEMENTS,MUSIC,CREDITS,PROGRAM,LEVELSET}]
+       * added additional configuration directives for preview info text
+       * limited mouse wheel sensitive screen area to scrollable screen area
+
+2006-10-16
+       * added highlighted menu text entries to menu navigation when selected
+
+2006-10-14
+       * fixed bug that prevented player from correctly being created in the
+         top left corner by a custom element change in a level without player
+       * fixed bug that prevented player from being killed when indestructible,
+         non-walkable element is placed on player position by extended change
+       * added configurable menu button, text and input positions to main menu
+
+2006-10-13
+       * added page fading effects for remaining info sub-screens
+       * fixed small bug that caused some delays when answering door request
+
+2006-10-12
+       * added directives "border.draw_masked.*" for menu/playfield area and
+         door areas to display overlapping/masked borders from "global.border"
+
+2006-10-09
+       * fixed bug with CE with move speed "not moving" not being animated
+       * when changing player artwork by CE action, reset animation frame
+
+2006-10-03
+       * fixed bug with not unmapping main menu screen gadgets on other screens
+       * fixed bug with un-pausing a paused game by releasing still pressed key
+       * fixed bug with not redrawing screen when toggling to/from fullscreen
+         mode while fast reloading tape (without redrawing playfield contents)
+       * fixed bug with quick-saving tape snapshot despite answering with "no"
+
+2006-08-30
+       * version number set to 3.2.3
+
+2006-08-29
+       * version 3.2.2 released
+
+2006-08-29
+       * fixed bug with redrawing screen in fullscreen mode after quick tape
+         reloading when using the EMC game engine
+       * changed token names from "last_ce_[1-8]" to "prev_ce_[1-8]"
+
+2006-08-28
+       * fixed bug in GameWon() when level contains no exit (like in Sokoban)
+
+2006-08-23
+       * added engine snapshot functionality for instant tape reloading (this
+         only works for the last tape saved using "quick save", and does not
+         work across program restarts, because it completely works in memory)
+
+2006-08-21
+       * version number set to 3.2.2
+
+2006-08-20
+       * version 3.2.1 released
+
+2006-08-20
+       * fixed nasty bugs with handling error message file on Mac OS X systems
+
+2006-08-19
+       * general code cleanup (removing many annoying "#if 0" blocks etc.)
+
 2006-08-18
        * fixed bug that caused broken tapes when manually appending to tapes
          using the "pause before death" functionality, followed by recording
          (useful if default mode 800 x 600 does not match screen aspect ratio)
 
 2006-07-30
-       * improved down-scaling of images for better level and preview graphics
+       * improved down-scaling of images for better editor and preview graphics
        * changed user data directory for Mac OS X from Unix style to new place
 
 2006-07-26