rocksndiamonds.git
5 days agoadded using gadgets that do not overlap with virtual buttons on Android master
Holger Schemel [Tue, 11 Dec 2018 23:18:45 +0000 (00:18 +0100)]
added using gadgets that do not overlap with virtual buttons on Android

5 days agoadded toggling virtual buttons using 'menu' button on Android
Holger Schemel [Tue, 11 Dec 2018 22:53:07 +0000 (23:53 +0100)]
added toggling virtual buttons using 'menu' button on Android

5 days agochanged request dialog to disable virtual buttons instead of hiding them
Holger Schemel [Tue, 11 Dec 2018 22:48:50 +0000 (23:48 +0100)]
changed request dialog to disable virtual buttons instead of hiding them

5 days agofixed short reactivation of overlay buttons while closing door after game
Holger Schemel [Tue, 11 Dec 2018 20:58:24 +0000 (21:58 +0100)]
fixed short reactivation of overlay buttons while closing door after game

5 days agofixed compiler warning due to missing function prototype
Holger Schemel [Tue, 11 Dec 2018 20:35:11 +0000 (21:35 +0100)]
fixed compiler warning due to missing function prototype

13 days agochanged fading complete screen only if all viewports have changed
Holger Schemel [Mon, 3 Dec 2018 23:23:54 +0000 (00:23 +0100)]
changed fading complete screen only if all viewports have changed

(... or if the global border has changed, of course)

This change partially reverses the behaviour caused by commit 5c6c42f1
("fixed fading complete screen if playfield viewport has changed"),
which prevented partially fading screens that only partially changed.

The main intention of this change is to make it possible that the tape
recorder viewport, if unchanged, keeps being visible while fading the
remaining parts of the screen (especially with artwork sets without
global border graphics).

However, if *all* viewports changed, the whole window will be faded.

13 days agorenamed function
Holger Schemel [Mon, 3 Dec 2018 22:34:54 +0000 (23:34 +0100)]
renamed function

13 days agofixed bug with comparing wrong viewport variables
Holger Schemel [Mon, 3 Dec 2018 21:49:26 +0000 (22:49 +0100)]
fixed bug with comparing wrong viewport variables

2 weeks agofixed bug with not clearing editor doors if no background image defined
Holger Schemel [Sun, 2 Dec 2018 01:59:39 +0000 (02:59 +0100)]
fixed bug with not clearing editor doors if no background image defined

2 weeks agoadded support for dynamic window and playfield size
Holger Schemel [Sat, 1 Dec 2018 11:30:29 +0000 (12:30 +0100)]
added support for dynamic window and playfield size

This change added a few new and extended directives for the graphics
configuration done in "graphicsinfo.conf" files in artwork and level
sets.

For the window and playfield definitions, there are new properties
".min_width" / ".min_height" and also ".max_width" / ".max_height"
to define minimum and maximum window and playfield sizes. This is
useful to dynamically support different screen sizes which have a
different screen aspect ratio (like tablets with 4:3 or 16:9 sized
screens), always using the full screen size without black borders
that cannot be used for the game.

To be able to place the "doors" (game panel and tape recorder) also
dynamically aligned with the right or bottom screen border, margins
can be defined for the playfield to not use these areas, which can
then be used for the doors being aligned to the corresponding window
edges. That's what the new ".margin_left", ".margin_right",
".margin_top" and ".margin_bottom" directives are for, together with
".align" and ".valign" properties to align the playfield or the doors
horizontally ("left", "center" or "right") or vertically ("top",
"middle", or "bottom").

To make sure that the game playfield always uses complete tiles (or
half tiles, or any other size), there's also a new directive called
".align_size" to specify the alignment tile size for the playfield
(which is set to half a tile by default).

The last enhancement extends playfield border sizes to be defined
for each border individually, so instead of a unique ".border_size"
for all playfield borders, different border sizes can be specified
by using ".border_left", ".border_right", ".border_top" and
".border_bottom". If they are not set, they inherit their value from
".border_size" just like before. Using the value "-1" causes borders
to be calculated dynamically -- this only makes sense when using a
variable window size (by using ".min_width" and/or ".min_height") with
a fixed playfield size, so borders can also have variable size. This
is mainly useful for using a fixed (or limited, by ".max_width/height)
playfield size while still being able to display global animations on
the whole surrounding playfield border area.

2 weeks agoadded support for dynamically sized (and placed) editor palette
Holger Schemel [Sat, 1 Dec 2018 10:50:32 +0000 (11:50 +0100)]
added support for dynamically sized (and placed) editor palette

When using the value "-1" for columns or rows of the editor palette
(that is, values "editor.palette.cols" and "editor.palette.rows"),
these numbers are dynamically calculated according to the size of the
editor playfield area.

When setting "editor.palette.x" or "editor.palette.y" to "-1", also
the position of the editor palette is dynamically calculated (to be
centered within the playfield area).

(As these values for columns and rows are used at a very early stage
in the level editor to allocate memory for palette buttons, make sure
that no negative numbers are used here for memory calculations.)

2 weeks agofixed potential crash bug with empty (padding) element buttons in editor
Holger Schemel [Sat, 1 Dec 2018 10:41:54 +0000 (11:41 +0100)]
fixed potential crash bug with empty (padding) element buttons in editor

This fixes a bug that can cause a crash when accessing memory that was
already free()'ed again, because the variable that contains the amount
of allocated memory is not updated when memory allocation changes.

The bug is fixed by updating that variable when memory is allocated.

2 weeks agofixed nasty x/y typo bug
Holger Schemel [Mon, 26 Nov 2018 23:18:35 +0000 (00:18 +0100)]
fixed nasty x/y typo bug

3 weeks agoimproved loading menu graphics config settings (more generic solution)
Holger Schemel [Wed, 21 Nov 2018 22:57:54 +0000 (23:57 +0100)]
improved loading menu graphics config settings (more generic solution)

3 weeks agoreplaced preprocessor constants with enum values
Holger Schemel [Sat, 17 Nov 2018 01:16:33 +0000 (02:16 +0100)]
replaced preprocessor constants with enum values

4 weeks agoremoved some unused stuff from MM engine code
Holger Schemel [Sat, 17 Nov 2018 00:24:53 +0000 (01:24 +0100)]
removed some unused stuff from MM engine code

4 weeks agofixed handling debug keys to prevent handling keys twice
Holger Schemel [Fri, 16 Nov 2018 21:25:30 +0000 (22:25 +0100)]
fixed handling debug keys to prevent handling keys twice

This change has two effects:

- handle debug keys before handling all other defined keys
- if debug key was processed, do not handle this key again

4 weeks agoadded deactivating text (and selectbox) gadgets with "Escape" key
Holger Schemel [Fri, 16 Nov 2018 20:52:26 +0000 (21:52 +0100)]
added deactivating text (and selectbox) gadgets with "Escape" key

4 weeks agoremoved leaving screens with "Escape" key if gadgets are active
Holger Schemel [Fri, 16 Nov 2018 20:22:29 +0000 (21:22 +0100)]
removed leaving screens with "Escape" key if gadgets are active

4 weeks agoadded showing virtual keyboard for playfield text input in editor (Android)
Holger Schemel [Fri, 16 Nov 2018 07:53:57 +0000 (08:53 +0100)]
added showing virtual keyboard for playfield text input in editor (Android)

4 weeks agofixed bug with stopping editor text input before reaching the last line
Holger Schemel [Fri, 16 Nov 2018 07:50:26 +0000 (08:50 +0100)]
fixed bug with stopping editor text input before reaching the last line

4 weeks agofixed bug with asking to play again after game over when playing tape
Holger Schemel [Thu, 15 Nov 2018 00:41:09 +0000 (01:41 +0100)]
fixed bug with asking to play again after game over when playing tape

4 weeks agofixed some bugs with (not) displaying virtual buttons
Holger Schemel [Thu, 15 Nov 2018 00:12:08 +0000 (01:12 +0100)]
fixed some bugs with (not) displaying virtual buttons

This corrects the following situations regarding virtual buttons:

* Fixed displaying virtual buttons while tapes are played.
* Fixed displaying virtual buttons after all players were gone.
* Fixed *not* displaying virtual buttons when tape stopped playing and
  the user can continue playing the game.

4 weeks agoremoved support for SDL 1.2
Holger Schemel [Wed, 14 Nov 2018 22:30:20 +0000 (23:30 +0100)]
removed support for SDL 1.2

4 weeks agoadded support for level sketch copy/paste using Ctrl-c/v in level editor
Holger Schemel [Mon, 12 Nov 2018 23:31:34 +0000 (00:31 +0100)]
added support for level sketch copy/paste using Ctrl-c/v in level editor

This enhances the existing support for dumping brushes from the level
editor as level sketches (to STDOUT and/or "stdout.txt", which can
then be added to posts in the R'n'D web forum), as follows:

- Ctrl-c copies the current level (or brush) into the clipboard
- Ctrl-x copies the current level, but as small sized level sketch
- Ctrl-v pastes a level sketch from the clipboard into the current
  level (or brush, if active)

This makes it easy to copy level sketches from the level editor to the
R'n'D web forum, and also from the forum to the level editor (just
temporarily go to the "reply" form for a post containing a level
sketch, then copy the "source code" text of the level sketch to the
clipboard using Ctrl-c, then paste it into the level editor using
Ctrl-v).

This will also make it easy to copy a whole playfield from one level
file to another in the level editor (playfield size will automatically
be adjusted to the size of the pasted playfield).

4 weeks agomoved (and renamed) global variables to game structure (ZX/ZY)
Holger Schemel [Wed, 14 Nov 2018 20:10:38 +0000 (21:10 +0100)]
moved (and renamed) global variables to game structure (ZX/ZY)

4 weeks agomoved (and renamed) global variables to game structure (ExitX/ExitY)
Holger Schemel [Wed, 14 Nov 2018 19:59:13 +0000 (20:59 +0100)]
moved (and renamed) global variables to game structure (ExitX/ExitY)

4 weeks agomoved (and renamed) global variable to game structure (AllPlayersGone)
Holger Schemel [Fri, 9 Nov 2018 07:29:04 +0000 (08:29 +0100)]
moved (and renamed) global variable to game structure (AllPlayersGone)

5 weeks agoimproved internal handling of "game over" state
Holger Schemel [Thu, 8 Nov 2018 20:40:55 +0000 (21:40 +0100)]
improved internal handling of "game over" state

5 weeks agomoved game values for score and health from player to game structure
Holger Schemel [Mon, 5 Nov 2018 20:37:56 +0000 (21:37 +0100)]
moved game values for score and health from player to game structure

5 weeks agomoved flag for "game over" from player to game structure
Holger Schemel [Mon, 5 Nov 2018 20:35:53 +0000 (21:35 +0100)]
moved flag for "game over" from player to game structure

This also removes asymmetric behaviour depending on players being the
"local player" or any other player in team mode (which happened if one
player dies and the other enters the exit, for example -- in one case,
the game will be treated as "game over", in the other case the game
will continue running without asking to play again).

5 weeks agomoved game values for things still needed from player to game structure
Holger Schemel [Tue, 30 Oct 2018 21:09:29 +0000 (22:09 +0100)]
moved game values for things still needed from player to game structure

6 weeks agorenamed functions (after removing parameter in previous commit)
Holger Schemel [Tue, 30 Oct 2018 20:56:49 +0000 (21:56 +0100)]
renamed functions (after removing parameter in previous commit)

6 weeks agoremoved parameter from functions (which always had the same value)
Holger Schemel [Tue, 30 Oct 2018 20:55:52 +0000 (21:55 +0100)]
removed parameter from functions (which always had the same value)

6 weeks agorenamed function (after removing parameter in previous commit)
Holger Schemel [Tue, 30 Oct 2018 20:53:47 +0000 (21:53 +0100)]
renamed function (after removing parameter in previous commit)

6 weeks agoremoved parameter from function (which always had the same value)
Holger Schemel [Tue, 30 Oct 2018 20:40:56 +0000 (21:40 +0100)]
removed parameter from function (which always had the same value)

6 weeks agomoved flags and values for "level solved" from player to game structure
Holger Schemel [Tue, 30 Oct 2018 20:35:09 +0000 (21:35 +0100)]
moved flags and values for "level solved" from player to game structure

6 weeks agoadded flags for "level solved" and "game over" to EM engine
Holger Schemel [Tue, 30 Oct 2018 19:55:42 +0000 (20:55 +0100)]
added flags for "level solved" and "game over" to EM engine

6 weeks agochanged variable name
Holger Schemel [Tue, 30 Oct 2018 19:15:42 +0000 (20:15 +0100)]
changed variable name

6 weeks agoadded custom artwork mappings to fix warnings in level set 'rnd_alan_bond'
Holger Schemel [Mon, 29 Oct 2018 20:03:40 +0000 (21:03 +0100)]
added custom artwork mappings to fix warnings in level set 'rnd_alan_bond'

6 weeks agosmall code cleanup
Holger Schemel [Mon, 29 Oct 2018 19:51:22 +0000 (20:51 +0100)]
small code cleanup

6 weeks agoadded compatibility check if Sokoban objects need to be solved
Holger Schemel [Mon, 29 Oct 2018 19:49:41 +0000 (20:49 +0100)]
added compatibility check if Sokoban objects need to be solved

6 weeks agoadded editor settings if Sokoban fields and objects need to be solved
Holger Schemel [Mon, 29 Oct 2018 19:32:07 +0000 (20:32 +0100)]
added editor settings if Sokoban fields and objects need to be solved

7 weeks agofixed unexpected behaviour with solving levels with Sokoban elements
Holger Schemel [Sun, 28 Oct 2018 23:26:22 +0000 (00:26 +0100)]
fixed unexpected behaviour with solving levels with Sokoban elements

This patch fixes problems with levels using a different number of
Sokoban objects and Sokoban fields, causing unexpected behaviour.

Before, levels with Sokoban objects, but without Sokoban fields, could
be solved by just pushing any of the Sokoban objects (which triggers a
check if there are any empty Sokoban fields left in the level, which
is not the case in this scenario). In addition, pushing a Sokoban
object to a Sokoban field would also solve a level with two Sokoban
objects, but only one Sokoban field, but not a level with two Sokoban
fields, but only one Sokoban object, which seems confusing or at least
unexpected. (Things get even more complicated and confusing if Sokoban
fields or objects are created during the game, for example as content
of yam-yams.)

Now, Sokoban fields and objects in a level are tracked independently
and the level is only solved if there are no Sokoban fields or objects
left on the playfield.

Also see the following forum post for a description of the problem:
https://www.artsoft.org/forum/viewtopic.php?f=7&t=2654

7 weeks agofixed bug with Sokoban auto-exit option only working for local player
Holger Schemel [Sun, 28 Oct 2018 15:41:29 +0000 (16:41 +0100)]
fixed bug with Sokoban auto-exit option only working for local player

7 weeks agoadded special global animation mode 'NO_TITLE' for all but title screens
Holger Schemel [Sat, 27 Oct 2018 18:29:40 +0000 (20:29 +0200)]
added special global animation mode 'NO_TITLE' for all but title screens

7 weeks agochanged comments from old to new style (auto-generated files)
Holger Schemel [Tue, 23 Oct 2018 21:53:14 +0000 (23:53 +0200)]
changed comments from old to new style (auto-generated files)

7 weeks agochanged comments from old to new style (multiple-line comments)
Holger Schemel [Tue, 23 Oct 2018 21:50:21 +0000 (23:50 +0200)]
changed comments from old to new style (multiple-line comments)

7 weeks agochanged comments from old to new style (one-line comments only)
Holger Schemel [Tue, 23 Oct 2018 19:01:23 +0000 (21:01 +0200)]
changed comments from old to new style (one-line comments only)

7 weeks agoremoved unneeded 'extern' keyword for function declarations in header files
Holger Schemel [Mon, 22 Oct 2018 17:31:12 +0000 (19:31 +0200)]
removed unneeded 'extern' keyword for function declarations in header files

7 weeks agoremoved 'inline' keyword (compilers are better at this today)
Holger Schemel [Mon, 22 Oct 2018 17:18:35 +0000 (19:18 +0200)]
removed 'inline' keyword (compilers are better at this today)

8 weeks agoreplaced preprocessor constants with enum values
Holger Schemel [Sun, 21 Oct 2018 12:51:07 +0000 (14:51 +0200)]
replaced preprocessor constants with enum values

2 months agoadded setup option to ask to play again after game is over but not solved
Holger Schemel [Fri, 12 Oct 2018 22:51:51 +0000 (00:51 +0200)]
added setup option to ask to play again after game is over but not solved

2 months agofixed asking all network clients to "play again" after unsolved game end
Holger Schemel [Fri, 12 Oct 2018 22:37:26 +0000 (00:37 +0200)]
fixed asking all network clients to "play again" after unsolved game end

Before, all network clients were asked to play again after a game was
lost, which could cause problems (or at least confusion) when starting
a new network game from different network clients at the same time.

Now, only the network client which started the network game is asked
to play again, while all other clients only confirm that the game is
over and return to the main menu.

2 months agofixed handling game actions during "play again" request in network mode
Holger Schemel [Fri, 12 Oct 2018 21:41:05 +0000 (23:41 +0200)]
fixed handling game actions during "play again" request in network mode

2 months agofixed bug with synchronization problem with "play again" in network mode
Holger Schemel [Fri, 12 Oct 2018 21:21:24 +0000 (23:21 +0200)]
fixed bug with synchronization problem with "play again" in network mode

This bug caused different frame counters at the network server and
network client due to executing "GameActions()" directly after
restarting the game in "RequestRestartGame()", which increments the
frame counter on the client, but not on the server in the first game
frame.

2 months agoadded request dialog to play again after game is over without solving level
Holger Schemel [Fri, 12 Oct 2018 19:23:26 +0000 (21:23 +0200)]
added request dialog to play again after game is over without solving level

2 months agoadded handling game actions also after unsolved game end (not used yet)
Holger Schemel [Fri, 12 Oct 2018 17:34:30 +0000 (19:34 +0200)]
added handling game actions also after unsolved game end (not used yet)

2 months agoadded functions to check if game is over (and solved or not) (not used yet)
Holger Schemel [Fri, 12 Oct 2018 17:11:03 +0000 (19:11 +0200)]
added functions to check if game is over (and solved or not) (not used yet)

2 months agofixed bug with handling networking packets if request dialog is active
Holger Schemel [Fri, 12 Oct 2018 16:04:30 +0000 (18:04 +0200)]
fixed bug with handling networking packets if request dialog is active

Before, it was possible for a network client to start a new game while
another client was still about answering a request dialog (like asking
if a tape for a solved level should be saved), causing synchronization
problems with network packet handling.

With this bugfix, handling network packets is paused during a request.

2 months agomoved flag for active/inactive game panel from player to game structure
Holger Schemel [Fri, 12 Oct 2018 15:51:04 +0000 (17:51 +0200)]
moved flag for active/inactive game panel from player to game structure

2 months agomoved duplicated code to separate function
Holger Schemel [Fri, 12 Oct 2018 15:24:08 +0000 (17:24 +0200)]
moved duplicated code to separate function

2 months agofixed bug with repeating last level in levelset when auto-playing next level
Holger Schemel [Wed, 10 Oct 2018 22:10:44 +0000 (00:10 +0200)]
fixed bug with repeating last level in levelset when auto-playing next level

2 months agofixed bug with high scores for wrong level when auto-playing next level
Holger Schemel [Wed, 10 Oct 2018 22:03:24 +0000 (00:03 +0200)]
fixed bug with high scores for wrong level when auto-playing next level

2 months agoadded checkbox to level editor for using "game of life" bugs
Holger Schemel [Wed, 10 Oct 2018 21:16:35 +0000 (23:16 +0200)]
added checkbox to level editor for using "game of life" bugs

2 months agoadded flag to level files for using "game of life" bugs
Holger Schemel [Wed, 10 Oct 2018 21:04:49 +0000 (23:04 +0200)]
added flag to level files for using "game of life" bugs

2 months agofixed bugs in game logic of "game of life" and "biomaze" elements
Holger Schemel [Wed, 10 Oct 2018 20:45:55 +0000 (22:45 +0200)]
fixed bugs in game logic of "game of life" and "biomaze" elements

2 months agoadded playfield array "Last[][]" to store tile from last game frame
Holger Schemel [Wed, 10 Oct 2018 19:27:50 +0000 (21:27 +0200)]
added playfield array "Last[][]" to store tile from last game frame

2 months agochanged variable name
Holger Schemel [Wed, 10 Oct 2018 19:11:08 +0000 (21:11 +0200)]
changed variable name

2 months agofixed bug with redrawing state changes for "game of life" style elements
Holger Schemel [Wed, 10 Oct 2018 17:51:04 +0000 (19:51 +0200)]
fixed bug with redrawing state changes for "game of life" style elements

The cause for this bug was checking the "Stop[][]" field for deciding
if a "game of life" style element has changed and needs to be redrawn,
but with the current implementation (which is in fact not correct), it
may happen that the same element changes twice in the same game frame,
causing the corresponding graphics not be updated again (and therefore
showing the wrong state).

Directly comparing the new with the old state fixes this problem.

2 months agominor code formatting change
Holger Schemel [Tue, 9 Oct 2018 20:45:36 +0000 (22:45 +0200)]
minor code formatting change

2 months agoimproved checking game speed and vsync settings when selecting either one
Holger Schemel [Tue, 9 Oct 2018 20:30:24 +0000 (22:30 +0200)]
improved checking game speed and vsync settings when selecting either one

2 months agoversion number set to 4.1.1.1
Holger Schemel [Tue, 9 Oct 2018 19:04:35 +0000 (21:04 +0200)]
version number set to 4.1.1.1

2 months agofixed compilation error for SDL 1.2 target 4.1.1.0
Holger Schemel [Mon, 8 Oct 2018 06:05:57 +0000 (08:05 +0200)]
fixed compilation error for SDL 1.2 target

2 months agofixed compiler warning when building without DEBUG symbol
Holger Schemel [Sun, 7 Oct 2018 13:30:55 +0000 (15:30 +0200)]
fixed compiler warning when building without DEBUG symbol

2 months agofixed target name typo in Makefile
Holger Schemel [Sun, 7 Oct 2018 13:14:52 +0000 (15:14 +0200)]
fixed target name typo in Makefile

2 months agoversion number set to 4.1.1.0
Holger Schemel [Sun, 7 Oct 2018 12:08:42 +0000 (14:08 +0200)]
version number set to 4.1.1.0

2 months agoimproved screen output text when trying to connect to network server
Holger Schemel [Sat, 6 Oct 2018 23:24:19 +0000 (01:24 +0200)]
improved screen output text when trying to connect to network server

2 months agoremoved unneeded spaces in request texts
Holger Schemel [Thu, 4 Oct 2018 19:42:34 +0000 (21:42 +0200)]
removed unneeded spaces in request texts

2 months agofixed problem when determining maximum word length in request text
Holger Schemel [Wed, 3 Oct 2018 22:34:49 +0000 (00:34 +0200)]
fixed problem when determining maximum word length in request text

2 months agoadded setup option to use extended list for game speed selection
Holger Schemel [Wed, 3 Oct 2018 22:13:18 +0000 (00:13 +0200)]
added setup option to use extended list for game speed selection

2 months agocode cleanup (using new and already existing structures)
Holger Schemel [Wed, 3 Oct 2018 21:52:35 +0000 (23:52 +0200)]
code cleanup (using new and already existing structures)

2 months agoadded check if game speed is high enough for 60 Hz vsync to work
Holger Schemel [Wed, 3 Oct 2018 16:15:01 +0000 (18:15 +0200)]
added check if game speed is high enough for 60 Hz vsync to work

2 months agofixed buggy behaviour when only one player needed to solve a level
Holger Schemel [Wed, 3 Oct 2018 10:01:15 +0000 (12:01 +0200)]
fixed buggy behaviour when only one player needed to solve a level

Before, when setting "[x] only one player must enter exit", a level
with two players was solved when one player was killed, and then the
other player entered an exit. But it was not yet solved if one player
entered an exit and the other player was still on the playfield.

Now, the first player really solves the level when entering an exit,
regardless of any other players still around on the playfield.

2 months agofixed calculating maximum length of string values in setup menu
Holger Schemel [Tue, 2 Oct 2018 19:10:08 +0000 (21:10 +0200)]
fixed calculating maximum length of string values in setup menu

2 months agosmall code cleanup
Holger Schemel [Tue, 2 Oct 2018 19:07:57 +0000 (21:07 +0200)]
small code cleanup

2 months agofixed drawing preferred network player in setup menu
Holger Schemel [Tue, 2 Oct 2018 13:04:31 +0000 (15:04 +0200)]
fixed drawing preferred network player in setup menu

2 months agofixed handling mouse button events when waiting for event to continue
Holger Schemel [Mon, 1 Oct 2018 20:12:38 +0000 (22:12 +0200)]
fixed handling mouse button events when waiting for event to continue

2 months agoadded waiting for key or button after starting or stopping network mode
Holger Schemel [Mon, 1 Oct 2018 20:05:11 +0000 (22:05 +0200)]
added waiting for key or button after starting or stopping network mode

2 months agoadded title and footer text when starting or stopping network mode
Holger Schemel [Mon, 1 Oct 2018 20:03:32 +0000 (22:03 +0200)]
added title and footer text when starting or stopping network mode

2 months agomoved starting or stopping network mode to separate function
Holger Schemel [Mon, 1 Oct 2018 19:22:42 +0000 (21:22 +0200)]
moved starting or stopping network mode to separate function

2 months agoadded drawing program info on startup when initializing network
Holger Schemel [Mon, 1 Oct 2018 18:54:34 +0000 (20:54 +0200)]
added drawing program info on startup when initializing network

2 months agomoved drawing program info on startup to separate function
Holger Schemel [Mon, 1 Oct 2018 18:52:00 +0000 (20:52 +0200)]
moved drawing program info on startup to separate function

2 months agoadded text input setup option to configure network server hostname
Holger Schemel [Mon, 1 Oct 2018 06:32:59 +0000 (08:32 +0200)]
added text input setup option to configure network server hostname

2 months agoadded ignoring screen navigation events if text input gadgets are active
Holger Schemel [Sat, 29 Sep 2018 09:17:10 +0000 (11:17 +0200)]
added ignoring screen navigation events if text input gadgets are active

2 months agoimproved handling network errors (show message instead of stopping program)
Holger Schemel [Sat, 29 Sep 2018 09:07:53 +0000 (11:07 +0200)]
improved handling network errors (show message instead of stopping program)

2 months agoadded gadget tag to always execute the callback action when leaving gadget
Holger Schemel [Sat, 29 Sep 2018 08:28:11 +0000 (10:28 +0200)]
added gadget tag to always execute the callback action when leaving gadget

2 months agochanged setting cursor when automatically activating text input gadgets
Holger Schemel [Sat, 29 Sep 2018 08:20:41 +0000 (10:20 +0200)]
changed setting cursor when automatically activating text input gadgets

When activating text input gadgets using function "ClickOnGadget()",
do not set the cursor position at the start, but at the end of the
text in the gadget.

2 months agoadded support for (normal and adaptive) vertical sync (vsync)
Holger Schemel [Wed, 26 Sep 2018 18:54:16 +0000 (20:54 +0200)]
added support for (normal and adaptive) vertical sync (vsync)

An option was added to the setup menu to enable vsync for redrawing
the screen in synchronization with the vertical retrace, resulting
in ultra-smooth scrolling on systems where it is supported. To make
use of it in R'n'D together with common LCD displays with 60 Hz screen
refresh frequency, a faster game speed than "normal" has to be chosen,
because "normal speed" in R'n'D means 50 frames per second (which is
the original speed of the game on classic CRT displays, which used a
screen refresh frequency of 50 Hz in Europe by default, and which was
also the original game speed of classic Emerald Mine, for example).

If adaptive vsync is chosen, but not supported, a fallback to normal
vsync is done. (See the SDL wiki for SDL_GL_SetSwapInterval() for a
few more details.)

2 months agofixed compiler warnings (after adding "-Wmissing-prototypes")
Holger Schemel [Wed, 19 Sep 2018 06:50:46 +0000 (08:50 +0200)]
fixed compiler warnings (after adding "-Wmissing-prototypes")

Adding this warning option revealed lots of unused functions (which
are deactivated in the code using preprocessor directives for now and
which will be checked and probably removed in a later step).