rocksndiamonds.git
2 years agocode cleanup
Holger Schemel [Sun, 27 Mar 2022 11:43:12 +0000 (13:43 +0200)]
code cleanup

2 years agoadded new screen definition for global animations in the hall of fame
Holger Schemel [Sun, 27 Mar 2022 11:19:46 +0000 (13:19 +0200)]
added new screen definition for global animations in the hall of fame

This adds a new screen suffix ".SCORESONLY" for global animations,
which can be used to display animations only on the main screen of
the hall of fame, but not on the score details page (which can be
defined using ".SCOREINFO"), while using ".SCORES" shows animations
on both the main scores screen and the score details pages, as before.

2 years agore-added text to main menu back link list entry in hall of fame
Holger Schemel [Sun, 20 Mar 2022 20:08:41 +0000 (21:08 +0100)]
re-added text to main menu back link list entry in hall of fame

2 years agochanged high score list layout in hall of fame for backward compatibility
Holger Schemel [Sat, 19 Mar 2022 23:53:10 +0000 (00:53 +0100)]
changed high score list layout in hall of fame for backward compatibility

2 years agoadded some missing definitions for loading and score screens
Holger Schemel [Sat, 19 Mar 2022 10:07:40 +0000 (11:07 +0100)]
added some missing definitions for loading and score screens

2 years agofixed using same background music for hall of fame and score info page
Holger Schemel [Sat, 19 Mar 2022 09:42:27 +0000 (10:42 +0100)]
fixed using same background music for hall of fame and score info page

2 years agochanged using always the same width for high score list in hall of fame
Holger Schemel [Sat, 19 Mar 2022 09:26:11 +0000 (10:26 +0100)]
changed using always the same width for high score list in hall of fame

2 years agolimited filling high score list with empty score entries to "top ten" list
Holger Schemel [Thu, 17 Mar 2022 20:27:54 +0000 (21:27 +0100)]
limited filling high score list with empty score entries to "top ten" list

2 years agoremoved text from main menu back link list entry in hall of fame
Holger Schemel [Thu, 17 Mar 2022 20:15:11 +0000 (21:15 +0100)]
removed text from main menu back link list entry in hall of fame

2 years agofixed setting active score entry in hall of fame when changing levels
Holger Schemel [Wed, 16 Mar 2022 16:46:27 +0000 (17:46 +0100)]
fixed setting active score entry in hall of fame when changing levels

2 years agoadded filling visible high score list with empty score entries, if needed
Holger Schemel [Wed, 16 Mar 2022 16:22:43 +0000 (17:22 +0100)]
added filling visible high score list with empty score entries, if needed

2 years agoadded support for background image for initial loading screen
Holger Schemel [Tue, 15 Mar 2022 23:52:49 +0000 (00:52 +0100)]
added support for background image for initial loading screen

2 years agoadded support for background image for loading screen
Holger Schemel [Mon, 14 Mar 2022 00:53:55 +0000 (01:53 +0100)]
added support for background image for loading screen

2 years agoadded support for more than one initial image to initial busy animation
Holger Schemel [Sun, 13 Mar 2022 19:06:25 +0000 (20:06 +0100)]
added support for more than one initial image to initial busy animation

2 years agoremoved reloading artwork set for changed level set if not required (again)
Holger Schemel [Sun, 13 Mar 2022 10:53:02 +0000 (11:53 +0100)]
removed reloading artwork set for changed level set if not required (again)

The code that was changed here did the following: Trigger reloading
artwork set after a different level set was selected if either the
previous or the current level set has custom artwork configured in
the file "levelinfo.conf", or if either the previous or the current
level set contains a custom artwork sub-directory. But this caused an
attempt to reload new artwork even if both the previous and current
artwork in file "levelinfo.conf" are identical (but without custom
artwork sub-directories contained inside the level sets), which should
not happen.

Now it is only checked if overriding artwork has changed, or if the
identifiers of the previous and current artwork have changed, or if
either the previous or current level set contains a custom artwork
sub-directory, which then causes the artwork to be reloaded.

This was handled incorrectly by (reverted) commit 4ca952cb before.

2 years agoreverted commit 4ca952cbcd991a3e351b6292b37e47361b8f04d3
Holger Schemel [Sun, 13 Mar 2022 10:21:23 +0000 (11:21 +0100)]
reverted commit 4ca952cbcd991a3e351b6292b37e47361b8f04d3

It turned out that the removed code did not only check for configured
artwork set in file "levelinfo.conf", but also for existing artwork
sub-directories in the previous and current level set when changing
level sets, causing such artwork to be ignored instead of activated.

This has to be handled differently to still work in such cases.

2 years agoadded stopping screen fading if "Escape" key event is pending
Holger Schemel [Sun, 13 Mar 2022 10:17:55 +0000 (11:17 +0100)]
added stopping screen fading if "Escape" key event is pending

2 years agofixed setting default tile size for early busy animation to work again
Holger Schemel [Sat, 12 Mar 2022 16:04:16 +0000 (17:04 +0100)]
fixed setting default tile size for early busy animation to work again

2 years agoadded reading settings for busy animation from custom artwork config
Holger Schemel [Sat, 12 Mar 2022 16:01:26 +0000 (17:01 +0100)]
added reading settings for busy animation from custom artwork config

2 years agomoved initializing menu design settings from hash to separate function
Holger Schemel [Sat, 12 Mar 2022 15:56:57 +0000 (16:56 +0100)]
moved initializing menu design settings from hash to separate function

2 years agofixed cursor position on high score screen after leaving score info page
Holger Schemel [Sat, 12 Mar 2022 11:41:13 +0000 (12:41 +0100)]
fixed cursor position on high score screen after leaving score info page

2 years agoadded using score selection buttons for score info page
Holger Schemel [Fri, 11 Mar 2022 13:03:26 +0000 (14:03 +0100)]
added using score selection buttons for score info page

2 years agochanged order of entries on score info page
Holger Schemel [Fri, 11 Mar 2022 12:57:23 +0000 (13:57 +0100)]
changed order of entries on score info page

2 years agoadded score selection buttons for score info page (not used yet)
Holger Schemel [Fri, 11 Mar 2022 12:46:51 +0000 (13:46 +0100)]
added score selection buttons for score info page (not used yet)

2 years agochanged function for score text to get score size from parameter
Holger Schemel [Fri, 11 Mar 2022 12:13:13 +0000 (13:13 +0100)]
changed function for score text to get score size from parameter

2 years agochanged function for rank text to also include trailing dot
Holger Schemel [Fri, 11 Mar 2022 12:10:38 +0000 (13:10 +0100)]
changed function for rank text to also include trailing dot

2 years agoremoved reloading artwork set for changed level set if not required
Holger Schemel [Fri, 11 Mar 2022 11:35:27 +0000 (12:35 +0100)]
removed reloading artwork set for changed level set if not required

The code that was removed here did the following: Trigger reloading
artwork set after a different level set was selected if either the
previous or the current level set has custom artwork configured in
the file "levelinfo.conf". But this caused an attempt to reload new
artwork even if both the previous and current artwork are identical.

Now it is only checked if overriding artwork has changed, or if the
identifiers of the previous and current artwork have changed.

2 years agowhitespace changes
Holger Schemel [Thu, 10 Mar 2022 17:02:48 +0000 (18:02 +0100)]
whitespace changes

2 years agoadded wrapper function to draw graphic at level playfield position
Holger Schemel [Thu, 10 Mar 2022 16:52:13 +0000 (17:52 +0100)]
added wrapper function to draw graphic at level playfield position

2 years agofixed transparency for some game elements over empty space elements
Holger Schemel [Thu, 10 Mar 2022 16:32:27 +0000 (17:32 +0100)]
fixed transparency for some game elements over empty space elements

When using non-black empty space elements, there were still some game
elements that did not support transparency (growing/shrinking amoeba,
growing walls, dragon fire and explosions for custom elements that are
"walkable under"), which is fixed now.

2 years agochanged text on score info page
Holger Schemel [Sun, 6 Mar 2022 23:59:13 +0000 (00:59 +0100)]
changed text on score info page

2 years agoadded support for long text values on score info page
Holger Schemel [Sun, 6 Mar 2022 23:53:56 +0000 (00:53 +0100)]
added support for long text values on score info page

2 years agoadded loading level when changing level in hall of fame
Holger Schemel [Sun, 6 Mar 2022 23:52:12 +0000 (00:52 +0100)]
added loading level when changing level in hall of fame

2 years agoadded wrapper function to draw text buffer at default field position
Holger Schemel [Sun, 6 Mar 2022 23:49:31 +0000 (00:49 +0100)]
added wrapper function to draw text buffer at default field position

2 years agofixed setting score info to defaults
Holger Schemel [Sun, 6 Mar 2022 23:47:41 +0000 (00:47 +0100)]
fixed setting score info to defaults

2 years agoadded some more automatically generated files to be ignored by Git
Holger Schemel [Fri, 4 Mar 2022 14:48:19 +0000 (15:48 +0100)]
added some more automatically generated files to be ignored by Git

2 years agoprevented mapping undo/redo snapshot buttons on main menu screen
Holger Schemel [Wed, 2 Mar 2022 22:47:44 +0000 (23:47 +0100)]
prevented mapping undo/redo snapshot buttons on main menu screen

2 years agofixed crash bug for some graphics configurations with global border
Holger Schemel [Tue, 1 Mar 2022 17:18:07 +0000 (18:18 +0100)]
fixed crash bug for some graphics configurations with global border

This crash may happen if parts of a global screen border graphic are
configured to be drawn (like "border.draw_masked.DOOR: true") while
the global screen border graphic itself is configured to be undefined
(like "global.border.MAIN: [NONE]"), which causes an attempt to blit
from a bitmap that is NULL, resulting in a segmentation fault.

This commit adds a check to prevent this.

2 years agoadded additional score information from score server to score info page
Holger Schemel [Tue, 1 Mar 2022 17:07:11 +0000 (18:07 +0100)]
added additional score information from score server to score info page

2 years agoadded selecting score entry from the score info screen
Holger Schemel [Thu, 24 Feb 2022 01:07:28 +0000 (02:07 +0100)]
added selecting score entry from the score info screen

2 years agomoved code to draw content of score info screen to separate function
Holger Schemel [Thu, 24 Feb 2022 00:57:42 +0000 (01:57 +0100)]
moved code to draw content of score info screen to separate function

2 years agomoved code to get rank string for hall of fame to separate function
Holger Schemel [Thu, 24 Feb 2022 00:47:13 +0000 (01:47 +0100)]
moved code to get rank string for hall of fame to separate function

2 years agoadded player rank to score info screen
Holger Schemel [Thu, 24 Feb 2022 00:41:05 +0000 (01:41 +0100)]
added player rank to score info screen

2 years agorenamed variable
Holger Schemel [Thu, 24 Feb 2022 00:38:34 +0000 (01:38 +0100)]
renamed variable

2 years agofixed bug with not unmapping gadgets from previous screen on score info
Holger Schemel [Wed, 23 Feb 2022 23:39:22 +0000 (00:39 +0100)]
fixed bug with not unmapping gadgets from previous screen on score info

2 years agofixed bug with wrong level number in hall of fame after winning a game
Holger Schemel [Wed, 23 Feb 2022 23:32:33 +0000 (00:32 +0100)]
fixed bug with wrong level number in hall of fame after winning a game

2 years agofixed treating already handled click on gadget as "leave screen" event
Holger Schemel [Wed, 23 Feb 2022 23:23:59 +0000 (00:23 +0100)]
fixed treating already handled click on gadget as "leave screen" event

This bug occured when clicking on the "previous level" or "next level"
gadget on the high score screen, followed by an empty scores screen,
which itself treats any button click as a "leave screen" event, thus
handling that mouse click twice, which results in that empty scores
screen to be immediately left (although it should wait for *another*
button click here, of course). This fix makes sure that button clicks
on gadgets that were already handled are not immediately handled again.

2 years agoadded basic score info page
Holger Schemel [Wed, 23 Feb 2022 22:45:43 +0000 (23:45 +0100)]
added basic score info page

2 years agoadded support for new game mode for score info page (not used yet)
Holger Schemel [Wed, 23 Feb 2022 22:42:51 +0000 (23:42 +0100)]
added support for new game mode for score info page (not used yet)

2 years agomoved code to get time string for hall of fame to separate function
Holger Schemel [Wed, 23 Feb 2022 22:33:43 +0000 (23:33 +0100)]
moved code to get time string for hall of fame to separate function

2 years agoadded selecting level from the high score screen
Holger Schemel [Mon, 21 Feb 2022 23:15:44 +0000 (00:15 +0100)]
added selecting level from the high score screen

2 years agofixed case of empty scores list even after loading from server
Holger Schemel [Mon, 21 Feb 2022 23:12:50 +0000 (00:12 +0100)]
fixed case of empty scores list even after loading from server

2 years agoadded functions to redraw and unmap screen gadgets
Holger Schemel [Mon, 21 Feb 2022 22:57:01 +0000 (23:57 +0100)]
added functions to redraw and unmap screen gadgets

2 years agocleanup of function parameters
Holger Schemel [Sat, 19 Feb 2022 01:15:32 +0000 (02:15 +0100)]
cleanup of function parameters

2 years agochanged high score screen to show only non-empty score entries
Holger Schemel [Fri, 18 Feb 2022 23:35:55 +0000 (00:35 +0100)]
changed high score screen to show only non-empty score entries

For high score screens without any scores, a special page is displayed
instead of only showing a navigation link back to the main menu.

2 years agomerged code for reloading updated server scores
Holger Schemel [Fri, 18 Feb 2022 17:56:18 +0000 (18:56 +0100)]
merged code for reloading updated server scores

2 years agomoved drawing title of "choose tree" screen to separate function
Holger Schemel [Fri, 18 Feb 2022 17:42:14 +0000 (18:42 +0100)]
moved drawing title of "choose tree" screen to separate function

2 years agoprepared some functions for empty scores list
Holger Schemel [Fri, 18 Feb 2022 17:28:59 +0000 (18:28 +0100)]
prepared some functions for empty scores list

2 years agochanged using generic "choose tree" screen for "hall of fame" screen
Holger Schemel [Thu, 17 Feb 2022 17:34:15 +0000 (18:34 +0100)]
changed using generic "choose tree" screen for "hall of fame" screen

This change makes it possible to use the high scores screen on touch
screen devices (especially scrolling through the complete high score
list) by adding a scroll bar and a back link entry to the main menu.

2 years agoadded support for score entry tree type
Holger Schemel [Thu, 17 Feb 2022 16:40:58 +0000 (17:40 +0100)]
added support for score entry tree type

2 years agochanged using function to get font offset for drawing
Holger Schemel [Thu, 17 Feb 2022 16:36:47 +0000 (17:36 +0100)]
changed using function to get font offset for drawing

2 years agomoved code to get font for "choose tree" screen to separate function
Holger Schemel [Thu, 17 Feb 2022 16:27:39 +0000 (17:27 +0100)]
moved code to get font for "choose tree" screen to separate function

2 years agomoved code to draw "choose tree" screen to separate function
Holger Schemel [Tue, 15 Feb 2022 18:33:26 +0000 (19:33 +0100)]
moved code to draw "choose tree" screen to separate function

2 years agomoved fading and playing sounds and music for "choose tree" screens
Holger Schemel [Tue, 15 Feb 2022 17:24:18 +0000 (18:24 +0100)]
moved fading and playing sounds and music for "choose tree" screens

2 years agoadded function to add top tree node with back link
Holger Schemel [Tue, 15 Feb 2022 16:50:36 +0000 (17:50 +0100)]
added function to add top tree node with back link

2 years agoadded setup option to start game in pause mode
Holger Schemel [Sun, 13 Feb 2022 10:32:39 +0000 (11:32 +0100)]
added setup option to start game in pause mode

2 years agoadded support for MOD and MP3 music for Emscripten platform
Holger Schemel [Tue, 8 Feb 2022 09:18:30 +0000 (10:18 +0100)]
added support for MOD and MP3 music for Emscripten platform

2 years agofixed packaging data files for Emscripten platform
Holger Schemel [Tue, 8 Feb 2022 08:20:19 +0000 (09:20 +0100)]
fixed packaging data files for Emscripten platform

2 years agoupdated Manifest file for Android platform
Holger Schemel [Thu, 10 Feb 2022 20:05:31 +0000 (21:05 +0100)]
updated Manifest file for Android platform

2 years agoupdated Gradle files for Android platform
Holger Schemel [Thu, 10 Feb 2022 20:05:13 +0000 (21:05 +0100)]
updated Gradle files for Android platform

2 years agoupdated SDL Java files for Android platform
Holger Schemel [Thu, 10 Feb 2022 19:02:12 +0000 (20:02 +0100)]
updated SDL Java files for Android platform

2 years agoupdated SDL version to 2.0.20 for Android platform
Holger Schemel [Thu, 10 Feb 2022 16:34:43 +0000 (17:34 +0100)]
updated SDL version to 2.0.20 for Android platform

2 years agoadded key shortcuts to restart and replay/resume (before end) the game
Holger Schemel [Thu, 3 Feb 2022 19:26:39 +0000 (20:26 +0100)]
added key shortcuts to restart and replay/resume (before end) the game

2 years agoversion number set to 4.3.2.0
Holger Schemel [Thu, 3 Feb 2022 19:13:54 +0000 (20:13 +0100)]
version number set to 4.3.2.0

2 years agofixed HTTP buffer size
Holger Schemel [Thu, 10 Feb 2022 08:34:49 +0000 (09:34 +0100)]
fixed HTTP buffer size

2 years agoversion number set to 4.3.1.2
Holger Schemel [Thu, 10 Feb 2022 18:20:44 +0000 (19:20 +0100)]
version number set to 4.3.1.2

2 years agominor code cleanup 4.3.1.1
Holger Schemel [Tue, 8 Feb 2022 16:54:51 +0000 (17:54 +0100)]
minor code cleanup

2 years agofixed redraw problems if screen field is much larger than playfield
Holger Schemel [Tue, 8 Feb 2022 16:48:52 +0000 (17:48 +0100)]
fixed redraw problems if screen field is much larger than playfield

This change prevents accessing graphic frames outside of bitmaps due
to negative bitmap positions, which can be caused by custom artwork
using a screen size that is significantly larger than the playfield.

2 years agofixed crash bug caused by accessing invalid (off-playfield) array positions
Holger Schemel [Tue, 8 Feb 2022 16:05:47 +0000 (17:05 +0100)]
fixed crash bug caused by accessing invalid (off-playfield) array positions

This bug caused accessing array "GfxFrame[][]" out of bounds if level
position is not inside the playfield. (This is always the case when
invoked from "DrawScreenElementExt()" for level border elements.

2 years agofixed crash bug caused by accessing invalid (off-playfield) array positions
Holger Schemel [Tue, 8 Feb 2022 15:17:42 +0000 (16:17 +0100)]
fixed crash bug caused by accessing invalid (off-playfield) array positions

This bug caused accessing array "GfxElementEmpty[][]" out of bounds if
level position is not inside the playfield.

2 years agoremoved unused variable
Holger Schemel [Mon, 7 Feb 2022 18:19:41 +0000 (19:19 +0100)]
removed unused variable

2 years agoadded support for more than five digits for score on game panel
Holger Schemel [Sun, 6 Feb 2022 23:07:11 +0000 (00:07 +0100)]
added support for more than five digits for score on game panel

2 years agoadded support for fourth digit for inventory (dynamite) count on game panel
Holger Schemel [Sun, 6 Feb 2022 19:00:52 +0000 (20:00 +0100)]
added support for fourth digit for inventory (dynamite) count on game panel

2 years agoadded using server score if higher than (potentially truncated) local score
Holger Schemel [Sun, 6 Feb 2022 14:42:45 +0000 (15:42 +0100)]
added using server score if higher than (potentially truncated) local score

2 years agofixed truncating score to 16-bit value in score file
Holger Schemel [Sun, 6 Feb 2022 11:58:43 +0000 (12:58 +0100)]
fixed truncating score to 16-bit value in score file

2 years agofixed crash bug when player was killed by explosion
Holger Schemel [Sun, 6 Feb 2022 01:56:55 +0000 (02:56 +0100)]
fixed crash bug when player was killed by explosion

2 years agoremoved warning when compiling for Windows platform
Holger Schemel [Sun, 6 Feb 2022 00:42:59 +0000 (01:42 +0100)]
removed warning when compiling for Windows platform

2 years agofixed bug with tape length less than "pause before end" seconds
Holger Schemel [Fri, 4 Feb 2022 08:10:37 +0000 (09:10 +0100)]
fixed bug with tape length less than "pause before end" seconds

2 years agoversion number set to 4.3.1.1
Holger Schemel [Sun, 6 Feb 2022 01:55:14 +0000 (02:55 +0100)]
version number set to 4.3.1.1

2 years agoupdated title text and border graphic to show current year 4.3.1.0
Holger Schemel [Sat, 22 Jan 2022 17:21:01 +0000 (18:21 +0100)]
updated title text and border graphic to show current year

2 years agoadded range check for checking sound and music loops
Holger Schemel [Wed, 29 Dec 2021 14:57:38 +0000 (15:57 +0100)]
added range check for checking sound and music loops

This fixes a bug when playing music on the music info screen that is
not configured in "musicinfo.conf", therefore getting a negative ID,
which caused an illegal array access when checking for music loop.

(The added range check takes into account that the default loop mode
for sounds is "false", but is "true" for music, if not specified.)

2 years agochanged using macros for checking sound and music loops
Holger Schemel [Wed, 29 Dec 2021 14:50:53 +0000 (15:50 +0100)]
changed using macros for checking sound and music loops

2 years agofixed using player name from command line when uploading solution tapes
Holger Schemel [Tue, 14 Dec 2021 22:05:57 +0000 (23:05 +0100)]
fixed using player name from command line when uploading solution tapes

2 years agoadded counting mouse clicks on mouse click CEs when using step counter
Holger Schemel [Sat, 11 Dec 2021 11:35:17 +0000 (12:35 +0100)]
added counting mouse clicks on mouse click CEs when using step counter

2 years agomoved code for incrementing level time step counter to separate function
Holger Schemel [Sat, 11 Dec 2021 11:25:01 +0000 (12:25 +0100)]
moved code for incrementing level time step counter to separate function

2 years agoadded restoring initial value for game element transparency
Holger Schemel [Sat, 27 Nov 2021 23:53:52 +0000 (00:53 +0100)]
added restoring initial value for game element transparency

2 years agofixed android cloning additional empty space elements
Holger Schemel [Fri, 26 Nov 2021 23:13:56 +0000 (00:13 +0100)]
fixed android cloning additional empty space elements

2 years agoadded support for graphic animations of empty space elements
Holger Schemel [Fri, 26 Nov 2021 23:11:11 +0000 (00:11 +0100)]
added support for graphic animations of empty space elements

2 years agoadded transparency for game elements over empty space elements
Holger Schemel [Fri, 26 Nov 2021 23:04:49 +0000 (00:04 +0100)]
added transparency for game elements over empty space elements

2 years agoadded basic support for additional empty space elements in game engine
Holger Schemel [Fri, 26 Nov 2021 23:03:17 +0000 (00:03 +0100)]
added basic support for additional empty space elements in game engine