rnd-20070331-1-src
[rocksndiamonds.git] / ChangeLog
index 9602a817a8ef54eaf3bcb9f2026260176798ca35..bbccc0d339e5009c7fb78f061d8e85142804d66b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+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
+       * added setup option to disable fading of screens for faster testing
+
+2006-08-16
+       * code cleanup of new fading functions
+
+2006-08-15
+       * changed behaviour after solved game -- do not immediately stop engine
+       * added some more smooth screen fadings (game start, hall of fame etc.)
+
+2006-08-14
+       * fixed bug with displaying pushed CE with value/score/delay anim_mode
+
+2006-08-12
+       * added configurable level preview position, tile size and dimensions
+       * added configurable game panel value positions (gems, time, score etc.)
+
+2006-08-10
+       * fixed small bug with time displayed incorrectly when collecting CEs
+
+2006-08-07
+       * fixed bug with bumpy scrolling with EM engine in double player mode
+
+2006-08-05
+       * added compatibility code to fix "Snake Bite" style levels that were
+         broken due to a bugfix regarding EL_SOKOBAN_FIELD_PLAYER in 3.2.0
+
 2006-08-04
        * fixed bug with scrollbars inside editor when using the Windows mouse
          enhancement tool "True X-Mouse" (which injects key events to the event
          queue to insert selected stuff into the Windows clipboard, which gets
          confused with the "Insert" key for jumping to the last editor cascade
          block in the element list)
+       * added Rocks'n'Diamonds icon for use as window icon to SDL version
+       * added key shortcut "Alt + Enter" to toggle fullscreen mode at any time
 
 2006-08-01
        * added selection of preferred fullscreen mode to setup / graphics menu
          (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