rocksndiamonds.git
2 years agochanged path and Makefile targets for engine test script
Holger Schemel [Mon, 20 Sep 2021 18:34:19 +0000 (20:34 +0200)]
changed path and Makefile targets for engine test script

2 years agoadded extreme speedup when uploading all existing private tapes
Holger Schemel [Mon, 20 Sep 2021 18:27:22 +0000 (20:27 +0200)]
added extreme speedup when uploading all existing private tapes

2 years agoversion number set to 4.3.0.0
Holger Schemel [Sun, 19 Sep 2021 11:28:33 +0000 (13:28 +0200)]
version number set to 4.3.0.0

2 years agoremoved writing tape file for upload if INFO chunk is missing or wrong
Holger Schemel [Thu, 16 Sep 2021 14:58:41 +0000 (16:58 +0200)]
removed writing tape file for upload if INFO chunk is missing or wrong

2 years agoadded using command line level identifier/nr for single tape tests/uploads
Holger Schemel [Thu, 16 Sep 2021 14:56:20 +0000 (16:56 +0200)]
added using command line level identifier/nr for single tape tests/uploads

2 years agoadded command line options for level identifier/nr for tape tests/uploads
Holger Schemel [Thu, 16 Sep 2021 14:49:42 +0000 (16:49 +0200)]
added command line options for level identifier/nr for tape tests/uploads

2 years agochanged using command line player name only for tape tests/uploads
Holger Schemel [Thu, 16 Sep 2021 14:47:29 +0000 (16:47 +0200)]
changed using command line player name only for tape tests/uploads

2 years agoadded saving tape without INFO chunk to temporary file before uploading
Holger Schemel [Tue, 14 Sep 2021 22:25:31 +0000 (00:25 +0200)]
added saving tape without INFO chunk to temporary file before uploading

2 years agocode cleanup
Holger Schemel [Sun, 12 Sep 2021 23:10:40 +0000 (01:10 +0200)]
code cleanup

2 years agoadded checking for missing INFO chunk when loading tape by filename only
Holger Schemel [Sun, 12 Sep 2021 23:09:13 +0000 (01:09 +0200)]
added checking for missing INFO chunk when loading tape by filename only

2 years agoadded saving incorrect solution tape to temporary file before uploading
Holger Schemel [Sun, 12 Sep 2021 22:56:26 +0000 (00:56 +0200)]
added saving incorrect solution tape to temporary file before uploading

2 years agoadded definitions for using test score server
Holger Schemel [Sun, 12 Sep 2021 11:27:07 +0000 (13:27 +0200)]
added definitions for using test score server

2 years agoadded sending timestamp of batch tape uploads to score server
Holger Schemel [Sun, 12 Sep 2021 11:13:45 +0000 (13:13 +0200)]
added sending timestamp of batch tape uploads to score server

2 years agomoved code for hiding tapes upload to setup menu function
Holger Schemel [Tue, 7 Sep 2021 08:40:28 +0000 (10:40 +0200)]
moved code for hiding tapes upload to setup menu function

2 years agorenamed setup option for using score server
Holger Schemel [Mon, 6 Sep 2021 22:22:21 +0000 (00:22 +0200)]
renamed setup option for using score server

2 years agoadded setup file option to toggle setup menu option to upload all tapes
Holger Schemel [Mon, 6 Sep 2021 22:03:19 +0000 (00:03 +0200)]
added setup file option to toggle setup menu option to upload all tapes

2 years agoadded setup menu option to upload all tapes to score server
Holger Schemel [Mon, 6 Sep 2021 21:21:24 +0000 (23:21 +0200)]
added setup menu option to upload all tapes to score server

2 years agochanged interface for functions to auto-play tapes to return played tapes
Holger Schemel [Sun, 5 Sep 2021 22:20:48 +0000 (00:20 +0200)]
changed interface for functions to auto-play tapes to return played tapes

2 years agoadded asking for and uploading tapes to score server (only once)
Holger Schemel [Sun, 5 Sep 2021 22:16:46 +0000 (00:16 +0200)]
added asking for and uploading tapes to score server (only once)

2 years agochanged interface for functions to auto-play tapes
Holger Schemel [Sun, 5 Sep 2021 22:07:52 +0000 (00:07 +0200)]
changed interface for functions to auto-play tapes

2 years agoadded setup option to ask for uploading tapes to score server
Holger Schemel [Sun, 5 Sep 2021 21:45:40 +0000 (23:45 +0200)]
added setup option to ask for uploading tapes to score server

2 years agochanged function from static to public
Holger Schemel [Sun, 5 Sep 2021 21:42:22 +0000 (23:42 +0200)]
changed function from static to public

2 years agoimproved debug output for level or artwork tree info dump
Holger Schemel [Sun, 5 Sep 2021 19:15:00 +0000 (21:15 +0200)]
improved debug output for level or artwork tree info dump

2 years agoimproved drawing initial header and item text to screen
Holger Schemel [Sun, 5 Sep 2021 19:14:07 +0000 (21:14 +0200)]
improved drawing initial header and item text to screen

2 years agoimproved code for drawing init text to screen
Holger Schemel [Sun, 5 Sep 2021 18:54:49 +0000 (20:54 +0200)]
improved code for drawing init text to screen

2 years agoadded support to auto-play/test/etc. all existing tapes
Holger Schemel [Sat, 4 Sep 2021 11:53:11 +0000 (13:53 +0200)]
added support to auto-play/test/etc. all existing tapes

2 years agominor code change
Holger Schemel [Sat, 4 Sep 2021 11:43:41 +0000 (13:43 +0200)]
minor code change

2 years agomoved code to initialize level set when auto playing tapes
Holger Schemel [Sat, 4 Sep 2021 11:28:48 +0000 (13:28 +0200)]
moved code to initialize level set when auto playing tapes

2 years agomoved code for tape replay header and summary to separate functions
Holger Schemel [Sat, 4 Sep 2021 10:16:56 +0000 (12:16 +0200)]
moved code for tape replay header and summary to separate functions

2 years agomoved variables for auto playing tapes to separate structure
Holger Schemel [Sat, 4 Sep 2021 10:13:09 +0000 (12:13 +0200)]
moved variables for auto playing tapes to separate structure

2 years agofixed wrong variable type
Holger Schemel [Sat, 4 Sep 2021 08:10:06 +0000 (10:10 +0200)]
fixed wrong variable type

2 years agocode cleanup
Holger Schemel [Fri, 3 Sep 2021 13:45:14 +0000 (15:45 +0200)]
code cleanup

2 years agoadded function to get next valid tree node
Holger Schemel [Fri, 3 Sep 2021 13:40:34 +0000 (15:40 +0200)]
added function to get next valid tree node

2 years agofixed tree node navigation bug (when stepping up empty sub-trees)
Holger Schemel [Fri, 3 Sep 2021 13:22:48 +0000 (15:22 +0200)]
fixed tree node navigation bug (when stepping up empty sub-trees)

2 years agoimproved comments
Holger Schemel [Fri, 3 Sep 2021 13:17:19 +0000 (15:17 +0200)]
improved comments

2 years agoremoved unnecessary "else if" structure
Holger Schemel [Fri, 3 Sep 2021 13:13:58 +0000 (15:13 +0200)]
removed unnecessary "else if" structure

2 years agoadded leaf node count to level/artwork tree info dump
Holger Schemel [Fri, 3 Sep 2021 12:55:32 +0000 (14:55 +0200)]
added leaf node count to level/artwork tree info dump

2 years agoadded saving non-standard solution tape to temporary file before uploading
Holger Schemel [Mon, 23 Aug 2021 10:25:57 +0000 (12:25 +0200)]
added saving non-standard solution tape to temporary file before uploading

2 years agoadded function to get temporary tape filename
Holger Schemel [Mon, 23 Aug 2021 10:16:58 +0000 (12:16 +0200)]
added function to get temporary tape filename

2 years agomoved getting different solution tape filenames to separate functions
Holger Schemel [Mon, 23 Aug 2021 10:14:24 +0000 (12:14 +0200)]
moved getting different solution tape filenames to separate functions

2 years agoadded requiring player name when uploading solution tapes via command line
Holger Schemel [Mon, 23 Aug 2021 08:31:34 +0000 (10:31 +0200)]
added requiring player name when uploading solution tapes via command line

2 years agoadded command line option for anonymous player name for score uploads
Holger Schemel [Sat, 21 Aug 2021 08:49:53 +0000 (10:49 +0200)]
added command line option for anonymous player name for score uploads

2 years agoadded always using game version in requests to score server
Holger Schemel [Fri, 20 Aug 2021 14:26:15 +0000 (16:26 +0200)]
added always using game version in requests to score server

2 years agoadded renaming player also on score server
Holger Schemel [Mon, 16 Aug 2021 21:39:56 +0000 (23:39 +0200)]
added renaming player also on score server

2 years agochanged functions for score server access from static to public
Holger Schemel [Mon, 16 Aug 2021 21:37:17 +0000 (23:37 +0200)]
changed functions for score server access from static to public

2 years agoremoved storing and sending system UUID again
Holger Schemel [Tue, 10 Aug 2021 12:54:30 +0000 (14:54 +0200)]
removed storing and sending system UUID again

2 years agoadded sending system and player UUID to score server
Holger Schemel [Tue, 10 Aug 2021 06:58:47 +0000 (08:58 +0200)]
added sending system and player UUID to score server

2 years agomoved initializing random numbers before creating UUIDs
Holger Schemel [Sat, 7 Aug 2021 22:24:11 +0000 (00:24 +0200)]
moved initializing random numbers before creating UUIDs

2 years agoadded setup values to store system and player UUID
Holger Schemel [Sat, 7 Aug 2021 19:29:06 +0000 (21:29 +0200)]
added setup values to store system and player UUID

2 years agofixed reading boolean values from files that are neither 0 nor 1
Holger Schemel [Sat, 7 Aug 2021 19:12:59 +0000 (21:12 +0200)]
fixed reading boolean values from files that are neither 0 nor 1

2 years agofixed triggering CE actions by digging or collecting
Holger Schemel [Sun, 18 Jul 2021 10:49:52 +0000 (12:49 +0200)]
fixed triggering CE actions by digging or collecting

The improvement for CE actions by digging or collecting elements not
triggering before the dig or collect action was completely finished
had a very nasty bug in that such CE events when triggered by snapping
that element (which also counts as digging or collecting) just did not
work. This bug is fixed by this change.

This fixes commit ca2d6507.

2 years agoadded temporary code for one-time level set conversion
Holger Schemel [Wed, 14 Jul 2021 21:52:59 +0000 (23:52 +0200)]
added temporary code for one-time level set conversion

2 years agoremoved unused function
Holger Schemel [Sat, 10 Jul 2021 11:16:02 +0000 (13:16 +0200)]
removed unused function

2 years agofixed unmapping undo/redo buttons at non-standard position
Holger Schemel [Sat, 10 Jul 2021 11:13:56 +0000 (13:13 +0200)]
fixed unmapping undo/redo buttons at non-standard position

2 years agorenamed setup option for showing load/save snapshot buttons
Holger Schemel [Sat, 10 Jul 2021 10:48:45 +0000 (12:48 +0200)]
renamed setup option for showing load/save snapshot buttons

2 years agoadded setup option for showing (only) undo/redo game buttons
Holger Schemel [Sat, 10 Jul 2021 10:40:32 +0000 (12:40 +0200)]
added setup option for showing (only) undo/redo game buttons

2 years agoadded saving special tape properties
Holger Schemel [Fri, 9 Jul 2021 12:56:17 +0000 (14:56 +0200)]
added saving special tape properties

2 years agomoved duplicate code to separate functions
Holger Schemel [Sat, 3 Jul 2021 11:53:13 +0000 (13:53 +0200)]
moved duplicate code to separate functions

2 years agoadded command to upload existing tapes to server
Holger Schemel [Sat, 3 Jul 2021 11:45:20 +0000 (13:45 +0200)]
added command to upload existing tapes to server

2 years agoimproved handling of command parameters when auto-processing tapes
Holger Schemel [Sat, 3 Jul 2021 11:40:12 +0000 (13:40 +0200)]
improved handling of command parameters when auto-processing tapes

2 years agoadded support for saving specified score tape file to server
Holger Schemel [Sat, 3 Jul 2021 11:37:00 +0000 (13:37 +0200)]
added support for saving specified score tape file to server

2 years agoadded check if loading tape file fails when auto-processing tapes
Holger Schemel [Sat, 3 Jul 2021 11:31:08 +0000 (13:31 +0200)]
added check if loading tape file fails when auto-processing tapes

2 years agofixed misleading comment
Holger Schemel [Sat, 3 Jul 2021 11:24:49 +0000 (13:24 +0200)]
fixed misleading comment

2 years agofixed potential crash bug when processing manipulated tape files
Holger Schemel [Tue, 29 Jun 2021 11:29:02 +0000 (13:29 +0200)]
fixed potential crash bug when processing manipulated tape files

2 years agoadded option to write tape log file (for high score server)
Holger Schemel [Tue, 29 Jun 2021 10:20:21 +0000 (12:20 +0200)]
added option to write tape log file (for high score server)

2 years agoadded command to play tape and upload resulting score to server
Holger Schemel [Mon, 28 Jun 2021 14:41:38 +0000 (16:41 +0200)]
added command to play tape and upload resulting score to server

2 years agoadded support for optional password for score server access
Holger Schemel [Thu, 24 Jun 2021 10:09:34 +0000 (12:09 +0200)]
added support for optional password for score server access

2 years agofixed bugs with thread functions not being re-entrant
Holger Schemel [Wed, 23 Jun 2021 11:11:57 +0000 (13:11 +0200)]
fixed bugs with thread functions not being re-entrant

This change fixes potential problems with thread functions being
called several times in parallel (which may happen if the network
operations performed by these functions really take long). In these
cases, the thread's data structure (see previous commit) will not be
used exclusively anymore.

To fix this, the thread's data structure will be allocated separately
for each invocation of the corresponding thread function.

2 years agofixed bugs with thread functions calling thread-unsave functions
Holger Schemel [Wed, 23 Jun 2021 08:48:52 +0000 (10:48 +0200)]
fixed bugs with thread functions calling thread-unsave functions

This change fixes potential problems with static values returned by
functions that are not thread-safe (filenames of score cache files
and score tape filenames, which change with each invocation of these
functions). Additionally, more problems can (and likely will) happen
with using global variables (score data of last added score entry),
which are changed in the main process while the thread function is
using them.

To fix this, all relevant data is copied to a structure which is then
exclusively used by the corresponding thread function.

2 years agofixed bug with potentially changing global variable in thread
Holger Schemel [Wed, 23 Jun 2021 07:52:38 +0000 (09:52 +0200)]
fixed bug with potentially changing global variable in thread

When automatically incrementing level after solved game, the global
variable to store the level number may be changed while the thread
to upload the score to the server is just using it, which may cause
the score to be submitted for the wrong level number.

To fix this, the (already existing) local variable with the level
number is used instead.

2 years agochanged thread functions to be more generic regarding passed data
Holger Schemel [Wed, 23 Jun 2021 07:50:45 +0000 (09:50 +0200)]
changed thread functions to be more generic regarding passed data

2 years agoadded level name/author and "rate time over score" flag when adding score
Holger Schemel [Tue, 22 Jun 2021 07:59:59 +0000 (09:59 +0200)]
added level name/author and "rate time over score" flag when adding score

2 years agoremoved "rate time over score" flag when downloading scores
Holger Schemel [Mon, 21 Jun 2021 15:45:15 +0000 (17:45 +0200)]
removed "rate time over score" flag when downloading scores

2 years agoremoved unneeded newline characters in error output
Holger Schemel [Mon, 21 Jun 2021 15:28:01 +0000 (17:28 +0200)]
removed unneeded newline characters in error output

2 years agoadded escaping special characters in JSON strings for HTTP requests
Holger Schemel [Mon, 21 Jun 2021 14:14:13 +0000 (16:14 +0200)]
added escaping special characters in JSON strings for HTTP requests

2 years agoadded converting HTTP request to server encoding when downloading scores
Holger Schemel [Mon, 21 Jun 2021 14:09:00 +0000 (16:09 +0200)]
added converting HTTP request to server encoding when downloading scores

2 years agoadded functions for JSON handling
Holger Schemel [Mon, 21 Jun 2021 13:57:36 +0000 (15:57 +0200)]
added functions for JSON handling

2 years agoadded updating game panel values immediately after solving game
Holger Schemel [Mon, 14 Jun 2021 16:04:03 +0000 (18:04 +0200)]
added updating game panel values immediately after solving game

2 years agomoved updating game panel values after solving game to separate function
Holger Schemel [Mon, 14 Jun 2021 16:01:57 +0000 (18:01 +0200)]
moved updating game panel values after solving game to separate function

2 years agoadded some comments
Holger Schemel [Mon, 14 Jun 2021 15:57:45 +0000 (17:57 +0200)]
added some comments

2 years agofixed displaying invalid panel values when finishing a game
Holger Schemel [Mon, 14 Jun 2021 14:50:00 +0000 (16:50 +0200)]
fixed displaying invalid panel values when finishing a game

This change fixes a graphical bug that occurs when the player solves a
game by entering the exit. During that last movement, the level time
in the game panel is displayed incorrectly as zero, because the final
game values for time, score etc. are calculated not before the player
has completed the last step (while the panel values are displayed from
different variables in the last stage after winning a game).

This is a fix for commit ef1162b3.

2 years agomoved setting level settings for Sokoban levels to separate function
Holger Schemel [Mon, 14 Jun 2021 08:05:28 +0000 (10:05 +0200)]
moved setting level settings for Sokoban levels to separate function

2 years agoadded adjusting score settings for Sokoban levels
Holger Schemel [Mon, 14 Jun 2021 07:56:06 +0000 (09:56 +0200)]
added adjusting score settings for Sokoban levels

2 years agomoved setting auto-exit for Sokoban-style levels from runtime to level
Holger Schemel [Sun, 13 Jun 2021 21:37:58 +0000 (23:37 +0200)]
moved setting auto-exit for Sokoban-style levels from runtime to level

2 years agoadded adjusting level settings for (non-native) Sokoban-style levels
Holger Schemel [Sun, 13 Jun 2021 15:07:30 +0000 (17:07 +0200)]
added adjusting level settings for (non-native) Sokoban-style levels

2 years agoadded adjusting some level settings after loading level (not used yet)
Holger Schemel [Sun, 13 Jun 2021 14:52:17 +0000 (16:52 +0200)]
added adjusting some level settings after loading level (not used yet)

2 years agoadded support for toggling team mode in main menu using cursor keys
Holger Schemel [Sun, 13 Jun 2021 10:14:28 +0000 (12:14 +0200)]
added support for toggling team mode in main menu using cursor keys

2 years agocode cleanup (by using function to reset delay counter)
Holger Schemel [Sun, 13 Jun 2021 09:57:37 +0000 (11:57 +0200)]
code cleanup (by using function to reset delay counter)

2 years agochanged name of preprocessor macro
Holger Schemel [Fri, 11 Jun 2021 15:25:41 +0000 (17:25 +0200)]
changed name of preprocessor macro

2 years agochanged how custom elements change to player if they are walkable
Holger Schemel [Fri, 11 Jun 2021 15:01:50 +0000 (17:01 +0200)]
changed how custom elements change to player if they are walkable

Before this change, if a walkable CE changes to the player, the player
is placed on the CE, which will be kept under the player (so it does
not really change to the player, but just adds the player). This is
probably not the expected behaviour when changing a CE to the player
(but may make sense when using the "extended change target", placing
the player on one of the surrounding elements if they are walkable).

This change fixes this behaviour, so by default a CE that "changes to
the player" is replaced by the player, and not just adds the player.
However, a config option was added to the player element to explicitly
request the previous behaviour (which is used by the "Zelda II" level
set, for example).

2 years agoadded waiting for finished snapping when snapping envelope
Holger Schemel [Tue, 8 Jun 2021 21:54:00 +0000 (23:54 +0200)]
added waiting for finished snapping when snapping envelope

2 years agoadded improved element collecting animations
Holger Schemel [Sun, 30 May 2021 22:14:11 +0000 (00:14 +0200)]
added improved element collecting animations

2 years agoadded command line function to write element collecting image to directory
Holger Schemel [Sun, 30 May 2021 21:40:29 +0000 (23:40 +0200)]
added command line function to write element collecting image to directory

2 years agorenamed command to create level sketch images
Holger Schemel [Sun, 30 May 2021 20:59:54 +0000 (22:59 +0200)]
renamed command to create level sketch images

2 years agoadded marking all images from non-default graphics directory as "redefined"
Holger Schemel [Sat, 29 May 2021 09:25:39 +0000 (11:25 +0200)]
added marking all images from non-default graphics directory as "redefined"

This change is required for the case of custom graphics sets that
replace graphics by simply adding an image file with the same filename
as the default graphics, like "RocksElements.png", but without adding
changed graphics definitions in a "graphicsinfo.conf" config file.

This caused the new (custom) image file to be loaded instead of the
default image file, but did not mark the affected game graphics in the
custom image file to be "redefined" so far (which is required to
invalidate related action or direction graphics loaded from other
image files, which are now overridden by the new base graphics).

This change marks all graphics in such images files as "redefined".

2 years agochanged variable and preprocessor definition names for game base directory
Holger Schemel [Fri, 14 May 2021 22:58:43 +0000 (00:58 +0200)]
changed variable and preprocessor definition names for game base directory

2 years agoremoved unused code for writable game data directory
Holger Schemel [Fri, 14 May 2021 16:54:23 +0000 (18:54 +0200)]
removed unused code for writable game data directory

2 years agoremoved unused code for common (system-wide) data directory
Holger Schemel [Fri, 14 May 2021 16:46:42 +0000 (18:46 +0200)]
removed unused code for common (system-wide) data directory

2 years agoremoved support for global (common/system-wide) scores directory
Holger Schemel [Fri, 14 May 2021 16:43:49 +0000 (18:43 +0200)]
removed support for global (common/system-wide) scores directory

2 years agoadded setup option to force showing local scores only
Holger Schemel [Fri, 14 May 2021 16:14:32 +0000 (18:14 +0200)]
added setup option to force showing local scores only