rocksndiamonds.git
2 years agoadded using globally predefined X/Y arrays
Holger Schemel [Thu, 21 Jul 2022 15:22:03 +0000 (17:22 +0200)]
added using globally predefined X/Y arrays

2 years agoimproved checking array (using modulo instead of duplicated values)
Holger Schemel [Thu, 21 Jul 2022 14:47:02 +0000 (16:47 +0200)]
improved checking array (using modulo instead of duplicated values)

2 years agoadded delay counter data type and adjusted related functions
Holger Schemel [Thu, 21 Jul 2022 13:51:43 +0000 (15:51 +0200)]
added delay counter data type and adjusted related functions

2 years agoadded level info config option to disable time limit for all levels
Holger Schemel [Sat, 25 Jun 2022 08:46:52 +0000 (10:46 +0200)]
added level info config option to disable time limit for all levels

While it was already possible to disable the time limit in the setup
menu to play a level without any time limit, the resulting tapes only
replay successfully if the time limit is still disabled, of course.
Obviously, this is not the case on the central high score server.

However, the level sets in the "R'n'D jue 2022" games collection are
all designed to be played without time limit, and the time limit is
disabled in the default setup options of all games. This currently
has the following two disadvantages:

1. The resulting tapes fail on the high score server, which has time
   limit always enabled.
2. If the user of "R'n'D jur 2022" games enables the time limit in the
   setup menu, the levels cannot be solved anymore.

This patch adds a new time limit option to the level info config file,
which makes it possible to flag whole level sets as "to be played with
time limit disabled", regardless of what the individual user's setting
for "time limit" was set to.

This patch makes it possible to fix case (1) above by adding the new
level info config option to all affected levels on the high score
server, but would require a program update to also fix case (2) on the
client side.

2 years agoadded separate game variable to check for time limit setup option
Holger Schemel [Fri, 24 Jun 2022 14:48:04 +0000 (16:48 +0200)]
added separate game variable to check for time limit setup option

2 years agorenamed variable
Holger Schemel [Fri, 24 Jun 2022 14:36:26 +0000 (16:36 +0200)]
renamed variable

2 years agofixed synchronization problem when configuring keyboard
Holger Schemel [Wed, 22 Jun 2022 21:29:05 +0000 (23:29 +0200)]
fixed synchronization problem when configuring keyboard

This is a somewhat similar bug like that in the previous commit, but
in this case only one event was processed for each screen update,
causing many events (like those produced from analog sticks that are
moved while the keyboard is about to be configured) to be processed
one after the other, each with a full video frame delay in between.

The fix works just like that used when configuring game controllers.

2 years agofixed synchronization problem when configuring game controller
Holger Schemel [Wed, 22 Jun 2022 13:17:19 +0000 (15:17 +0200)]
fixed synchronization problem when configuring game controller

This fixes a bug that can happen due to bad initialization of a delay
counter (to limit the maximum time spent on handling events), causing
it to reach the maximum delay while the screen refresh is also waiting
for the video delay. Resetting the counter right after screen update
fixes this potential problem.

2 years agoversion number set to 4.3.2.3
Holger Schemel [Thu, 16 Jun 2022 19:19:27 +0000 (21:19 +0200)]
version number set to 4.3.2.3

2 years agoadded using setup option for displaying overlay touch buttons 4.3.2.2
Holger Schemel [Wed, 15 Jun 2022 06:41:52 +0000 (08:41 +0200)]
added using setup option for displaying overlay touch buttons

2 years agoadded setup option for overlay touch buttons (not used yet)
Holger Schemel [Wed, 15 Jun 2022 06:39:57 +0000 (08:39 +0200)]
added setup option for overlay touch buttons (not used yet)

2 years agoadded not using touch buttons if touch controls are disabled
Holger Schemel [Tue, 14 Jun 2022 23:40:06 +0000 (01:40 +0200)]
added not using touch buttons if touch controls are disabled

2 years agofixed bug with short reactivation of overlay buttons while closing door
Holger Schemel [Tue, 14 Jun 2022 22:34:53 +0000 (00:34 +0200)]
fixed bug with short reactivation of overlay buttons while closing door

2 years agoadded printing envelope text when dumping level in debug mode
Holger Schemel [Sun, 12 Jun 2022 17:39:20 +0000 (19:39 +0200)]
added printing envelope text when dumping level in debug mode

2 years agoadded support for "Home" and "End" keys to text gadgets
Holger Schemel [Sun, 12 Jun 2022 16:02:05 +0000 (18:02 +0200)]
added support for "Home" and "End" keys to text gadgets

2 years agoadded support for fallback text file for element description files
Holger Schemel [Sun, 12 Jun 2022 13:30:28 +0000 (15:30 +0200)]
added support for fallback text file for element description files

2 years agofixed warning when not finding any valid level sets in level directory
Holger Schemel [Sat, 11 Jun 2022 12:36:01 +0000 (14:36 +0200)]
fixed warning when not finding any valid level sets in level directory

2 years agofixed not creating user level set
Holger Schemel [Sat, 11 Jun 2022 12:16:44 +0000 (14:16 +0200)]
fixed not creating user level set

2 years agochanged creating directories with private permissions only
Holger Schemel [Sat, 11 Jun 2022 12:14:16 +0000 (14:14 +0200)]
changed creating directories with private permissions only

2 years agochanged log level for using fallback artwork from "warning" to "debug"
Holger Schemel [Sat, 11 Jun 2022 12:04:54 +0000 (14:04 +0200)]
changed log level for using fallback artwork from "warning" to "debug"

2 years agofixed bug with broken text area content when editing envelope text
Holger Schemel [Sat, 11 Jun 2022 10:32:42 +0000 (12:32 +0200)]
fixed bug with broken text area content when editing envelope text

2 years agocleanup of CSS for Emscripten platform
Holger Schemel [Sat, 11 Jun 2022 08:34:30 +0000 (10:34 +0200)]
cleanup of CSS for Emscripten platform

2 years agoadded CSS to fill browser window for Emscripten platform
Holger Schemel [Fri, 10 Jun 2022 11:32:24 +0000 (13:32 +0200)]
added CSS to fill browser window for Emscripten platform

2 years agoremoved some setup options for Emscripten platform
Holger Schemel [Fri, 10 Jun 2022 10:56:27 +0000 (12:56 +0200)]
removed some setup options for Emscripten platform

2 years agoremoved larger default screen size for Emscripten platform
Holger Schemel [Fri, 10 Jun 2022 10:50:17 +0000 (12:50 +0200)]
removed larger default screen size for Emscripten platform

2 years agochanged some platform-related preprocessor definition names
Holger Schemel [Fri, 10 Jun 2022 10:31:16 +0000 (12:31 +0200)]
changed some platform-related preprocessor definition names

2 years agominor code cleanup
Holger Schemel [Fri, 10 Jun 2022 09:32:12 +0000 (11:32 +0200)]
minor code cleanup

2 years agoimproved element descriptions for magic walls
Holger Schemel [Mon, 6 Jun 2022 19:34:10 +0000 (21:34 +0200)]
improved element descriptions for magic walls

2 years agoadded larger default screen size for Emscripten platform
Holger Schemel [Thu, 26 May 2022 22:28:40 +0000 (00:28 +0200)]
added larger default screen size for Emscripten platform

2 years agoadded loading screen before starting the game for Emscripten platform
Holger Schemel [Thu, 26 May 2022 22:18:16 +0000 (00:18 +0200)]
added loading screen before starting the game for Emscripten platform

2 years agofixed another problem with leaving scores screen on Android platform
Holger Schemel [Sun, 22 May 2022 11:35:15 +0000 (13:35 +0200)]
fixed another problem with leaving scores screen on Android platform

On Android, when touching the screen anywhere in the hall of fame
after playing a game, this should either start the next game or
return to the main menu. However, this is done when touching the
screen with "finger down", not with "finger up again", sending an
additional "release" event in the main menu, triggering the menu
entry under the finger.

This fix triggers leaving the hall of fame on the "release" event
only.

2 years agofixed bug with leaving scores screen on Android platform (again)
Holger Schemel [Sun, 15 May 2022 08:47:41 +0000 (10:47 +0200)]
fixed bug with leaving scores screen on Android platform (again)

This is the same bugfix as in commit a42f3002 (which for whatever
reason was "unfixed" since that commit).

2 years agofixed continuing from hall of fame after playing on Android platform
Holger Schemel [Sat, 14 May 2022 09:09:16 +0000 (11:09 +0200)]
fixed continuing from hall of fame after playing on Android platform

2 years agoadded browser icon for Emscripten platform
Holger Schemel [Fri, 13 May 2022 09:17:05 +0000 (11:17 +0200)]
added browser icon for Emscripten platform

2 years agofixed changing back link in hall of fame to "next" only when needed
Holger Schemel [Wed, 11 May 2022 16:43:13 +0000 (18:43 +0200)]
fixed changing back link in hall of fame to "next" only when needed

2 years agoadded special mode to continue from hall of fame when pressing "space" key
Holger Schemel [Wed, 11 May 2022 12:04:59 +0000 (14:04 +0200)]
added special mode to continue from hall of fame when pressing "space" key

2 years agoadded playing next level when leaving hall of fame via back link
Holger Schemel [Wed, 11 May 2022 12:00:25 +0000 (14:00 +0200)]
added playing next level when leaving hall of fame via back link

2 years agominor whitespace change
Holger Schemel [Wed, 11 May 2022 11:55:57 +0000 (13:55 +0200)]
minor whitespace change

2 years agoadded storing next level to play from hall of fame
Holger Schemel [Wed, 11 May 2022 11:54:19 +0000 (13:54 +0200)]
added storing next level to play from hall of fame

2 years agomoved code to start playing from hall of fame to separate function
Holger Schemel [Wed, 11 May 2022 11:50:27 +0000 (13:50 +0200)]
moved code to start playing from hall of fame to separate function

2 years agoadded flag to continue from hall of fame when pressing "return" key
Holger Schemel [Wed, 11 May 2022 11:46:48 +0000 (13:46 +0200)]
added flag to continue from hall of fame when pressing "return" key

2 years agochanged setting flag to continue playing next level from hall of fame
Holger Schemel [Wed, 11 May 2022 11:41:50 +0000 (13:41 +0200)]
changed setting flag to continue playing next level from hall of fame

2 years agorenamed variable
Holger Schemel [Wed, 11 May 2022 11:29:12 +0000 (13:29 +0200)]
renamed variable

2 years agorenamed variable
Holger Schemel [Wed, 11 May 2022 08:59:48 +0000 (10:59 +0200)]
renamed variable

2 years agoadded showing score even if not added to local score file
Holger Schemel [Wed, 11 May 2022 08:27:44 +0000 (10:27 +0200)]
added showing score even if not added to local score file

This fixes a special case: If a score was not added to the local score
file (because all entries in the local score file have a better score,
and there are no free slots in the local score file anymore), the hall
of fame was completely skipped before. This was handled differently to
a score that was still not under the best 100 ranks on the high score
server for that level, but that was written to the local score file
(either because it was not full yet, or because it was better than the
last entry in the local score file).

This fix adds showing the score (with a rank of "???" on the last list
position, as usual) even if it was not written to the local score file.

2 years agochanged name of preprocessor constant
Holger Schemel [Wed, 11 May 2022 08:20:19 +0000 (10:20 +0200)]
changed name of preprocessor constant

2 years agofixed setting text size for clearing input on name selection screen
Holger Schemel [Mon, 9 May 2022 21:53:08 +0000 (23:53 +0200)]
fixed setting text size for clearing input on name selection screen

2 years agofixed using font draw offset when clearing input on name selection screen
Holger Schemel [Mon, 9 May 2022 21:52:13 +0000 (23:52 +0200)]
fixed using font draw offset when clearing input on name selection screen

2 years agominor whitespace change
Holger Schemel [Sun, 8 May 2022 21:46:42 +0000 (23:46 +0200)]
minor whitespace change

2 years agofixed bug with leaving scores screen on Android platform
Holger Schemel [Sun, 8 May 2022 21:40:37 +0000 (23:40 +0200)]
fixed bug with leaving scores screen on Android platform

This change fixes a problem that occurs on the scores screen after
playing a game on Android, where the screen is left by any user input,
but then does not reset the flag that the last screen was the playing
screen, causing all other "choose tree" style screens to also exit on
any user input (which makes it impossible to select a different level
set on the level set selection screen afterwards, for example).

2 years agoadded support for global animations on name selection screen
Holger Schemel [Sun, 8 May 2022 00:01:26 +0000 (02:01 +0200)]
added support for global animations on name selection screen

2 years agofixed assumed position of screen keyboard for Android platform
Holger Schemel [Sat, 7 May 2022 22:55:13 +0000 (00:55 +0200)]
fixed assumed position of screen keyboard for Android platform

2 years agofixed bug with referencing out-of-scope structures
Holger Schemel [Sat, 7 May 2022 22:52:39 +0000 (00:52 +0200)]
fixed bug with referencing out-of-scope structures

2 years agofixed clicking "edit" text using font offset on name selection screen
Holger Schemel [Sat, 7 May 2022 21:30:14 +0000 (23:30 +0200)]
fixed clicking "edit" text using font offset on name selection screen

2 years agochanged unusual wording of "handicap" setup option
Holger Schemel [Thu, 5 May 2022 18:45:13 +0000 (20:45 +0200)]
changed unusual wording of "handicap" setup option

2 years agofixed handling gadgets when touch controls are disabled on Android
Holger Schemel [Sun, 1 May 2022 18:12:13 +0000 (20:12 +0200)]
fixed handling gadgets when touch controls are disabled on Android

2 years agorenamed activity name for Android platform
Holger Schemel [Sat, 30 Apr 2022 23:05:40 +0000 (01:05 +0200)]
renamed activity name for Android platform

2 years agorenamed Java class for Android platform
Holger Schemel [Sat, 30 Apr 2022 22:13:21 +0000 (00:13 +0200)]
renamed Java class for Android platform

2 years agoadded reading optional platform setup file
Holger Schemel [Fri, 29 Apr 2022 23:18:45 +0000 (01:18 +0200)]
added reading optional platform setup file

2 years agorenamed program info directory
Holger Schemel [Fri, 29 Apr 2022 18:21:40 +0000 (20:21 +0200)]
renamed program info directory

2 years agoversion number set to 4.3.2.2
Holger Schemel [Fri, 29 Apr 2022 18:15:16 +0000 (20:15 +0200)]
version number set to 4.3.2.2

2 years agofixed copying HTTP response buffer for Emscripten platform 4.3.2.1
Holger Schemel [Mon, 18 Apr 2022 21:44:19 +0000 (23:44 +0200)]
fixed copying HTTP response buffer for Emscripten platform

2 years agoversion number set to 4.3.2.1
Holger Schemel [Mon, 18 Apr 2022 21:53:39 +0000 (23:53 +0200)]
version number set to 4.3.2.1

2 years agoadded storing score tapes from score server in cache directory 4.3.2.0
Holger Schemel [Sat, 16 Apr 2022 23:11:28 +0000 (01:11 +0200)]
added storing score tapes from score server in cache directory

2 years agoadded message request if local score tape not found
Holger Schemel [Sat, 16 Apr 2022 23:10:01 +0000 (01:10 +0200)]
added message request if local score tape not found

2 years agoadded functions for accessing score tapes in cache directory (not used yet)
Holger Schemel [Sat, 16 Apr 2022 23:04:36 +0000 (01:04 +0200)]
added functions for accessing score tapes in cache directory (not used yet)

2 years agoadded auto-playing next level when touching scores screen on Android
Holger Schemel [Sat, 16 Apr 2022 23:01:04 +0000 (01:01 +0200)]
added auto-playing next level when touching scores screen on Android

2 years agofixed stopping auto-playing next level on input on scores screen
Holger Schemel [Sat, 16 Apr 2022 22:54:43 +0000 (00:54 +0200)]
fixed stopping auto-playing next level on input on scores screen

2 years agoadded fading settings for score info page
Holger Schemel [Sat, 16 Apr 2022 22:31:19 +0000 (00:31 +0200)]
added fading settings for score info page

2 years agofixed crash with "autotest" due to clearing undefined bitmap rectangle
Holger Schemel [Sat, 16 Apr 2022 13:58:30 +0000 (15:58 +0200)]
fixed crash with "autotest" due to clearing undefined bitmap rectangle

2 years agofixed checking artwork set for compatibility code for new score screens
Holger Schemel [Fri, 15 Apr 2022 10:20:22 +0000 (12:20 +0200)]
fixed checking artwork set for compatibility code for new score screens

2 years agoadded initially setting artwork identifier
Holger Schemel [Fri, 15 Apr 2022 10:13:13 +0000 (12:13 +0200)]
added initially setting artwork identifier

2 years agorenamed function
Holger Schemel [Fri, 15 Apr 2022 10:05:25 +0000 (12:05 +0200)]
renamed function

2 years agoadded using left and right spacing on score info page
Holger Schemel [Thu, 14 Apr 2022 23:19:40 +0000 (01:19 +0200)]
added using left and right spacing on score info page

2 years agoadded warning only once per file when using fallback artwork
Holger Schemel [Thu, 14 Apr 2022 22:57:49 +0000 (00:57 +0200)]
added warning only once per file when using fallback artwork

2 years agoadded support for playing tape on score info page using key shortcut
Holger Schemel [Thu, 14 Apr 2022 22:46:41 +0000 (00:46 +0200)]
added support for playing tape on score info page using key shortcut

2 years agofixed calculating screen gadgets on score info page
Holger Schemel [Wed, 13 Apr 2022 22:53:00 +0000 (00:53 +0200)]
fixed calculating screen gadgets on score info page

2 years agofixed and added some comments
Holger Schemel [Wed, 13 Apr 2022 22:42:29 +0000 (00:42 +0200)]
fixed and added some comments

2 years agoadded compatibility code for new score screens for new "Jue" graphics
Holger Schemel [Wed, 13 Apr 2022 19:16:15 +0000 (21:16 +0200)]
added compatibility code for new score screens for new "Jue" graphics

2 years agoadded compatibility code for new score screens for old "Jue" graphics
Holger Schemel [Wed, 13 Apr 2022 18:26:45 +0000 (20:26 +0200)]
added compatibility code for new score screens for old "Jue" graphics

2 years agoadded compatibility code for new score screens for "Snake Bite" graphics
Holger Schemel [Wed, 13 Apr 2022 18:14:25 +0000 (20:14 +0200)]
added compatibility code for new score screens for "Snake Bite" graphics

2 years agofixed background image on score info page after playing score tape
Holger Schemel [Tue, 12 Apr 2022 21:45:38 +0000 (23:45 +0200)]
fixed background image on score info page after playing score tape

2 years agomoved code to determine global game status to separate function
Holger Schemel [Tue, 12 Apr 2022 21:16:32 +0000 (23:16 +0200)]
moved code to determine global game status to separate function

2 years agofixed viewport properties for score info page
Holger Schemel [Tue, 12 Apr 2022 21:13:10 +0000 (23:13 +0200)]
fixed viewport properties for score info page

2 years agofixed global border for score info page
Holger Schemel [Tue, 12 Apr 2022 21:10:04 +0000 (23:10 +0200)]
fixed global border for score info page

2 years agofixed setting background image on score info page
Holger Schemel [Tue, 12 Apr 2022 21:06:37 +0000 (23:06 +0200)]
fixed setting background image on score info page

2 years agofixed compatibility handling for redefined old graphic "global.door"
Holger Schemel [Tue, 12 Apr 2022 20:48:54 +0000 (22:48 +0200)]
fixed compatibility handling for redefined old graphic "global.door"

If old graphic "global.door" is redefined, all individual definitions
accessing the same image file are changed to use the redefined image.

However, this did not work correctly for graphic definitions which are
cloned from other graphic definitions which are itself redefined and
do not use the same graphic as "global.door" anymore. In this case, do
not change these cloned graphics to use the redefined "global.door".

2 years agoadded support for playing local score tape from score info page
Holger Schemel [Tue, 12 Apr 2022 06:15:39 +0000 (08:15 +0200)]
added support for playing local score tape from score info page

2 years agofixed (not) resuming game from hall of fame after playing
Holger Schemel [Sun, 10 Apr 2022 11:52:34 +0000 (13:52 +0200)]
fixed (not) resuming game from hall of fame after playing

2 years agoadded "levelinfo.conf" options to rename levels with title "nameless level"
Holger Schemel [Sat, 9 Apr 2022 18:04:36 +0000 (20:04 +0200)]
added "levelinfo.conf" options to rename levels with title "nameless level"

2 years agoadded hiding info screen sub-menus marked with '.hide'
Holger Schemel [Sat, 9 Apr 2022 17:15:12 +0000 (19:15 +0200)]
added hiding info screen sub-menus marked with '.hide'

2 years agoadded definition for persistent directory name for Emscripten platform
Holger Schemel [Sat, 9 Apr 2022 10:09:07 +0000 (12:09 +0200)]
added definition for persistent directory name for Emscripten platform

2 years agofixed using individual program data path for Emscripten platform
Holger Schemel [Sat, 9 Apr 2022 09:53:33 +0000 (11:53 +0200)]
fixed using individual program data path for Emscripten platform

Before, the Emscripten platform was treated as "Unix platform", which
should use ".rocksndiamonds" (or ".<program name>") as the data path.
As there is no "program name" on Emscripten platform, it is set to
"this" by the Emscripten environment, resulting in using ".this" for
all R'n'D based programs under the same domain in the IndexedDB store
of the browser, so there is no separation of individual program data
for different R'n'D based custom games, leading to shared data like
player name, setup settings and everything else, which is not desired.

This commit fixed this problem by using the program title instead of
the program's executable name (just like it is already done for the
Windows and Mac platforms.)

2 years agoadded support for opening URLs for global animation event actions
Holger Schemel [Sat, 9 Apr 2022 09:10:19 +0000 (11:10 +0200)]
added support for opening URLs for global animation event actions

2 years agoadded function to check if string is URL (not used yet)
Holger Schemel [Sat, 9 Apr 2022 09:06:46 +0000 (11:06 +0200)]
added function to check if string is URL (not used yet)

2 years agoadded functions to open URLs (not used yet)
Holger Schemel [Sat, 9 Apr 2022 09:05:52 +0000 (11:05 +0200)]
added functions to open URLs (not used yet)

2 years agofixed graphical bug when player enters exit using ultra-fast speed
Holger Schemel [Thu, 7 Apr 2022 15:31:52 +0000 (17:31 +0200)]
fixed graphical bug when player enters exit using ultra-fast speed

This fixes the player graphic getting stuck when entering the exit
under certain circumstances while using ultra-fast player speed.

This bug is described in the following forum topic:

https://www.artsoft.org/forum/viewtopic.php?t=3328

2 years agofixed different viewport properties after playing score tape
Holger Schemel [Thu, 7 Apr 2022 11:42:23 +0000 (13:42 +0200)]
fixed different viewport properties after playing score tape

2 years agoadded using busy animation on non-loading screens
Holger Schemel [Wed, 6 Apr 2022 21:46:25 +0000 (23:46 +0200)]
added using busy animation on non-loading screens

2 years agoadded support for busy animation on non-loading screens
Holger Schemel [Wed, 6 Apr 2022 17:26:10 +0000 (19:26 +0200)]
added support for busy animation on non-loading screens