rocksndiamonds.git
6 years agoadded remaining MM/DF level properties to level editor and level files
Holger Schemel [Sat, 11 Mar 2017 15:26:04 +0000 (16:26 +0100)]
added remaining MM/DF level properties to level editor and level files

6 years agofixed graphic definition of element 'mm_kettle'
Holger Schemel [Sat, 11 Mar 2017 15:06:26 +0000 (16:06 +0100)]
fixed graphic definition of element 'mm_kettle'

6 years agoadded doing 'redo' by pressing 'undo' button with Ctrl or Shift key
Holger Schemel [Fri, 10 Mar 2017 14:53:58 +0000 (15:53 +0100)]
added doing 'redo' by pressing 'undo' button with Ctrl or Shift key

6 years agofixed buggy zoom gadget info text in level editor
Holger Schemel [Fri, 10 Mar 2017 14:49:53 +0000 (15:49 +0100)]
fixed buggy zoom gadget info text in level editor

6 years agoadded redrawing zoom gadget info text after zooming in level editor
Holger Schemel [Fri, 10 Mar 2017 14:48:25 +0000 (15:48 +0100)]
added redrawing zoom gadget info text after zooming in level editor

6 years agostopped scanning laser after game was lost (MM engine)
Holger Schemel [Fri, 10 Mar 2017 14:25:53 +0000 (15:25 +0100)]
stopped scanning laser after game was lost (MM engine)

6 years agostopped rotating objects hit by laser after game was solved (MM engine)
Holger Schemel [Thu, 9 Mar 2017 18:50:11 +0000 (19:50 +0100)]
stopped rotating objects hit by laser after game was solved (MM engine)

6 years agofixed bug using scroll buffer also for MM engine after game was solved
Holger Schemel [Thu, 9 Mar 2017 18:47:38 +0000 (19:47 +0100)]
fixed bug using scroll buffer also for MM engine after game was solved

6 years agoforced standard element size when playing levels using MM game engine
Holger Schemel [Thu, 9 Mar 2017 18:42:38 +0000 (19:42 +0100)]
forced standard element size when playing levels using MM game engine

6 years agoadded full support for MM style wall elements in level editor
Holger Schemel [Tue, 7 Mar 2017 23:25:51 +0000 (00:25 +0100)]
added full support for MM style wall elements in level editor

6 years agoextended level flood fill function for variable array sizes
Holger Schemel [Tue, 7 Mar 2017 22:46:19 +0000 (23:46 +0100)]
extended level flood fill function for variable array sizes

6 years agoadded functions for masked drawing of sized elements
Holger Schemel [Tue, 7 Mar 2017 20:16:53 +0000 (21:16 +0100)]
added functions for masked drawing of sized elements

6 years agoadded basic support for MM style wall elements in level editor
Holger Schemel [Mon, 6 Mar 2017 17:46:53 +0000 (18:46 +0100)]
added basic support for MM style wall elements in level editor

6 years agoadded macros for MM style wall handling
Holger Schemel [Mon, 6 Mar 2017 17:37:34 +0000 (18:37 +0100)]
added macros for MM style wall handling

6 years agoadded unused dummy elements to align DF style wall elements
Holger Schemel [Mon, 6 Mar 2017 17:35:45 +0000 (18:35 +0100)]
added unused dummy elements to align DF style wall elements

6 years agofixed comment
Holger Schemel [Mon, 6 Mar 2017 17:32:04 +0000 (18:32 +0100)]
fixed comment

6 years agoadded gadget flag to create pixel precise mouse movement events
Holger Schemel [Mon, 6 Mar 2017 17:30:28 +0000 (18:30 +0100)]
added gadget flag to create pixel precise mouse movement events

6 years agoadded function to map editor elements to game elements for MM wall elements
Holger Schemel [Mon, 6 Mar 2017 17:29:25 +0000 (18:29 +0100)]
added function to map editor elements to game elements for MM wall elements

6 years agowhitespace changes
Holger Schemel [Thu, 2 Mar 2017 17:45:58 +0000 (18:45 +0100)]
whitespace changes

6 years agoadded showing/hiding element sections in editor depending on game engine
Holger Schemel [Wed, 1 Mar 2017 22:20:59 +0000 (23:20 +0100)]
added showing/hiding element sections in editor depending on game engine

6 years agochanged initializing CE properties to older versions (code cleanup)
Holger Schemel [Wed, 1 Mar 2017 08:26:13 +0000 (09:26 +0100)]
changed initializing CE properties to older versions (code cleanup)

6 years agochanged initializing CE properties to older versions only for CE levels
Holger Schemel [Wed, 1 Mar 2017 08:21:00 +0000 (09:21 +0100)]
changed initializing CE properties to older versions only for CE levels

6 years agofixed setting level info to defaults for native game engines
Holger Schemel [Wed, 1 Mar 2017 08:11:35 +0000 (09:11 +0100)]
fixed setting level info to defaults for native game engines

6 years agoadded using author from file 'levelinfo.conf' if not defined (MM engine)
Holger Schemel [Sat, 25 Feb 2017 19:27:03 +0000 (20:27 +0100)]
added using author from file 'levelinfo.conf' if not defined (MM engine)

6 years agoadded detecting Mirror Magic style level files from magic bytes
Holger Schemel [Sat, 25 Feb 2017 19:05:58 +0000 (20:05 +0100)]
added detecting Mirror Magic style level files from magic bytes

6 years agofixed bug with using wrong values for 'level solved' and 'game over'
Holger Schemel [Sat, 25 Feb 2017 18:57:56 +0000 (19:57 +0100)]
fixed bug with using wrong values for 'level solved' and 'game over'

6 years agoadded using invisible border element for Mirror Magic game engine
Holger Schemel [Sat, 25 Feb 2017 18:54:28 +0000 (19:54 +0100)]
added using invisible border element for Mirror Magic game engine

6 years agofixed animation of opening exit door (MM engine)
Holger Schemel [Wed, 22 Feb 2017 18:59:06 +0000 (19:59 +0100)]
fixed animation of opening exit door (MM engine)

6 years agoreplaced function to draw graphic animation (MM engine)
Holger Schemel [Wed, 22 Feb 2017 18:57:12 +0000 (19:57 +0100)]
replaced function to draw graphic animation (MM engine)

6 years agofixed copying level from native R'n'D to MM engine
Holger Schemel [Wed, 22 Feb 2017 18:48:20 +0000 (19:48 +0100)]
fixed copying level from native R'n'D to MM engine

6 years agofixed animation delay for opening and closing exit (MM engine)
Holger Schemel [Wed, 22 Feb 2017 18:46:01 +0000 (19:46 +0100)]
fixed animation delay for opening and closing exit (MM engine)

6 years agofixed decrementing counter for kettles (removed by accident) (MM engine)
Holger Schemel [Wed, 22 Feb 2017 18:42:18 +0000 (19:42 +0100)]
fixed decrementing counter for kettles (removed by accident) (MM engine)

6 years agoadded Mirror Magic game engine to level editor
Holger Schemel [Wed, 22 Feb 2017 18:38:57 +0000 (19:38 +0100)]
added Mirror Magic game engine to level editor

6 years agofixed embarrassingly high number of x/y typos
Holger Schemel [Tue, 21 Feb 2017 23:39:11 +0000 (00:39 +0100)]
fixed embarrassingly high number of x/y typos

6 years agofixed explosion graphics for Mirror Magic game engine
Holger Schemel [Tue, 21 Feb 2017 20:41:06 +0000 (21:41 +0100)]
fixed explosion graphics for Mirror Magic game engine

6 years agofixed pacman graphics for Mirror Magic game engine
Holger Schemel [Tue, 21 Feb 2017 07:52:12 +0000 (08:52 +0100)]
fixed pacman graphics for Mirror Magic game engine

6 years agocode cleanup (MM engine)
Holger Schemel [Tue, 21 Feb 2017 06:57:39 +0000 (07:57 +0100)]
code cleanup (MM engine)

6 years agofixed scanning laser using element masks for Mirror Magic game engine
Holger Schemel [Mon, 20 Feb 2017 20:12:00 +0000 (21:12 +0100)]
fixed scanning laser using element masks for Mirror Magic game engine

6 years agofixed fading in game screen before playing for Mirror Magic game engine
Holger Schemel [Mon, 20 Feb 2017 18:17:59 +0000 (19:17 +0100)]
fixed fading in game screen before playing for Mirror Magic game engine

6 years agofixed wall animations for Mirror Magic game engine
Holger Schemel [Mon, 20 Feb 2017 07:51:27 +0000 (08:51 +0100)]
fixed wall animations for Mirror Magic game engine

6 years agoadded missing initialization of element properties for MM engine
Holger Schemel [Mon, 20 Feb 2017 07:39:56 +0000 (08:39 +0100)]
added missing initialization of element properties for MM engine

6 years agofixed dumping tiles when holding mouse button (MM engine)
Holger Schemel [Mon, 20 Feb 2017 07:37:06 +0000 (08:37 +0100)]
fixed dumping tiles when holding mouse button (MM engine)

6 years agofixed editor and preview wall graphics for Mirror Magic game engine (again)
Holger Schemel [Mon, 20 Feb 2017 07:35:12 +0000 (08:35 +0100)]
fixed editor and preview wall graphics for Mirror Magic game engine (again)

6 years agofixed dumping tiles for (not yet centered) MM levels (partially)
Holger Schemel [Mon, 20 Feb 2017 07:34:04 +0000 (08:34 +0100)]
fixed dumping tiles for (not yet centered) MM levels (partially)

6 years agofixed bug with endless explosions (MM engine)
Holger Schemel [Mon, 20 Feb 2017 07:19:17 +0000 (08:19 +0100)]
fixed bug with endless explosions (MM engine)

6 years agofixed editor and preview wall graphics for Mirror Magic game engine
Holger Schemel [Sat, 18 Feb 2017 19:57:30 +0000 (20:57 +0100)]
fixed editor and preview wall graphics for Mirror Magic game engine

6 years agofixed mapping level file game elements between RND and MM formats (again)
Holger Schemel [Sat, 18 Feb 2017 15:09:07 +0000 (16:09 +0100)]
fixed mapping level file game elements between RND and MM formats (again)

6 years agodeactivated in-game mouse blanking for Mirror Magic game engine
Holger Schemel [Sat, 18 Feb 2017 13:41:30 +0000 (14:41 +0100)]
deactivated in-game mouse blanking for Mirror Magic game engine

6 years agoadded in-game mouse actions for Mirror Magic game engine
Holger Schemel [Sat, 18 Feb 2017 13:39:36 +0000 (14:39 +0100)]
added in-game mouse actions for Mirror Magic game engine

6 years agofixed various graphics functions for Mirror Magic game engine
Holger Schemel [Sat, 18 Feb 2017 11:44:16 +0000 (12:44 +0100)]
fixed various graphics functions for Mirror Magic game engine

6 years agoadded some more definitions for Mirror Magic element graphics
Holger Schemel [Sat, 18 Feb 2017 11:31:57 +0000 (12:31 +0100)]
added some more definitions for Mirror Magic element graphics

6 years agoremoved unused code
Holger Schemel [Sat, 18 Feb 2017 09:31:53 +0000 (10:31 +0100)]
removed unused code

6 years agoadded basic game engine integration for Mirror Magic game engine code
Holger Schemel [Fri, 17 Feb 2017 22:29:43 +0000 (23:29 +0100)]
added basic game engine integration for Mirror Magic game engine code

6 years agoadded special element definitions for Mirror Magic game engine
Holger Schemel [Fri, 17 Feb 2017 22:25:56 +0000 (23:25 +0100)]
added special element definitions for Mirror Magic game engine

6 years agoadded basic support for game engine snapshots for Mirror Magic game engine
Holger Schemel [Fri, 17 Feb 2017 22:24:10 +0000 (23:24 +0100)]
added basic support for game engine snapshots for Mirror Magic game engine

6 years agoadded function to get graphics for MM style game elements
Holger Schemel [Fri, 17 Feb 2017 22:20:31 +0000 (23:20 +0100)]
added function to get graphics for MM style game elements

6 years agofixed mapping level file game elements between RND and MM formats
Holger Schemel [Fri, 17 Feb 2017 22:15:25 +0000 (23:15 +0100)]
fixed mapping level file game elements between RND and MM formats

6 years agofixed loading playfield data for Mirror Magic level files
Holger Schemel [Fri, 17 Feb 2017 22:10:48 +0000 (23:10 +0100)]
fixed loading playfield data for Mirror Magic level files

6 years agoadded support for Mirror Magic levels if filetype is explicitly specified
Holger Schemel [Fri, 17 Feb 2017 22:09:09 +0000 (23:09 +0100)]
added support for Mirror Magic levels if filetype is explicitly specified

6 years agofixed macros for level file version handling for Mirror Magic game engine
Holger Schemel [Fri, 17 Feb 2017 22:05:25 +0000 (23:05 +0100)]
fixed macros for level file version handling for Mirror Magic game engine

6 years agofixed using (more) level set parameters from parent level group
Holger Schemel [Fri, 17 Feb 2017 22:02:59 +0000 (23:02 +0100)]
fixed using (more) level set parameters from parent level group

6 years agoadded more definitions for Mirror Magic (and Deflektor) element graphics
Holger Schemel [Fri, 17 Feb 2017 21:41:51 +0000 (22:41 +0100)]
added more definitions for Mirror Magic (and Deflektor) element graphics

6 years agoadded more definitions for Mirror Magic (and Deflektor) game elements
Holger Schemel [Fri, 17 Feb 2017 21:38:25 +0000 (22:38 +0100)]
added more definitions for Mirror Magic (and Deflektor) game elements

6 years agoadded description files for Mirror Magic (and Deflektor) game elements
Holger Schemel [Wed, 15 Feb 2017 19:43:17 +0000 (20:43 +0100)]
added description files for Mirror Magic (and Deflektor) game elements

6 years agoadded level editor support for Mirror Magic (and Deflektor) game elements
Holger Schemel [Wed, 15 Feb 2017 19:40:13 +0000 (20:40 +0100)]
added level editor support for Mirror Magic (and Deflektor) game elements

6 years agoadded definitions for Mirror Magic (and Deflektor) element graphics
Holger Schemel [Wed, 15 Feb 2017 19:35:06 +0000 (20:35 +0100)]
added definitions for Mirror Magic (and Deflektor) element graphics

6 years agoadded definitions for Mirror Magic (and Deflektor) game elements
Holger Schemel [Wed, 15 Feb 2017 19:31:57 +0000 (20:31 +0100)]
added definitions for Mirror Magic (and Deflektor) game elements

6 years agoadded image files for Mirror Magic (and Deflektor) element graphics
Holger Schemel [Wed, 15 Feb 2017 19:25:58 +0000 (20:25 +0100)]
added image files for Mirror Magic (and Deflektor) element graphics

6 years agoadded basic support for Mirror Magic game engine (first part)
Holger Schemel [Tue, 7 Feb 2017 22:56:41 +0000 (23:56 +0100)]
added basic support for Mirror Magic game engine (first part)

6 years agoadded and adjusted source files for Mirror Magic game engine
Holger Schemel [Tue, 7 Feb 2017 20:29:46 +0000 (21:29 +0100)]
added and adjusted source files for Mirror Magic game engine

6 years agofixed bug with extremely slow envelopes when using "request.step_delay: 0"
Holger Schemel [Fri, 23 Mar 2018 20:19:12 +0000 (21:19 +0100)]
fixed bug with extremely slow envelopes when using "request.step_delay: 0"

Using a step delay of zero for envelope style requests (and also in-game
envelopes) resulted in extremely slow envelope animations (instead of very
fast animations, as could be expected), because "SkipUntilDelayReached()"
won't skip any frames in this case (which should probably be corrected,
too). This is fixed by never using a step delay value less than "1".

6 years agofixed problem with 'boolean' typedef when compiling with MinGW environment
Holger Schemel [Mon, 19 Mar 2018 19:02:43 +0000 (20:02 +0100)]
fixed problem with 'boolean' typedef when compiling with MinGW environment

A typedef named "boolean" (but defined as "unsigned char", not "int") is
already defined in one of the Windows header files, so it was redefined to
a non-conflicting name to prevent collisions when compiling for the Windows
platform.

6 years agoversion number set to 4.0.1.5
Holger Schemel [Sat, 17 Mar 2018 15:16:07 +0000 (16:16 +0100)]
version number set to 4.0.1.5

6 years agofixed cryptic default player name on Android; instead using "anonymous" now 4.0.1.4
Holger Schemel [Fri, 16 Mar 2018 16:17:47 +0000 (17:17 +0100)]
fixed cryptic default player name on Android; instead using "anonymous" now

- on first start, the player name is taken from the system's user name
- on Android systems, this is usually something cryptic like "ud_a123"
- this was changed to use the default player name "anonymous" instead

6 years agofixed bug with playing "timeout" and "player dies" sounds in SP engine
Holger Schemel [Fri, 16 Mar 2018 15:26:59 +0000 (16:26 +0100)]
fixed bug with playing "timeout" and "player dies" sounds in SP engine

- this bug occurred when playing a level using SP engine and time limit
- the Supaplex game engine does not support levels with time limit
- bug fixed by always setting level time to zero when using SP engine

6 years agofixed two bugs with broken sniksnak graphics in SP engine after warp mode
Holger Schemel [Thu, 15 Mar 2018 22:08:55 +0000 (23:08 +0100)]
fixed two bugs with broken sniksnak graphics in SP engine after warp mode

- the more serious of the two bugs was introduced with commit 727d3b5f
  * lots of non-existing sniksnaks may have been displayed after warp mode
- the second bug existed for a long time (maybe this was never done right)
  * some sniksnaks may have been displayed incompletely after warp mode
- this bug was fixed by forcing a complete playfield redraw after warp mode

6 years agoimproved Makefile for packaging Android package for custom games
Holger Schemel [Wed, 14 Mar 2018 18:43:14 +0000 (19:43 +0100)]
improved Makefile for packaging Android package for custom games

6 years agoimproved Makefile for packaging and added targets for Android package
Holger Schemel [Sun, 4 Mar 2018 19:46:31 +0000 (20:46 +0100)]
improved Makefile for packaging and added targets for Android package

6 years agoversion number set to 4.0.1.4
Holger Schemel [Sun, 25 Feb 2018 12:31:11 +0000 (13:31 +0100)]
version number set to 4.0.1.4

6 years agofixed bug with not updating screen scroll position in EM engine in warp mode 4.0.1.3
Holger Schemel [Sat, 24 Feb 2018 15:27:02 +0000 (16:27 +0100)]
fixed bug with not updating screen scroll position in EM engine in warp mode

- this bug was introduced with commit 727d3b5f

6 years agoupdated title text and border graphic to show current year
Holger Schemel [Fri, 23 Feb 2018 23:55:55 +0000 (00:55 +0100)]
updated title text and border graphic to show current year

6 years agoversion number set to 4.0.1.3
Holger Schemel [Fri, 23 Feb 2018 23:27:14 +0000 (00:27 +0100)]
version number set to 4.0.1.3

6 years agochanged listing all invalid SP level file elements only in debug mode 4.0.1.2
Holger Schemel [Fri, 23 Feb 2018 00:04:25 +0000 (01:04 +0100)]
changed listing all invalid SP level file elements only in debug mode

6 years agofixed bug with (float) division by zero when auto-testing very short tapes
Holger Schemel [Thu, 22 Feb 2018 23:57:43 +0000 (00:57 +0100)]
fixed bug with (float) division by zero when auto-testing very short tapes

6 years agoadded trimming (removing leading and trailing spaces) for SP level titles
Holger Schemel [Mon, 19 Feb 2018 21:48:35 +0000 (22:48 +0100)]
added trimming (removing leading and trailing spaces) for SP level titles

6 years agofixed bug when checking out-of-bounds frames im graphics definitions
Holger Schemel [Mon, 19 Feb 2018 20:58:16 +0000 (21:58 +0100)]
fixed bug when checking out-of-bounds frames im graphics definitions

- this bug was caused by getFixedGraphicSource() always using 32x32 tile
  size even if element graphic was defined using smaller tile size like
  16x16, resulting in correct definitions to be assumed as out of bounds
- fixed by using getGraphicSourceXY() instead, which only uses width and
  height attributes (which are set to the correct tile size for elements)

6 years agoremoved unused function
Holger Schemel [Sun, 18 Feb 2018 12:28:31 +0000 (13:28 +0100)]
removed unused function

6 years agoimproved drawing title messages which use different fonts
Holger Schemel [Mon, 12 Feb 2018 22:54:43 +0000 (23:54 +0100)]
improved drawing title messages which use different fonts

6 years agoadded some performance tuning for "autotest" and warp mode
Holger Schemel [Tue, 6 Feb 2018 21:15:15 +0000 (22:15 +0100)]
added some performance tuning for "autotest" and warp mode

- profiling showed that completely skipping the playfield redraw functions
  makes "autotest" and warp mode much (or at least considerably) faster in
  certain cases than only skipping the resulting bitmap blitting functions
- massive speedup when using the EM engine with the R'n'D graphics engine
- good speedup when using the EM engine with the native EM graphics engine
- good speedup when using the SP engine
- minor speedup when using the R'n'D engine

6 years agofixed broken tapes caused by a bugfix (with TAS snap keys) in EM engine
Holger Schemel [Sun, 4 Feb 2018 22:33:22 +0000 (23:33 +0100)]
fixed broken tapes caused by a bugfix (with TAS snap keys) in EM engine

- to prevent breaking old tapes, a version-specific engine value was added
- the corresponding snap key bug was initially fixed with commit c138430
- tapes created before 4.0.1.0 and broken due to this fix should work again

6 years agofixed bug with overwriting version-specific engine value with default value
Holger Schemel [Sun, 4 Feb 2018 22:17:04 +0000 (23:17 +0100)]
fixed bug with overwriting version-specific engine value with default value

- setting an EM/EMC engine value depending on program version was added to
  fix existing tapes that were broken by adding the single-button handling,
  but that value was then always overwritten with the same default value
- tapes created before 4.0.1.0 and broken due to this bug should work again

6 years agofixed bug with variable defined as "long" that should be "int" in EM engine
Holger Schemel [Sun, 4 Feb 2018 20:58:31 +0000 (21:58 +0100)]
fixed bug with variable defined as "long" that should be "int" in EM engine

- this was apparently overseen when fixing the R'n'D code for 64-bit systems
  back in 2011 by replacing all "long" with "int" types (see commit 61c3da0)
- this bug was open to the public since version 3.3.1.0 was released in 2013
- this bug has potentially broken all EM engine tapes containing amoeba
- fixing this bug potentially breaks similar tapes between 2013 and now
- tapes created before 3.3.1.0 and broken due to this bug should work again

6 years agoversion number set to 4.0.1.2
Holger Schemel [Sat, 3 Feb 2018 01:19:17 +0000 (02:19 +0100)]
version number set to 4.0.1.2

6 years agofixed compiler warning about uninitialized local variable 4.0.1.1
Holger Schemel [Sat, 3 Feb 2018 00:17:04 +0000 (01:17 +0100)]
fixed compiler warning about uninitialized local variable

6 years agomoved handling game music with negative ID from mixer to helper function
Holger Schemel [Fri, 2 Feb 2018 23:58:16 +0000 (00:58 +0100)]
moved handling game music with negative ID from mixer to helper function

- this fixes checking next played game music if it has a negative music ID
- negative music IDs are used for (game) music files not specified in a GIC

6 years agoadded boundary checks for sound/music ID for some sound and music functions
Holger Schemel [Fri, 2 Feb 2018 23:51:48 +0000 (00:51 +0100)]
added boundary checks for sound/music ID for some sound and music functions

- this causes game music with negative music ID not being played anymore
- negative music IDs are used for (game) music files not specified in a GIC
- playing game music with negative ID will be fixed in the next commit

6 years agoadded function to get music filename by music ID
Holger Schemel [Fri, 2 Feb 2018 23:40:20 +0000 (00:40 +0100)]
added function to get music filename by music ID

- this does (still) not work correctly for negative music IDs
- negative music IDs are used for (game) music files not specified in a GIC
- handling negative music IDs will be fixed in the next commit

6 years agorenamed function 'WaitEventFiltered' to 'WaitValidEvent'
Holger Schemel [Wed, 31 Jan 2018 19:41:51 +0000 (20:41 +0100)]
renamed function 'WaitEventFiltered' to 'WaitValidEvent'

- to match function 'NextValidEvent'

6 years agochanged all event handling to always filter events
Holger Schemel [Wed, 31 Jan 2018 19:20:09 +0000 (20:20 +0100)]
changed all event handling to always filter events

6 years agomoved waiting for and filtering events to separate function
Holger Schemel [Wed, 31 Jan 2018 18:51:19 +0000 (19:51 +0100)]
moved waiting for and filtering events to separate function