X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=ChangeLog;h=00eea69a1ae883fa8e7ecefff57d0bdfd740a8a3;hp=c1f4a80d430a7b6b0c2f6559d84b5d06a793d90e;hb=0cc0954e9803a0d5d27adc7b112a5c6966226080;hpb=20a30378bfde4264628619380057730df6887972 diff --git a/ChangeLog b/ChangeLog index c1f4a80d..00eea69a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,654 @@ +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 + +2014-01-04 + * fixed remaining text input problems for non-ASCII keys with modifier + * added window scaling options to graphics setup menu + +2014-01-03 + * fixed key code problems with certain keys for SDL2 + (keypad keys not being in numerical order; number of function keys) + * fixed text input problems for text characters using modifier keys + +2014-01-02 + * fixed fullscreen option for SDL2 (using only desktop fullscreen now) + +2013-12-28 + * fixed graphical bugs when using renderer/texture based graphics + +2013-12-23 + * fixed playing certain sounds (menu navigation sound and counting + score sound after solving a level) when "normal sounds" are disabled + +2013-12-16 + * continued porting Rocks'n'Diamonds to Android (levels now playable) + +2013-12-12 + * added SDL2 renderer/texture based graphics frame handling to allow for + "desktop" style fullscreen mode and scaling of game screen/window + +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 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) + +2013-12-07 + * started porting Rocks'n'Diamonds to Android (already shows main menu) + +2013-12-03 + * ported Rocks'n'Diamonds to SDL2 (first simple version that works) + +2013-12-01 + * version number set to 3.3.1.3 + +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" @@ -1566,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 @@ -1740,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) @@ -2131,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. @@ -2168,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" @@ -2186,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". @@ -2202,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.) @@ -2214,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, @@ -2242,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. @@ -2259,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 @@ -2272,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). @@ -2335,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