X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=ChangeLog;h=2469c878cf229ac1e4e1ef9df49af90d5bbb3ed7;hp=7cb65b0a434760098e237a62f368148f48e0a95a;hb=refs%2Fheads%2Freleases;hpb=ec2269c79c8535f2124dd8b0f0780e25d679be2b diff --git a/ChangeLog b/ChangeLog index 7cb65b0a..2469c878 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,456 @@ +2013-11-24 + * version 3.3.1.2 released + +2013-11-20 + * improved error handling: display error message on screen (not only in + the error file or on the console), and display path of the error file + +2013-11-13 + * fixed problem with R'n'D restarting with same level set that may have + caused a problem (and therefore failing again and again); after an + error, the last level set is now deactivated in file "levelsetup.conf" + to restart with default level set (which should work without error) + +2013-11-07 + * fixed determining main game data directory on Mac OS X "Mavericks" + +2013-11-04 + * version number set to 3.3.1.2 + +2013-11-04 + * version 3.3.1.1 released + +2013-11-03 + * added scripts directory to distribution package to enable building + element definitions after editing artwork config source code files + +2013-10-26 + * added volume controls for sounds, loops and music to sound setup + +2013-10-24 + * version number set to 3.3.1.1 + +2013-10-23 + * version 3.3.1.0 released + +2013-10-21 + * version number set to 3.3.1.0 + +2012-10-13 + * fixed display of level time switching from ascending to descending + when making use of the "time orb bug" (see element setting in editor) + (see level 053 of set "rnd_equinox_tetrachloride_ii" for an example) + * fixed graphics performance problems (especially on Mac OS X) by using + whole-playfield redraw on SDL target, while still using the previous + single-tile redraw method on X11 target (using redraw tiles threshold) + +2011-10-07 + * fixed code (esp. random/tape handling) when compiled on 64-bit systems + (by replacing all "long" types by "int" types) + +2010-11-19 + * fixed nasty bug (affecting crumbled graphics) after adding new special + graphics suffix ".TAPE" (and messing some things up in src/main.c) + +2010-08-04 + * fixed wrong argument order in DrawTextBuffer() in gadgets.c + (this caused fonts in envelope config in level editor being invisible) + +2010-07-19 + * fixed some problems with half tile size and even tile sized playfields + +2010-07-12 + * added level selection screen (when clicking on main menu level number) + * added level tracing (played, solved) for use in level selection screen + (to display already played or solved levels in different font color) + +2010-06-24 + * added alternative game mode for playing with half size playfield tiles + * fixed another memory violation bug in the native Supaplex game engine + (this potential memory bug was also in the original Megaplex code, but + apparently only occured under rare conditions triggered by using the + additional added preceding playfield memory area to make a few strange + levels using dirty off-playfield tricks (bugs) like "12s033.sp" also + solvable (this all worked fine in the classic DOS version, of course)) + +2010-06-23 + * added graphics performance optimization to native Supaplex game engine + * fixed bug with accidentally removing preceding buffer in SP engine + * moved some editor graphics from "RocksDoor.pcx" to "RocksMore.pcx" + (to prevent compatibility mapping of these newer graphics to older + (custom) versions of "RocksDoor.pcx" which did not contain them yet) + +2010-06-18 + * added separately configurable game panel background to graphics config + * fixed displaying Supaplex time (now based on 35 fps instead of 50 fps) + +2010-06-16 + * added tape panel graphics and screen positions to graphics config + +2010-06-15 + * added compatibility stuff for redefined "global.door" (which affects + all parts of that image that have their own graphics definition now) + +2010-06-14 + * added sound button graphics to graphics config + +2010-06-13 + * added tape button graphics and screen positions to graphics config + +2010-06-09 + * improved single step mode in R'n'D, EM and SP engines + +2010-06-08 + * version number set to 3.3.0.2 + +2010-06-08 + * version 3.3.0.1 released + +2010-06-08 + * added configurable key shortcuts for snap+direction player actions + (probably most useful for recording tool-assisted speedrun (TAS) + tapes using the single-step mode of the tape recorder) + +2010-05-28 + * version number set to 3.3.0.1 + +2010-05-25 + * version 3.3.0.0 released + +2010-05-22 + * fixed missing memory allocation in SP engine when saving engine data + for non-SP game engine snapshots (which also stores SP engine part) + +2010-05-21 + * fixed problem with scrolling in native EM engine in multi-user mode + (this bug was just introduced with the experimental viewport stuff) + * fixed animation of splashing acid in EM engine with classic artwork + * fixed animation of cracking nut in EM engine with classic artwork + * fixed (implemented) single step mode in native EM and SP engines + * fixed "latest_engine" flag in classic levels (moved to single sets) + * updated SDL library DLLs for Windows to the latest release versions + (this fixed some mysterious crashes of the game on Windows systems) + * replaced EM and SP set in classic level set with native level files + * finally added a newly written "CREDITS" file to the game package + * removed sampled music loops from classic music set + +2010-04-20 + * changed native Emerald Mine engine to support different viewport sizes + +2010-04-19 + * changed native Supaplex engine to support different viewport sizes + +2010-04-07 + * added initial, experimental support for different viewport properties + (with "viewports" being menu/playfield area and doors; currently the + size of the menu/playfield area and door positions can be redefined) + +2010-04-02 + * added initial, experimental support for different window sizes + +2010-03-27 + * added support for native Sokoban solution files in pure 'udlrUDLR' + format with extension ".sln" instead of ".tape" for solution tapes + +2010-03-26 + * added image config suffix ".class" to be able to define classes of + crumbled elements which are then separated against each others when + drawing crumbled borders (class names can freely be defined) + (Example: "sand.CRUMBLED.class: sand" and "emc_grass.CRUMBLED.class: + emc_grass" results in sand and emc_grass being crumbled separately, + even if directly adjacent on the playfield.) + * added image config suffix ".style" to use two new features for + crumbled graphics: + - "accurate_borders": try to draw correctly crumbled corners (which + means that a row of crumbled elements does not have two crumbled + corners for each element in the row, but only at the "real" corners + at the start and the end of the row of elements) + - "inner_corners": also draw inner corners in concave constructions + of several crumbled elements -- this is currently a big kludge: the + number of frames for crumbled graphic must be "2", with the first + frame as usual (crumbled graphic), while the second frame contains + the graphic with inner (crumbled) corners for the crumbled graphic + (These two features are mainly intended for bevelled walls, not for + diggable elements like sand; "inner_corners" only works reliably for + static walls, not for in-game dynamically changing walls using CEs.) + +2010-03-16 + * finished code cleanup of native Supaplex game engine + +2010-03-14 + * started code cleanup of native Supaplex game engine + +2010-03-13 + * integrated playing sound effects into native Supaplex game engine + +2010-03-10 + * added configurable key shortcuts for the tape recorder buttons + +2010-03-09 + * added (hidden) function to save native Supaplex levels with tape as + native *.sp file containing level with demo (saved with a file name + similar to native R'n'D levels, but with ".sp" extension instead of + ".level"); to use this functionality, enter ":save-native-level" or + ":snl" from the main menu with the native Supaplex level loaded and + the appropriate tape loaded to the tape recorder + * fixed potential crash bug caused by illegal array access in engine + snapshot loading and saving code + * changed setting permissions of score files to be world-writable if + the program is not installed and running setgid to allow the program + to modify existing score files when run as a different user (which + allows cheating, of course, as the score files are not protected + against modification in this case) + * added (commented out) suggestions for RO_GAME_DIR and RW_GAME_DIR to + the top level Makefile for Debian / Ubuntu installations + * added saving read-only levels from editor into personal level set + (thanks to Bela Lubkin for the above four patches) + +2010-03-03 + * added updating of game values on the panel to Supaplex game engine + +2010-02-23 + * finished integrating R'n'D graphics engine into Supaplex game engine + (although some animations do not support full customizability yet) + +2010-02-22 + * done integrating R'n'D graphics engine into file "Infotron.c" + * done integrating R'n'D graphics engine into file "OrangeDisk.c" + +2010-02-19 + * integrated engine snapshot functionality into Supaplex game engine + +2010-02-16 + * fixed bug in native Supaplex engine that broke several demo solutions + * fixed bug with re-initializing already existing elements in function + RelocatePlayer() in src/game.c (causing problems with Sokoban fields + counted a second time, making the currently playing level unsolvable) + * done integrating R'n'D graphics engine into file "SnikSnaks.c" + * done integrating R'n'D graphics engine into file "Electrons.c" + * done integrating R'n'D graphics engine into file "Zonk.c" + +2010-02-14 + * done integrating R'n'D graphics engine into file "Murphy.c" + * done integrating R'n'D graphics engine into file "BugsTerminals.c" + +2010-02-07 + * started integrating R'n'D graphics engine into Supaplex game engine + +2010-02-02 + * added small kludge that allows transparent pushing animation over + non-black background (by using "game.use_masked_pushing: true") + * added editor flag to Sokoban field/object elements to automatically + finish solved Sokoban style levels (even if they contain non-Sokoban + elements, which prevents auto-enabling this feature for such levels) + +2010-01-10 + * added new element "from_level_template" which is replaced by element + from level template at same playfield position when loaded (currently + not accessible from level editor, but only used for special Sokoban + level conversion when using "special_flags: load_xsb_to_ces") + * added special behaviour for "special_flags: load_xsb_to_ces": global + settings of individual level files are overwritten by template level + (except playfield size, level name, level author and template flag) + +2010-01-07 + * added handling of gravity ports when converting Supaplex style R'n'D + levels to native Supaplex levels for playing with Supaplex engine + +2010-01-06 + * fixed bug in Supaplex engine regarding initial screen scroll position + +2009-12-17 + * fixed EMC style pushing animations in the R'n'D graphics engine (when + using ".2nd_movement_tile" for animations having start and end tile) + * for this to work (look) properly for two-tile pushing animations with + non-black (i.e. opaque) background, the pushing graphics drawing order + was changed to first draw the pushed element, then the player (maybe + this should be controlled by an ".anim_mode" flag yet to be added) + * two-tile animations for moving or pushing should have 7 frames for + normal speed, 15 frames for half speed etc. to display correct frames + * two-tile animations are also displayed correctly with different speed + settings for the player (for pushing animations) or moving elements + +2009-12-16 + * added searching for template level (file "template.level") not only + inside the level set directory, but also in above level directories; + this makes is possible to use the same single template level file + (placed in a level group directory) for many level sub-directories + +2009-12-10 + * fixed bug with steel exit being destructible during opening phase + * added token "special_flags" to "levelinfo.conf" (currently with the + only recognized value "load_xsb_to_ces", doing the same as the flag + "-Dload_xsb_to_ces" on the command line, but as a permanent flag for + converting all elements in native (XSB) Sokoban level files to CEs) + +2009-12-08 + * fixed some problems with Supaplex engine when compiling for Windows + +2009-12-05 + * added special mode to convert elements of Sokoban XSB levels to CEs + by adding "-Dload_xsb_to_ces" to the command line starting the game + (also adding a dependency to a template level file "template.level") + +2009-12-01 + * added reading native Sokoban levels and level packages (XSB files) + +2009-11-25 + * fixed bugs in (auto)scrolling behaviour when passing ports or when + wrapping around the playfield through "holes" in the playfield border + +2009-11-24 + * changed internal playfield bitmap handling from playfield sized bitmap + to screen sized bitmap (visible scrolling area), therefore speeding up + graphics operations (by eliminating bitmap updates in invisible areas) + and removing playfield size limitations due to increasing bitmap size + for larger playfield sizes (while the new implementation always uses + a fixed playfield bitmap size for arbitrary internal playfield sizes) + +2009-11-12 + * fixed bug with single step mode (there were some cases where the game + did not automatically return to pause mode, e.g. when trying to push + things that cannot be pushed or when trying to run against a wall) + +2009-11-01 + * added support for loading Supaplex levels in MPX level file format + +2009-10-31 + * fixed SP engine to set "game over" not before lead out counter done + +2009-10-30 + * fixed (potential) compile error when using GCC option "-std=gnu99" + (thanks to Tom "spot" Callaway) + +2009-10-28 + * fixed array allocation in native Supaplex engine to correctly handle + preceding scratch buffers (needed because of missing border checking) + * fixed playfield initialization to correctly add raw header bytes as + subsequent scratch buffer (needed because of missing border checking) + +2009-10-24 + * most important parts of native Supaplex engine integration working: + - native Supaplex levels can be played in native Supaplex engine + - native Supaplex level/demo files ("*.sp" files) can be re-played + - all 111 classic original Supaplex levels automatically solvable + - native Supaplex engine can be selected and used from level editor + - logic of re-playing Supaplex demos migrated to R'n'D tape logic + +2009-09-25 + * fixed another translation problem from VisualBasic to C (where "int" + should be "short") causing unsolvable demos with bugs and terminals + ("bugs" being related to the Supaplex "buggy base" element here ;-) ) + +2009-09-23 + * fixed bug when reading Supaplex single level files (preventing loader + from seeking to level position like in Supaplex level package files) + +2009-08-01 + * first classic Supaplex level running and solved by solution/demo tape + +2009-06-20 + * started with integration of native Supaplex engine, using source code + of Megaplex from Frank Schindler, based on original Supaplex engine + +2009-06-16 + * version number set to 3.2.6.2 + +2009-06-15 + * version 3.2.6.1 released + +2009-05-31 + * fixed bug with element_info[e].gfx_element not being initialized in + early game stage, causing native graphics in EMC level sets to be + mapped completely to EL_EMPTY (causing a blank screen when playing) + (this only happened when starting the program with an EMC set with + native graphics, but not when switching to such a set at runtime) + +2009-03-30 + * deactivated blit-to-same-surface workaround again (see 2009-03-24) + and using self-compiled, patched SDL.dll that solves this problem + (interim solution until release of SDL 1.2.14 that should fix this) + +2009-03-26 + * extended backwards compatibility mode to allow already fixed bug with + change actions (see "2008-02-05") for existing levels (especially the + Zelda and Zelda II levels and other cool stuff by Alan Bond like FMV) + +2009-03-24 + * reactivated workaround to prevent program crashes due to blitting to + the same SDL surface that apparently only occurs on Windows systems + (this is no final solution; this problem needs further investigation) + +2008-11-05 + * version number set to 3.2.6.1 + +2008-11-04 + * version 3.2.6.0 released + +2008-10-11 + * fixed behaviour of player option "no centering when relocating" which + was incorrect when disabled and relocation target inside visible area + and "no scrolling when relocating" enabled at the same time + +2008-10-06 + * fixed problems with re-mapping players on playfield to input devices: + previously, players found on the level playfield were changed to the + players connected to input devices (for example, player 3 in the level + was changed to player 1 (using artwork of player 3, to be able to use + a player with a different color)); this had the disadvantage that CE + conditions using player elements did not work (because the players in + the level definition are different to those effectively used in-game); + the new system uses the same player elements as defined in the level + playfield and re-maps the input devices of connected players to the + corresponding player elements when playing the level (in the above + example, player 3 now really exists in the game and is moved using the + events from input device 1); level tapes still store the events from + input devices 1 to 4, which are then re-mapped to players accordingly + when re-playing the tape (just as it is done when playing the level) + +2008-09-29 + * fixed bug with player relocation while the player switches an element + +2008-09-24 + * fixed bug with EM/DC style exit and EM/DC style steel exit which was + not walkable (and did not let the player enter) when in process of + opening, but not fully open yet (which can cause the player not being + able to enter the exit in EM/DC style levels in time) + +2008-08-02 + * fixed some bugs regarding the new level/CE random seed reset options + +2008-07-14 + * moved "level settings" and "editor settings" to two tabbed screens in + level editor to gain space for additional level property settings + * added level setting to start a level with always the same random seed + * added CE action "set random seed" to re-initialize random seed in game + (this is the only CE action that gets executed before the CE changes, + which is needed to use the newly set random seed during the CE change) + +2008-06-16 + * fixed redraw problem of special editor door when playing from editor + +2008-06-16 + * fixed initialization of gfx_element for level sketch image creation + +2008-06-15 + * added switch for EM style dynamite "[ ] explodes with chain reaction" + (with default set to "on" for existing levels, but "off" for all new + levels), as EM style dynamite does not chain-explode in original EM + +2008-02-05 + * added optional initial inventory for players (pre-collected elements) + * added change page actions "set player inventory" and "set CE artwork" + * added recognition of "player" parameter on change pages when player + actions are defined, but no trigger player in corresponding condition + (this resulted in actions that only affected the first player before) + * fixed bug with change actions being executed for newly created custom + elements resulting from custom element changes, when the intention was + only to check for change actions for the previous custom element + +2008-02-03 + * changed design and size of element drawing area in level editor + * added "element used as action parameter" to element change actions + 2008-01-27 * added possibility to reanimate player immediately after his death (for example, by "change to when explosion of ")