rocksndiamonds.git
6 weeks agoadded deployment targets in Makefile master 4.2.3.1
Holger Schemel [Wed, 24 Feb 2021 15:37:22 +0000 (16:37 +0100)]
added deployment targets in Makefile

6 weeks agore-enabled storing selection from "last played level set" menu
Holger Schemel [Sat, 27 Feb 2021 19:22:37 +0000 (20:22 +0100)]
re-enabled storing selection from "last played level set" menu

6 weeks agoremoved code which has no effect
Holger Schemel [Fri, 26 Feb 2021 09:22:41 +0000 (10:22 +0100)]
removed code which has no effect

6 weeks agochanged function to get tree node from identifier to be more generic
Holger Schemel [Fri, 26 Feb 2021 09:19:31 +0000 (10:19 +0100)]
changed function to get tree node from identifier to be more generic

6 weeks agofixed problems with current level set node being a tree node copy
Holger Schemel [Thu, 25 Feb 2021 18:55:50 +0000 (19:55 +0100)]
fixed problems with current level set node being a tree node copy

When selecting the current level set from the "last played level sets"
sub-menu, using the corresponding tree node from this sub-tree instead
of the "original" tree node of that level set may cause a number of
problems:

When using a level template stored in the parent level set directory,
it will not be detected as there is no corresponding parent tree node
if a tree node from the "last played level sets" sub-tree is used.

When toggling between the "original" tree node and the node copy from
the "last played level sets" sub-tree, custom artwork will always be
reloaded, as the level set tree node is treated as "has changed".

This change fixes these problems by always making sure that the
"original" tree node is used after selecting a new level set, but
causes the level set selection menu to always start with the
"original" tree node, even if the last level set selection was made
from the "last played level sets" menu.

6 weeks agoadded marking nodes in "last played level sets" sub-tree as copy
Holger Schemel [Thu, 25 Feb 2021 18:36:56 +0000 (19:36 +0100)]
added marking nodes in "last played level sets" sub-tree as copy

6 weeks agoadded safety check (should never happen style)
Holger Schemel [Thu, 25 Feb 2021 11:43:49 +0000 (12:43 +0100)]
added safety check (should never happen style)

6 weeks agofixed horrible crash bug caused by dereferencing pointer just freed before
Holger Schemel [Thu, 25 Feb 2021 11:31:05 +0000 (12:31 +0100)]
fixed horrible crash bug caused by dereferencing pointer just freed before

7 weeks agoversion number set to 4.2.3.1
Holger Schemel [Wed, 24 Feb 2021 15:37:08 +0000 (16:37 +0100)]
version number set to 4.2.3.1

7 weeks agoversion number set to 4.2.3.0 4.2.3.0
Holger Schemel [Tue, 23 Feb 2021 20:18:11 +0000 (21:18 +0100)]
version number set to 4.2.3.0

7 weeks agoadded support for using LLDB instead of GDB when debugging on Mac
Holger Schemel [Fri, 19 Feb 2021 17:10:02 +0000 (18:10 +0100)]
added support for using LLDB instead of GDB when debugging on Mac

7 weeks agoadded setup options to disable asking on quit game and on quit program
Holger Schemel [Fri, 19 Feb 2021 01:49:37 +0000 (02:49 +0100)]
added setup options to disable asking on quit game and on quit program

7 weeks agochanged function parameter handling (with same functionality)
Holger Schemel [Fri, 19 Feb 2021 01:37:59 +0000 (02:37 +0100)]
changed function parameter handling (with same functionality)

7 weeks agofixed crash bug caused by freeing string buffer twice
Holger Schemel [Thu, 18 Feb 2021 23:24:23 +0000 (00:24 +0100)]
fixed crash bug caused by freeing string buffer twice

When loading a snapshot, a string pointer in the tape structure was
also restored from the snapshot, overwriting a potentially already
changed string pointer, therefore causing the next free() to crash.

7 weeks agofixed updating list of last played level sets after switching user
Holger Schemel [Thu, 18 Feb 2021 12:54:39 +0000 (13:54 +0100)]
fixed updating list of last played level sets after switching user

7 weeks agofixed sort priorities of special tree nodes to prevent bad sort results
Holger Schemel [Wed, 17 Feb 2021 22:50:17 +0000 (23:50 +0100)]
fixed sort priorities of special tree nodes to prevent bad sort results

8 weeks agofixed crash bug caused by accessing undefined sorting name
Holger Schemel [Wed, 17 Feb 2021 12:41:06 +0000 (13:41 +0100)]
fixed crash bug caused by accessing undefined sorting name

8 weeks agoadded functions to case-insensitively compare strings that might be NULL
Holger Schemel [Wed, 17 Feb 2021 11:49:10 +0000 (12:49 +0100)]
added functions to case-insensitively compare strings that might be NULL

8 weeks agoadded support for left, middle or right mouse button for CE change events
Holger Schemel [Tue, 16 Feb 2021 22:14:07 +0000 (23:14 +0100)]
added support for left, middle or right mouse button for CE change events

8 weeks agofixed sorting in tutorial and classic level groups
Holger Schemel [Tue, 16 Feb 2021 00:48:54 +0000 (01:48 +0100)]
fixed sorting in tutorial and classic level groups

8 weeks agominor code improvement
Holger Schemel [Mon, 15 Feb 2021 23:46:52 +0000 (00:46 +0100)]
minor code improvement

8 weeks agoadded persistent personal game data for Emscripten platform
Holger Schemel [Mon, 15 Feb 2021 23:20:27 +0000 (00:20 +0100)]
added persistent personal game data for Emscripten platform

8 weeks agoincreased initial memory for Emscripten platform
Holger Schemel [Mon, 15 Feb 2021 23:05:29 +0000 (00:05 +0100)]
increased initial memory for Emscripten platform

2 months agoadded storing and checking program version in artwork info cache
Holger Schemel [Thu, 11 Feb 2021 00:39:33 +0000 (01:39 +0100)]
added storing and checking program version in artwork info cache

2 months agoremoved unused code for sorting and coloring level sets and custom artwork
Holger Schemel [Wed, 10 Feb 2021 02:17:36 +0000 (03:17 +0100)]
removed unused code for sorting and coloring level sets and custom artwork

2 months agochanged sorting and coloring in level sets and custom artwork menu
Holger Schemel [Wed, 10 Feb 2021 00:34:50 +0000 (01:34 +0100)]
changed sorting and coloring in level sets and custom artwork menu

2 months agofixed setting user directory flag in level artwork tree info
Holger Schemel [Tue, 9 Feb 2021 18:16:30 +0000 (19:16 +0100)]
fixed setting user directory flag in level artwork tree info

2 months agoadded highlighting color when navigating tree info nodes
Holger Schemel [Sat, 6 Feb 2021 10:48:34 +0000 (11:48 +0100)]
added highlighting color when navigating tree info nodes

2 months agochanged color of unselected tree info nodes from yellow to green
Holger Schemel [Sat, 6 Feb 2021 10:42:04 +0000 (11:42 +0100)]
changed color of unselected tree info nodes from yellow to green

2 months agomoved code to draw tree info text to separate function
Holger Schemel [Sat, 6 Feb 2021 10:24:23 +0000 (11:24 +0100)]
moved code to draw tree info text to separate function

2 months agoadded sorting tree group nodes prior to normal nodes (level sets / artwork)
Holger Schemel [Fri, 5 Feb 2021 16:45:19 +0000 (17:45 +0100)]
added sorting tree group nodes prior to normal nodes (level sets / artwork)

2 months agoimproved comparing tree name strings when sorting tree
Holger Schemel [Fri, 5 Feb 2021 16:40:20 +0000 (17:40 +0100)]
improved comparing tree name strings when sorting tree

2 months agofixed wording for custom artwork menu
Holger Schemel [Thu, 4 Feb 2021 16:47:45 +0000 (17:47 +0100)]
fixed wording for custom artwork menu

2 months agoadded sorting artwork info cache data before writing to cache file
Holger Schemel [Thu, 4 Feb 2021 16:39:22 +0000 (17:39 +0100)]
added sorting artwork info cache data before writing to cache file

2 months agofixed invalidating artwork info cache for non-existing artwork config file
Holger Schemel [Thu, 4 Feb 2021 00:03:41 +0000 (01:03 +0100)]
fixed invalidating artwork info cache for non-existing artwork config file

2 months agochanged saving artwork info cache only if it has changed
Holger Schemel [Thu, 4 Feb 2021 00:00:29 +0000 (01:00 +0100)]
changed saving artwork info cache only if it has changed

2 months agoadded parent link to custom artwork tree to go back to setup menu
Holger Schemel [Tue, 2 Feb 2021 16:55:57 +0000 (17:55 +0100)]
added parent link to custom artwork tree to go back to setup menu

2 months agoadded function to set all parent links in tree
Holger Schemel [Tue, 2 Feb 2021 16:49:30 +0000 (17:49 +0100)]
added function to set all parent links in tree

2 months agoadded support for setup menu as top tree node
Holger Schemel [Tue, 2 Feb 2021 11:56:27 +0000 (12:56 +0100)]
added support for setup menu as top tree node

2 months agoreplaced string texts with predefined string constants
Holger Schemel [Tue, 2 Feb 2021 11:54:31 +0000 (12:54 +0100)]
replaced string texts with predefined string constants

2 months agochanged function to determine correct tree type
Holger Schemel [Tue, 2 Feb 2021 11:39:26 +0000 (12:39 +0100)]
changed function to determine correct tree type

2 months agominor code improvement
Holger Schemel [Tue, 2 Feb 2021 11:35:53 +0000 (12:35 +0100)]
minor code improvement

2 months agoadded separate custom artwork sub-tree for dedicated custom artwork
Holger Schemel [Tue, 2 Feb 2021 00:25:16 +0000 (01:25 +0100)]
added separate custom artwork sub-tree for dedicated custom artwork

2 months agoadded separate custom artwork sub-tree for artwork-only level sets
Holger Schemel [Mon, 1 Feb 2021 23:47:41 +0000 (00:47 +0100)]
added separate custom artwork sub-tree for artwork-only level sets

2 months agoadded wrapper function for creating level set custom artwork tree
Holger Schemel [Mon, 1 Feb 2021 19:39:38 +0000 (20:39 +0100)]
added wrapper function for creating level set custom artwork tree

2 months agoreplaced string text with predefined string constant
Holger Schemel [Sat, 30 Jan 2021 22:51:16 +0000 (23:51 +0100)]
replaced string text with predefined string constant

2 months agomoved code to remove tree info node to separate function
Holger Schemel [Sat, 30 Jan 2021 22:45:40 +0000 (23:45 +0100)]
moved code to remove tree info node to separate function

2 months agochanged custom artwork list to tree structure similar to level sets
Holger Schemel [Sat, 30 Jan 2021 19:59:17 +0000 (20:59 +0100)]
changed custom artwork list to tree structure similar to level sets

Before, all available custom artwork sets were presented as a long
list in the "custom artwork" setup menu. Now, all custom artwork
sets that are part of level sets (including pseudo level sets that
only contain custom artwork) are presented as a tree structure
similar to the level set selection menu, so it is much easier now
to find a custom artwork set related to a level set.

2 months agoimproved debug output for level or artwork tree info dump
Holger Schemel [Sat, 30 Jan 2021 10:01:28 +0000 (11:01 +0100)]
improved debug output for level or artwork tree info dump

2 months agofixed memory leak in recently added "last played level sets" feature
Holger Schemel [Wed, 20 Jan 2021 23:02:14 +0000 (00:02 +0100)]
fixed memory leak in recently added "last played level sets" feature

2 months agominor comment change
Holger Schemel [Wed, 20 Jan 2021 20:34:23 +0000 (21:34 +0100)]
minor comment change

2 months agoadded step delay option to custom element movement configuration
Holger Schemel [Tue, 19 Jan 2021 23:35:08 +0000 (00:35 +0100)]
added step delay option to custom element movement configuration

2 months agoadded graphics config option to support elements on non-black background
Holger Schemel [Mon, 11 Jan 2021 22:35:59 +0000 (23:35 +0100)]
added graphics config option to support elements on non-black background

2 months agoadded "last played level sets" sub-menu to level set selection screen
Holger Schemel [Thu, 14 Jan 2021 20:14:31 +0000 (21:14 +0100)]
added "last played level sets" sub-menu to level set selection screen

2 months agominor code improvement
Holger Schemel [Sat, 9 Jan 2021 17:11:55 +0000 (18:11 +0100)]
minor code improvement

2 months agoimproved code for counting score after the game
Holger Schemel [Sat, 9 Jan 2021 17:04:34 +0000 (18:04 +0100)]
improved code for counting score after the game

2 months agoadded setup option to disable counting score after the game
Holger Schemel [Sat, 9 Jan 2021 16:47:11 +0000 (17:47 +0100)]
added setup option to disable counting score after the game

2 months agoinverted logic of boolean setup option (to show scores after the game)
Holger Schemel [Sat, 9 Jan 2021 16:17:59 +0000 (17:17 +0100)]
inverted logic of boolean setup option (to show scores after the game)

2 months agoupdated title text and border graphic to show current year
Holger Schemel [Sat, 16 Jan 2021 18:31:37 +0000 (19:31 +0100)]
updated title text and border graphic to show current year

2 months agoversion number set to 4.2.2.2
Holger Schemel [Fri, 15 Jan 2021 16:58:37 +0000 (17:58 +0100)]
version number set to 4.2.2.2

3 months agofixed graphical bug with wrong draw buffer when using envelope request master-next-patch-release 4.2.2.1
Holger Schemel [Sun, 10 Jan 2021 00:08:59 +0000 (01:08 +0100)]
fixed graphical bug with wrong draw buffer when using envelope request

This bug occurred when using the R'n'D game engine with an envelope
request graphics configuration during a request after the game ended
(like asking to save a new tape), resulting in graphical garbage.

This bug was a regression of commit 926cd5be.

3 months agofixed displaying new high score entry if not on first page
Holger Schemel [Sat, 9 Jan 2021 18:10:49 +0000 (19:10 +0100)]
fixed displaying new high score entry if not on first page

3 months agofixed bug with not updating game panel when leaving invisible warp mode
Holger Schemel [Sat, 9 Jan 2021 11:54:19 +0000 (12:54 +0100)]
fixed bug with not updating game panel when leaving invisible warp mode

3 months agoremoved unused function declaration
Holger Schemel [Sat, 9 Jan 2021 11:48:33 +0000 (12:48 +0100)]
removed unused function declaration

3 months agoimproved door handling when entering level editor with read-only warning
Holger Schemel [Fri, 8 Jan 2021 16:14:52 +0000 (17:14 +0100)]
improved door handling when entering level editor with read-only warning

3 months agoadded option to disable warning about read-only levels when entering editor
Holger Schemel [Fri, 8 Jan 2021 16:08:16 +0000 (17:08 +0100)]
added option to disable warning about read-only levels when entering editor

3 months agominor change of text in request dialogs
Holger Schemel [Fri, 8 Jan 2021 16:06:13 +0000 (17:06 +0100)]
minor change of text in request dialogs

3 months agofixed bug with disabling overlay buttons during screen keyboard on Android
Holger Schemel [Thu, 7 Jan 2021 23:55:40 +0000 (00:55 +0100)]
fixed bug with disabling overlay buttons during screen keyboard on Android

When using the screen keyboard on Android systems with touch input,
keys on the screen keyboard like the "Return" key are handled as key
events, not text events, This causes the event handler to think that
a real keyboard is used instead of touch input, causing overlay touch
buttons to be disabled, even if the screen keyboard is immediately
followed by a request dialog, where overlay buttons should be used.

3 months agominor code cleanup
Holger Schemel [Thu, 7 Jan 2021 23:05:49 +0000 (00:05 +0100)]
minor code cleanup

3 months agofixed bug with screen keyboard still being active during request dialogs
Holger Schemel [Thu, 7 Jan 2021 23:01:08 +0000 (00:01 +0100)]
fixed bug with screen keyboard still being active during request dialogs

3 months agofixed sub-second precision and rounding differences for time score
Holger Schemel [Thu, 7 Jan 2021 20:01:22 +0000 (21:01 +0100)]
fixed sub-second precision and rounding differences for time score

3 months agofixed time score for native Emerald Mine and Diamond Caves levels
Holger Schemel [Thu, 7 Jan 2021 11:57:03 +0000 (12:57 +0100)]
fixed time score for native Emerald Mine and Diamond Caves levels

3 months agoadded game functionality to use time score for 1 or 10 seconds left
Holger Schemel [Wed, 6 Jan 2021 23:07:56 +0000 (00:07 +0100)]
added game functionality to use time score for 1 or 10 seconds left

3 months agoadded level editor gadget to use time score for 1 or 10 seconds left
Holger Schemel [Wed, 6 Jan 2021 23:05:23 +0000 (00:05 +0100)]
added level editor gadget to use time score for 1 or 10 seconds left

3 months agoadded level value to use time score for 1 or 10 seconds left (not used yet)
Holger Schemel [Wed, 6 Jan 2021 23:03:35 +0000 (00:03 +0100)]
added level value to use time score for 1 or 10 seconds left (not used yet)

3 months agochanged triggering CE actions by digging or collecting
Holger Schemel [Mon, 4 Jan 2021 11:21:36 +0000 (12:21 +0100)]
changed triggering CE actions by digging or collecting

Before this change, when CEs are triggered by the player digging or
collecting some tile or element, the trigger action was executed
immediately when the player started digging or collecting.

While this generally works fine, it looks (and behaves) strange when
the related CE action causes the player to relocate to a different
position in the playfield (CEs that are "teleporting" the player). In
such cases, the player's dig or collect action is usually executed at
both the old and the new player position, which is not how it really
should work.

This change fixes this behaviour by delaying the CE trigger action
until the dig or collect action is finished, so that only the tile at
the old player position gets digged or collected, but not the tile at
the new player position (if the triggered CE causes the player to
relocate).

This commit improves the workaround in commit fd0ec980.

3 months agofixed single step mode for R'n'D game engine when used in team mode
Holger Schemel [Sun, 3 Jan 2021 00:18:36 +0000 (01:18 +0100)]
fixed single step mode for R'n'D game engine when used in team mode

3 months agoadded patch mode to automatically fix tapes for visible playfield size
Holger Schemel [Sat, 2 Jan 2021 23:22:15 +0000 (00:22 +0100)]
added patch mode to automatically fix tapes for visible playfield size

3 months agoadded mode to patch tapes to force visible playfield size of 34 x 34
Holger Schemel [Sat, 2 Jan 2021 01:18:30 +0000 (02:18 +0100)]
added mode to patch tapes to force visible playfield size of 34 x 34

This adds a new tape patch mode "screen_34x34" that can be used to
patch existing tapes to force a visible playfield size of 34 x 34
tiles (as used with setup option "small game graphics" when using a
graphics set with classic visible playfield size of 17 x 17 tiles).

This patch mode can be applied to team mode tapes only.

This patch mode can be used to fix broken tapes caused by recording
tapes in team mode and then replaying them with a different visible
playfield size, potentially causing different player movement due to
players being unable to move when reaching the edge of the visible
playfield when another player stays at the opposite screen border,
with default player focus that forces all players to be inside the
visible playfield.

3 months agoimproved command to automatically patch tapes
Holger Schemel [Sat, 2 Jan 2021 01:17:02 +0000 (02:17 +0100)]
improved command to automatically patch tapes

3 months agofixed bug with playing team mode tapes with changed visible playfield size
Holger Schemel [Wed, 30 Dec 2020 20:57:47 +0000 (21:57 +0100)]
fixed bug with playing team mode tapes with changed visible playfield size

3 months agoadded loading and saving visible playfield size from/to tape files
Holger Schemel [Wed, 30 Dec 2020 20:49:43 +0000 (21:49 +0100)]
added loading and saving visible playfield size from/to tape files

3 months agoadded visible playfield size to tape structure (not used yet)
Holger Schemel [Wed, 30 Dec 2020 20:45:30 +0000 (21:45 +0100)]
added visible playfield size to tape structure (not used yet)

3 months agoadded entry to credits file
Holger Schemel [Mon, 28 Dec 2020 11:55:50 +0000 (12:55 +0100)]
added entry to credits file

3 months agoimproved visibility of tile selection cursor for MM game engine
Holger Schemel [Mon, 28 Dec 2020 11:48:49 +0000 (12:48 +0100)]
improved visibility of tile selection cursor for MM game engine

3 months agoversion number set to 4.2.2.1
Holger Schemel [Wed, 23 Dec 2020 14:37:00 +0000 (15:37 +0100)]
version number set to 4.2.2.1

3 months agoversion number set to 4.2.2.0 4.2.2.0
Holger Schemel [Wed, 23 Dec 2020 12:03:28 +0000 (13:03 +0100)]
version number set to 4.2.2.0

3 months agoadded support for drawing request dialog on top of global animations
Holger Schemel [Fri, 18 Dec 2020 01:30:10 +0000 (02:30 +0100)]
added support for drawing request dialog on top of global animations

3 months agoadded storing active or opening/closing request dialog area into texture
Holger Schemel [Fri, 18 Dec 2020 01:24:11 +0000 (02:24 +0100)]
added storing active or opening/closing request dialog area into texture

3 months agoadded option for '.draw_order' for request dialog (not used yet)
Holger Schemel [Fri, 18 Dec 2020 01:17:51 +0000 (02:17 +0100)]
added option for '.draw_order' for request dialog (not used yet)

3 months agoadded variable to store if request dialog event was processed
Holger Schemel [Fri, 18 Dec 2020 01:12:55 +0000 (02:12 +0100)]
added variable to store if request dialog event was processed

3 months agoadded variable to store if request dialog is active or opening/closing
Holger Schemel [Fri, 18 Dec 2020 01:09:37 +0000 (02:09 +0100)]
added variable to store if request dialog is active or opening/closing

3 months agocleanup of code for key arrangement on game panel
Holger Schemel [Thu, 17 Dec 2020 16:40:18 +0000 (17:40 +0100)]
cleanup of code for key arrangement on game panel

3 months agoadded support for style value for key arrangement on game panel
Holger Schemel [Thu, 17 Dec 2020 16:17:22 +0000 (17:17 +0100)]
added support for style value for key arrangement on game panel

3 months agoadded style value for key arrangement on game panel (not used yet)
Holger Schemel [Thu, 17 Dec 2020 16:13:22 +0000 (17:13 +0100)]
added style value for key arrangement on game panel (not used yet)

3 months agoadded default (empty) "style" to game panel definitions
Holger Schemel [Thu, 17 Dec 2020 15:25:00 +0000 (16:25 +0100)]
added default (empty) "style" to game panel definitions

3 months agoadded support for synchronized random animation mode for game panel
Holger Schemel [Thu, 17 Dec 2020 15:11:02 +0000 (16:11 +0100)]
added support for synchronized random animation mode for game panel

3 months agoremoved duplicate code
Holger Schemel [Thu, 17 Dec 2020 12:26:06 +0000 (13:26 +0100)]
removed duplicate code

3 months agoadded setup option to show dynamite and keys in game panel for EM artwork
Holger Schemel [Wed, 16 Dec 2020 00:51:07 +0000 (01:51 +0100)]
added setup option to show dynamite and keys in game panel for EM artwork

3 months agoadded default (empty) "class" to game panel definitions
Holger Schemel [Wed, 16 Dec 2020 00:34:33 +0000 (01:34 +0100)]
added default (empty) "class" to game panel definitions