rocksndiamonds.git
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

6 years agorenamed function 'NextEvent' to 'WaitEvent'
Holger Schemel [Wed, 31 Jan 2018 18:41:43 +0000 (19:41 +0100)]
renamed function 'NextEvent' to 'WaitEvent'

- to make it clear that this function is waiting if no event is pending
- to match SDL function name

6 years agofixed bug with not redrawing level and author name when changing levels
Holger Schemel [Sun, 28 Jan 2018 22:37:41 +0000 (23:37 +0100)]
fixed bug with not redrawing level and author name when changing levels

6 years agocleanup of some function names ('Ext' functions without 'base' functions)
Holger Schemel [Sun, 28 Jan 2018 21:22:54 +0000 (22:22 +0100)]
cleanup of some function names ('Ext' functions without 'base' functions)

6 years agofixed bug with fading menu music on 'start game' if game music is the same
Holger Schemel [Sun, 28 Jan 2018 19:57:10 +0000 (20:57 +0100)]
fixed bug with fading menu music on 'start game' if game music is the same

6 years agoadded workaround for broken MIDI volume behaviour for Windows platform
Holger Schemel [Sat, 27 Jan 2018 19:58:00 +0000 (20:58 +0100)]
added workaround for broken MIDI volume behaviour for Windows platform

playing MIDI music is broken since Windows Vista, as it sets the volume
for MIDI music also for all other sounds and music, which cannot be set
back to normal unless playing MIDI music again with that desired volume
(more details: https://www.artsoft.org/forum/viewtopic.php?f=7&t=2253)

=> workaround 1: always play MIDI music with maximum volume
=> workaround 2: never fade MIDI music to lower volume, but just stop it

6 years agochanged fallback to default level set on errors only when run interactively
Holger Schemel [Thu, 11 Jan 2018 12:46:09 +0000 (13:46 +0100)]
changed fallback to default level set on errors only when run interactively

6 years agochanged loading of Supaplex demos to use function for adding action to tape
Holger Schemel [Wed, 10 Jan 2018 11:06:06 +0000 (12:06 +0100)]
changed loading of Supaplex demos to use function for adding action to tape

6 years agochanged code position of check if tape is full when adding actions
Holger Schemel [Wed, 10 Jan 2018 10:53:46 +0000 (11:53 +0100)]
changed code position of check if tape is full when adding actions

6 years agochanged code position of check when stopping tape recording
Holger Schemel [Wed, 10 Jan 2018 10:26:40 +0000 (11:26 +0100)]
changed code position of check when stopping tape recording

6 years agomoved code for adding action to tape to separate function
Holger Schemel [Wed, 10 Jan 2018 10:21:03 +0000 (11:21 +0100)]
moved code for adding action to tape to separate function

6 years agofixed potential off-by-one buffer overflow bug when recording tapes
Holger Schemel [Wed, 10 Jan 2018 09:41:23 +0000 (10:41 +0100)]
fixed potential off-by-one buffer overflow bug when recording tapes

6 years agofixed loading tapes that exceed the maximum allowed tape size
Holger Schemel [Wed, 10 Jan 2018 09:29:19 +0000 (10:29 +0100)]
fixed loading tapes that exceed the maximum allowed tape size

6 years agoadded space-efficient loading of Supaplex demos to internal tape structure
Holger Schemel [Mon, 8 Jan 2018 20:35:01 +0000 (21:35 +0100)]
added space-efficient loading of Supaplex demos to internal tape structure

6 years agoadded comment regarding required value for loading ultra-long MPX demo files
Holger Schemel [Mon, 8 Jan 2018 20:14:36 +0000 (21:14 +0100)]
added comment regarding required value for loading ultra-long MPX demo files

6 years agofixed bug which could cause saving tapes with a wrong level number filename
Holger Schemel [Mon, 8 Jan 2018 18:56:14 +0000 (19:56 +0100)]
fixed bug which could cause saving tapes with a wrong level number filename

6 years agoadded warning when loading Supaplex demo that exceeds maximum demo size
Holger Schemel [Mon, 8 Jan 2018 15:28:57 +0000 (16:28 +0100)]
added warning when loading Supaplex demo that exceeds maximum demo size

6 years agofixed potential crash bugs when converting between tapes and Supaplex demos
Holger Schemel [Mon, 8 Jan 2018 15:12:23 +0000 (16:12 +0100)]
fixed potential crash bugs when converting between tapes and Supaplex demos

6 years agoremoved storing 'end of demo' file marker in internal Supaplex demo buffer
Holger Schemel [Mon, 8 Jan 2018 14:52:12 +0000 (15:52 +0100)]
removed storing 'end of demo' file marker in internal Supaplex demo buffer

6 years agofixed cheat for loading solution tape for Supaplex style levels with demo
Holger Schemel [Wed, 3 Jan 2018 19:37:30 +0000 (20:37 +0100)]
fixed cheat for loading solution tape for Supaplex style levels with demo

6 years agochanged cheat for loading solution tape to quietly remove inserted tape
Holger Schemel [Thu, 7 Dec 2017 20:43:14 +0000 (21:43 +0100)]
changed cheat for loading solution tape to quietly remove inserted tape

6 years agofixed bug with global animations in mode 'MAINONLY' not being restarted after mode...
Holger Schemel [Mon, 4 Dec 2017 21:30:17 +0000 (22:30 +0100)]
fixed bug with global animations in mode 'MAINONLY' not being restarted after mode 'TYPENAME' (introduced with commit 2722043)

6 years agoadded fix to prevent Windows from complaining about program not responding
Holger Schemel [Wed, 15 Nov 2017 20:09:05 +0000 (21:09 +0100)]
added fix to prevent Windows from complaining about program not responding

6 years agofixed repeated creation of differently sized bitmaps between menu and game
Holger Schemel [Mon, 13 Nov 2017 22:49:36 +0000 (23:49 +0100)]
fixed repeated creation of differently sized bitmaps between menu and game

6 years agochanged handling mouse events only for topmost clickable animation
Holger Schemel [Mon, 30 Oct 2017 15:31:34 +0000 (16:31 +0100)]
changed handling mouse events only for topmost clickable animation

6 years agofixed bug with handling mouse events after clicking clickable animations
Holger Schemel [Mon, 30 Oct 2017 15:27:03 +0000 (16:27 +0100)]
fixed bug with handling mouse events after clicking clickable animations

6 years agoadded flag to (not) show scaling in title to default configuration settings
Holger Schemel [Tue, 14 Mar 2017 22:40:13 +0000 (23:40 +0100)]
added flag to (not) show scaling in title to default configuration settings

6 years agoadded custom version string to default program configuration settings
Holger Schemel [Tue, 14 Mar 2017 22:32:12 +0000 (23:32 +0100)]
added custom version string to default program configuration settings

6 years agoadded saving current level number when manually selecting different level
Holger Schemel [Tue, 14 Mar 2017 19:40:26 +0000 (20:40 +0100)]
added saving current level number when manually selecting different level

6 years agofixed problem with global animations being restarted if screen changes to same game...
Holger Schemel [Tue, 10 Oct 2017 21:25:18 +0000 (23:25 +0200)]
fixed problem with global animations being restarted if screen changes to same game mode (like navigation inside setup or levelset menu)

6 years agoadded enabling debug mode on Android when compiled with 'DEBUG' defined
Holger Schemel [Mon, 9 Oct 2017 19:34:41 +0000 (21:34 +0200)]
added enabling debug mode on Android when compiled with 'DEBUG' defined

6 years agofixed bug with cheat codes not working anymore after changing player name
Holger Schemel [Mon, 9 Oct 2017 19:32:38 +0000 (21:32 +0200)]
fixed bug with cheat codes not working anymore after changing player name

6 years agoadded setup debug option for displaying frames per second (FPS)
Holger Schemel [Sat, 7 Oct 2017 22:32:55 +0000 (00:32 +0200)]
added setup debug option for displaying frames per second (FPS)

6 years agochanged displaying FPS by cheat code ':fps' instead of always in debug mode
Holger Schemel [Sat, 7 Oct 2017 22:18:33 +0000 (00:18 +0200)]
changed displaying FPS by cheat code ':fps' instead of always in debug mode

6 years agoimproved displaying FPS (debug mode only)
Holger Schemel [Sat, 7 Oct 2017 21:56:10 +0000 (23:56 +0200)]
improved displaying FPS (debug mode only)

6 years agoadded function for getting current draw deactivation mask
Holger Schemel [Sat, 7 Oct 2017 21:02:22 +0000 (23:02 +0200)]
added function for getting current draw deactivation mask

6 years agofixed frame delay debug keys by only allowing 'normal' modifier keys
Holger Schemel [Sat, 7 Oct 2017 19:52:36 +0000 (21:52 +0200)]
fixed frame delay debug keys by only allowing 'normal' modifier keys

6 years agofixed bug with FPS display forcing redraw for every frame (debug mode only)
Holger Schemel [Sat, 7 Oct 2017 19:12:48 +0000 (21:12 +0200)]
fixed bug with FPS display forcing redraw for every frame (debug mode only)

6 years agochanged hiding setup options marked with '.hide' instead of setting to N/A
Holger Schemel [Sat, 7 Oct 2017 11:57:36 +0000 (13:57 +0200)]
changed hiding setup options marked with '.hide' instead of setting to N/A

6 years agoadded '.hide' suffix to default program config to hide (some) setup options
Holger Schemel [Fri, 6 Oct 2017 16:09:04 +0000 (18:09 +0200)]
added '.hide' suffix to default program config to hide (some) setup options

6 years agoadded abstraction for setting setup info from setup file hash
Holger Schemel [Thu, 5 Oct 2017 18:09:41 +0000 (20:09 +0200)]
added abstraction for setting setup info from setup file hash

6 years agoremoved old joystick calibration code
Holger Schemel [Wed, 4 Oct 2017 18:46:50 +0000 (20:46 +0200)]
removed old joystick calibration code

6 years agoversion number set to 4.0.1.1
Holger Schemel [Tue, 3 Oct 2017 07:51:23 +0000 (09:51 +0200)]
version number set to 4.0.1.1

6 years agochanged displaying debug messages only when running in debug mode 4.0.1.0
Holger Schemel [Sat, 30 Sep 2017 17:00:34 +0000 (19:00 +0200)]
changed displaying debug messages only when running in debug mode

6 years agochanged some messages from warning to debug level
Holger Schemel [Sat, 30 Sep 2017 16:59:40 +0000 (18:59 +0200)]
changed some messages from warning to debug level

6 years agodeactivated game controller debug messages
Holger Schemel [Fri, 29 Sep 2017 18:19:00 +0000 (20:19 +0200)]
deactivated game controller debug messages

6 years agoadded custom game controller mappings
Holger Schemel [Wed, 27 Sep 2017 21:28:30 +0000 (23:28 +0200)]
added custom game controller mappings

6 years agoadded game controller base mappings file
Holger Schemel [Wed, 27 Sep 2017 21:22:56 +0000 (23:22 +0200)]
added game controller base mappings file

6 years agofixed compiler warning by adding missing variable initialization (finally)
Holger Schemel [Wed, 27 Sep 2017 20:11:58 +0000 (22:11 +0200)]
fixed compiler warning by adding missing variable initialization (finally)

6 years agofixed compiler warning by adding missing variable initialization
Holger Schemel [Wed, 27 Sep 2017 20:04:28 +0000 (22:04 +0200)]
fixed compiler warning by adding missing variable initialization

6 years agofixed audio rwnd/ffwd keys for Amazon FireTV with SDL 2.0.6 release version
Holger Schemel [Tue, 26 Sep 2017 15:10:55 +0000 (17:10 +0200)]
fixed audio rwnd/ffwd keys for Amazon FireTV with SDL 2.0.6 release version

6 years agofixed assertion warning when building with SDL 2.0.6 for Android
Holger Schemel [Tue, 26 Sep 2017 15:08:59 +0000 (17:08 +0200)]
fixed assertion warning when building with SDL 2.0.6 for Android

6 years agoadded comment
Holger Schemel [Sat, 23 Sep 2017 21:34:32 +0000 (23:34 +0200)]
added comment

6 years agofixed and improved single step mode for all game engines
Holger Schemel [Sat, 23 Sep 2017 21:27:20 +0000 (23:27 +0200)]
fixed and improved single step mode for all game engines

6 years agofixed bug in single button handling causing broken tapes (EM engine)
Holger Schemel [Sat, 23 Sep 2017 20:11:25 +0000 (22:11 +0200)]
fixed bug in single button handling causing broken tapes (EM engine)

6 years agomoved game controller base mappings file to new 'conf' sub-directory
Holger Schemel [Tue, 12 Sep 2017 17:39:16 +0000 (19:39 +0200)]
moved game controller base mappings file to new 'conf' sub-directory

6 years agominor whitespace change
Holger Schemel [Fri, 8 Sep 2017 14:01:32 +0000 (16:01 +0200)]
minor whitespace change

6 years agoadded using single button for snap and drop when using native EM engine
Holger Schemel [Fri, 8 Sep 2017 14:00:53 +0000 (16:00 +0200)]
added using single button for snap and drop when using native EM engine

6 years agoversion number set to 4.0.1.0
Holger Schemel [Thu, 7 Sep 2017 22:22:07 +0000 (00:22 +0200)]
version number set to 4.0.1.0

6 years agofixed bug with TAS snap keys sometimes moving the player (EM engine only)
Holger Schemel [Thu, 7 Sep 2017 18:32:52 +0000 (20:32 +0200)]
fixed bug with TAS snap keys sometimes moving the player (EM engine only)

6 years agoadded leaving game controller configuration screen by using 'backspace' key
Holger Schemel [Tue, 25 Jul 2017 23:12:21 +0000 (01:12 +0200)]
added leaving game controller configuration screen by using 'backspace' key

6 years agoimproved customizability of game controller configuration screen
Holger Schemel [Tue, 25 Jul 2017 22:56:05 +0000 (00:56 +0200)]
improved customizability of game controller configuration screen

6 years agochanged joystick direction texts to more generic 'axis/pad' in setup menu
Holger Schemel [Tue, 25 Jul 2017 19:32:47 +0000 (21:32 +0200)]
changed joystick direction texts to more generic 'axis/pad' in setup menu

6 years agoadded comment
Holger Schemel [Tue, 25 Jul 2017 19:11:30 +0000 (21:11 +0200)]
added comment

6 years agoreplaced obsolete joystick calibration with game controller configuration
Holger Schemel [Tue, 25 Jul 2017 19:07:16 +0000 (21:07 +0200)]
replaced obsolete joystick calibration with game controller configuration

6 years agofixed accidentally starting joystick calibration by moving joystick axis
Holger Schemel [Mon, 17 Jul 2017 20:32:10 +0000 (22:32 +0200)]
fixed accidentally starting joystick calibration by moving joystick axis

6 years agoadded clearing joystick state to 'clear all input actions' event function
Holger Schemel [Mon, 17 Jul 2017 16:19:00 +0000 (18:19 +0200)]
added clearing joystick state to 'clear all input actions' event function

6 years agomoved clearing joystick state from closing to initializing joysticks
Holger Schemel [Mon, 17 Jul 2017 16:16:21 +0000 (18:16 +0200)]
moved clearing joystick state from closing to initializing joysticks

6 years agoadded support for 'select' key on certain devices (handled as 'return' key)
Holger Schemel [Sun, 16 Jul 2017 14:44:19 +0000 (16:44 +0200)]
added support for 'select' key on certain devices (handled as 'return' key)

6 years agoadded enabling/disabling virtual button overlay depending on input events
Holger Schemel [Sun, 16 Jul 2017 11:50:27 +0000 (13:50 +0200)]
added enabling/disabling virtual button overlay depending on input events

6 years agoadded support for special media buttons on Amazon Fire TV remote control
Holger Schemel [Tue, 11 Jul 2017 21:21:25 +0000 (23:21 +0200)]
added support for special media buttons on Amazon Fire TV remote control

6 years agofixed and added some range checks for joysticks
Holger Schemel [Tue, 11 Jul 2017 20:57:32 +0000 (22:57 +0200)]
fixed and added some range checks for joysticks

6 years agofixed joystick naming convention from file descriptor to joystick number
Holger Schemel [Mon, 3 Jul 2017 20:07:06 +0000 (22:07 +0200)]
fixed joystick naming convention from file descriptor to joystick number

6 years agofixed broken game controller event handling in joystick calibration
Holger Schemel [Mon, 3 Jul 2017 19:58:31 +0000 (21:58 +0200)]
fixed broken game controller event handling in joystick calibration

6 years agofixed joystick calibration for new game controller handling
Holger Schemel [Mon, 3 Jul 2017 19:55:44 +0000 (21:55 +0200)]
fixed joystick calibration for new game controller handling

6 years agoadded using global and personal game controller mapping files
Holger Schemel [Mon, 3 Jul 2017 18:52:19 +0000 (20:52 +0200)]
added using global and personal game controller mapping files

6 years agofixed bug with handling released game controller buttons
Holger Schemel [Sun, 2 Jul 2017 22:25:04 +0000 (00:25 +0200)]
fixed bug with handling released game controller buttons

6 years agoadded slightly larger delay after first joystick movement on menu screens
Holger Schemel [Sun, 2 Jul 2017 21:55:00 +0000 (23:55 +0200)]
added slightly larger delay after first joystick movement on menu screens

6 years agofixed indentation
Holger Schemel [Sun, 2 Jul 2017 21:24:56 +0000 (23:24 +0200)]
fixed indentation

6 years agoadded handling 'back' and 'start' buttons on game controllers
Holger Schemel [Sun, 2 Jul 2017 21:22:13 +0000 (23:22 +0200)]
added handling 'back' and 'start' buttons on game controllers