rocksndiamonds.git
6 years agofixed bug with alpha blending when configuring game controllers
Holger Schemel [Mon, 23 Apr 2018 18:39:52 +0000 (20:39 +0200)]
fixed bug with alpha blending when configuring game controllers

6 years agofixed bug causing access to negative array index
Holger Schemel [Sat, 21 Apr 2018 22:19:27 +0000 (00:19 +0200)]
fixed bug causing access to negative array index

6 years agofixed variable type
Holger Schemel [Sat, 21 Apr 2018 22:15:34 +0000 (00:15 +0200)]
fixed variable type

6 years agoadded hiding selection list style setup options marked with '.hide'
Holger Schemel [Sat, 21 Apr 2018 00:08:54 +0000 (02:08 +0200)]
added hiding selection list style setup options marked with '.hide'

6 years agoadded recognizing "y/Y" and "n/N" keys to answer request dialog
Holger Schemel [Fri, 20 Apr 2018 22:34:53 +0000 (00:34 +0200)]
added recognizing "y/Y" and "n/N" keys to answer request dialog

6 years agochanged variable name
Holger Schemel [Fri, 20 Apr 2018 22:26:33 +0000 (00:26 +0200)]
changed variable name

6 years agoadded adjusting input setup menu according to configured screen size
Holger Schemel [Fri, 20 Apr 2018 22:22:46 +0000 (00:22 +0200)]
added adjusting input setup menu according to configured screen size

6 years agoadded using narrow fonts for input setup if screen width is less than default
Holger Schemel [Fri, 20 Apr 2018 19:47:40 +0000 (21:47 +0200)]
added using narrow fonts for input setup if screen width is less than default

6 years agoadded font definition for narrow variant of existing font
Holger Schemel [Fri, 20 Apr 2018 18:18:39 +0000 (20:18 +0200)]
added font definition for narrow variant of existing font

6 years agoadded using variable for screen positions in input setup menu
Holger Schemel [Fri, 20 Apr 2018 18:09:10 +0000 (20:09 +0200)]
added using variable for screen positions in input setup menu

6 years agoadded using some variables for font identifiers instead of constants
Holger Schemel [Fri, 20 Apr 2018 18:04:35 +0000 (20:04 +0200)]
added using some variables for font identifiers instead of constants

6 years agofixed centered screen position for keyboard/joystick configuration
Holger Schemel [Thu, 19 Apr 2018 23:10:25 +0000 (01:10 +0200)]
fixed centered screen position for keyboard/joystick configuration

6 years agofixed changing key bindings if customization aborted by "Escape" key
Holger Schemel [Thu, 19 Apr 2018 18:37:32 +0000 (20:37 +0200)]
fixed changing key bindings if customization aborted by "Escape" key

Before, partially changed key bindings were kept even if keyboard
customization was aborted by pressing the "Escape" key during the
process. Now, the old key bindings are restored in this case.

6 years agochanged keyboard customization to be similar to joystick configuration
Holger Schemel [Thu, 19 Apr 2018 18:22:14 +0000 (20:22 +0200)]
changed keyboard customization to be similar to joystick configuration

Before, the user was asked to press the "Return" key after keyboard
customization was finished. Now, keyboard customization automatically
ends after configuring the last key, and a message is displayed that
is similar to the message displayed after joystick configuration.

6 years agochanged starting music for MM game engine after charging laser
Holger Schemel [Tue, 17 Apr 2018 18:37:33 +0000 (20:37 +0200)]
changed starting music for MM game engine after charging laser

Before, music was started immediately after opening the game panel
door, and therefore before starting the initial "rotating mirrors
and charging laser" sequence when playing levels using the Mirror
Magic game engine.

Now, music starts after that initialization sequence is finished
(just like it was done in Mirror Magic 2.0.2).

6 years agoadded saving static variables to engine snapshots for SP game engine
Holger Schemel [Tue, 17 Apr 2018 17:58:38 +0000 (19:58 +0200)]
added saving static variables to engine snapshots for SP game engine

There were a number of static variables holding game engine values
that were forgotten to be saved in game engine snapshots for the
Supaplex game engine.

Storing and restoring these engine values was added by this fix.

6 years agoadded check to prevent crash when drawing sprites for undefined graphics
Holger Schemel [Tue, 17 Apr 2018 17:49:13 +0000 (19:49 +0200)]
added check to prevent crash when drawing sprites for undefined graphics

Due to a bug (that will be fixed with the following commit) it may
be possible that game elements are drawn for undefined graphics ID,
resulting in a crash.

A check was added to prevent drawing sprites for undefined graphics.

6 years agochanged internal program versioning naming conventions
Holger Schemel [Thu, 12 Apr 2018 20:23:40 +0000 (22:23 +0200)]
changed internal program versioning naming conventions

Before, program version numbers consisting of four parts were named
"MAJOR.MINOR.PATCH.BUILD" internally. From now on, this will be named
"SUPER.MAJOR.MINOR.PATCH" instead, because this better reflects how
the four parts of the version numbers are really used nowadays.

For the Mirror Magic game engine, "MAJOR.MINOR.PATCH" is still used
internally, as there is no fourth part for the version number, so the
names of these version number parts currently do not match the parts of
the internal R'n'D version numbers with the same name, but parts 1, 2
and 3 (which would be "SUPER.MAJOR.MINOR" in R'n'D version numbers).

6 years agoversion number set to 4.1.0.1
Holger Schemel [Thu, 12 Apr 2018 19:50:20 +0000 (21:50 +0200)]
version number set to 4.1.0.1

6 years agofixed tile selection cursor position for levels smaller than the playfield 4.1.0.0
Holger Schemel [Tue, 10 Apr 2018 19:44:08 +0000 (21:44 +0200)]
fixed tile selection cursor position for levels smaller than the playfield

For centered levels that are smaller than the playfield (MM engine),
the tile selection cursor position was not shifted like the level,
but was still inside the top/left aligned grid as if the level was
not centered.

This fix also centers the tile selection cursor position accordingly.

6 years agofixed always redrawing global border when redrawing playfield area
Holger Schemel [Mon, 9 Apr 2018 22:42:50 +0000 (00:42 +0200)]
fixed always redrawing global border when redrawing playfield area

When in the level editor, the "special editor door" area was not redrawn
correctly when redrawing the global border, but was instead always
redrawn with the "normal" border (without special treatment for the
larger editor door area).

This workaround fixes redrawing the global border inside the level editor.

6 years agoversion number set to 4.1.0.0
Holger Schemel [Fri, 6 Apr 2018 13:18:39 +0000 (15:18 +0200)]
version number set to 4.1.0.0

6 years agoadded always redrawing global border when redrawing playfield area
Holger Schemel [Thu, 5 Apr 2018 22:45:20 +0000 (00:45 +0200)]
added always redrawing global border when redrawing playfield area

Before, the global border was only redrawn if its graphics had changed
or if any of the viewport areas (playfield or doors) had changed their
position or size.

Now, it is always redrawn if the playfield area is cleared (to redraw
its content). This has the advantage that accidentally damaged global
border areas (caused by buggy graphics definitions from custom artwork
sets) are redrawn much earlier than before (where it could require
loading a different level set with different graphics to "repair" the
damaged global border).

6 years agoadded support for non-button touch pads for MM game engine
Holger Schemel [Mon, 2 Apr 2018 10:33:11 +0000 (12:33 +0200)]
added support for non-button touch pads for MM game engine

There are some systems with touch pads (like Mac notebooks) which do not
have separate left/right buttons, which are required for controlling the
Mirror Magic game engine (which usually works best with left/right mouse
buttons).

This change adds support for recognizing touch clicks on the left and
right half of the touch pad as left and right button clicks to rotate
mirrors and other rotatable game elements in the MM game engine to the
left or to the right.

6 years agoadded support for compiling non-default Windows icons into the executable
Holger Schemel [Mon, 2 Apr 2018 10:19:00 +0000 (12:19 +0200)]
added support for compiling non-default Windows icons into the executable

If the environment variable "EDITION" is defined, it is used to search at
a non-default location for icons to be compiled into the R'n'D executable
when building the game for the Windows platform.

6 years agofixed some level editor element descriptions
Holger Schemel [Sun, 25 Mar 2018 23:13:29 +0000 (01:13 +0200)]
fixed some level editor element descriptions

6 years agoadded using options for left/right/top/bottom spacing on some info screens
Holger Schemel [Sun, 25 Mar 2018 11:07:20 +0000 (13:07 +0200)]
added using options for left/right/top/bottom spacing on some info screens

6 years agoadded options for left/right/top/bottom spacing for the info screens
Holger Schemel [Sun, 25 Mar 2018 11:03:21 +0000 (13:03 +0200)]
added options for left/right/top/bottom spacing for the info screens

6 years agoreplaced some info screen positions with already defined symbolic names
Holger Schemel [Sun, 25 Mar 2018 00:17:37 +0000 (01:17 +0100)]
replaced some info screen positions with already defined symbolic names

6 years agofixed bug when creating static mappings of elements to graphics
Holger Schemel [Sat, 24 Mar 2018 22:14:03 +0000 (23:14 +0100)]
fixed bug when creating static mappings of elements to graphics

This bug showed up with wrong mapping for "mm_pacman.eating.right" (as
defined in "src/conf_gfx.c") in auto-conf file "src/conf_e2g.c" being

  {
    EL_MM_PACMAN,                       ACTION_EATING, -1, FALSE,
    IMG_MM_PACMAN_EATING_RIGHT
  },

where it should correctly be

  {
    EL_MM_PACMAN,                       ACTION_EATING, MV_BIT_RIGHT, FALSE,
    IMG_MM_PACMAN_EATING_RIGHT
  },

instead. This problem was fixed by always using the calculated direction
(which can still be "-1" if no direction is specified).

6 years agoadded centering levels that are smaller than the playfield (MM engine)
Holger Schemel [Fri, 23 Mar 2018 22:19:59 +0000 (23:19 +0100)]
added centering levels that are smaller than the playfield (MM engine)

6 years agofixed incorrect sizes of some arrays in menu info structure
Holger Schemel [Wed, 21 Mar 2018 20:28:08 +0000 (21:28 +0100)]
fixed incorrect sizes of some arrays in menu info structure

6 years agofixed compiling MM engine code with MinGW environment
Holger Schemel [Mon, 19 Mar 2018 21:49:22 +0000 (22:49 +0100)]
fixed compiling MM engine code with MinGW environment

6 years agofixed name of element 'beamer' to 'teleporter'
Holger Schemel [Sun, 18 Mar 2018 12:31:57 +0000 (13:31 +0100)]
fixed name of element 'beamer' to 'teleporter'

6 years agofixed name of element 'polarisator' to 'polarizer'
Holger Schemel [Sun, 18 Mar 2018 12:04:26 +0000 (13:04 +0100)]
fixed name of element 'polarisator' to 'polarizer'

6 years agofixed bug with deriving game data directory from default 'setup.conf'
Holger Schemel [Wed, 14 Mar 2018 18:41:20 +0000 (19:41 +0100)]
fixed bug with deriving game data directory from default 'setup.conf'

6 years agoremoved shortly visible video display when starting game from level editor
Holger Schemel [Sat, 10 Mar 2018 20:49:40 +0000 (21:49 +0100)]
removed shortly visible video display when starting game from level editor

6 years agoremoved short black screen when starting test game from level editor
Holger Schemel [Sat, 10 Mar 2018 20:40:11 +0000 (21:40 +0100)]
removed short black screen when starting test game from level editor

6 years agoadded message 'level solved' after solving a level
Holger Schemel [Sat, 10 Mar 2018 20:06:10 +0000 (21:06 +0100)]
added message 'level solved' after solving a level

6 years agoreplaced duplicated code with equivalent function call
Holger Schemel [Sat, 10 Mar 2018 19:32:44 +0000 (20:32 +0100)]
replaced duplicated code with equivalent function call

6 years agoadded asking for restart after game was lost (MM game engine only)
Holger Schemel [Sat, 10 Mar 2018 19:18:07 +0000 (20:18 +0100)]
added asking for restart after game was lost (MM game engine only)

6 years agofixed displaying title strings from config files in info screen headline
Holger Schemel [Sat, 10 Mar 2018 19:11:33 +0000 (20:11 +0100)]
fixed displaying title strings from config files in info screen headline

6 years agomoved getting title strings from config files to separate functions
Holger Schemel [Sat, 10 Mar 2018 19:10:08 +0000 (20:10 +0100)]
moved getting title strings from config files to separate functions

6 years agofixed bug with always drawing level playfield in editor after test playing
Holger Schemel [Wed, 31 Jan 2018 21:01:11 +0000 (22:01 +0100)]
fixed bug with always drawing level playfield in editor after test playing

- even if the last edit mode was "level info", "element properties" etc.
- this bug was introduced by the commit with the following message:
  "added editor door 1 animation if viewport is unchanged and contains toolbox"
  (no commit ID given here due to frequent use of "git rebase")

6 years agofixed saving snapshots (step, move and collect mode) to MM game engine
Holger Schemel [Thu, 21 Dec 2017 17:37:10 +0000 (18:37 +0100)]
fixed saving snapshots (step, move and collect mode) to MM game engine

6 years agofixed bug in (still largely broken) single-step mode when using joystick
Holger Schemel [Tue, 19 Dec 2017 21:02:18 +0000 (22:02 +0100)]
fixed bug in (still largely broken) single-step mode when using joystick

6 years agoadded single-step mode (well, sort of) to MM game engine
Holger Schemel [Tue, 19 Dec 2017 20:55:07 +0000 (21:55 +0100)]
added single-step mode (well, sort of) to MM game engine

6 years agofixed updating tile selection cursor position when using mouse in MM games
Holger Schemel [Fri, 15 Dec 2017 08:15:13 +0000 (09:15 +0100)]
fixed updating tile selection cursor position when using mouse in MM games

6 years agofixed showing/hiding mouse cursor in playfield when playing MM style games
Holger Schemel [Fri, 15 Dec 2017 08:13:12 +0000 (09:13 +0100)]
fixed showing/hiding mouse cursor in playfield when playing MM style games

6 years agoimproved smoothness of moving tile selection cursor
Holger Schemel [Fri, 15 Dec 2017 07:29:27 +0000 (08:29 +0100)]
improved smoothness of moving tile selection cursor

6 years agofixed moving tile selection cursor
Holger Schemel [Fri, 15 Dec 2017 07:19:27 +0000 (08:19 +0100)]
fixed moving tile selection cursor

6 years agofixed bug with keyboard/joystick events unpausing MM style games
Holger Schemel [Fri, 15 Dec 2017 07:13:22 +0000 (08:13 +0100)]
fixed bug with keyboard/joystick events unpausing MM style games

6 years agofixed bug with ending solved MM level without scores when using keyboard
Holger Schemel [Wed, 13 Dec 2017 07:55:26 +0000 (08:55 +0100)]
fixed bug with ending solved MM level without scores when using keyboard

6 years agoadded tile selection cursor for playing MM levels with keyboard or joystick
Holger Schemel [Wed, 13 Dec 2017 07:39:30 +0000 (08:39 +0100)]
added tile selection cursor for playing MM levels with keyboard or joystick

6 years agoadded delaying joystick actions also on the high scores screen
Holger Schemel [Tue, 12 Dec 2017 21:18:01 +0000 (22:18 +0100)]
added delaying joystick actions also on the high scores screen

6 years agocompleted touch controls (follow finger) for MM game engine on Android
Holger Schemel [Mon, 4 Dec 2017 00:13:37 +0000 (01:13 +0100)]
completed touch controls (follow finger) for MM game engine on Android

6 years agoadded touch controls (follow finger) for MM game engine on Android
Holger Schemel [Sun, 3 Dec 2017 11:35:49 +0000 (12:35 +0100)]
added touch controls (follow finger) for MM game engine on Android

6 years agomoved code for separate touch controls to separate functions (cleanup)
Holger Schemel [Fri, 1 Dec 2017 21:26:29 +0000 (22:26 +0100)]
moved code for separate touch controls to separate functions (cleanup)

6 years agocleanup of gadget handling for Android/non-Android platforms
Holger Schemel [Fri, 1 Dec 2017 20:46:31 +0000 (21:46 +0100)]
cleanup of gadget handling for Android/non-Android platforms

6 years agoadded touch controls (wipe gestures) for MM game engine on Android
Holger Schemel [Tue, 28 Nov 2017 20:40:14 +0000 (21:40 +0100)]
added touch controls (wipe gestures) for MM game engine on Android

6 years agoadded option 'off' for touch controls (for non-Android platforms)
Holger Schemel [Tue, 28 Nov 2017 08:50:26 +0000 (09:50 +0100)]
added option 'off' for touch controls (for non-Android platforms)

6 years agofixed text output for deactivated anti-aliasing menu option
Holger Schemel [Tue, 28 Nov 2017 08:40:13 +0000 (09:40 +0100)]
fixed text output for deactivated anti-aliasing menu option

6 years agomoved function for processing 'follow finger' controls if no events pending
Holger Schemel [Tue, 28 Nov 2017 08:32:18 +0000 (09:32 +0100)]
moved function for processing 'follow finger' controls if no events pending

6 years agocleanup of function names related to processing (no) pending events
Holger Schemel [Tue, 28 Nov 2017 08:28:50 +0000 (09:28 +0100)]
cleanup of function names related to processing (no) pending events

6 years agoadded support for main menu titles in level and graphics config file
Holger Schemel [Fri, 24 Nov 2017 20:21:19 +0000 (21:21 +0100)]
added support for main menu titles in level and graphics config file

6 years agochanged handling artwork info cache to allow partial (default) entries
Holger Schemel [Fri, 24 Nov 2017 20:12:42 +0000 (21:12 +0100)]
changed handling artwork info cache to allow partial (default) entries

6 years agocompleted game engine snapshot values to save/load for MM game engine
Holger Schemel [Mon, 20 Nov 2017 20:05:28 +0000 (21:05 +0100)]
completed game engine snapshot values to save/load for MM game engine

6 years agofixed bug when loading game engine snapshot values for MM game engine
Holger Schemel [Mon, 20 Nov 2017 20:00:57 +0000 (21:00 +0100)]
fixed bug when loading game engine snapshot values for MM game engine

6 years agofixed setting selected editor tile size for MM style levels after playing
Holger Schemel [Thu, 16 Nov 2017 20:42:41 +0000 (21:42 +0100)]
fixed setting selected editor tile size for MM style levels after playing

6 years agofixed closing door 2 after door 1 when no tape is to be saved after playing
Holger Schemel [Tue, 14 Nov 2017 21:35:29 +0000 (22:35 +0100)]
fixed closing door 2 after door 1 when no tape is to be saved after playing

6 years agofixed stopping game music after running out of time (MM engine)
Holger Schemel [Tue, 14 Nov 2017 08:39:14 +0000 (09:39 +0100)]
fixed stopping game music after running out of time (MM engine)

6 years agorearranged some elements in level editor to match game engines
Holger Schemel [Sat, 11 Nov 2017 20:24:57 +0000 (21:24 +0100)]
rearranged some elements in level editor to match game engines

6 years agoadded options to use artwork and to copy template when creating level set
Holger Schemel [Sat, 11 Nov 2017 19:54:10 +0000 (20:54 +0100)]
added options to use artwork and to copy template when creating level set

6 years agochanged function from static to public
Holger Schemel [Sat, 11 Nov 2017 19:31:57 +0000 (20:31 +0100)]
changed function from static to public

6 years agoadded function to copy file
Holger Schemel [Sat, 11 Nov 2017 19:27:43 +0000 (20:27 +0100)]
added function to copy file

6 years agounified some setup menu titles (and adjusted them for smaller screens)
Holger Schemel [Wed, 8 Nov 2017 21:55:19 +0000 (22:55 +0100)]
unified some setup menu titles (and adjusted them for smaller screens)

6 years agoadded checking for default setup file in global config directory
Holger Schemel [Tue, 7 Nov 2017 22:27:27 +0000 (23:27 +0100)]
added checking for default setup file in global config directory

6 years agorenamed variable
Holger Schemel [Tue, 7 Nov 2017 22:24:32 +0000 (23:24 +0100)]
renamed variable

6 years agomove function for getting program base directory to appropriate source file
Holger Schemel [Tue, 7 Nov 2017 22:19:16 +0000 (23:19 +0100)]
move function for getting program base directory to appropriate source file

6 years agomove check for configured program base directory to appropriate function
Holger Schemel [Tue, 7 Nov 2017 22:14:56 +0000 (23:14 +0100)]
move check for configured program base directory to appropriate function

6 years agoremoved reference to (potentially undefined) global variable from function
Holger Schemel [Tue, 7 Nov 2017 22:08:54 +0000 (23:08 +0100)]
removed reference to (potentially undefined) global variable from function

6 years agoremoved unneeded reference to app bundle directory for Mac OS X
Holger Schemel [Tue, 7 Nov 2017 22:03:08 +0000 (23:03 +0100)]
removed unneeded reference to app bundle directory for Mac OS X

6 years agofixed bug that may lead to free()ing static memory
Holger Schemel [Tue, 7 Nov 2017 21:55:42 +0000 (22:55 +0100)]
fixed bug that may lead to free()ing static memory

6 years agoadded setting correct editor drawing elements (depending on game engine)
Holger Schemel [Mon, 6 Nov 2017 00:21:54 +0000 (01:21 +0100)]
added setting correct editor drawing elements (depending on game engine)

6 years agoadded setting correct default editor tile size (depending on game engine)
Holger Schemel [Mon, 6 Nov 2017 00:01:19 +0000 (01:01 +0100)]
added setting correct default editor tile size (depending on game engine)

6 years agoadded setting correct editor tile size for MM style levels
Holger Schemel [Sun, 5 Nov 2017 23:56:00 +0000 (00:56 +0100)]
added setting correct editor tile size for MM style levels

6 years agoadded editor door 1 animation if viewport is unchanged and contains toolbox
Holger Schemel [Sun, 5 Nov 2017 23:28:27 +0000 (00:28 +0100)]
added editor door 1 animation if viewport is unchanged and contains toolbox

6 years agofixed bug with invisible initial fonts
Holger Schemel [Sun, 5 Nov 2017 17:25:30 +0000 (18:25 +0100)]
fixed bug with invisible initial fonts

- this bug was introduced by the commit with the following message:
  "added support for font definitions with different character offset and size"
  (no commit ID given here due to frequent use of "git rebase")

6 years agofixed bug causing crash when playing levels with 'time orb bug'
Holger Schemel [Sat, 4 Nov 2017 00:20:46 +0000 (01:20 +0100)]
fixed bug causing crash when playing levels with 'time orb bug'

6 years agoadded suppressing border elements in editor for MM style levels
Holger Schemel [Fri, 3 Nov 2017 23:52:59 +0000 (00:52 +0100)]
added suppressing border elements in editor for MM style levels

6 years agoadded options for custom position of editor tooltip (mouse-over info text)
Holger Schemel [Fri, 3 Nov 2017 18:30:55 +0000 (19:30 +0100)]
added options for custom position of editor tooltip (mouse-over info text)

6 years agofixed fading complete screen if playfield viewport has changed
Holger Schemel [Fri, 3 Nov 2017 13:39:54 +0000 (14:39 +0100)]
fixed fading complete screen if playfield viewport has changed

6 years agofixed bug with drawing to default door 2 area while in editor
Holger Schemel [Fri, 3 Nov 2017 13:06:34 +0000 (14:06 +0100)]
fixed bug with drawing to default door 2 area while in editor

6 years agoadded options for post delay for door actions
Holger Schemel [Thu, 2 Nov 2017 00:00:23 +0000 (01:00 +0100)]
added options for post delay for door actions

6 years agoadded support for separate opening/closing sounds for game/tape doors
Holger Schemel [Wed, 1 Nov 2017 23:43:39 +0000 (00:43 +0100)]
added support for separate opening/closing sounds for game/tape doors

6 years agofixed bug with playing level music in main menu when pressing music button
Holger Schemel [Wed, 1 Nov 2017 23:21:49 +0000 (00:21 +0100)]
fixed bug with playing level music in main menu when pressing music button

6 years agoadded game-panel-only buttons for stop/play/pause and sounds (for MM games)
Holger Schemel [Wed, 1 Nov 2017 23:01:52 +0000 (00:01 +0100)]
added game-panel-only buttons for stop/play/pause and sounds (for MM games)

6 years agoadded null pointer check to gadget function
Holger Schemel [Wed, 1 Nov 2017 21:14:44 +0000 (22:14 +0100)]
added null pointer check to gadget function

6 years agoreused unused font definition for text on joystick configuration page
Holger Schemel [Tue, 31 Oct 2017 12:06:58 +0000 (13:06 +0100)]
reused unused font definition for text on joystick configuration page

6 years agocompleted options for vertical text spacing on info and setup screens
Holger Schemel [Tue, 31 Oct 2017 11:49:28 +0000 (12:49 +0100)]
completed options for vertical text spacing on info and setup screens