rnd-20040928-1-src
[rocksndiamonds.git] / ChangeLog
index f9943b3612fc9682c2d56e8cd9bc38b55138c137..380405c18c86c150e2dfc38602fc037cfd77f405 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,437 @@
+2004-09-27
+       * modified native EM engine to use integrated R'n'D sound system
+
+2004-09-21
+       * added SDL support to graphics functions in native EM engine
+         (by always using generic libgame interface functions)
+
+2004-09-20
+       * fixed bug in frame synchronization in native EM engine
+
+2004-09-18
+       * added code to convert levels between R'n'D and native EM engine
+
+2004-08-23
+       * new Emerald Mine engine can now play levels selected in main menu
+
+2004-08-16
+       * fixed big memory leak in function "CreateBitmapWithSmallBitmaps()"
+         (which creates scaled down graphics for level editor and preview);
+         there's still a memory leak somewhere in the artwork handling code
+       * added "scale image up" functionality to X11 version of zoom function
+
+2004-08-14
+       * first attempts to integrate new, native Emerald Mine Club engine
+
+2004-08-07
+       * fixed bug in gadget code which caused reset of CEs in level editor
+         (example: pressing 'b' [grab brush] on CE config page erased values)
+         (solution: check if gadgets in ClickOnGadget() are really mapped)
+       * improved level change detection in editor (settings now also checked)
+       * fixed bug with "can move into acid" and "don't collide with" state
+
+2004-07-29
+       * fixed maze runner style CEs to use the configured move delay value
+
+2004-06-27
+       * added Aaron Davidson's tutorial level set to the "Tutorials" section
+
+2004-06-20
+       * fixed engine change that broke 3.0.8 levels like "Walpurgis Gardens"
+       * fixed the above fix because it broke level set "machine" (*sigh*)
+       * fixed random element placement in level editor to work as expected
+       * fixed undefined graphic of runtime element "EL_AMOEBA_TO_DIAMOND"
+
+2004-06-15
+       * re-recorded tape for BD2K3, level 010 (broken due to bugfix)
+
+2004-06-13
+       * fixed bug (missing array boundary check) which caused broken tapes
+       * fixed bug (when loading level template) which caused broken levels
+       * fixed bug with new block last field code when using non-yellow player
+
+2004-06-12
+       * fixed bug when pressing "stop, pause, stop, play" on tape recorder
+       * internal change of how the player blocks the last field when moving
+       * fixed blocking delay of last field for EM and SP style block delay
+       * fixed bug where the player had to wait for the usual move delay after
+         unsuccessfully trying to move, when he directly could move after that
+       * the last two changes should make original Supaplex level 93 solvable
+       * improved use of random number generator to make it less predictable
+       * fixed behaviour of slippery SP elements to let slip left, then right
+
+2004-06-11
+       * fixed bug with wrong door state after trying to quickload empty tape
+       * fixed waste of static memory usage of the binary, making it smaller
+       * fixed very little graphical bug in Supaplex explosion
+
+2004-06-07
+       * version number set to 3.1.1
+
+2004-06-07
+       * version 3.1.0 released
+
+2004-06-07
+       * fixed bug with crash when writing user levelinfo.conf the first time
+
+2004-06-06
+       * added option "convert LEVELDIR [NR]" to command line batch commands
+       * re-converted Supaplex levels to apply latest engine fixes
+       * changed "use graphic/sound of element" to "use graphic of element"
+         due to compatibility problems with some levels ("bug machine" etc.)
+
+2004-05-23
+       * fixed bug with CE change replacing player with same or other player
+
+2004-05-16
+       * fixed bug with opaque font in envelope with background graphic when
+         background graphic is not transparent itself
+
+2004-05-12
+       * added "gravity on" and "gravity off" ports for Supaplex compatibility
+       * corrected original Supaplex level loading code to use these new ports
+       * also corrected Supaplex loader to auto-count infotrons if set to zero
+
+2004-05-10
+       * fixed bug with missing initialization of "modified" flag for GEs
+
+2004-05-09
+       * fixed bug that caused endless recursion loop when relocating player
+       * fixed tape recorder bug in "step mode" when using "pause before end"
+       * fixed tape recorder bug when changing from "warp forward" mode
+
+2004-05-08
+       * fixed bug with "when touching" for pushed elements at last position
+
+2004-05-05
+       * fixed bug that caused two activated toolbox buttons in level editor
+       * fixed bug with exploding dynabomb under player due to other explosion
+
+2004-05-02
+       * fixed bug with creating walkable custom element under player (again)
+       * fixed bug with not copying explosion type when copying CEs in editor
+       * fixed graphical bug when drawing player in setup menu (input devices)
+       * fixed graphical bug when the player is pushing an accessible element
+       * fixed bug with classic switchable elements triggering CE changes
+       * fixed bug with entering/leaving walkable element in RelocatePlayer()
+       * fixed crash bug when CE leaves behind the trigger player element
+
+2004-04-30
+       * fixed bug with broken tubes after placing/exploding dynamite in them
+       * fixed bug with exploding dynamite under player due to other explosion
+       * fixed bug with not resetting push delay under certain circumstances
+
+2004-04-27
+       * added option "handicap" for "levelinfo.conf" (thanks to Niko Böhm)
+       * added network multiplayer code for Windows (thanks to Niko Böhm)
+
+2004-04-25
+       * added option "reachable despite gravity" for gravity movement
+       * changed gravity movement of most classic walkable and passable
+         elements back to "not reachable" (for compatibility reasons)
+
+2004-04-24
+       * fixed (removed) "indestructible" / "can explode" dependency in editor
+       * fixed (removed) "accessible inside" / "protected" dependency
+       * fixed (removed) "step mode" / "shield time" dependency
+
+2004-04-23
+       * fixed dynabombs exploding now into anything diggable
+       * fixed Supaplex style gravity movement into buggy base now impossible
+       * added pressing key "space" as valid action to select menu options
+
+2004-04-20
+       * added "replace when walkable" to relocate player to walkable element
+       * added "enter"/"leave" event for elements affected by relocation
+       * fixed "direct"/"indirect" change order also for "when change" event
+       * fixed graphical bug when pushing things from elements walkable inside
+
+2004-04-18
+       * fixed graphic bug when player is snapping while moving in old levels
+       * fixed bug when a moving custom element leaves a player element behind
+       * fixed bug with mole not disappearing when moving into acid pool
+       * fixed bug with incomplete path setting when using "--basepath" option
+       * moving CE can now leave walkable elements behind under the player
+       * when relocating, player can be set on walkable element now
+       * fixed another gravity movement bug
+
+2004-04-12
+       * uploaded pre-release (test) version 3.1.0-2 binary and source code
+
+2004-04-10
+       * added "collectible" and "removable" to extended replacement types
+         (where "removable" replaces "diggable" and "collectible" elements)
+       * added "collectible & throwable" (to throw element to the next field)
+       * fixed bug with CEs digging elements that are just about to explode
+       * changed mouse cursor now always being visible when game is paused
+
+2004-04-09
+       * added possibility to push/press accessible elements from a side that
+         is not accessible
+       * fixed bug with not setting actual date when appending to tape
+
+2004-04-07
+       * fixed bug with incorrectly initialized custom element editor graphics
+
+2004-04-04
+       * corrected set "Contributions_1995-2000/rnd_kjell_kristiansson":
+         - number of levels corrected from 18 to 17 in "levelinfo.conf"
+
+2004-03-31
+       * fixed bug with destroyed robot wheel still attracting robots forever
+       * fixed bug with time gate switch deactivating after robot wheel time
+         (while the time gate itself is not affected by this misbehaviour)
+       * changed behaviour of BD style amoeba to always get blocked by player
+         (before it was different when there were non-BD elements in level)
+       * fixed bug with player destroying indestructable elements with shield
+
+2004-03-26
+       * added option to make growing elements grow into anything diggable
+         (for the various amoeba types, biomaze and "game of life")
+
+2004-03-24
+       * fixed bug with movable elements not moving after left behind by CEs
+       * changed gravity movement to anything diggable, not only sand/base
+       * optionally allowing passing to walkable element, not only empty space
+       * added option "can pass to walkable element" for players
+       * finally fixed gravity movement (hopefully)
+
+2004-03-23
+       * fixed bug with movable elements not moving anymore after falling down
+
+2004-03-22
+       * fixed another bug with custom elements digging and leaving elements
+       * fixed bug with "along left/right side" and automatic start direction
+       * trigger elements now also displayed when "more custom" deactivated
+       * fixed bug with clipboard element initialized when loading new level
+       * added option "drop delay" to set delay before dropping next element
+
+2004-03-21
+       * uploaded pre-release (test) version 3.1.0-1 binary and source code
+
+2004-03-20
+       * added copy and paste functions for custom change pages
+       * enhanced graphical display and functionality of tape recorder
+       * fixed bug with custom elements digging and leaving elements
+
+2004-03-19
+       * added move speed faster than "very fast" for custom elements
+       * fixed bug with 3+3 style explosions and missing border content
+       * fixed little bug when copying custom elements in the editor
+       * enhanced custom element changes by more side trigger actions
+
+2004-03-16
+       * added option "no scrolling when relocating" for instant teleporting
+       * uploaded pre-release (test) version 3.1.0-0 binary and source code
+
+2004-03-15
+       * added trigger element and trigger player to use as target elements
+       * added copy and paste functions for custom and group elements
+
+2004-03-14
+       * fixed graphical bug when displaying explosion animations
+       * fixed bug when appending to tapes, resulting in broken tapes
+       * re-recorded a few tapes broken by fixing gravity checking bug
+
+2004-03-13
+       * "can move into acid" property now for all elements independently
+       * "can fall into acid" property for player stored in same bitfield now
+       * added option for deadliness of Supaplex 'sniksnak' and 'electron'
+       * version number set to 3.1.0 (finally!)
+
+2004-03-09
+       * changed tape recording to only record input, not programmed actions
+
+2004-03-08
+       * fixed totally broken (every 8th frame skipped) step-by-step recording
+       * fixed bug with requester not displayed when quick-loading interrupted
+       * added option "can fall into acid (with gravity)" for players
+       * fixed bug with player not falling when snapping down with gravity
+
+2004-03-07
+       * fixed bug which messed up key config when using keypad number keys
+
+2004-03-03
+       * fixed bug which allowed moving upwards even when gravity was active
+       * fixed bug with missing error handling when dumping levels or tapes
+
+2004-03-02
+       * added different colored editor graphics for Supaplex gravity tubes
+
+2004-03-01
+       * fixed bug that allowed solvable tapes for unsolvable levels
+
+2004-02-28
+       * use unlimited number of droppable elements when "count" set to zero
+       * added option to use step limit instead of time limit for level
+
+2004-02-27
+       * added player and change page as trigger for custom element change
+
+2004-02-24
+       * fixed bug with exploding amoeba (explosion 3x3 instead of 1x1)
+
+2004-02-22
+       * fixed bug with dark yamyam changing to acid when moving over acid
+       * fixed handling of levels with more than 999 seconds level time
+         (example: level 76 of "Denmine")
+
+2004-02-21
+       * "spring push bug" reintroduced as configurable element property
+       * fixed bug with missing properties for "mole"
+       * fixed bug that showed up when fixing the above "mole" properties bug
+       * added option "can move into acid" for all movable elements
+       * fixed graphical bug for elements moving into acid
+       * changed event handling to handle all pending events before going on
+
+2004-02-17
+       * fixed bug which caused all CE change pages to be ignored which had
+         the same change event, but used a different element side
+         (reported by Simon Forsberg)
+
+       * fixed bug which caused elements that can move and fall and that are
+         transported by a conveyor belt to continue moving into that direction
+         after leaving the conveyor belt, regardless of their own movement
+         type; only elements which can not move are transported now
+         (reported by Simon Forsberg)
+
+       * fixed bug which could cause an array overflow in RelocatePlayer()
+         (reported by Niko Böhm)
+
+       * changed Emerald Mine style "passable / over" elements to "protected"
+         (fixing unsolvable level 10 of "Bondmine 9" with bug beside gate)
+
+       * added new option to select from which side a "walkable/passable"
+         element can be entered
+
+2004-02-16
+       * added explosion and ignition delay for elements that can explode
+
+2004-02-05
+       * fixed bug which caused player not being protected against enemies
+         when a CE was "walkable / inside" and was not "indestructible"
+       * added "walkable/passable" fields to be "protected/unprotected"
+         against enemies, even if not accessible "inside" but "over/under"
+
+2004-02-04
+       * corrected move pattern to 32 bit and initial move direction to 8 bit
+
+2004-02-03
+       * added second custom element base configuration page
+
+2004-02-02
+       * added some special EMC mappings to Emerald Mine level loader
+         (also covering previously unknown element in level 0 of "Bondmine 8")
+
+2004-01-30
+       * added option to block last field when player is moving (for Supaplex)
+       * adjusted push delay of Supaplex elements
+       * removed delays for envelopes etc. when replaying with maximum speed
+       * fixed bug when dropping element on a field that just changed to empty
+
+2004-01-29
+       * fixed bug: infotrons can now smash yellow disks
+       * fixed bug: when gravity active, port above player can now be entered
+       * removed "one white dot" mouse pointer which irritated some people
+
+2004-01-26
+       * added "choice type" for group element selection
+
+2004-01-25
+       * fixed bug with initial invulnerability of non-yellow player
+
+2004-01-23
+       * added level loader for loading native Supaplex packed levels
+         (including multi-part levels like the "splvls99" levels)
+
+2004-01-19
+       * fixed bug which allowed creating emeralds by escaping explosions
+
+2004-01-18
+       * custom elements can change (limited) or leave (unlimited) elements
+       * finally added multiple matches using group elements
+       * added shortcut to dump brush (type ":DB" in editor) for use in forum
+
+2004-01-17
+       * added new start movement type "previous" for continued CE movement
+       * added new start movement type "random" for random CE movement start
+
+2004-01-17
+       * added new element "sokoban_field_player" needed for Sokoban levels
+         (thanks to Ed Booker for pointing this out!)
+
+2004-01-15
+       * added elements that can be digged or left behind by custom elements
+
+2004-01-12
+       * added group elements for multiple matches and random element creation
+
+2004-01-11
+       * fixed some graphical errors displayed in old levels
+
+2004-01-10
+       * fixed wrong double speed movement after passing closing gates
+
+2004-01-03
+       * added level loader for loading native Emerald Mine levels
+
+2004-01-02
+       * changes for "shooting" style CE movement
+
+2004-01-01
+       * Happy New Year! ;-)
+
+2003-12-27
+       * changed default snap/drop keys from left/right Shift to Control keys
+
+2003-12-27
+       * fixed bug with dead player getting reanimated from custom element
+
+2003-12-14
+       * fixed bug with wrong penguin graphics (when entering exit)
+
+2003-12-14
+       * fixed bug with wrong "Murphy" graphics (when digging etc.)
+
+2003-12-14
+       * version number set to 3.0.9
+
+2003-12-14
+       * version 3.0.8 released
+
+2003-12-13
+       * added function checked_free()
+
+2003-12-13
+       * fixed bug with double nut cracking sound
+         (by eliminating "default element action sound" assignment in init.c)
+
+2003-12-10
+       * fixed crash when no music info files are available
+
+2003-12-07
+       * fixed boring and sleeping sounds
+
+2003-12-05
+       * added "maze runner" and "maze hunter" movement types
+       * added extended collision conditions for custom elements
+
+2003-12-03
+       * added warnings for undefined token values in artwork config files
+
+2003-12-02
+       * added menu entry for level set information to the info screen
+
+2003-12-02
+       * fixed bug with wrong default impact sound for colored emeralds
+
+2003-11-30
+       * added several sub-screens for the info screen
+       * menu text now also clickable (not only blue/red sphere left of it)
+
+2003-11-25
+       * added configurable "bored" and "sleeping" animations for the player
+       * added "awakening" sound for player when waking up after sleeping
 
 2003-11-22
        * added "copy" and "exchange" functions for custom elements to editor
@@ -8,6 +442,9 @@
 2003-11-20
        * added configurable music credits for info screen
 
+2003-11-19
+       * finally fixed tape recording when player is created from CE change
+
 2003-11-18
        * added "editorsetup.conf" for editor element list configuration
 
        * enhanced sniksnak turning movement (two steps instead of only one)
 
 2003-11-10
-       * Version number set to 3.0.8.
+       * version number set to 3.0.8
 
 2003-11-10
-       * Version 3.0.7 released.
+       * version 3.0.7 released
 
 2003-11-09
        * fixed reset of player animation frame when, for example,
          walking, digging or collecting share the same animation
+       * fixed CE with "deadly when touching" exploding when touching amoeba
 
 2003-11-08
        * fixed tape recording when player is created from CE element change
        * fixed bug with player not getting smashed by rock sometimes
 
 2003-10-06
-       * Version number set to 3.0.7.
+       * version number set to 3.0.7
 
 2003-10-06
-       * Version 3.0.6 released.
+       * version 3.0.6 released
 
 2003-10-05
        * added support for MP3 music for SDL version through SMPEG library
        * fixed element tokens for certain file elements with ".active" etc.
 
 2003-09-29
-       * Version number set to 3.0.6.
+       * version number set to 3.0.6
 
 2003-09-29
-       * Version 3.0.5 released.
+       * version 3.0.5 released
 
 2003-09-28
        * now four envelope elements available
        * enhanced (remaining low-resolution) Supaplex graphics
 
 2003-09-13
-       * Version number set to 3.0.5.
+       * version number set to 3.0.5
 
 2003-09-13
-       * Version 3.0.4 released.
+       * version 3.0.4 released
 
 2003-09-12     src/tools.c
        * fixed bug in custom definition of crumbled element graphics
        * fixed bug in multiple config pages code that caused crashes
 
 2003-09-08
-       * Version number set to 3.0.4.
+       * version number set to 3.0.4
 
 2003-09-08
-       * Version 3.0.3 released.
+       * version 3.0.3 released
 
 2003-09-07
        * added music to Supaplex classic level set
        * fixed bug (missing array boundary check) which could crash the game
 
 2003-08-23
-       * Version number set to 3.0.3.
+       * version number set to 3.0.3
 
 2003-08-22
-       * Version 3.0.2 released.
+       * version 3.0.2 released
 
 2003-08-21     src/game.c
        * fixed bug with creating inaccessible elements at player position
        * fixed bug with messing up custom element properties in 3.0.0 levels
 
 2003-08-18
-       * Version number set to 3.0.2.
+       * version number set to 3.0.2
 
 2003-08-18
-       * Version 3.0.1 released.
+       * version 3.0.1 released
 
 2003-08-17     (no source files affected)
        * changed all "classic" PCX image files with 16 colors or less to
        * fixed bug with missing graphic for active red disk bomb
 
 2003-08-07     src/files.c, src/editor.c src/game.c, src/main.h
-       * Extended variable "level.gravity" to "level.initial_gravity" and
+       * extended variable "level.gravity" to "level.initial_gravity" and
          "game.current_gravity" to prevent level setting from being changed
-         by playing the level (keeping the runtime value after playing).
+         by playing the level (keeping the runtime value after playing)
 
-       * Fixed graphics bug when digging element that has 'crumbled' graphic
-         definition, but not 'diggable' graphic definition.
+       * fixed graphics bug when digging element that has 'crumbled' graphic
+         definition, but not 'diggable' graphic definition
 
 2003-08-06
-       * Version number set to 3.0.1.
+       * version number set to 3.0.1
 
 2003-08-05
-       * Version 3.0.0 released.
+       * version 3.0.0 released
 
 2003-08-05
        * various bug fixes; among others:
          - allow Murphy player graphic in levels with non-Supaplex elements
 
 2003-04-07
-       * Various changes.
-       * I have forgotten to document changes for some time.
+       * various changes
+       * I have forgotten to document changes for some time
 
 2002-12-31
-       * Pre-Release Version 2.2.0rc1 released.
+       * pre-release version 2.2.0rc1 released
 
 2002-08-25
-       * Version number set to 2.1.2.
+       * version number set to 2.1.2
 
 2002-08-13
-       * Version 2.1.1 released.
+       * version 2.1.1 released
 
 2002-08-10
-       * Version number set to 2.1.1.
+       * version number set to 2.1.1
 
 2002-08-05
-       * Version 2.1.0 released.
+       * version 2.1.0 released
        
 2002-05-19
-       * Version number set to 2.1.0.
+       * version number set to 2.1.0
 
 2002-04-03 to 2002-05-19       (various source files)
        * graphics, sounds and music now fully configurable