Holger Schemel [Mon, 20 Feb 2017 07:19:17 +0000 (08:19 +0100)]
fixed bug with endless explosions (MM 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
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)
Holger Schemel [Sat, 18 Feb 2017 13:41:30 +0000 (14:41 +0100)]
deactivated in-game mouse blanking 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
Holger Schemel [Sat, 18 Feb 2017 11:44:16 +0000 (12:44 +0100)]
fixed various graphics functions for Mirror Magic game engine
Holger Schemel [Sat, 18 Feb 2017 11:31:57 +0000 (12:31 +0100)]
added some more definitions for Mirror Magic element graphics
Holger Schemel [Sat, 18 Feb 2017 09:31:53 +0000 (10:31 +0100)]
removed unused 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
Holger Schemel [Fri, 17 Feb 2017 22:25:56 +0000 (23:25 +0100)]
added special element definitions 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
Holger Schemel [Fri, 17 Feb 2017 22:20:31 +0000 (23:20 +0100)]
added function to get graphics for MM style game elements
Holger Schemel [Fri, 17 Feb 2017 22:15:25 +0000 (23:15 +0100)]
fixed mapping level file game elements between RND and MM formats
Holger Schemel [Fri, 17 Feb 2017 22:10:48 +0000 (23:10 +0100)]
fixed loading playfield data for Mirror Magic level files
Holger Schemel [Fri, 17 Feb 2017 22:09:09 +0000 (23:09 +0100)]
added support for Mirror Magic levels if filetype is explicitly specified
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
Holger Schemel [Fri, 17 Feb 2017 22:02:59 +0000 (23:02 +0100)]
fixed using (more) level set parameters from parent level group
Holger Schemel [Fri, 17 Feb 2017 21:41:51 +0000 (22:41 +0100)]
added more definitions for Mirror Magic (and Deflektor) element graphics
Holger Schemel [Fri, 17 Feb 2017 21:38:25 +0000 (22:38 +0100)]
added more definitions 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
Holger Schemel [Wed, 15 Feb 2017 19:40:13 +0000 (20:40 +0100)]
added level editor support for Mirror Magic (and Deflektor) game elements
Holger Schemel [Wed, 15 Feb 2017 19:35:06 +0000 (20:35 +0100)]
added definitions for Mirror Magic (and Deflektor) element graphics
Holger Schemel [Wed, 15 Feb 2017 19:31:57 +0000 (20:31 +0100)]
added definitions for Mirror Magic (and Deflektor) game elements
Holger Schemel [Wed, 15 Feb 2017 19:25:58 +0000 (20:25 +0100)]
added image files for Mirror Magic (and Deflektor) element graphics
Holger Schemel [Tue, 7 Feb 2017 22:56:41 +0000 (23:56 +0100)]
added basic support for Mirror Magic game engine (first part)
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