X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=ChangeLog;h=00eea69a1ae883fa8e7ecefff57d0bdfd740a8a3;hp=161577373a3678d7313b6580eee99cff265653a0;hb=f999c2cc67c71aacefe65d40d06834d8af854137;hpb=b06464b4dc26c0e31ef0bca48b31a4dfbdd549e6 diff --git a/ChangeLog b/ChangeLog index 16157737..00eea69a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,377 @@ +2015-06-21 + * extended automatic tape playing modes: + - "autotest" to automatically test tapes (this was "autoplay" before) + - "autoplay" to automatically play tapes (visibly) + - "autoffwd" to automatically play tapes (visibly, with maximum speed) + +2015-06-16 + * fixed and enhanced screen fading and background/border handling + +2015-05-31 + * added setup option to enable/disable (now optional) snapshot buttons + +2015-04-22 + * added lag prevention to door/request/envelope animations + +2015-04-15 + * added option "program_icon_file" to run-time "special edition" support + +2015-04-14 + * added run-time "special edition" support; + this change is especially targeted to the "R'n'D jue" special edition + of R'n'D, which changed some defaults at compile-time in previous + versions, like: + - using a different default artwork set (with fallback artwork for + classic artwork not existing in the special edition), + - using a different default level set, + - using a different program name and user data directory, + - starting with different default setup values and + - using custom artwork even at a very early stage of startup + (like initial fonts and initial loading/busy animation); + these changes can now all be accomplished at run-time by using a new + program-specific configuration file in the same location and with the + same name as the game binary (minus a potential binary file extension + ".exe", plus a configuration file extension ".conf", so a binary file + "rnd_jue.exe" would be complemented by a new file "rnd_jue.conf" in + the same directory); + this config file can contain all options found in "setup.conf" plus + the following new, internal "special edition" default settings: + - program_title (like "R'n'D jue") + - program_author (like "Juergen Bonhagen") + - program_email (like "jue@artsoft.org") + - program_website (like "http://jue.artsoft.org/") + - program_copyright (like "(c) 2015 by jue") + - program_company (like "A game by jue") + - default_graphics_set (like "jue0") + - default_sounds_set (like "jue0") + - default_music_set (like "jue0") + - fallback_graphics_file (like "fallback.png") + - fallback_sounds_file (like "fallback.wav") + - fallback_music_file (like "fallback.wav") + - default_level_series (like "jue_start") + - choose_from_top_leveldir ("true" or "false") + where the "default" artwork set definitions are used to specify new + default artwork that replaces the "classic" artwork sets, while the + "fallback" settings specify artwork files used for all artwork files + that would exist in the classic artwork sets, but are not defined or + cannot be found in the new default artwork set; the program title is + used for things like window title, title screens and user data folder + name, and the entry point for choosing a level set can be changed + from the current level set location to the topmost level tree node + +2015-04-07 + * added sound definitions for pressing and releasing main menu buttons + +2015-03-31 + * fixed slow tape quick-loading due to unneeded tape area update + +2015-03-30 + * replaced stop/play buttons in game panel with save/load buttons + +2015-03-24 + * added step-based engine snapshots to undo/redo single steps in game + +2015-03-19 + * fixed (swapped) editor zoom directions for '-' and '+' (keypad) keys + +2015-03-18 + * added dynamically configurable graphics and layout of editor gadgets + +2015-03-11 + * fixed (swapped) editor zoom directions for left and right mouse button + +2015-03-10 + * added main menu backlink to level set selection screen + +2015-03-07 + * added support for gadget-like pressable menu buttons on main screen + +2015-03-02 + * added classic graphics, sounds and music to git repository + * added classic level sets to git repository + * added element description files to git repository + * changed mouse cursor on title screens not being always invisible + * added manually edited non-preset audio volume values to select list + (if sound, loops or music volume was manually edited in "setup.conf") + +2015-02-27 + * fixed using "background.TOOLBOX", which was simply ignored before + +2015-02-23 + * added key pad '-', '+' and '0' keys to zoom function in level editor + * changed editor key shortcut for undo/redo to 'u' and 'Shift-u' + * fixed using 'PageUp' and 'PageDown' keys for element list in editor + +2015-02-21 + * added 1%, 2% and 5% to volume controls for sound and music settings + +2015-02-14 + * fixed bug with editor border element not adjusted after resizing level + * changed unused playfield from "default" to "empty" after loading level + * increased number of undo/redo steps in level editor from 10 to 64 + +2015-02-13 + * added zoom functionality for playfield drawing area to level editor + (use left, right and middle mouse buttons on new "zoom" toolbox button + or use keys '-', '+' and '0' to zoom out, in or reset to default size) + +2015-02-11 + * fixed bug not updating game panel values in visible warp forward mode + +2015-02-10 + * changed position of CE/GE use/save template gadgets to be visually + separated from other CE/GE gadgets (to prevent accidental use) + * fixed bug in editor when using undo after rotating level repeatedly + * added 'redo' functionality to editor (by pressing 'undo' with right + mouse button or by using key shortcut "Shift-R") + +2015-02-04 + * added configurability of editor control buttons (toolbox buttons) + +2015-02-03 + * finished configurability of tape date and time display positions + * fixed bug with game buttons in tape area not properly redrawn + * fixed small graphical bug with default tape time display position + * added optionally configurable game frame counter to tape display + +2015-02-02 + * fixed configurability of editor element palette (for columns != 4) + +2015-01-29 + * improved configurability of tape date and time display positions + * added configurability of element properties button in editor + * added build dependency for auto-conf files + +2015-01-27 + * added looking for editor element descriptions in level set directory + (for example, in file "/docs/elements/custom_1.txt") + +2015-01-25 + * moved "element properties" button in editor from toolbox to palette + * added "zoom level tile size" button in editor to toolbox (currently + no function behind it; will be used to zoom level editor playfield) + * added key shortcuts '1' to '3' to view properties of drawing elements + * fixed gadget display bug in editor (door 1 area) after test playing + * fixed bugs when changing drawing area gadgets (like group elements) + +2015-01-19 + * re-enabled editor palette element options in setup configuration file + +2014-12-13 + * fixed loading custom PCX image files with default artwork file names + (like "RocksDoor.pcx") which are not redefined in artwork config file + (this is a special fix for Zelda 2 and probably some other existing + level sets which use new graphics which are not defined in the file + "graphicsinfo.conf", but use a file name of one of default graphics + (like "RocksScreen.pcx"); this did not work anymore for PCX files + since the default graphics files have been changed to PNG files, so + different file names are checked now (like "RocksScreen.png"), so if + the PNG files cannot be found, the old PCX files are also checked) + +2014-12-03 + * added some more graphics customization options for the level editor: + - editor.button.prev_level (position) + - editor.button.next_level (position) + - editor.input.level_number (position) + - editor.palette.tile_size (tile size for palette elements) + - editor.palette.element_left.tile_size (draw element tile size) + - editor.palette.element_middle.tile_size (draw element tile size) + - editor.palette.element_right.tile_size (draw element tile size) + - editor.input.gfx.level_number (current level number input field) + +2014-11-22 + * fixed menu display bugs caused by drawing outside menu area (again) + +2014-11-19 + * fixed broken door animations when switching between custom graphics + +2014-11-06 + * fixed layout for "level set info" to support custom playfield size + * fixed changing from title to info screen with custom playfield size + +2014-11-02 + * fixed bug with not updating default bitmap pointer for scaled images + * fixed redraw/fade bugs when redefining the playfield size or position + +2014-10-27 + * fixed some smaller issues with loading custom artwork + +2014-10-22 + * added warnings when using undefined element and graphic names in + custom artwork definitions (like ".crumbled_like" or ".clone_from") + * added setting default filenames for all cloned graphics in static + graphics configuration on startup (to be able to fall back later) + +2014-10-20 + * fixed using buttons on main screen with size other than 32x32 pixels + * fixed some initialization bugs for scrollbars and main screen buttons + * fixed bug when drawing non-element graphics (without separate in-game + graphic/bitmap defined) while non-standard game tile size is defined + +2014-10-17 + * removed some remaining unused X11 stuff + * fixed bug with potentially suppressed exit error message on startup + +2014-10-16 + * fixed bug not loading tape when selecting level from level selection + screen (thanks to filbo for finding this bug and supplying a patch) + +2014-10-15 + * fixed menu display bugs (drawing outside menu area with draw offset) + * fixed menu key navigation bugs (when using smaller menu list size) + +2014-10-14 + * added support for animated door parts during opening/closing movement + +2014-10-13 + * added automatic detection of normal/steel character elements in level + editor when drawing text (depending on currently selected element) + +2014-10-13 + * eliminated historical ISO-8859-1 characters from source code files + (but still using them internally for special character encodings) + * changed output of special character for level sketch brushes to UTF-8 + +2014-10-08 + * added handling of unselectable selectbox options and option headlines + +2014-10-07 + * fixed bug when changing between graphic sets with different tile size + * cleanup of handling the various graphic sizes for different purposes + (like 32x32, 16x16 etc.); this change was needed for the bugfix above + +2014-10-02 + * added virtual keyboard on Android port when entering player name + +2014-10-01 + * fixed "quick menu doors" and sounds for door and envelope requests + +2014-09-29 + * fixed display bugs with certain custom menu definitions regarding the + hall of fame (high scores) and setup screens that require scrolling + (these display bugs showed up with custom menu graphics of R'n'D jue) + +2014-09-28 + * fixed bug with animation frames per line with non-standard tile size + (relevant for example for 64x64 sized frames continued on next row) + +2014-09-22 + * removed checking of file identifier tokens for configuration files + +2014-09-19 + * fixed bug where player actions were only mapped in team mode + (this broke four tapes in automatic game engine unit test where + old levels contained a non-yellow player, like rnd_abby_king, 011) + +2014-09-15 + * removed large parts of the preprocessor hell of old and unused code + +2014-09-14 + * updated source file headers (mainly author contact information) + +2014-09-11 + * added key shortcuts for window scaling and toggling fullscreen mode: + - Ctrl-'+', Ctrl-'-' and Ctrl-'0' for up/downscaling and normal size + - "F11" key for toggling fullscreen mode (in addition to Alt-Enter) + +2014-09-10 + * fixed some drawing bugs when scaling graphics due to "game.tile_size" + * added some performance improvements when handling SDL surface scaling + +2014-09-04 + * added custom graphics property "game.tile_size" to define in-game tile + size (this defines the tile size actually displayed on the playfield); + tile graphics will either be scaled to the defined game tile size or + have to be specified with the same image size (using ".tile_size") + +2014-09-01 + * added custom graphics property ".tile_size" to define tile image size + for game element graphics (like "custom_1.tile_size"); non-standard + sized images will then be scaled accordingly to standard tile size + +2014-08-30 + * fixed music still being played in Android version when in background + +2014-08-30 + * added Android "menu" button to be treated as "yes" requester button + (while the Android "back" button was already treated as "no" button) + +2014-08-28 + * added command line options "--version" / "-V" to show program version + (also shows SDL library versions when prefixed with "--debug" option) + +2014-08-27 + * error file set to unbuffered to prevent truncation in case of crashes + +2014-08-19 + * fixed bug causing wrong screen updates while playing (whole screen + update from backbuffer instead of playfield buffer if REDRAW_ALL set) + * fixed nasty (typo) bug in native EM engine causing broken player + graphics when using different (redefined) playfield size + +2014-08-18 + * fixed bug causing EM/EMC graphics sets containing original 16x16 tiles + to be displayed incorrectly (with broken scaling) when switching + between small and normal game graphics (thanks a lot to filbo for + analyzing and describing how to exactly reproduce this bug) + +2014-05-15 + * removed MS-DOS support + * removed native X11 support (X11 now only supported via SDL/SDL2) + +2014-05-14 + * cleanup of functions RedrawPlayfield() and BlitScreenToBitmap() + +2014-05-13 + * fixed level redraw after quick-loading tape with small tile graphics + +2014-03-03 + * added compatibility code for existing request door animation settings + +2014-03-01 + * added ultra-generic, ultra-flexible request door animation handling + +2014-02-18 + * fixed major bugs in handling single-player and multi-player tapes + (for details, see http://www.artsoft.org/forum/viewtopic.php?t=2086) + +2014-02-13 + * fixed various problems with playfield and requester/tape/editor doors + defined to be at non-standard screen positions in artwork config file + +2014-01-28 + * added envelope style requester dialog (alternative to door requester) + +2014-01-27 + * fixed problems with window scaling and updating related setup value + * added setup option to select anti-aliasing quality of scaled windows + +2014-01-17 + * improved speed of displaying progress when loading levels and artwork + * changed fullscreen and window scaling changes in setup menu to have + immediate effect (instead of being effective after leaving setup menu) + +2014-01-15 + * fixed toons stopping on continuous touch events on Mac OS X + +2014-01-14 + * fixed bug when displaying game envelope with even sized playfield + * added graphic configuration options for request (dialog) buttons + +2014-01-13 + * fixed some redraw bugs with window scaling under Mac OS X + +2014-01-10 + * fixed problems with window scaling and updating related setup value + +2014-01-07 + * fixed problems related to fullscreen switching and window scaling + +2014-01-06 + * fixed inconsistent custom artwork constants numbering in src/main.h, + src/screen.c and src/conf_gfx.c (this really should be cleaned up) + (this bug caused custom artwork definition to set wrong variable) + 2014-01-05 * fixed using fullscreen mode on Android instead of pseudo-window mode * fixed keeping desktop fullscreen mode when changing viewport size @@ -31,8 +405,8 @@ 2013-12-11 * removed limitation of artwork files to selected file types (this means that every file type supported by SDL_image and SDL_mixer can be used) - * changed default graphics vom PCX to PNG (needed for Android version to - prevent painfully slow loading of images, although not compressing PCX + * changed default graphics from PCX to PNG (needed for Android version + to prevent painfully slow image loading, although not compressing PCX files in the assets directory of the APK package might also work fine) * fixed bug with SDL_BlitSurface creating garbage when source and target surface are the same (this bug also existed in versions of SDL 1.2.x) @@ -1839,8 +2213,8 @@ * 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) + * 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 @@ -2013,7 +2387,7 @@ (reported by Simon Forsberg) * fixed bug which could cause an array overflow in RelocatePlayer() - (reported by Niko Böhm) + (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) @@ -2404,24 +2778,59 @@ 2002-12-31 * pre-release version 2.2.0rc1 released +2002-08-25 src/libgame/setup.c, src/libgame/sound.c + * Level series artwork now configurable via level series config file. + "levelinfo.conf" may now contain directives "graphics_set", + "sounds_set" and "music_set" to select artwork sets which are + globally defined or which are included into other level series. + 2002-08-25 * version number set to 2.1.2 2002-08-13 * version 2.1.1 released +2002-08-10 src/libgame/system.h + * Default "snap" and "bomb" keys for Mac OS X set to left control key + and keypad enter key -- Macs seem not to distinguish between left + and right modifier keys (both generate scan code for left key). :-( + +2002-08-10 src/libgame/sound.c + * Fixed small NetBSD compilation bug. + Thanks to Adam Ciarcinski for the bug report. + +2002-08-10 src/libgame/sound.c + * Added support for audio device "/dev/sound/dsp" (devfs). + Thanks to Christoph Bauer for the corresponding report. + +2002-08-10 src/libgame/sound.c + * Bug fixed that caused regular crashes under SDL/Windows version. + Mixer_InsertSound(): Always stop music before playing new music, + else "mixer_active_channels" can get fucked up. + Thanks to Keith Peterston for the bug report. + 2002-08-10 * version number set to 2.1.1 2002-08-05 * version 2.1.0 released - + +2002-05-31 src/libgame/image.c + * Read_PCX_to_Pixmap(): Fixed bad memory leak by freeing "ximageinfo" + and "image" after converting loaded PCX image file to X11 Pixmap. + This really showed up when reloading custom artwork several times. + +2002-05-20 src/libgame/sound.c + * added support for 16 bit WAV sound files + 2002-05-19 * version number set to 2.1.0 2002-04-03 to 2002-05-19 (various source files) * graphics, sounds and music now fully configurable * bug fixed that prevented walking through tubes when gravity on + * added support for TrueColor PCX graphics files + * enhanced sound system (especially regarding stereo and loop sounds) 2002-04-02 src/events.c, src/editor.c * Make Escape key less aggressive when playing or when editing level. @@ -2441,6 +2850,16 @@ automatically gets created by "src/Makefile" and contains an actual compile-time timestamp to identify development versions of the game). +2002-04-01 src/libgame/misc.c + * Added (currently incomplete) function "getKeyFromKeyName()" simply + for orthogonality. When really needed, this function must be + extended accordingly (analog to "getKeyFromX11KeyName()"). + +2002-04-01 src/libgame/setup.c + * Changed setup "TYPE_KEY" (internal, X11 style key symbol name) to + "TYPE_KEY_X11" and added "TYPE_KEY" (human readable key symbol name). + (This was needed for custom key setup handling in "src/screens.c".) + 2002-03-31 src/tape.c, src/events.c * Added quick game/tape save/load functions to tape stuff which can be invoked by a keyboard shortcut. Default: "F1" saves game/tape, "F2" @@ -2459,10 +2878,32 @@ 2002-03-30 src/cartoons.c * Moved some stuff from cartoons.c to the new "src/libgame/toons.c". +2002-03-30 src/libgame/toons.c + * New libgame source file "toons.c" for the program independant part + of the toon stuff. + 2002-03-29 src/screen.c * Changed setup screen stuff to be more generic (to make it easier to add more setup screens). +2002-03-29 src/libgame/setup.c + * Changed "LoadLevelInfoFromLevelDir()" so that not only directories + with level sub-directories are recognized, but also directories + that directly contain level files. + +2002-03-29 src/libgame/sound.c + * Changed "boolean stereo = TRUE;" to "static boolean stereo = TRUE;". + (This was a bug that showed up only when in mono audio mode.) + +2002-03-24 src/libgame/x11.c, src/libgame/sdl.c, src/libgame/image.c + * Changed image loading code to not exit on error, but set error by + using "SetError()" accordingly. Image loading errors must now be + catched by above layers (src/init.c for example). + +2002-03-24 src/libgame/misc.c + * New functions "SetError()" and "GetError()" to provide more + flexible error handling. + 2002-03-23 src/main.c, src/main.h * Various changes due to the introduction of the new libgame files "setup.c" and "joystick.c". @@ -2475,6 +2916,18 @@ * File "src/joystick.c" moved to libgame source tree, with correspondig changes. +2002-03-23 src/libgame/system.c, src/libgame/system.h + * Various changes due to the introduction of the new files "setup.c" + and "joystick.c". + +2002-03-23 src/libgame/setup.c + * New libgame source file "setup.c" that contains now most setup and + level directory stuff previously handled in "src/files.c". + +2002-03-23 src/libgame/joystick.c + * New libgame source file "joystick.c" that contains now all joystick + stuff previously handled in "src/joystick.c" of "Rocks'n'Diamonds". + 2002-03-22 src/screens.c * "HandleChooseLevel()": Another bug in level series navigation fixed. (Wrong level series information displayed when entering main group.) @@ -2487,6 +2940,19 @@ intuitive: When in "Element Properties" or "Level Info" mode, return to "Drawing Mode" instead of leaving the level editor. +2002-03-22 src/libgame/misc.c, src/libgame/sound.c + * Added command line option "-s" / "--sounds" and "-m" / "--music" + to specify alternative sound and music directories. (The former + shortcut "-s" for "--serveronly" has changed accordingly.) + +2002-03-22 src/libgame/gadgets.c + * Added new gadget events for displaying gadget info texts: + "GD_EVENT_INFO_ENTERING" and "GD_EVENT_INFO_LEAVING". Before, + the info text callback function was only called when entering + a gadget (implicit "GD_EVENT_INFO_ENTERING"). But the info text + was never erased. This can now be done by checking the event type + in the info callback function. + 2002-03-21 src/game.c, src/editor.c, src/files.c * 2.0.1 introduced the corrected "Emerald Mine" style behaviour of gems (emeralds, diamonds, ...) slipping down from normal wall, @@ -2515,12 +2981,29 @@ compiling the SDL version on some systems. Thanks to the several people who pointed this out. +2002-03-20 src/libgame/gadgets.c + * "va_arg(ap, boolean)" changed to "(boolean)va_arg(ap, int)"; + this caused problems especially on PowerPC architecture (although + it is wrong on i386 and other architectures, too) + +2002-03-20 src/libgame/pcx.c, src/libgame/image.c + * Added support for loading and displaying true-color PCX files. + +2002-03-20 src/libgame/misc.c, src/libgame/x11.c + * Added command line option "-g" / "--graphics" to specify an + alternative graphics directory. + 2002-03-19 * Version number set to 2.0.2. 2002-03-19 * Version 2.0.1 released. +2002-03-19 src/libgame/system.c, src/libgame/sdl.c [src/tools.c] + * Moved function "GetPixel()" from src/tools.c ("Mirror Magic" code) + to libgame source files; needed for SDL fullscreen bug workaround + to work correctly. + 2002-03-18 src/screens.c * "HandleChooseLevel()": Small bug in level series navigation fixed. @@ -2532,6 +3015,14 @@ score files) according to suggestions of Debian users and mantainers. Thanks to Drew Parsons for the patch. +2002-03-18 src/libgame/misc.c [src/files.c] + * Moved some common functions from src/files.c to src/libgame/misc.c. + +2002-03-18 src/libgame/misc.c [src/files.c] + * Changed permissions for new directories and saved files (especially + score files) according to suggestions of Debian users and mantainers. + Thanks to Drew Parsons for the patch. + 2002-03-17 src/files.c * Changed "{Load|Save}{Level|Tape}()" to IFF style file format: Replaced "cookie" header string ("ROCKSNDIAMONDS_...\n") with @@ -2545,11 +3036,27 @@ file, and "file version" is a version number to distinguish files with different format, for example after adding new features). +2002-03-17 src/libgame/sound.c + * Bug in "StopMusic()" fixed: SDL_mixer functions may be called + even when sound not available. + Thanks to Drew Parsons for the patch. + 2002-03-15 src/screen.c * "DrawHallOfFame()": "FadeSounds()" when entering the hall of fame. (Before, you heard a mixture of the in-game music and the hall-of-fame music.) +2002-03-15 src/libgame/sound.c, src/libgame/platform.h + * Added /dev/dsp (streaming audio) support for NetBSD (instead of the + /dev/audio (ulaw) based Unix audio interface). + Thanks to Krister Walfridsson for the patches. + +2002-03-15 src/libgame/sdl.c + * Workaround for fullscreen bug in WIN32 version of SDL (at least + in the currently actual version 1.2.3) by using "standard" screen + resolutions like 800x600 and mapping all input (mouse events) and + output (screen drawing) accordingly. + 2002-03-14 src/events.c * Function "DumpTape()" (files.c) now available by pressing 't' from main menu (when in DEBUG mode). @@ -2608,6 +3115,11 @@ * Fixed problem (introduced after 2.0.0 release) with penguins not getting killed by enemies +2002-02-28 src/libgame/sound.c + * Fixed small problem with new SDL_Mixer 1.2.1: + Mix_VolumeMusic() must be called _after_ Mix_PlayMusic(), + or it has no effect. + 2002-02-24 src/game.c, src/main.h * Added "player->is_moving"; now "player->last_move_dir" does not contain any information if the player is just moving at