From fb8e38bdcf517d25055b236a3bb2cc1ccbf5fccc Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Mon, 29 Sep 2003 03:03:11 +0200 Subject: [PATCH] rnd-20030929-1-src * fixed element tokens for certain file elements with ".active" etc. * Version number set to 3.0.6. * Version 3.0.5 released. * now four envelope elements available * font, background, animation and sound for envelope now configurable * main menu doors opening/closing animation type now configurable * active/inactive sides configurable for custom element changes * new movement type "move when pushed" available for custom elements * fixed bug in multiple config pages loader code that caused crashes --- CHANGES | 3 + ChangeLog | 374 +++++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile | 2 +- src/conftime.h | 2 +- src/main.c | 146 +++++++++---------- src/main.h | 4 +- 6 files changed, 454 insertions(+), 77 deletions(-) create mode 100644 ChangeLog diff --git a/CHANGES b/CHANGES index 247edadc..8b5497ed 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +Release Version 3.0.6 [?? ??? ????] +----------------------------------- + Release Version 3.0.5 [29 SEP 2003] ----------------------------------- - fixed bug in multiple config pages loader code that caused crashes diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..44de1e5d --- /dev/null +++ b/ChangeLog @@ -0,0 +1,374 @@ +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 ff288776..595f5996 100644 --- a/src/Makefile +++ b/src/Makefile @@ -103,7 +103,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 e122ef12..d981d600 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2003-09-29 00:44]" +#define COMPILE_DATE_STRING "[2003-09-29 02:43]" diff --git a/src/main.c b/src/main.c index 8498052e..7f42c44b 100644 --- a/src/main.c +++ b/src/main.c @@ -254,7 +254,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "biomaze" }, { - "dynamite_active", + "dynamite.active", "dynamite", "burning dynamite" }, @@ -269,7 +269,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "magic wheel" }, { - "robot_wheel_active", + "robot_wheel.active", "robot_wheel", "magic wheel (running)" }, @@ -351,7 +351,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "lamp (off)" }, { - "lamp_active", + "lamp.active", "lamp", "lamp (on)" }, @@ -461,39 +461,39 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "sokoban field with object" }, { - "bd_butterfly_right", + "bd_butterfly.right", "bd_butterfly", "butterfly (starts moving right)"}, { - "bd_butterfly_up", + "bd_butterfly.up", "bd_butterfly", "butterfly (starts moving up)" }, { - "bd_butterfly_left", + "bd_butterfly.left", "bd_butterfly", "butterfly (starts moving left)"}, { - "bd_butterfly_down", + "bd_butterfly.down", "bd_butterfly", "butterfly (starts moving down)"}, { - "bd_firefly_right", + "bd_firefly.right", "bd_firefly", "firefly (starts moving right)" }, { - "bd_firefly_up", + "bd_firefly.up", "bd_firefly", "firefly (starts moving up)" }, { - "bd_firefly_left", + "bd_firefly.left", "bd_firefly", "firefly (starts moving left)" }, { - "bd_firefly_down", + "bd_firefly.down", "bd_firefly", "firefly (starts moving down)" }, @@ -528,59 +528,59 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "blue player" }, { - "bug_right", + "bug.right", "bug", "bug (starts moving right)" }, { - "bug_up", + "bug.up", "bug", "bug (starts moving up)" }, { - "bug_left", + "bug.left", "bug", "bug (starts moving left)" }, { - "bug_down", + "bug.down", "bug", "bug (starts moving down)" }, { - "spaceship_right", + "spaceship.right", "spaceship", "spaceship (starts moving right)"}, { - "spaceship_up", + "spaceship.up", "spaceship", "spaceship (starts moving up)" }, { - "spaceship_left", + "spaceship.left", "spaceship", "spaceship (starts moving left)"}, { - "spaceship_down", + "spaceship.down", "spaceship", "spaceship (starts moving down)"}, { - "pacman_right", + "pacman.right", "pacman", "pac man (starts moving right)" }, { - "pacman_up", + "pacman.up", "pacman", "pac man (starts moving up)" }, { - "pacman_left", + "pacman.left", "pacman", "pac man (starts moving left)" }, { - "pacman_down", + "pacman.down", "pacman", "pac man (starts moving down)" }, @@ -1595,7 +1595,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "light switch (off)" }, { - "light_switch_active", + "light_switch.active", "light_switch", "light switch (on)" }, @@ -1660,22 +1660,22 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "sign (other)" }, { - "mole_left", + "mole.left", "mole", "mole (starts moving left)" }, { - "mole_right", + "mole.right", "mole", "mole (starts moving right)" }, { - "mole_up", + "mole.up", "mole", "mole (starts moving up)" }, { - "mole_down", + "mole.down", "mole", "mole (starts moving down)" }, @@ -1725,7 +1725,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "time gate (closed)" }, { - "timegate_switch_active", + "timegate_switch.active", "timegate_switch", "switch for time gate" }, @@ -3230,142 +3230,142 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = /* ----------------------------------------------------------------------- */ { - "dynabomb_player_1_active", + "dynabomb_player_1.active", "dynabomb", "-" }, { - "dynabomb_player_2_active", + "dynabomb_player_2.active", "dynabomb", "-" }, { - "dynabomb_player_3_active", + "dynabomb_player_3.active", "dynabomb", "-" }, { - "dynabomb_player_4_active", + "dynabomb_player_4.active", "dynabomb", "-" }, { - "sp_disk_red_active", + "sp_disk_red.active", "dynamite", "-" }, { - "switchgate_opening", + "switchgate.opening", "switchgate", "-" }, { - "switchgate_closing", + "switchgate.closing", "switchgate", "-" }, { - "timegate_opening", + "timegate.opening", "timegate", "-" }, { - "timegate_closing", + "timegate.closing", "timegate", "-" }, { - "pearl_breaking", + "pearl.breaking", "pearl", "-" }, { - "trap_active", + "trap.active", "trap", "-" }, { - "invisible_steelwall_active", + "invisible_steelwall.active", "wall", "-" }, { - "invisible_wall_active", + "invisible_wall.active", "wall", "-" }, { - "invisible_sand_active", + "invisible_sand.active", "sand", "-" }, { - "conveyor_belt_1_left_active", + "conveyor_belt_1_left.active", "conveyor_belt", "-" }, { - "conveyor_belt_1_middle_active", + "conveyor_belt_1_middle.active", "conveyor_belt", "-" }, { - "conveyor_belt_1_right_active", + "conveyor_belt_1_right.active", "conveyor_belt", "-" }, { - "conveyor_belt_2_left_active", + "conveyor_belt_2_left.active", "conveyor_belt", "-" }, { - "conveyor_belt_2_middle_active", + "conveyor_belt_2_middle.active", "conveyor_belt", "-" }, { - "conveyor_belt_2_right_active", + "conveyor_belt_2_right.active", "conveyor_belt", "-" }, { - "conveyor_belt_3_left_active", + "conveyor_belt_3_left.active", "conveyor_belt", "-" }, { - "conveyor_belt_3_middle_active", + "conveyor_belt_3_middle.active", "conveyor_belt", "-" }, { - "conveyor_belt_3_right_active", + "conveyor_belt_3_right.active", "conveyor_belt", "-" }, { - "conveyor_belt_4_left_active", + "conveyor_belt_4_left.active", "conveyor_belt", "-" }, { - "conveyor_belt_4_middle_active", + "conveyor_belt_4_middle.active", "conveyor_belt", "-" }, { - "conveyor_belt_4_right_active", + "conveyor_belt_4_right.active", "conveyor_belt", "-" }, { - "exit_opening", + "exit.opening", "exit", "-" }, { - "exit_closing", + "exit.closing", "exit", "-" }, @@ -3375,17 +3375,17 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "sp_terminal_active", + "sp_terminal.active", "sp_terminal", "-" }, { - "sp_buggy_base_activating", + "sp_buggy_base.activating", "sp_buggy_base", "-" }, { - "sp_buggy_base_active", + "sp_buggy_base.active", "sp_buggy_base", "-" }, @@ -3395,22 +3395,22 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "amoeba_dropping", + "amoeba.dropping", "amoeba", "-" }, { - "quicksand_emptying", + "quicksand.emptying", "quicksand", "-" }, { - "magic_wall_active", + "magic_wall.active", "magic_wall", "-" }, { - "bd_magic_wall_active", + "bd_magic_wall.active", "magic_wall", "-" }, @@ -3425,12 +3425,12 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "magic_wall_emptying", + "magic_wall.emptying", "magic_wall", "-" }, { - "bd_magic_wall_emptying", + "bd_magic_wall.emptying", "magic_wall", "-" }, @@ -3490,7 +3490,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "expandable_wall_growing", + "expandable_wall.growing", "-", "-" }, @@ -3505,17 +3505,17 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "quicksand_filling", + "quicksand.filling", "quicksand", "-" }, { - "magic_wall_filling", + "magic_wall.filling", "-", "-" }, { - "bd_magic_wall_filling", + "bd_magic_wall.filling", "-", "-" }, @@ -3590,7 +3590,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "dynabomb_active", + "dynabomb.active", "-", "-" }, @@ -3615,12 +3615,12 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-" }, { - "shield_normal_active", + "shield_normal.active", "-", "-" }, { - "shield_deadly_active", + "shield_deadly.active", "-", "-" }, diff --git a/src/main.h b/src/main.h index 27d22902..4e64205b 100644 --- a/src/main.h +++ b/src/main.h @@ -1024,9 +1024,9 @@ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 0 -#define PROGRAM_VERSION_PATCH 5 +#define PROGRAM_VERSION_PATCH 6 #define PROGRAM_VERSION_RELEASE 0 -#define PROGRAM_VERSION_STRING "3.0.5" +#define PROGRAM_VERSION_STRING "3.0.6" #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" -- 2.34.1