Holger Schemel [Thu, 19 Jan 2023 08:08:22 +0000 (09:08 +0100)]
fixed crash bug when running in headless mode
Holger Schemel [Wed, 18 Jan 2023 18:00:33 +0000 (19:00 +0100)]
fixed bug with leaving steel grid after passing it in an irregular way
When using DF style reflecting steel walls together with MM style
fixed steel grid, it is possible to point the laser towards the grid
in a non 90° angle and still passing through it (with the laser beam
being reflected inside the grid until it leaves the grid on the other
side). However, this did not work when passing the steel grid from
bottom to top (upwards) into an "empty space" element.
This change fixes handling this special case.
Holger Schemel [Wed, 18 Jan 2023 17:51:54 +0000 (18:51 +0100)]
fixed bug with cutting through laser emitter in special cases in MM engine
While the laser beam can be pointed at the middle of the laser emitter
element, and also can slightly touch it at its very edges, it should
not be possible to cut through it nearer to the middle, but without
really hitting the middle of the laser emitter.
Holger Schemel [Wed, 18 Jan 2023 17:43:26 +0000 (18:43 +0100)]
fixed bug with laser not passing alongside DF steel walls in MM engine
This bug only happened in certain special cases where the laser beam
had already touched a tile with DF style steel walls (from a side or
an angle where it cannot pass) and later touching the same tile again
from a different side or angle where it can pass (but without having
touched another DF steel wall on any other tile in between).
Holger Schemel [Tue, 17 Jan 2023 23:09:55 +0000 (00:09 +0100)]
fixed using custom laser color defined in DF style laser for MM engine
Holger Schemel [Thu, 12 Jan 2023 17:17:59 +0000 (18:17 +0100)]
fixed bug with undefined element graphic when pushing into explosion
Holger Schemel [Thu, 12 Jan 2023 17:14:20 +0000 (18:14 +0100)]
removed duplicated code
Holger Schemel [Thu, 12 Jan 2023 17:08:17 +0000 (18:08 +0100)]
moved code for drawing background of push target field to correct location
Holger Schemel [Thu, 12 Jan 2023 08:54:39 +0000 (09:54 +0100)]
added not drawing or scanning laser if fuse is off in MM engine
Holger Schemel [Thu, 12 Jan 2023 08:48:44 +0000 (09:48 +0100)]
added deactivating laser target element when disabling laser in MM engine
Holger Schemel [Thu, 12 Jan 2023 08:46:12 +0000 (09:46 +0100)]
moved code to deactivate target element to separate function in MM engine
Holger Schemel [Tue, 10 Jan 2023 22:35:25 +0000 (23:35 +0100)]
improved handling of opening gray ball when turning laser away
Holger Schemel [Sun, 8 Jan 2023 20:10:53 +0000 (21:10 +0100)]
added customizability of gray ball content for MM engine
Holger Schemel [Sat, 7 Jan 2023 17:04:41 +0000 (18:04 +0100)]
added active animation for bomb and mine in MM engine
Holger Schemel [Sat, 7 Jan 2023 12:42:18 +0000 (13:42 +0100)]
fixed rotation graphics of DF style mirrors for MM engine
Holger Schemel [Fri, 6 Jan 2023 23:31:50 +0000 (00:31 +0100)]
fixed broken graphics of opening gray ball in MM engine
Holger Schemel [Fri, 6 Jan 2023 22:48:05 +0000 (23:48 +0100)]
added level editor graphics for the MM style gray ball
Holger Schemel [Fri, 6 Jan 2023 22:16:38 +0000 (23:16 +0100)]
added using GIC flags "request.button.player_X.draw_player"
This "graphicsinfo.conf" flag was completely ignored until now. It can
be used to control if player graphics should be drawn on top of the
four request buttons to select the network player in the setup menu,
or if only the buttons (without additional player graphics) should be
used (which only makes sense if custom player request buttons are used
with individual player graphics). The default value is "true".
Holger Schemel [Thu, 5 Jan 2023 01:50:25 +0000 (02:50 +0100)]
improved MM graphics engine to support custom explosions of elements
Holger Schemel [Thu, 5 Jan 2023 00:28:04 +0000 (01:28 +0100)]
removed unneeded mask element and graphic definitions from MM engine
Instead, the already existing element mask array (which was added
earlier to prevent reading pixels from bitmaps) is accessed now by
directly using the mask array positions (instead of using dummy mask
element and graphics definitions only for mapping to the mask array
positions).
Holger Schemel [Wed, 4 Jan 2023 23:00:13 +0000 (00:00 +0100)]
changed MM engine to use explosion phase array from main engine
Holger Schemel [Wed, 4 Jan 2023 22:42:10 +0000 (23:42 +0100)]
minor code formatting change
Holger Schemel [Tue, 3 Jan 2023 23:52:58 +0000 (00:52 +0100)]
fixed bugs when re-charging laser with fuel element in MM engine
Holger Schemel [Mon, 2 Jan 2023 11:45:35 +0000 (12:45 +0100)]
fixed bug that prevents playing levels without time limit in MM engine
Holger Schemel [Mon, 2 Jan 2023 11:27:30 +0000 (12:27 +0100)]
fixed bug with reduced initial time limit in MM engine
Holger Schemel [Mon, 2 Jan 2023 10:56:53 +0000 (11:56 +0100)]
cleanup of function for fading laser in MM engine
Holger Schemel [Mon, 2 Jan 2023 10:53:01 +0000 (11:53 +0100)]
moved code to set laser color to separate function in MM engine
Holger Schemel [Mon, 2 Jan 2023 09:52:48 +0000 (10:52 +0100)]
fixed drawing overloaded laser when rotating McDuffin in MM engine
Holger Schemel [Thu, 29 Dec 2022 01:35:10 +0000 (02:35 +0100)]
fixed bugs with request dialog on game over in MM engine
Holger Schemel [Thu, 29 Dec 2022 00:31:32 +0000 (01:31 +0100)]
added skipping certain game actions on game over in MM engine
Holger Schemel [Thu, 29 Dec 2022 00:26:28 +0000 (01:26 +0100)]
moved code for fading out laser to separate function in MM engine
Holger Schemel [Wed, 28 Dec 2022 09:21:25 +0000 (10:21 +0100)]
fixed bug with re-scanning laser when rotating teleporter in MM engine
Holger Schemel [Thu, 22 Dec 2022 17:39:19 +0000 (18:39 +0100)]
minor whitespace change
Holger Schemel [Thu, 22 Dec 2022 17:36:37 +0000 (18:36 +0100)]
added special compatibility handling for "R'n'D jue 2022" game editions
Holger Schemel [Tue, 20 Dec 2022 23:26:04 +0000 (00:26 +0100)]
version number set to 4.3.4.1
Holger Schemel [Sun, 18 Dec 2022 10:50:21 +0000 (11:50 +0100)]
version number set to 4.3.4.0
Holger Schemel [Sun, 18 Dec 2022 10:47:56 +0000 (11:47 +0100)]
fixed text length calculation bug
Holger Schemel [Sun, 18 Dec 2022 10:37:53 +0000 (11:37 +0100)]
added third tutorial level set "ncrtorial" by ncrecc
Holger Schemel [Sat, 17 Dec 2022 12:47:59 +0000 (13:47 +0100)]
added support for separate sound and music for info sub-screens
Holger Schemel [Sat, 17 Dec 2022 09:42:04 +0000 (10:42 +0100)]
removed unused code (list of score entries is never empty)
Holger Schemel [Sat, 17 Dec 2022 09:08:00 +0000 (10:08 +0100)]
removed sub-headline on score info screen
Holger Schemel [Fri, 16 Dec 2022 17:56:39 +0000 (18:56 +0100)]
added special screen position for button to show level set info for "jue0"
Holger Schemel [Fri, 16 Dec 2022 17:55:12 +0000 (18:55 +0100)]
added limiting default number of game elements on info screen
Holger Schemel [Fri, 16 Dec 2022 12:05:32 +0000 (13:05 +0100)]
changed title on info screen again
Holger Schemel [Fri, 16 Dec 2022 11:59:00 +0000 (12:59 +0100)]
removed unused constant
Holger Schemel [Thu, 15 Dec 2022 07:42:42 +0000 (08:42 +0100)]
removed sub-headlines on info screens (text is now part of main headline)
Holger Schemel [Thu, 15 Dec 2022 07:36:01 +0000 (08:36 +0100)]
added new, topic-related headlines for info screens
Holger Schemel [Thu, 15 Dec 2022 06:58:41 +0000 (07:58 +0100)]
added string constants for info screen menu and title texts
Holger Schemel [Thu, 15 Dec 2022 06:45:43 +0000 (07:45 +0100)]
changed "README" file for Niko Böhm's Tutorial level set
This changes the old ISO-8859-1 encoding to UTF-8 and adds using text
in different fonts and colors. The original "README" file is stored as
"README.orig" for reference, and a new, alternative version is stored
as "README.txt", which is not used by the game, but shows alternative
formatting possibilities using Markdown-style line breaks (using two
spaces at the end of lines) and pure text content without font usage.
Holger Schemel [Wed, 14 Dec 2022 23:00:10 +0000 (00:00 +0100)]
small formatting change in program info
Holger Schemel [Wed, 14 Dec 2022 22:53:21 +0000 (23:53 +0100)]
added forced line break support to auto-wrapped text output
To add a line break to auto-wrapped text output (like level set info
text files), use two spaces at the end of a line (like it is used in
Markdown formatted text).
Holger Schemel [Wed, 14 Dec 2022 11:27:33 +0000 (12:27 +0100)]
fixed bug with incorrectly handled "click anywhere" style button events
Holger Schemel [Wed, 14 Dec 2022 11:19:39 +0000 (12:19 +0100)]
added special screen position for button to show level set info for "BD2K3"
Holger Schemel [Wed, 14 Dec 2022 11:18:47 +0000 (12:18 +0100)]
added dynamic default screen position for button to show level set info
Holger Schemel [Wed, 14 Dec 2022 10:54:37 +0000 (11:54 +0100)]
added optional main menu button to directly show level set info
This is a special button for the main menu that will only be displayed
if files with level set information exist (like a "README" file in the
current level set directory).
The button will currently only be displayed if a valid screen position
is defined for it in the currently active graphics configuration.
Holger Schemel [Wed, 14 Dec 2022 10:43:55 +0000 (11:43 +0100)]
fixed several problems when displaying info sub-screens from main menu
Holger Schemel [Mon, 12 Dec 2022 19:40:46 +0000 (20:40 +0100)]
fixed navigation text when displaying info sub-screens from main menu
Holger Schemel [Mon, 12 Dec 2022 19:36:06 +0000 (20:36 +0100)]
added constant text value
Holger Schemel [Mon, 12 Dec 2022 19:33:43 +0000 (20:33 +0100)]
minor code cleanup
Holger Schemel [Mon, 12 Dec 2022 19:31:59 +0000 (20:31 +0100)]
added returning directly to main menu from info sub-screens if needed
Holger Schemel [Sun, 11 Dec 2022 13:49:25 +0000 (14:49 +0100)]
added level info config option to invoke info screens from main menu
This is a special config option to allow level sets (like the Mirror
Magic level set "classic_mindbender") to directly invoke info screens
from the main menu (which is used for "classic_mindbender" to display
the included title story on the "level set info" screens by clicking
on a global animation that looks like a book that can be opened).
Holger Schemel [Sun, 11 Dec 2022 01:14:42 +0000 (02:14 +0100)]
improved some editor graphics
Holger Schemel [Sun, 11 Dec 2022 01:14:12 +0000 (02:14 +0100)]
version number set to 4.3.3.1
Holger Schemel [Sat, 10 Dec 2022 12:13:35 +0000 (13:13 +0100)]
version number set to 4.3.3.0
Holger Schemel [Wed, 7 Dec 2022 18:40:30 +0000 (19:40 +0100)]
fixed bug with advancing tape counter if no input events have been recorded
Holger Schemel [Mon, 5 Dec 2022 22:46:17 +0000 (23:46 +0100)]
fixed bug with not marking tape as changed after adding action or delay
Holger Schemel [Mon, 5 Dec 2022 21:50:33 +0000 (22:50 +0100)]
removed condition that is always true
Holger Schemel [Mon, 5 Dec 2022 21:45:43 +0000 (22:45 +0100)]
merged two conditions when attempting to quick-save tape
Holger Schemel [Sat, 3 Dec 2022 12:37:27 +0000 (13:37 +0100)]
added shortcuts to invoke info screens from main menu (disabled by default)
Holger Schemel [Mon, 28 Nov 2022 22:02:36 +0000 (23:02 +0100)]
renamed "kettles" to "cauldrons"
Holger Schemel [Sat, 26 Nov 2022 10:30:12 +0000 (11:30 +0100)]
fixed wording of some request texts
Holger Schemel [Sat, 26 Nov 2022 10:27:30 +0000 (11:27 +0100)]
fixed trying to quick-save tape when playing game without recording
Holger Schemel [Sat, 26 Nov 2022 10:09:29 +0000 (11:09 +0100)]
added setup option to continue recording after replaying tape
Holger Schemel [Fri, 25 Nov 2022 20:12:28 +0000 (21:12 +0100)]
added pausing tape after replaying not only for warp mode
Holger Schemel [Fri, 25 Nov 2022 19:40:08 +0000 (20:40 +0100)]
added drawing sparkles when laser hits mirrors for MM engine
Holger Schemel [Fri, 25 Nov 2022 19:30:16 +0000 (20:30 +0100)]
added frame parameter to graphics drawing function for MM engine
Holger Schemel [Thu, 17 Nov 2022 22:27:11 +0000 (23:27 +0100)]
merged functions for handling credits, program and level set info screens
Holger Schemel [Thu, 17 Nov 2022 18:51:07 +0000 (19:51 +0100)]
added support for multiple pages (files) for level set info
Holger Schemel [Thu, 17 Nov 2022 16:52:06 +0000 (17:52 +0100)]
shortened copyright sub-title in main menu
Holger Schemel [Wed, 16 Nov 2022 22:49:42 +0000 (23:49 +0100)]
added new config file options to hide shortcuts sub-menus
Holger Schemel [Wed, 16 Nov 2022 22:45:54 +0000 (23:45 +0100)]
added missing config file option to hide network server hostname
Holger Schemel [Wed, 16 Nov 2022 20:03:33 +0000 (21:03 +0100)]
added missing config file option to hide game engines setup menu
Holger Schemel [Wed, 16 Nov 2022 19:32:20 +0000 (20:32 +0100)]
improved some sound and music samples
Holger Schemel [Sun, 13 Nov 2022 22:09:16 +0000 (23:09 +0100)]
changed credits file from ISO 8859-1 (Latin-1) to UTF-8 encoding
Holger Schemel [Sun, 13 Nov 2022 22:04:45 +0000 (23:04 +0100)]
added Thomas Andrae and Majid Katzer to credits
Holger Schemel [Sun, 13 Nov 2022 22:03:14 +0000 (23:03 +0100)]
fixed drawing text from file that contains DOS style CR/LF line endings
Holger Schemel [Tue, 8 Nov 2022 22:30:43 +0000 (23:30 +0100)]
replaced all icons to be created by packaging script with empty files
Holger Schemel [Sat, 5 Nov 2022 17:58:52 +0000 (18:58 +0100)]
removed unused functions
Holger Schemel [Sat, 5 Nov 2022 16:16:05 +0000 (17:16 +0100)]
added project files for Windows platform
Holger Schemel [Sat, 5 Nov 2022 16:08:48 +0000 (17:08 +0100)]
added project files for Mac platform
Holger Schemel [Sat, 5 Nov 2022 14:58:03 +0000 (15:58 +0100)]
replaced icon file
Holger Schemel [Sat, 5 Nov 2022 14:55:00 +0000 (15:55 +0100)]
renamed icon file
Holger Schemel [Fri, 4 Nov 2022 22:24:23 +0000 (23:24 +0100)]
added support for compiling on OS/2
Holger Schemel [Wed, 2 Nov 2022 14:20:07 +0000 (15:20 +0100)]
code cleanup
Holger Schemel [Wed, 2 Nov 2022 14:17:37 +0000 (15:17 +0100)]
added support for custom graphics for many elements of MM game engine
Holger Schemel [Wed, 2 Nov 2022 14:12:38 +0000 (15:12 +0100)]
added functions to advance game and tile frame counter for MM engine
Holger Schemel [Wed, 26 Oct 2022 22:50:24 +0000 (00:50 +0200)]
added new animation mode ".global_anim_sync" for game element graphics
While the existing animation mode ".global_sync" is used to sync game
animations with the frame counter of the game just played, the new
mode ".global_anim_sync" can be used to sync with the global animation
frame counter, which makes it possible to sync with global animations
that are always running during program execution (that is, in the menu
and while playing a game, without interruption).
Holger Schemel [Sat, 22 Oct 2022 10:57:27 +0000 (12:57 +0200)]
removed unused function parameters
This issue was found by using GCC with option "-Wextra".
Holger Schemel [Sat, 22 Oct 2022 10:26:28 +0000 (12:26 +0200)]
removed unused function parameters
This issue was found by using GCC with option "-Wextra".
Holger Schemel [Sat, 22 Oct 2022 10:09:19 +0000 (12:09 +0200)]
removed unused function parameters
This issue was found by using GCC with option "-Wextra".