rocksndiamonds.git
4 years agoremoved unused graphics initializations from EM engine
Holger Schemel [Tue, 4 Feb 2020 22:36:48 +0000 (23:36 +0100)]
removed unused graphics initializations from EM engine

4 years agoremoved unused bitmaps from EM engine
Holger Schemel [Tue, 4 Feb 2020 22:22:48 +0000 (23:22 +0100)]
removed unused bitmaps from EM engine

4 years agoremoved test/debug code for EM graphics engine
Holger Schemel [Tue, 4 Feb 2020 22:09:11 +0000 (23:09 +0100)]
removed test/debug code for EM graphics engine

This commit removes the testing and debugging capabilities for the
native Emerald Mine graphics engine (that can, but does not have to
be used with the native Emerald Mine game engine). The main purpose
of this test code was to check if the R'n'D "graphicsinfo.conf" style
graphics definitions, when used with the native Emerald Mine engine,
map exactly to this engine's hard-coded graphics definitions, to be
able to flexibly use R'n'D style graphics definitions also for the
native Emerald Mine game engine.

To test a given "graphicsinfo.conf" file against the internal graphics
definitions of the native Emerald Mine engine, its definitions have to
match an "objects" and "players" graphics file which is hard-coded in
the R'n'D graphics configuration file "conf_gfx.c" using the tokens
"emc_object" and "emc_sprite". (To prevent the game from using them in
non-debugging context, it normally refers to existing default artwork
instead of the test graphics files mentioned above.)

When testing or debugging, set these file names to "emc_objects.png"
and "emc_players.png" and enable upscaling to double size (assuming
the tiles in the test artwork have their original 16x16 pixel size).
Also set "DEBUG_EM_GFX" to "TRUE" in "src/tools.c". Then recompile.

When starting, the program performs the test, outputs all graphics
definitions that differ from the hard-coded internal definitions and
exits. To perform the test against the correct artwork, select the
artwork to test against before running the test. Usually the test is
executed using the graphics set "gfx_classic_emc.aga" from the Emerald
Mine Club level package, which uses the original artwork that is also
used by the game "Emerald Mine for X11".

(To perform the test described above, use a version of the code prior
to this commit.)

4 years agochanged some EM engine game element names
Holger Schemel [Tue, 4 Feb 2020 18:31:44 +0000 (19:31 +0100)]
changed some EM engine game element names

4 years agoremoved pre-processor directive for newly added EM engine elements
Holger Schemel [Tue, 4 Feb 2020 18:19:12 +0000 (19:19 +0100)]
removed pre-processor directive for newly added EM engine elements

4 years agofixed handling of fake acid for EM engine
Holger Schemel [Mon, 3 Feb 2020 22:43:15 +0000 (23:43 +0100)]
fixed handling of fake acid for EM engine

4 years agoadded fast player relocation for level wrap-around in EM engine
Holger Schemel [Sun, 2 Feb 2020 23:37:43 +0000 (00:37 +0100)]
added fast player relocation for level wrap-around in EM engine

4 years agochanged function from public to static
Holger Schemel [Sun, 2 Feb 2020 22:38:03 +0000 (23:38 +0100)]
changed function from public to static

4 years agoremoved unused function
Holger Schemel [Sun, 2 Feb 2020 22:33:45 +0000 (23:33 +0100)]
removed unused function

4 years agoremoved needless delay when relocating the player
Holger Schemel [Sun, 2 Feb 2020 20:40:13 +0000 (21:40 +0100)]
removed needless delay when relocating the player

4 years agoadded support for EM wrap-around levels also to level editor
Holger Schemel [Sun, 2 Feb 2020 19:53:37 +0000 (20:53 +0100)]
added support for EM wrap-around levels also to level editor

Previously, when running a level created with the R'n'D level editor
that uses the EM game engine, that level was forced to have a border
of indestructible game elements, which made it impossible to create
wrap-around levels to be played with the EM engine. This limitation
was removed, so no additional steel wall will ever be added around a
level.

4 years agoadded support for wrap-around levels in EM engine
Holger Schemel [Sun, 2 Feb 2020 16:18:35 +0000 (17:18 +0100)]
added support for wrap-around levels in EM engine

4 years agoadded limiting amoeba handling in EM engine to the playfield area
Holger Schemel [Sun, 2 Feb 2020 15:43:24 +0000 (16:43 +0100)]
added limiting amoeba handling in EM engine to the playfield area

This does not make a difference now, but will do when support for
wrap-around levels is added (which will result in accessing tiles
of the regular playfield via linked playfield buffer columns that
will redirect off-playfield access to the opposite side of the
playfield).

4 years agofixed using cave buffer offsets in EM engine graphics
Holger Schemel [Wed, 29 Jan 2020 22:06:34 +0000 (23:06 +0100)]
fixed using cave buffer offsets in EM engine graphics

4 years agoadded using cave buffer offsets in EM level conversion and game logic
Holger Schemel [Wed, 29 Jan 2020 21:54:12 +0000 (22:54 +0100)]
added using cave buffer offsets in EM level conversion and game logic

4 years agoadded cave buffer offsets to level structure in EM engine
Holger Schemel [Wed, 29 Jan 2020 21:46:46 +0000 (22:46 +0100)]
added cave buffer offsets to level structure in EM engine

4 years agosplit function
Holger Schemel [Wed, 29 Jan 2020 21:34:11 +0000 (22:34 +0100)]
split function

4 years agoincreased cave buffer offset (and adjusted graphics and amoeba logic)
Holger Schemel [Wed, 29 Jan 2020 18:50:51 +0000 (19:50 +0100)]
increased cave buffer offset (and adjusted graphics and amoeba logic)

4 years agochanged storing native EM cave without internal border elements
Holger Schemel [Wed, 29 Jan 2020 16:36:28 +0000 (17:36 +0100)]
changed storing native EM cave without internal border elements

The internal representaion of a native Emerald Mine cave (level) does
not contain surrounding internal game engine elements anymore now
(which are only needed for game engine logic when playing the level).

The stored player positions were adjusted accordingly.

4 years agoadded separate playfield and buffer sizes for EM engine caves
Holger Schemel [Wed, 29 Jan 2020 16:01:42 +0000 (17:01 +0100)]
added separate playfield and buffer sizes for EM engine caves

The cave playfield size (or just cave size) is the size of the visible
playfield (potentially containing an additional steelwall border, if
the level was converted from R'n'D format and does not contain a
steelwall border).

The cave buffer size is the size of the internal cave buffer (which
also contains surrounding internal game engine elements) that is used
by the EM game engine logic.

Currently the native cave structure has the same size as the internal
cave buffer; this should be changed.

4 years agocleanup of EM engine cave size definition names
Holger Schemel [Wed, 29 Jan 2020 14:33:51 +0000 (15:33 +0100)]
cleanup of EM engine cave size definition names

4 years agomoved cave arrays and pointers for EM engine to level structure
Holger Schemel [Tue, 28 Jan 2020 23:51:33 +0000 (00:51 +0100)]
moved cave arrays and pointers for EM engine to level structure

4 years agowhitespace changes
Holger Schemel [Mon, 27 Jan 2020 20:41:50 +0000 (21:41 +0100)]
whitespace changes

4 years agoadded using cave pointers to handle game logic in EM engine
Holger Schemel [Mon, 27 Jan 2020 20:35:39 +0000 (21:35 +0100)]
added using cave pointers to handle game logic in EM engine

4 years agochanged order of cave tile changes in EM engine
Holger Schemel [Thu, 23 Jan 2020 22:55:59 +0000 (23:55 +0100)]
changed order of cave tile changes in EM engine

4 years agomoved code for explosions in EM engine to separate functions
Holger Schemel [Thu, 23 Jan 2020 22:36:21 +0000 (23:36 +0100)]
moved code for explosions in EM engine to separate functions

4 years agochanged order of switch cases in EM engine source file
Holger Schemel [Thu, 23 Jan 2020 18:14:20 +0000 (19:14 +0100)]
changed order of switch cases in EM engine source file

4 years agomoved some switch statements in EM engine to separate functions
Holger Schemel [Thu, 23 Jan 2020 17:32:30 +0000 (18:32 +0100)]
moved some switch statements in EM engine to separate functions

4 years agomoved game logic for EM engine to single source file
Holger Schemel [Thu, 23 Jan 2020 07:52:09 +0000 (08:52 +0100)]
moved game logic for EM engine to single source file

4 years agochanged order of functions in EM engine source file
Holger Schemel [Thu, 23 Jan 2020 07:13:15 +0000 (08:13 +0100)]
changed order of functions in EM engine source file

4 years agomoved switch statement for handling EM engine tiles to separate function
Holger Schemel [Wed, 22 Jan 2020 23:17:00 +0000 (00:17 +0100)]
moved switch statement for handling EM engine tiles to separate function

4 years agoswapped x and y dimensions in EM engine cave arrays
Holger Schemel [Wed, 22 Jan 2020 23:08:55 +0000 (00:08 +0100)]
swapped x and y dimensions in EM engine cave arrays

4 years agoimproved readability of some condition checks in EM engine
Holger Schemel [Wed, 22 Jan 2020 17:04:51 +0000 (18:04 +0100)]
improved readability of some condition checks in EM engine

4 years agoimproved readability of random number macro in EM engine
Holger Schemel [Wed, 22 Jan 2020 16:49:06 +0000 (17:49 +0100)]
improved readability of random number macro in EM engine

4 years agofixed some pre-processor defines in EM engine source file
Holger Schemel [Wed, 22 Jan 2020 12:46:31 +0000 (13:46 +0100)]
fixed some pre-processor defines in EM engine source file

4 years agochanged order of switch cases in EM engine source file
Holger Schemel [Wed, 22 Jan 2020 12:36:57 +0000 (13:36 +0100)]
changed order of switch cases in EM engine source file

4 years agochanged code formatting in EM engine source file
Holger Schemel [Wed, 22 Jan 2020 12:24:20 +0000 (13:24 +0100)]
changed code formatting in EM engine source file

4 years agochanged order of functions in EM engine source file
Holger Schemel [Wed, 22 Jan 2020 11:51:56 +0000 (12:51 +0100)]
changed order of functions in EM engine source file

4 years agomoved element handling code for EM engine to separate functions
Holger Schemel [Tue, 21 Jan 2020 23:40:12 +0000 (00:40 +0100)]
moved element handling code for EM engine to separate functions

4 years agoadded "pause" element to game elements in EM engine
Holger Schemel [Sun, 19 Jan 2020 15:41:00 +0000 (16:41 +0100)]
added "pause" element to game elements in EM engine

4 years agochanged order of game elements in EM engine (no functional change)
Holger Schemel [Sun, 19 Jan 2020 15:30:12 +0000 (16:30 +0100)]
changed order of game elements in EM engine (no functional change)

4 years agoremoved options to prevent initial rolling objects in native EM levels
Holger Schemel [Sun, 19 Jan 2020 13:02:51 +0000 (14:02 +0100)]
removed options to prevent initial rolling objects in native EM levels

When reading, converting and playing native Emerald Mine levels,
always allow initial rolling objects now. Compile-time switches
to deactivate this behaviour have been removed now. (A special
switch to handle rolling springs when playing has been kept.)

4 years agominor code formatting changes
Holger Schemel [Sun, 19 Jan 2020 01:23:36 +0000 (02:23 +0100)]
minor code formatting changes

4 years agowhitespace changes
Holger Schemel [Sun, 19 Jan 2020 01:19:58 +0000 (02:19 +0100)]
whitespace changes

4 years agoupdated various names of EM engine specific definitions
Holger Schemel [Sun, 19 Jan 2020 01:11:50 +0000 (02:11 +0100)]
updated various names of EM engine specific definitions

This is the first part of various code changes of the EM engine to
update the engine code to the 2009 version of the source code.

4 years agomoved EM engine specific definitions to separate include file
Holger Schemel [Sat, 18 Jan 2020 15:51:40 +0000 (16:51 +0100)]
moved EM engine specific definitions to separate include file

4 years agocleanup of unused EM engine source files and declarations
Holger Schemel [Sat, 11 Jan 2020 01:22:29 +0000 (02:22 +0100)]
cleanup of unused EM engine source files and declarations

4 years agoimproved readability of tape test summary
Holger Schemel [Fri, 14 Feb 2020 21:43:39 +0000 (22:43 +0100)]
improved readability of tape test summary

4 years agofixed potential crash bug if personal user level set cannot be found
Holger Schemel [Mon, 10 Feb 2020 22:21:35 +0000 (23:21 +0100)]
fixed potential crash bug if personal user level set cannot be found

4 years agorenamed duplicate definition of global variable
Holger Schemel [Fri, 31 Jan 2020 16:13:43 +0000 (17:13 +0100)]
renamed duplicate definition of global variable

This would cause a compilation error with GCC 10, where "-fno-common"
is set by default.

4 years agoremoved duplicate definition of global variable
Holger Schemel [Fri, 31 Jan 2020 16:10:33 +0000 (17:10 +0100)]
removed duplicate definition of global variable

This would cause a compilation error with GCC 10, where "-fno-common"
is set by default.

4 years agoremoved declarations for unused objects
Holger Schemel [Fri, 31 Jan 2020 16:08:29 +0000 (17:08 +0100)]
removed declarations for unused objects

4 years agoversion number set to 4.1.4.2
Holger Schemel [Fri, 31 Jan 2020 15:26:39 +0000 (16:26 +0100)]
version number set to 4.1.4.2

4 years agocleanup of unused MM engine declarations
Holger Schemel [Sun, 19 Jan 2020 00:16:06 +0000 (01:16 +0100)]
cleanup of unused MM engine declarations

4 years agocleanup of unused SP engine declarations
Holger Schemel [Sun, 19 Jan 2020 00:13:53 +0000 (01:13 +0100)]
cleanup of unused SP engine declarations

4 years agoadded workaround for a bug in SDL 2.0.12 which prevents transparency
Holger Schemel [Tue, 19 May 2020 16:03:12 +0000 (18:03 +0200)]
added workaround for a bug in SDL 2.0.12 which prevents transparency

Unfortunately, the current stable release version 2.0.12 of the SDL
library used by R'n'D has a critical bug that causes all transparent
images in R'n'D to be opaque, which hurts the game graphics at various
places.

The cause of this bug is in SDL_ConvertSurface(), which does not copy
the color key anymore.

The bug is documented in the SDL bug tracking system as follows:
https://bugzilla.libsdl.org/show_bug.cgi?id=2979

The bug will be fixed in the next stable release of the SDL library.

This workaround checks if a converted surface should have a color key,
and explicitly sets it if it is missing in the newly created surface.

4 years agoversion number set to 4.1.4.1 4.1.4.1
Holger Schemel [Thu, 16 Jan 2020 18:54:46 +0000 (19:54 +0100)]
version number set to 4.1.4.1

4 years agofixed bug in editor with GEs using graphic of other element
Holger Schemel [Tue, 14 Jan 2020 18:38:49 +0000 (19:38 +0100)]
fixed bug in editor with GEs using graphic of other element

This bug appeared when using "use graphic of element" and then
changing some other GE settings (like counters etc.), which caused
the custom graphics to be reset to the GEs default graphics.

This is the same bug as the one fixed in commit 77c74cbf, but for
group elements instead of custom elements.

4 years agoversion number set to 4.1.4.0 4.1.4.0
Holger Schemel [Fri, 3 Jan 2020 15:51:09 +0000 (16:51 +0100)]
version number set to 4.1.4.0

4 years agochanged Android project to API level 23 to support Android 10
Holger Schemel [Fri, 3 Jan 2020 01:46:45 +0000 (02:46 +0100)]
changed Android project to API level 23 to support Android 10

Android 10 requires at least API level 23, or a warning is displayed
at the first start of the app.

4 years agofixed crash bug in Android project when rotating device
Holger Schemel [Fri, 3 Jan 2020 01:36:47 +0000 (02:36 +0100)]
fixed crash bug in Android project when rotating device

When changing API level from 12 to 17, "screenSize" events must be
handled, or newer Android versions will terminate the app when the
device is rotated.

4 years agochanged Android project to API level 17 to support Android 9
Holger Schemel [Fri, 3 Jan 2020 01:32:56 +0000 (02:32 +0100)]
changed Android project to API level 17 to support Android 9

Android 9 requires at least API level 17, or a warning is displayed
at the first start of the app.

4 years agoadded Android project files
Holger Schemel [Fri, 3 Jan 2020 00:34:36 +0000 (01:34 +0100)]
added Android project files

To build Rocks'n'Diamonds for Android, the SDL library source files
and the assets directory must be added to the project.

See file "build-projects/android/README.txt" for details.

4 years agofixed bug in editor with CEs using graphic of other element
Holger Schemel [Fri, 27 Dec 2019 15:55:32 +0000 (16:55 +0100)]
fixed bug in editor with CEs using graphic of other element

This bug appeared when using "use graphic of element" and then
changing some other CE settings (like counters etc.), which caused
the custom graphics to be reset to the CEs default graphics.

4 years agoimproved error messages when IMG_Load() fails loading an image
Holger Schemel [Tue, 10 Dec 2019 22:52:33 +0000 (23:52 +0100)]
improved error messages when IMG_Load() fails loading an image

If loading an image using "IMG_Load()" fails, the name of the file is
now also displayed with the error message.

This already worked in the past, but was broken since commit a2698b3b.

5 years agoadded showing overlay touch buttons only if touch screen is really used
Holger Schemel [Wed, 2 Oct 2019 19:43:19 +0000 (21:43 +0200)]
added showing overlay touch buttons only if touch screen is really used

5 years agoadded overlay touch buttons for virtual buttons configuration
Holger Schemel [Thu, 19 Sep 2019 18:32:23 +0000 (20:32 +0200)]
added overlay touch buttons for virtual buttons configuration

5 years agoadded overlay touch buttons for in-game "stop" and "pause" buttons
Holger Schemel [Thu, 19 Sep 2019 18:16:31 +0000 (20:16 +0200)]
added overlay touch buttons for in-game "stop" and "pause" buttons

5 years agoadded overlay touch buttons for door request dialog
Holger Schemel [Thu, 19 Sep 2019 17:58:38 +0000 (19:58 +0200)]
added overlay touch buttons for door request dialog

5 years agoadded code for overlay touch buttons (currently not used)
Holger Schemel [Thu, 19 Sep 2019 17:19:37 +0000 (19:19 +0200)]
added code for overlay touch buttons (currently not used)

This adds support for overlay touch buttons to be used with the
Android port, to address the following problems:

* Especially when playing on smartphones, the display may be too small
  to use the most essential buttons, like the "yes" and "no" buttons
  of the door request dialog, or the "stop" and "pause" buttons on the
  game panel.

* Additionally, the most important game panel buttons (again, mainly
  the "stop" and "pause" buttons) may not be accessible at all because
  of being covered by virtual buttons.

* When configuring virtual buttons using recent Android versions,
  navigating to the next page is not possible anymore, because there
  is no "menu" button anymore. This was a hardware button opposite
  to the "back" button, so the "menu" and "back" buttons could be used
  to navigate to the next or previous page when configuring virtual
  buttons.

* When thinking about a potential iOS port of the game, there is not
  even a "back" button (like on Android devices), so it is even more
  difficult to stop playing a game (as the "stop" button has to be
  touched instead of just hitting the "back" button, which simply does
  not exist on iOS devices).

The next steps will be to use overlay touch buttons to solve some or
all of the above problems.

5 years agoimproved highlighting currently configured virtual button
Holger Schemel [Wed, 18 Sep 2019 22:21:42 +0000 (00:21 +0200)]
improved highlighting currently configured virtual button

5 years agofixed updating multiple pause button gadgets when toggling pause mode
Holger Schemel [Wed, 18 Sep 2019 22:04:25 +0000 (00:04 +0200)]
fixed updating multiple pause button gadgets when toggling pause mode

5 years agocleaned up configuring virtual buttons
Holger Schemel [Wed, 18 Sep 2019 21:41:51 +0000 (23:41 +0200)]
cleaned up configuring virtual buttons

5 years agofixed some function declarations
Holger Schemel [Wed, 18 Sep 2019 21:31:53 +0000 (23:31 +0200)]
fixed some function declarations

5 years agoadded additional check for handling gadgets from button events
Holger Schemel [Wed, 18 Sep 2019 21:28:08 +0000 (23:28 +0200)]
added additional check for handling gadgets from button events

5 years agofixed check for virtual buttons when handling gadgets
Holger Schemel [Wed, 18 Sep 2019 21:14:31 +0000 (23:14 +0200)]
fixed check for virtual buttons when handling gadgets

Before, when handling finger events, a flag was set to indicate if
any virtual button was pressed to prevent handling gadgets at the
same screen position. This check was broken, because button events
(including gadget checks) may be processed before the corresponding
finger events are handled, in which case this flag will be set too
late.

Now, checking if virtual buttons are pressed is done directly before
attempting to handle gadgets at the same screen position, so it does
not make a difference if button events or finger events are handled
first.

5 years agomoved code to separate function
Holger Schemel [Wed, 18 Sep 2019 20:50:27 +0000 (22:50 +0200)]
moved code to separate function

5 years agoremoved unused code
Holger Schemel [Wed, 18 Sep 2019 20:48:40 +0000 (22:48 +0200)]
removed unused code

5 years agocleaned up calculating screen positions for menu buttons
Holger Schemel [Tue, 17 Sep 2019 09:33:21 +0000 (11:33 +0200)]
cleaned up calculating screen positions for menu buttons

5 years agoadded options for player selection button positions in setup menu
Holger Schemel [Tue, 17 Sep 2019 09:20:41 +0000 (11:20 +0200)]
added options for player selection button positions in setup menu

5 years agoadded support for gadget buttons defined outside viewports
Holger Schemel [Fri, 6 Sep 2019 07:00:07 +0000 (09:00 +0200)]
added support for gadget buttons defined outside viewports

Commit 50a54138 (and the bugfix in the previous commit) prevent
drawing gadget buttons that are defined outside of viewports (like
playfield or door area), but are placed in the screen border area.

This was not supported in older versions of the redraw system (where
full-screen redraws where always done from a different back buffer).

Recent (SDL2 based) versions of the redraw system do support this, so
this limitation can be removed now to allow for gadget buttons placed
in the screen border area.

5 years agofixed redraw bug if gadget buttons are defined outside viewports
Holger Schemel [Fri, 6 Sep 2019 06:54:09 +0000 (08:54 +0200)]
fixed redraw bug if gadget buttons are defined outside viewports

This bug was introduced with a fix in commit 50a54138. The problem
with this fix was that it clears REDRAW_ALL from the redraw mask,
which may lead to no redraw at all for this game frame.

This bugfix makes sure that at least the playfield and doors area
will always be redrawn in this case.

5 years agoadded support for undo/redo using Ctrl-z/Ctrl-Shift-z in level editor
Holger Schemel [Thu, 20 Jun 2019 18:43:26 +0000 (20:43 +0200)]
added support for undo/redo using Ctrl-z/Ctrl-Shift-z in level editor

5 years agofixed crash bug caused by division by zero
Holger Schemel [Wed, 19 Jun 2019 17:47:22 +0000 (19:47 +0200)]
fixed crash bug caused by division by zero

This bug will crash the program when loading a graphics set which uses
toon animation step delay values of zero (instead of positive integers
as it should be).

This bug was introduced around version 4.0.0.0 when adding global
animations (treating toon animations as special global animations),
which could result in animation delay values of zero even though
this was checked and corrected when reading the graphics config file.

5 years agofixed sporadic problems when playing MP3 files on Windows
Holger Schemel [Mon, 3 Jun 2019 20:10:25 +0000 (22:10 +0200)]
fixed sporadic problems when playing MP3 files on Windows

This change (hopefully) fixes a problem that may sporadically occur
when playing MP3 files on Windows, in which case audio output is
either completely silent or music is stuttering instead of playing
normally.

The problem seems to be fixed by stopping the music channel before
playing the next track.

5 years agofixed mouse x/y position (for pointer class global animations)
Holger Schemel [Mon, 3 Jun 2019 19:09:56 +0000 (21:09 +0200)]
fixed mouse x/y position (for pointer class global animations)

This is required in rare cases where the mouse x/y position calculated
from raw values (to apply logical screen size scaling corrections)
does not match the final mouse event x/y position -- this may happen
because the SDL renderer's viewport position is internally represented
as float, but only accessible as integer, which may lead to rounding
errors.

Setting the mouse x/y position for pointer class global animations
from the final mouse event position fixes this problem.

5 years agofixed handling global animation click events (again)
Holger Schemel [Fri, 31 May 2019 14:10:24 +0000 (16:10 +0200)]
fixed handling global animation click events (again)

Before, only global animations exactly defined for the current game
mode were correctly handled. (Example: ".MAIN")

Now, also global animations defined for several game modes are
correctly handled. (Example: ".MENU")

5 years agofixed handling global animation click events (finally)
Holger Schemel [Fri, 31 May 2019 11:53:17 +0000 (13:53 +0200)]
fixed handling global animation click events (finally)

Also see commit 4be294f9, which did not fix the problem in all cases,
because the next part of a multi-part global animation (activated by
a click event) will not be active before the following game frame, so
a directly following release event would still just be ignored.

Stopping processing of all following events for one game frame after
handling a click event lets the animation successfully change to the
next part, which can then be triggered by the release event.

An example where this might happen is mentioned in the above commit.

5 years agore-added variable to check if any global animation was clicked
Holger Schemel [Thu, 30 May 2019 18:43:33 +0000 (20:43 +0200)]
re-added variable to check if any global animation was clicked

5 years agofixed bug with resetting variable which may already be set
Holger Schemel [Thu, 30 May 2019 18:38:04 +0000 (20:38 +0200)]
fixed bug with resetting variable which may already be set

5 years agorenamed variable (old name did not describe its use anymore)
Holger Schemel [Thu, 30 May 2019 18:06:44 +0000 (20:06 +0200)]
renamed variable (old name did not describe its use anymore)

5 years agofixed detecting running animations ('restart' bit may also be set)
Holger Schemel [Tue, 28 May 2019 17:42:54 +0000 (19:42 +0200)]
fixed detecting running animations ('restart' bit may also be set)

5 years agofixed initially displaying custom mouse cursor in upper left corner
Holger Schemel [Sat, 25 May 2019 12:39:03 +0000 (14:39 +0200)]
fixed initially displaying custom mouse cursor in upper left corner

5 years agoadded new option "create_user_levelset" (setup file only)
Holger Schemel [Sat, 25 May 2019 11:42:42 +0000 (13:42 +0200)]
added new option "create_user_levelset" (setup file only)

Setting this option to "false" (in a global program setup file)
prevents the creation of a new, empty user level set at the first
start of the program.

This option was specifically created for the R'n'D special edition
"R'n'D jue II", which comes with pre-defined user level sets.

5 years agoversion number set to 4.1.3.1
Holger Schemel [Sat, 25 May 2019 11:23:06 +0000 (13:23 +0200)]
version number set to 4.1.3.1

5 years agoadded using new screen fading option ".auto_delay_unit"
Holger Schemel [Sat, 25 May 2019 09:10:56 +0000 (11:10 +0200)]
added using new screen fading option ".auto_delay_unit"

5 years agoadded new screen fading option ".auto_delay_unit" (currently not used)
Holger Schemel [Fri, 24 May 2019 18:46:20 +0000 (20:46 +0200)]
added new screen fading option ".auto_delay_unit" (currently not used)

This new option will be used to be able to configure the existing
option ".auto_delay" (the time delay after which a title screen will
be automatically faded to the next screen) to use video frames instead
of milliseconds. This can be useful to synchronize global animations
on title screens with the automatic screen fade delay (which may be
inaccurate if using milliseconds for fading, while global animations
always use video frames for configuring animation delay).

5 years agoadded video frame counter (currently not used)
Holger Schemel [Fri, 24 May 2019 18:16:22 +0000 (20:16 +0200)]
added video frame counter (currently not used)

5 years agoversion number set to 4.1.3.0 4.1.3.0
Holger Schemel [Mon, 20 May 2019 16:43:24 +0000 (18:43 +0200)]
version number set to 4.1.3.0

5 years agofixed handling clickable global animations during request dialog
Holger Schemel [Sun, 28 Apr 2019 18:25:17 +0000 (20:25 +0200)]
fixed handling clickable global animations during request dialog