From 59a0f12212d28da5f2ae9a92c6b7371886dab38c Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Mon, 10 Nov 2003 02:01:20 +0100 Subject: [PATCH] rnd-20031110-1-src * added turning animations for bug, spaceship and sniksnak --- ChangeLog | 436 +++++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile | 2 +- src/conftime.h | 2 +- src/main.h | 8 +- 4 files changed, 440 insertions(+), 8 deletions(-) create mode 100644 ChangeLog diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..2a751c5c --- /dev/null +++ b/ChangeLog @@ -0,0 +1,436 @@ +2003-11-09 + * fixed reset of player animation frame when, for example, + walking, digging or collecting share the same animation + +2003-11-08 + * fixed tape recording when player is created from CE element change + +2003-11-04 + * introduced "turning..." action graphic for elements with move delay + (non-CE: bug, spaceship, sniksnak, mole, pacman, yamyam) + * added turning animations for bug, spaceship and sniksnak + +2003-11-03 + * prevent "extended" changed elements from delay change in same frame + +2003-11-02 + * fixed bug when pushing element that can move away to the side + (like pushing falling elements, but now with moving elements) + +2003-11-01 + * finally fixed serious bug in code for delayed element pushing (again) + +2003-10-19 + * unavailable setup options now marked as "n/a" instead of "off" + * new boolean directive "latest_engine" for "levelinfo.conf": when set + to "true", levels are always played with the latest game engine, + which is desired for levels that are imported from other games; all + other levels are played with the engine version stored in level file + (which is normally the engine version the level was created with) + +2003-10-18 + * fixed serious bug in code for delayed element pushing + * fixed little bug in animation frame selection for pushed elements + * speed-up of reading config file for verbose output + +2003-10-08 + * added configuration option for opening and closing Supaplex exit + * added configuration option for moving up/down animation for Murphy + * fixed incorrectly displayed animation for attacking dragon + * fixed bug with not setting initial gravity for each new game + * fixed bug with teleportation of player by custom element change + * fixed bug with player not getting smashed by rock sometimes + +2003-10-06 + * Version number set to 3.0.7. + +2003-10-06 + * Version 3.0.6 released. + +2003-10-05 + * added support for MP3 music for SDL version through SMPEG library + +2003-10-03 + * fixed bug when initializing font graphic structure + * fixed bug with animation mode "pingpong" when using only 1 frame + * fixed bug with extended change target introduced in 3.0.5 + * fixed bug where passing over moving element doubles player speed + * fixed bug with elements continuing to move into push direction + * fixed bug with duplicated player when dropping bomb with shield on + * added "switching" event for custom elements ("pressing" only once) + * fixed switching bug (resetting flag when not switching but not idle) + +2003-09-29 + * fixed element tokens for certain file elements with ".active" etc. + +2003-09-29 + * Version number set to 3.0.6. + +2003-09-29 + * Version 3.0.5 released. + +2003-09-28 + * now four envelope elements available + * font, background, animation and sound for envelope now configurable + * main menu doors opening/closing animation type now configurable + +2003-09-27 + * active/inactive sides configurable for custom element changes + * new movement type "move when pushed" available for custom elements + +2003-09-20 + * fixed bug in multiple config pages loader code that caused crashes + +2003-09-13 + * enhanced (remaining low-resolution) Supaplex graphics + +2003-09-13 + * Version number set to 3.0.5. + +2003-09-13 + * Version 3.0.4 released. + +2003-09-12 src/tools.c + * fixed bug in custom definition of crumbled element graphics + +2003-09-11 src/files.c + * fixed bug in multiple config pages code that caused crashes + +2003-09-08 + * Version number set to 3.0.4. + +2003-09-08 + * Version 3.0.3 released. + +2003-09-07 + * added music to Supaplex classic level set + +2003-09-07 src/libgame/misc.c + * added support for loading various music formats through SDL_mixer + +2003-09-06 (various source files) + * fixed several nasty bugs that may have caused crashes on some systems + * added envelope content which gets displayed when collecting envelope + * added multiple change event pages for custom elements + +2003-08-24 src/game.c + * fixed problem with player animation when snapping and moving + +2003-08-23 src/screens.c, src/cartoons.c, src/libgame/toons.c + * fixed problem with flickering when drawing toon animations + +2003-08-23 src/libgame/sdl.c + * fixed problem with setting mouse cursor in SDL version in fullscreen + +2003-08-23 src/game.c + * fixed bug (missing array boundary check) which could crash the game + +2003-08-23 + * Version number set to 3.0.3. + +2003-08-22 + * Version 3.0.2 released. + +2003-08-21 src/game.c + * fixed bug with creating inaccessible elements at player position + +2003-08-20 src/init.c + * fixed bug with not finding current level artwork directory + +2003-08-20 src/files.c + * fixed bug with choosing wrong engine version when playing tapes + * fixed bug with messing up custom element properties in 3.0.0 levels + +2003-08-18 + * Version number set to 3.0.2. + +2003-08-18 + * Version 3.0.1 released. + +2003-08-17 (no source files affected) + * changed all "classic" PCX image files with 16 colors or less to + 256 color (8 bit) storage format, because the Allegro game library + cannot handle PCX files with less than 256 colors (contributed + graphics are not affected and might look wrong in the DOS version) + +2003-08-16 src/init.c + * fixed bug which (for example) crashed the level editor when defining + "dynamite.EDITOR: [NONE]", because graphics may not be undefined + (only set to default) -- invalid graphics now set to default graphic + +2003-08-16 src/init.c + * fixed graphical bug of player digging/collecting/snapping element + when no corresponding graphic/animation is defined for this action, + resulting in player being drawn as EL_EMPTY (which should only be + done to elements being collected, but not to the player) + +2003-08-16 src/game.c + * fixed small graphical bug of player not totally moving into exit + +2003-08-16 src/libgame/setup.c + * fixed bug with wrong MS-DOS 8.3 filename conversion + +2003-08-16 src/tools.c + * fixed bug with invisible mouse cursor when pressing ESC while playing + +2003-08-16 (various source files) + * added another 128 custom elements (disabled in editor by default) + +2003-08-16 src/editor.c + * fixed NULL string bug causing Solaris to crash in sprintf() + +2003-08-16 src/screen.c + * fixed drawing over scrollbar on level selection with custom fonts + +2003-08-15 src/game.c + * cleanup of simple sounds / loop sounds / music settings + +2003-08-08 (various source files) + * added custom element property for dropping collected elements + +2003-08-08 src/conf_gfx.c + * 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 + "game.current_gravity" to prevent level setting from being changed + 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. + +2003-08-06 + * Version number set to 3.0.1. + +2003-08-05 + * Version 3.0.0 released. + +2003-08-05 + * various bug fixes; among others: + - fixed bug with pushing spring over empty space + - fixed bug with leaving tube while placing dynamite + - fixed bug with explosion of smashed penguins + - allow Murphy player graphic in levels with non-Supaplex elements + +2003-04-07 + * Various changes. + * I have forgotten to document changes for some time. + +2002-12-31 + * Pre-Release Version 2.2.0rc1 released. + +2002-08-25 + * Version number set to 2.1.2. + +2002-08-13 + * Version 2.1.1 released. + +2002-08-10 + * Version number set to 2.1.1. + +2002-08-05 + * Version 2.1.0 released. + +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 + +2002-04-02 src/events.c, src/editor.c + * Make Escape key less aggressive when playing or when editing level. + This can be configured as an option in the setup menu. (Default is + "less aggressive" which means "ask user if something can be lost" + when pressing the Escape key.) + +2002-04-02 src/screen.c + * Added "graphics setup" screen. + +2002-04-01 src/screen.c + * Changed "choose level" setup screen stuff to be more generic (to + make it easier to add more "choose from generic tree" setup screens). + +2002-04-01 src/config.c, src/timestamp.h + * Added source files "src/config.[ch]" and "src/timestamp.h" (which + automatically gets created by "src/Makefile" and contains an actual + compile-time timestamp to identify development versions of the game). + +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" + loads previously recorded tape and directly goes into recording mode + from the end of the tape (therefore appending to the tape). + +2002-03-31 src/tape.c + * Added "index mark" function to tape recorder. When playing or + recording, "eject" button changes to "index" button. Setting index + mark is not yet implemented, but pressing index button when playing + allows very quick advancing to end of tape (when normal playing), + very fast forward mode (when playing with normal fast forward) or + very fast reaching of "pause before end of tape" (when playing with + "pause before end" playing mode). + +2002-03-30 src/cartoons.c + * Moved some stuff from cartoons.c to the new "src/libgame/toons.c". + +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-23 src/main.c, src/main.h + * Various changes due to the introduction of the new libgame files + "setup.c" and "joystick.c". + +2002-03-23 src/files.c + * Generic parts of "src/files.c" (mainly setup and level directory + stuff) moved to new libgame file "src/libgame/setup.c". + +2002-03-23 src/joystick.c + * File "src/joystick.c" moved to libgame source tree, with + correspondig changes. + +2002-03-22 src/screens.c + * "HandleChooseLevel()": Another bug in level series navigation fixed. + (Wrong level series information displayed when entering main group.) + +2002-03-22 src/editor.c + * Slight change to support new gadget event "GD_EVENT_INFO_LEAVING". + +2002-03-22 src/editor.c + * Changed behaviour of "Escape" key in level editor to be more + intuitive: When in "Element Properties" or "Level Info" mode, + return to "Drawing Mode" instead of leaving the level editor. + +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, + steel wall and growing wall (as in E.M.C. style levels). Although + the behaviour of contributed and private levels wasn't changed (due + to the use of "level.game_version"; see previous entry), editing + those levels will (of course) change the behaviour accordingly. + + This change seems a bit too hard after thinking about it, because + the EM style behaviour is not the "expected" behaviour (gems would + normally only slip down from "rounded" walls). Therefore this was + now changed to an element property for gem style elements, with the + default setting "off" (which means: no special EM style behaviour). + To fix older converted levels, this flag is set to "on" for pre-2.0 + levels that are neither contributed nor private levels. + +2002-03-20 src/files.h + * Corrected settings for "level.game_version" depending of level type. + (Contributed and private levels always get played with game engine + version they were created with, while converted levels always get + played with the most recent version of the game engine, to let new + corrections of the emulation behaviour take effect.) + +2002-03-20 src/main.h + * Added "#include ". This seems to be needed by "tape.c" for + compiling the SDL version on some systems. + Thanks to the several people who pointed this out. + +2002-03-19 + * Version number set to 2.0.2. + +2002-03-19 + * Version 2.0.1 released. + +2002-03-18 src/screens.c + * "HandleChooseLevel()": Small bug in level series navigation fixed. + +2002-03-18 src/files.c [src/libgame/misc.c] + * Moved some common functions from src/files.c to src/libgame/misc.c. + +2002-03-18 src/files.c [src/libgame/misc.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 + real IFF style header "RND1....XXXX" (where "XXXX" is "CAVE" + for levels and "TAPE" for tapes). Old "cookie" style format is + still supported for reading. New level and tape files are written + in new format. + + * New IFF chunk "VERS" contains version numbers for file and game + (where "game version" is the version of the program that wrote the + file, and "file version" is a version number to distinguish files + with different format, for example after adding new features). + +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-14 src/events.c + * Function "DumpTape()" (files.c) now available by pressing 't' from + main menu (when in DEBUG mode). + +2002-03-14 src/game.c + * "GameWon()": When game was won playing a tape, now there is no delay + raising the score and no corresponding sound is played. + +2002-03-14 src/files.c + * Changed "LoadTape()" for real chunk support and also adjusted + "SaveTape()" accordingly. + +2002-03-14 src/game.c, src/tape.c, src/files.c + * Important changes to tape format: The old tape format stored all + actions with a real effect with a corresponding delay between the + stored actions. This had some major disadvantages (for example, + push delays had to be ignored, pressing a button for some seconds + mutated to several single button presses because of the non-action + delays between two action frames etc.). The new tape format just + stupidly records all device actions and replays them later. I really + don't know why I haven't solved it that way before?! Old-style tapes + (with tape file version less than 2.0) get converted to the new + format on-the-fly when loading and can therefore still be played; + only some minor parts of the old-style tape handling code was needed. + (A perfect conversion is not possible, because there is information + missing about the device actions between two action frames.) + +2002-03-14 src/files.c + * New function "DumpTape()" to dump the contents of the current tape + in a human readable format. + +2002-03-14 src/game.c + * Small tape bug fixed: When automatically advancing to next level + after a game was won, the tape from the previous level still was + loaded as a tape for the new level. + +2002-03-14 src/tape.c + * Small graphical bug fixed: When pressing ""Record" or "Play" on + tape, cartoons did not get completely removed because + StopAnimation() was not called. + +2002-03-13 src/files.c + * Changed "LoadLevel()" and "SaveLevel()" to add new chunk "CNT2". + Fixed bug of "CONT" and "BODY" (chunk size was set to 8-bit element + size even when using 16-bit elements). Added new chunk "CNT2" for + 16-bit amoeba content (previously written in 8-bit field in "HEAD" + chunk even when content was 16-bit element). "CNT2" should now be + able to store content for arbitrary elements (up to eight blocks of + 3 x 3 element arrays). All "CNT2" elements will always be stored as + 16-bit elements. "CONT" (with 8/16-bit elements) now obsolete. + +2002-03-13 src/files.c + * Changed "LoadLevel()" for real chunk support. + +2002-03-12 src/game.c + * Fixed problem (introduced after 2.0.0 release) with penguins + not getting killed by enemies + +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 + the moment or not. + Before, "player->last_move_dir" was misused for this purpose + for the robot stuff (robots don't kill players when they are + moving). But setting "player->last_move_dir" to MV_NO_MOVING + broke tapes when walking through pipes! + ("IS_MOVING()" uses "MovPos[][]", but this fails when it is 0 + in a continuous movement. This fact is ignored for friends and + enemies, though.) diff --git a/src/Makefile b/src/Makefile index 61285b02..46a9ddd2 100644 --- a/src/Makefile +++ b/src/Makefile @@ -112,7 +112,7 @@ CONFIG_GAME_DIR = $(CONFIG_RO_GAME_DIR) $(CONFIG_RW_GAME_DIR) CONFIG = $(CONFIG_GAME_DIR) $(CONFIG_SCORE_ENTRIES) $(JOYSTICK) -# DEBUG = -DDEBUG -g +DEBUG = -DDEBUG -g # PROFILING = $(PROFILING_FLAGS) # OPTIONS = $(DEBUG) -Wall # only for debugging purposes diff --git a/src/conftime.h b/src/conftime.h index 47099876..26d241a2 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2003-11-09 23:35]" +#define COMPILE_DATE_STRING "[2003-11-10 02:01]" diff --git a/src/main.h b/src/main.h index 273052ec..7c1134f6 100644 --- a/src/main.h +++ b/src/main.h @@ -1033,12 +1033,8 @@ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 0 -#define PROGRAM_VERSION_PATCH 7 -#define PROGRAM_VERSION_BUILD 1 - -#if 0 -#define PROGRAM_VERSION_STRING "3.0.7" -#endif +#define PROGRAM_VERSION_PATCH 8 +#define PROGRAM_VERSION_BUILD 0 #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" -- 2.34.1