Holger Schemel [Tue, 7 Feb 2017 20:29:46 +0000 (21:29 +0100)]
added and adjusted source files for Mirror Magic game engine
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".
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.
Holger Schemel [Sat, 17 Mar 2018 15:16:07 +0000 (16:16 +0100)]
version number set to 4.0.1.5
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
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
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
Holger Schemel [Wed, 14 Mar 2018 18:43:14 +0000 (19:43 +0100)]
improved Makefile for packaging Android package for custom games
Holger Schemel [Sun, 4 Mar 2018 19:46:31 +0000 (20:46 +0100)]
improved Makefile for packaging and added targets for Android package
Holger Schemel [Sun, 25 Feb 2018 12:31:11 +0000 (13:31 +0100)]
version number set to 4.0.1.4
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
Holger Schemel [Fri, 23 Feb 2018 23:55:55 +0000 (00:55 +0100)]
updated title text and border graphic to show current year
Holger Schemel [Fri, 23 Feb 2018 23:27:14 +0000 (00:27 +0100)]
version number set to 4.0.1.3
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
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
Holger Schemel [Mon, 19 Feb 2018 21:48:35 +0000 (22:48 +0100)]
added trimming (removing leading and trailing spaces) for SP level titles
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)
Holger Schemel [Sun, 18 Feb 2018 12:28:31 +0000 (13:28 +0100)]
removed unused function
Holger Schemel [Mon, 12 Feb 2018 22:54:43 +0000 (23:54 +0100)]
improved drawing title messages which use different fonts
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
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
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
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
Holger Schemel [Sat, 3 Feb 2018 01:19:17 +0000 (02:19 +0100)]
version number set to 4.0.1.2
Holger Schemel [Sat, 3 Feb 2018 00:17:04 +0000 (01:17 +0100)]
fixed compiler warning about uninitialized local variable
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
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
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
Holger Schemel [Wed, 31 Jan 2018 19:41:51 +0000 (20:41 +0100)]
renamed function 'WaitEventFiltered' to 'WaitValidEvent'
- to match function 'NextValidEvent'
Holger Schemel [Wed, 31 Jan 2018 19:20:09 +0000 (20:20 +0100)]
changed all event handling to always filter events
Holger Schemel [Wed, 31 Jan 2018 18:51:19 +0000 (19:51 +0100)]
moved waiting for and filtering events to separate function
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
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
Holger Schemel [Sun, 28 Jan 2018 21:22:54 +0000 (22:22 +0100)]
cleanup of some function names ('Ext' functions without 'base' functions)
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
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
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
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
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
Holger Schemel [Wed, 10 Jan 2018 10:26:40 +0000 (11:26 +0100)]
changed code position of check when stopping tape recording
Holger Schemel [Wed, 10 Jan 2018 10:21:03 +0000 (11:21 +0100)]
moved code for adding action to tape to separate function
Holger Schemel [Wed, 10 Jan 2018 09:41:23 +0000 (10:41 +0100)]
fixed potential off-by-one buffer overflow bug when recording tapes
Holger Schemel [Wed, 10 Jan 2018 09:29:19 +0000 (10:29 +0100)]
fixed loading tapes that exceed the maximum allowed tape size
Holger Schemel [Mon, 8 Jan 2018 20:35:01 +0000 (21:35 +0100)]
added space-efficient loading of Supaplex demos to internal tape structure
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
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
Holger Schemel [Mon, 8 Jan 2018 15:28:57 +0000 (16:28 +0100)]
added warning when loading Supaplex demo that exceeds maximum demo size
Holger Schemel [Mon, 8 Jan 2018 15:12:23 +0000 (16:12 +0100)]
fixed potential crash bugs when converting between tapes and Supaplex demos
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
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
Holger Schemel [Thu, 7 Dec 2017 20:43:14 +0000 (21:43 +0100)]
changed cheat for loading solution tape to quietly remove inserted tape
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)
Holger Schemel [Wed, 15 Nov 2017 20:09:05 +0000 (21:09 +0100)]
added fix to prevent Windows from complaining about program not responding
Holger Schemel [Mon, 13 Nov 2017 22:49:36 +0000 (23:49 +0100)]
fixed repeated creation of differently sized bitmaps between menu and game
Holger Schemel [Mon, 30 Oct 2017 15:31:34 +0000 (16:31 +0100)]
changed handling mouse events only for topmost clickable animation
Holger Schemel [Mon, 30 Oct 2017 15:27:03 +0000 (16:27 +0100)]
fixed bug with handling mouse events after clicking clickable animations
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
Holger Schemel [Tue, 14 Mar 2017 22:32:12 +0000 (23:32 +0100)]
added custom version string to default program configuration settings
Holger Schemel [Tue, 14 Mar 2017 19:40:26 +0000 (20:40 +0100)]
added saving current level number when manually selecting different level
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)
Holger Schemel [Mon, 9 Oct 2017 19:34:41 +0000 (21:34 +0200)]
added enabling debug mode on Android when compiled with 'DEBUG' defined
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
Holger Schemel [Sat, 7 Oct 2017 22:32:55 +0000 (00:32 +0200)]
added setup debug option for displaying frames per second (FPS)
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
Holger Schemel [Sat, 7 Oct 2017 21:56:10 +0000 (23:56 +0200)]
improved displaying FPS (debug mode only)
Holger Schemel [Sat, 7 Oct 2017 21:02:22 +0000 (23:02 +0200)]
added function for getting current draw deactivation mask
Holger Schemel [Sat, 7 Oct 2017 19:52:36 +0000 (21:52 +0200)]
fixed frame delay debug keys by only allowing 'normal' modifier keys
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)
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
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
Holger Schemel [Thu, 5 Oct 2017 18:09:41 +0000 (20:09 +0200)]
added abstraction for setting setup info from setup file hash
Holger Schemel [Wed, 4 Oct 2017 18:46:50 +0000 (20:46 +0200)]
removed old joystick calibration code
Holger Schemel [Tue, 3 Oct 2017 07:51:23 +0000 (09:51 +0200)]
version number set to 4.0.1.1
Holger Schemel [Sat, 30 Sep 2017 17:00:34 +0000 (19:00 +0200)]
changed displaying debug messages only when running in debug mode
Holger Schemel [Sat, 30 Sep 2017 16:59:40 +0000 (18:59 +0200)]
changed some messages from warning to debug level
Holger Schemel [Fri, 29 Sep 2017 18:19:00 +0000 (20:19 +0200)]
deactivated game controller debug messages
Holger Schemel [Wed, 27 Sep 2017 21:28:30 +0000 (23:28 +0200)]
added custom game controller mappings
Holger Schemel [Wed, 27 Sep 2017 21:22:56 +0000 (23:22 +0200)]
added game controller base mappings file
Holger Schemel [Wed, 27 Sep 2017 20:11:58 +0000 (22:11 +0200)]
fixed compiler warning by adding missing variable initialization (finally)
Holger Schemel [Wed, 27 Sep 2017 20:04:28 +0000 (22:04 +0200)]
fixed compiler warning by adding missing variable initialization
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
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
Holger Schemel [Sat, 23 Sep 2017 21:34:32 +0000 (23:34 +0200)]
added comment
Holger Schemel [Sat, 23 Sep 2017 21:27:20 +0000 (23:27 +0200)]
fixed and improved single step mode for all game engines
Holger Schemel [Sat, 23 Sep 2017 20:11:25 +0000 (22:11 +0200)]
fixed bug in single button handling causing broken tapes (EM engine)
Holger Schemel [Tue, 12 Sep 2017 17:39:16 +0000 (19:39 +0200)]
moved game controller base mappings file to new 'conf' sub-directory
Holger Schemel [Fri, 8 Sep 2017 14:01:32 +0000 (16:01 +0200)]
minor whitespace change
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
Holger Schemel [Thu, 7 Sep 2017 22:22:07 +0000 (00:22 +0200)]
version number set to 4.0.1.0
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)
Holger Schemel [Tue, 25 Jul 2017 23:12:21 +0000 (01:12 +0200)]
added leaving game controller configuration screen by using 'backspace' key
Holger Schemel [Tue, 25 Jul 2017 22:56:05 +0000 (00:56 +0200)]
improved customizability of game controller configuration screen
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
Holger Schemel [Tue, 25 Jul 2017 19:11:30 +0000 (21:11 +0200)]
added comment
Holger Schemel [Tue, 25 Jul 2017 19:07:16 +0000 (21:07 +0200)]
replaced obsolete joystick calibration with game controller configuration
Holger Schemel [Mon, 17 Jul 2017 20:32:10 +0000 (22:32 +0200)]
fixed accidentally starting joystick calibration by moving joystick axis
Holger Schemel [Mon, 17 Jul 2017 16:19:00 +0000 (18:19 +0200)]
added clearing joystick state to 'clear all input actions' event function
Holger Schemel [Mon, 17 Jul 2017 16:16:21 +0000 (18:16 +0200)]
moved clearing joystick state from closing to initializing joysticks
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)
Holger Schemel [Sun, 16 Jul 2017 11:50:27 +0000 (13:50 +0200)]
added enabling/disabling virtual button overlay depending on input events