rocksndiamonds.git
3 years 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.

3 years 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

3 years 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

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

3 years 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

3 years 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

3 years 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

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

3 years 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

3 years 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

3 years 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)

3 years 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

3 years 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 years agofixed graphical bug with wrong draw buffer when using envelope request 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 years 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 years 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 years agoremoved unused function declaration
Holger Schemel [Sat, 9 Jan 2021 11:48:33 +0000 (12:48 +0100)]
removed unused function declaration

3 years 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 years 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 years 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 years 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 years agominor code cleanup
Holger Schemel [Thu, 7 Jan 2021 23:05:49 +0000 (00:05 +0100)]
minor code cleanup

3 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years agoadded entry to credits file
Holger Schemel [Mon, 28 Dec 2020 11:55:50 +0000 (12:55 +0100)]
added entry to credits file

3 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years agoremoved duplicate code
Holger Schemel [Thu, 17 Dec 2020 12:26:06 +0000 (13:26 +0100)]
removed duplicate code

3 years 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 years 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

3 years agoadded trying to show as many keys as possible in the default game panel
Holger Schemel [Tue, 15 Dec 2020 23:44:14 +0000 (00:44 +0100)]
added trying to show as many keys as possible in the default game panel

3 years agofixed entering single step pause mode before processing first EM game cycle
Holger Schemel [Mon, 21 Dec 2020 22:50:28 +0000 (23:50 +0100)]
fixed entering single step pause mode before processing first EM game cycle

3 years agofixed delaying immediate events after game status has changed
Holger Schemel [Mon, 21 Dec 2020 22:47:24 +0000 (23:47 +0100)]
fixed delaying immediate events after game status has changed

3 years agofixed wrong variable type
Holger Schemel [Mon, 21 Dec 2020 22:12:14 +0000 (23:12 +0100)]
fixed wrong variable type

3 years agofixed bug with not closing game panel after envelope request for restart
Holger Schemel [Wed, 16 Dec 2020 18:08:26 +0000 (19:08 +0100)]
fixed bug with not closing game panel after envelope request for restart

3 years agofixed bug with using wrong draw buffer after request if game has ended
Holger Schemel [Wed, 16 Dec 2020 11:01:50 +0000 (12:01 +0100)]
fixed bug with using wrong draw buffer after request if game has ended

3 years agoversion number set to 4.2.1.1
Holger Schemel [Tue, 15 Dec 2020 11:54:07 +0000 (12:54 +0100)]
version number set to 4.2.1.1

3 years agoversion number set to 4.2.1.0 4.2.1.0
Holger Schemel [Mon, 14 Dec 2020 01:10:00 +0000 (02:10 +0100)]
version number set to 4.2.1.0

3 years agoincreased maximum number of players/teams
Holger Schemel [Mon, 14 Dec 2020 00:56:38 +0000 (01:56 +0100)]
increased maximum number of players/teams

3 years agomerged player name and team tree types
Holger Schemel [Mon, 14 Dec 2020 00:53:32 +0000 (01:53 +0100)]
merged player name and team tree types

3 years agoremoved redundant code for selecting font color for player name
Holger Schemel [Wed, 28 Oct 2020 00:00:03 +0000 (01:00 +0100)]
removed redundant code for selecting font color for player name

3 years agoremoved redundant use of font constants for "choose tree" menu screens
Holger Schemel [Tue, 27 Oct 2020 23:50:12 +0000 (00:50 +0100)]
removed redundant use of font constants for "choose tree" menu screens

3 years agofixed redrawing previous player name when aborting typing player name
Holger Schemel [Tue, 27 Oct 2020 23:26:10 +0000 (00:26 +0100)]
fixed redrawing previous player name when aborting typing player name

3 years agofixed text positions and fonts when typing player name
Holger Schemel [Tue, 27 Oct 2020 23:22:48 +0000 (00:22 +0100)]
fixed text positions and fonts when typing player name

3 years agoadded request to create empty level set for newly created users
Holger Schemel [Sat, 24 Oct 2020 23:46:23 +0000 (01:46 +0200)]
added request to create empty level set for newly created users

3 years agoremoved unneeded request confirmations
Holger Schemel [Sat, 24 Oct 2020 22:19:22 +0000 (00:19 +0200)]
removed unneeded request confirmations

3 years agoadded request to use current setup values for newly created users
Holger Schemel [Sat, 24 Oct 2020 22:10:21 +0000 (00:10 +0200)]
added request to use current setup values for newly created users

3 years agomoved function call to redraw player name before opening request dialogs
Holger Schemel [Sat, 24 Oct 2020 21:51:16 +0000 (23:51 +0200)]
moved function call to redraw player name before opening request dialogs

3 years agoadded asking to reset/remove user when clearing user name
Holger Schemel [Fri, 23 Oct 2020 22:53:45 +0000 (00:53 +0200)]
added asking to reset/remove user when clearing user name

When completely clearing a user name (in the main menu or on the name
selection screen, depending on the mutliple user setup setting), ask
to reset setup values for this user. This will cause the "setup.conf"
file to be deleted, and the name to be set back to "no name" (or the
default login name if that user is the first user in the user list).

When manually setting the name to "no name", ask to completely remove
that user from the game. This will cause the user directory (contains
settings, tapes etc.) to be renamed with a "renamed" suffix (together
with a timestamp), so it is not recognized by the program anymore, but
can still be copied back manually. This will only be done if the user
is not the first user in the user list.

3 years agomoved code to set changed player name to separate function
Holger Schemel [Wed, 21 Oct 2020 00:36:00 +0000 (02:36 +0200)]
moved code to set changed player name to separate function

3 years agochanged checking for typing on name selection screen
Holger Schemel [Wed, 21 Oct 2020 00:27:49 +0000 (02:27 +0200)]
changed checking for typing on name selection screen

3 years agoadded functions to get timestamp strings
Holger Schemel [Wed, 21 Oct 2020 00:25:21 +0000 (02:25 +0200)]
added functions to get timestamp strings

3 years agofixed default player names on name selection screen
Holger Schemel [Tue, 20 Oct 2020 23:14:02 +0000 (01:14 +0200)]
fixed default player names on name selection screen

3 years agoadded function to get default player name
Holger Schemel [Tue, 20 Oct 2020 22:37:43 +0000 (00:37 +0200)]
added function to get default player name

3 years agorenamed and moved function to sanitize player name
Holger Schemel [Tue, 20 Oct 2020 22:34:16 +0000 (00:34 +0200)]
renamed and moved function to sanitize player name

3 years agorenamed function
Holger Schemel [Tue, 20 Oct 2020 22:04:50 +0000 (00:04 +0200)]
renamed function

3 years agofixed bug with not updating list of user names when typing name
Holger Schemel [Tue, 20 Oct 2020 21:55:36 +0000 (23:55 +0200)]
fixed bug with not updating list of user names when typing name

This bug occurs when setup option "multiple users" is disabled and
the player name is changed in the main menu -- when done, enabling
multiple users in the setup menu and entering the name selection
screen shows that the current player name that was just changed is
not updated in the list of user names shown on the name selection
screen.

3 years agomoved variable from local to file scope
Holger Schemel [Tue, 20 Oct 2020 21:48:15 +0000 (23:48 +0200)]
moved variable from local to file scope

3 years agoadded correction when typing name on main menu screen
Holger Schemel [Tue, 20 Oct 2020 18:11:31 +0000 (20:11 +0200)]
added correction when typing name on main menu screen

3 years agominor code improvement
Holger Schemel [Mon, 19 Oct 2020 21:30:19 +0000 (23:30 +0200)]
minor code improvement

3 years agorenamed variables
Holger Schemel [Mon, 19 Oct 2020 21:26:15 +0000 (23:26 +0200)]
renamed variables

3 years agominor code change when initializing typing player name
Holger Schemel [Mon, 19 Oct 2020 21:23:29 +0000 (23:23 +0200)]
minor code change when initializing typing player name

3 years agomoved code to draw typing player name to separate function
Holger Schemel [Mon, 19 Oct 2020 21:21:10 +0000 (23:21 +0200)]
moved code to draw typing player name to separate function

3 years agochanged font used for player name after typing
Holger Schemel [Mon, 19 Oct 2020 21:13:41 +0000 (23:13 +0200)]
changed font used for player name after typing

3 years agochanged setting font for player name after typing
Holger Schemel [Mon, 19 Oct 2020 21:10:58 +0000 (23:10 +0200)]
changed setting font for player name after typing

3 years agominor code improvement
Holger Schemel [Mon, 19 Oct 2020 21:05:45 +0000 (23:05 +0200)]
minor code improvement

3 years agoadded variable to improve readability
Holger Schemel [Mon, 19 Oct 2020 19:27:19 +0000 (21:27 +0200)]
added variable to improve readability

3 years agofixed game mode for name selection screen
Holger Schemel [Mon, 19 Oct 2020 19:12:51 +0000 (21:12 +0200)]
fixed game mode for name selection screen

3 years agoadded check if typed player name has not changed
Holger Schemel [Mon, 19 Oct 2020 17:46:19 +0000 (19:46 +0200)]
added check if typed player name has not changed

3 years agoadded (and enabled) support for user name selection screen
Holger Schemel [Mon, 19 Oct 2020 00:19:11 +0000 (02:19 +0200)]
added (and enabled) support for user name selection screen

3 years agoadded more support for user name selection screen (not used yet)
Holger Schemel [Sun, 18 Oct 2020 23:31:38 +0000 (01:31 +0200)]
added more support for user name selection screen (not used yet)

3 years agochanged mapping gadgets when drawing screen to choose from tree
Holger Schemel [Sun, 18 Oct 2020 23:18:46 +0000 (01:18 +0200)]
changed mapping gadgets when drawing screen to choose from tree

This change allows for checking existence and position of scroll bar
when drawing screen to choose item from tree structure.

3 years agorenamed function
Holger Schemel [Sun, 18 Oct 2020 23:14:49 +0000 (01:14 +0200)]
renamed function

3 years agochanged default player name to "no name" for all but the first user
Holger Schemel [Sun, 18 Oct 2020 23:12:01 +0000 (01:12 +0200)]
changed default player name to "no name" for all but the first user

3 years agofixed bug with unnecessarily reloading custom artwork on ECS/AGA change
Holger Schemel [Sun, 18 Oct 2020 22:54:09 +0000 (00:54 +0200)]
fixed bug with unnecessarily reloading custom artwork on ECS/AGA change

This bug occurs when changing the setup option for ECS/AGA preference
when there exists a level set with both ECS and AGA graphics sets in
the available tree of level sets, and results in (visually) attempting
to reload the current graphics even if the currently active level set
does not have any such graphics variants.

This fix prevents such unnecessary attempts to reload custom graphics,
and adds a better check for changed graphics (also needed if graphics
change from ECS to AGA variant) that really compares the previous with
the current graphics (which may result in the need to reload graphics).

3 years agorenamed variable
Holger Schemel [Sun, 18 Oct 2020 22:51:14 +0000 (00:51 +0200)]
renamed variable

3 years agominor whitespace change
Holger Schemel [Sun, 18 Oct 2020 22:46:20 +0000 (00:46 +0200)]
minor whitespace change