rocksndiamonds.git
4 months agofixed bug with handling player birth game elements before hatching
Holger Schemel [Thu, 26 Sep 2024 21:47:40 +0000 (23:47 +0200)]
fixed bug with handling player birth game elements before hatching

If player not hatched from inbox yet, do not handle (continue) player
birth (effect) elements. Instead, wait for hatching. This correction
is needed to be able to solve level 015 of "Super Boulder Dash 1".

4 months agofixed showing number of BD diamonds needed if determined at run-time
Holger Schemel [Thu, 26 Sep 2024 21:12:17 +0000 (23:12 +0200)]
fixed showing number of BD diamonds needed if determined at run-time

4 months agoadded using new method to convert slime permeability for new BD engine
Holger Schemel [Tue, 24 Sep 2024 21:49:04 +0000 (23:49 +0200)]
added using new method to convert slime permeability for new BD engine

4 months agominor formatting changes
Holger Schemel [Tue, 24 Sep 2024 21:32:39 +0000 (23:32 +0200)]
minor formatting changes

4 months agochanged some BD game engine defaults depending on scheduling type
Holger Schemel [Tue, 24 Sep 2024 17:14:23 +0000 (19:14 +0200)]
changed some BD game engine defaults depending on scheduling type

4 months agominor changes (mainly variable name changes)
Holger Schemel [Tue, 24 Sep 2024 16:55:36 +0000 (18:55 +0200)]
minor changes (mainly variable name changes)

4 months agofixed smooth movement for player pushing bladder in BD enginen
Holger Schemel [Tue, 24 Sep 2024 00:12:36 +0000 (02:12 +0200)]
fixed smooth movement for player pushing bladder in BD enginen

4 months agofixed smooth movement for elements passing through slime in BD engine
Holger Schemel [Tue, 24 Sep 2024 00:10:00 +0000 (02:10 +0200)]
fixed smooth movement for elements passing through slime in BD engine

4 months agochanged BD engine to use two-step directions with smooth movement
Holger Schemel [Tue, 24 Sep 2024 00:06:26 +0000 (02:06 +0200)]
changed BD engine to use two-step directions with smooth movement

4 months agofixed use of smooth movement when elements are moving diagonally
Holger Schemel [Mon, 23 Sep 2024 23:45:25 +0000 (01:45 +0200)]
fixed use of smooth movement when elements are moving diagonally

4 months agoadded support for smooth movement using two-step directions
Holger Schemel [Mon, 23 Sep 2024 23:41:31 +0000 (01:41 +0200)]
added support for smooth movement using two-step directions

4 months agofixed bug with drawing diagonal player movement in BD engine
Holger Schemel [Mon, 23 Sep 2024 18:28:57 +0000 (20:28 +0200)]
fixed bug with drawing diagonal player movement in BD engine

This fixes drawing a game element moving into the tile just left by
the diagonally moving player (as described in the last commit).

4 months agofixed code for drawing diagonal player movement in BD engine
Holger Schemel [Mon, 23 Sep 2024 18:12:19 +0000 (20:12 +0200)]
fixed code for drawing diagonal player movement in BD engine

When drawing diagonal player movement, do not use smooth movement for
the player, and do not draw the source tile (but only draw the target
tile, as the player "jump-moves" to the next tile in this case).

So far, the source tile was not drawn at all due to not correctly
detecting diagonal movement, causing smooth movement being disabled
for this tile, so the player was not drawn at the source tile anyway
(which causes another bug yet to be fixed: not drawing tiles entering
the tile left by the player at the same time using smooth movement).

This change fixes (not) drawing the source tile for diagonal player
movement.

4 months agofixed graphical bug with snapping player drawn as moving into explosion
Holger Schemel [Mon, 23 Sep 2024 17:37:08 +0000 (19:37 +0200)]
fixed graphical bug with snapping player drawn as moving into explosion

This fixes a graphical bug with smooth movement animation in the BD
engine: When the player is snapping a tile that immediately after is
replaced by an explosion next to the player, the player was drawn as
moving into that explosion (without actually moving at all, as he was
only snapping). This change fixes this bug by checking if the player
actually moved.

4 months agoimproved checking for smooth movement animation in BD engine
Holger Schemel [Mon, 23 Sep 2024 17:33:35 +0000 (19:33 +0200)]
improved checking for smooth movement animation in BD engine

4 months agofixed broken BD player pushing animation when pushing an element
Holger Schemel [Sun, 22 Sep 2024 19:23:25 +0000 (21:23 +0200)]
fixed broken BD player pushing animation when pushing an element

4 months agofixed using BD player pushing animation when moving to pushable tile
Holger Schemel [Sun, 22 Sep 2024 18:55:29 +0000 (20:55 +0200)]
fixed using BD player pushing animation when moving to pushable tile

4 months agofixed using BD player pushing animation while stirring the pot
Holger Schemel [Sun, 22 Sep 2024 18:31:57 +0000 (20:31 +0200)]
fixed using BD player pushing animation while stirring the pot

4 months agomoved code to separate function
Holger Schemel [Sun, 22 Sep 2024 14:11:18 +0000 (16:11 +0200)]
moved code to separate function

4 months agoadded color picker for selecting BD engine colors
Holger Schemel [Sat, 21 Sep 2024 20:35:06 +0000 (22:35 +0200)]
added color picker for selecting BD engine colors

4 months agoadded using color picker gadget prototype in level editor
Holger Schemel [Fri, 20 Sep 2024 19:58:29 +0000 (21:58 +0200)]
added using color picker gadget prototype in level editor

4 months agoadded new gadget prototype for adding color picker later
Holger Schemel [Fri, 20 Sep 2024 19:56:12 +0000 (21:56 +0200)]
added new gadget prototype for adding color picker later

4 months agoadded buttons to editor to select colors for BD engine (yet to come)
Holger Schemel [Fri, 20 Sep 2024 19:06:31 +0000 (21:06 +0200)]
added buttons to editor to select colors for BD engine (yet to come)

The color picker itself still has to be implemented.

4 months agominor changes (mainly comments and code formatting)
Holger Schemel [Thu, 19 Sep 2024 18:22:43 +0000 (20:22 +0200)]
minor changes (mainly comments and code formatting)

4 months agochanged BD engine to match new GDash code (cave speed)
Holger Schemel [Wed, 18 Sep 2024 19:38:05 +0000 (21:38 +0200)]
changed BD engine to match new GDash code (cave speed)

4 months agominor changes
Holger Schemel [Tue, 17 Sep 2024 17:58:03 +0000 (19:58 +0200)]
minor changes

4 months agorenamed variable
Holger Schemel [Tue, 17 Sep 2024 17:42:41 +0000 (19:42 +0200)]
renamed variable

4 months agorenamed variable
Holger Schemel [Tue, 17 Sep 2024 17:37:28 +0000 (19:37 +0200)]
renamed variable

4 months agorenamed functions
Holger Schemel [Tue, 17 Sep 2024 17:29:15 +0000 (19:29 +0200)]
renamed functions

4 months agomoved function
Holger Schemel [Tue, 17 Sep 2024 17:27:41 +0000 (19:27 +0200)]
moved function

4 months agochanged BD engine to match new GDash code (cave setup)
Holger Schemel [Tue, 17 Sep 2024 17:23:34 +0000 (19:23 +0200)]
changed BD engine to match new GDash code (cave setup)

4 months agochanged BD engine to match new GDash code (count diamonds)
Holger Schemel [Tue, 17 Sep 2024 17:01:47 +0000 (19:01 +0200)]
changed BD engine to match new GDash code (count diamonds)

4 months agochanged some comments
Holger Schemel [Mon, 16 Sep 2024 20:02:10 +0000 (22:02 +0200)]
changed some comments

4 months agochanged BD engine to match new GDash code (cave start)
Holger Schemel [Mon, 16 Sep 2024 19:44:29 +0000 (21:44 +0200)]
changed BD engine to match new GDash code (cave start)

4 months agominor changes
Holger Schemel [Mon, 16 Sep 2024 19:38:03 +0000 (21:38 +0200)]
minor changes

4 months agochanged some comments
Holger Schemel [Mon, 16 Sep 2024 19:08:58 +0000 (21:08 +0200)]
changed some comments

4 months agoadded support for explosion stage 3 target element to BD engine
Holger Schemel [Mon, 16 Sep 2024 19:00:53 +0000 (21:00 +0200)]
added support for explosion stage 3 target element to BD engine

4 months agochanged BD engine to match new GDash code (player birth)
Holger Schemel [Mon, 16 Sep 2024 18:19:06 +0000 (20:19 +0200)]
changed BD engine to match new GDash code (player birth)

4 months agominor changes
Holger Schemel [Mon, 16 Sep 2024 18:15:01 +0000 (20:15 +0200)]
minor changes

4 months agochanged BD engine to match new GDash code (conveyor belts)
Holger Schemel [Mon, 16 Sep 2024 17:55:18 +0000 (19:55 +0200)]
changed BD engine to match new GDash code (conveyor belts)

4 months agochanged BD engine to match new GDash code (falling walls)
Holger Schemel [Mon, 16 Sep 2024 17:51:22 +0000 (19:51 +0200)]
changed BD engine to match new GDash code (falling walls)

4 months agochanged BD engine to match new GDash code (slime)
Holger Schemel [Sun, 15 Sep 2024 23:47:48 +0000 (01:47 +0200)]
changed BD engine to match new GDash code (slime)

4 months agochanged BD engine to match new GDash code (expanding walls)
Holger Schemel [Sun, 15 Sep 2024 22:33:32 +0000 (00:33 +0200)]
changed BD engine to match new GDash code (expanding walls)

4 months agominor changes
Holger Schemel [Sun, 15 Sep 2024 22:28:12 +0000 (00:28 +0200)]
minor changes

4 months agominor changes
Holger Schemel [Sun, 15 Sep 2024 22:14:28 +0000 (00:14 +0200)]
minor changes

4 months agorenamed variables
Holger Schemel [Sun, 15 Sep 2024 21:51:47 +0000 (23:51 +0200)]
renamed variables

4 months agominor changes
Holger Schemel [Sun, 15 Sep 2024 19:39:14 +0000 (21:39 +0200)]
minor changes

4 months agochanged BD engine to match new GDash code (pneumatic hammer sound)
Holger Schemel [Sun, 15 Sep 2024 19:34:24 +0000 (21:34 +0200)]
changed BD engine to match new GDash code (pneumatic hammer sound)

4 months agominor changes
Holger Schemel [Sun, 15 Sep 2024 18:40:30 +0000 (20:40 +0200)]
minor changes

4 months agochanged BD engine to match new GDash code (player pushing)
Holger Schemel [Sun, 15 Sep 2024 18:11:00 +0000 (20:11 +0200)]
changed BD engine to match new GDash code (player pushing)

4 months agominor changes
Holger Schemel [Sun, 15 Sep 2024 18:02:00 +0000 (20:02 +0200)]
minor changes

4 months agowhite space changes
Holger Schemel [Sun, 15 Sep 2024 17:52:39 +0000 (19:52 +0200)]
white space changes

4 months agomoved function
Holger Schemel [Sun, 15 Sep 2024 17:31:29 +0000 (19:31 +0200)]
moved function

4 months agoadded tape patch mode to set property bit to use the old BD engine
Holger Schemel [Sun, 15 Sep 2024 14:18:09 +0000 (16:18 +0200)]
added tape patch mode to set property bit to use the old BD engine

4 months agoadded tape property bit for tapes using the old BD game engine
Holger Schemel [Sun, 15 Sep 2024 13:51:38 +0000 (15:51 +0200)]
added tape property bit for tapes using the old BD game engine

This tape property bit is either set when loading old BD replays that
are explicitly tagged to use the old BD game engine, or can manually
be set for existing tape files by using the "patch tapes" command (by
using the patch command from the following commit).

4 months agochanged tape flag for solved level to tape property bit
Holger Schemel [Sun, 15 Sep 2024 12:13:06 +0000 (14:13 +0200)]
changed tape flag for solved level to tape property bit

This change has the advantage that some more property bits can be
stored in tape files.

It has the disadvantage that previous program versions may treat a
tape as a solution tape when it really isn't (but instead has other
property bits set). As this is only used for the "dump tape" command
on the command line, this potential problem can safely be ignored.

4 months agochanged code to match new GDash code (player snapping/moving)
Holger Schemel [Fri, 13 Sep 2024 15:52:36 +0000 (17:52 +0200)]
changed code to match new GDash code (player snapping/moving)

4 months agomoved redundant code to function
Holger Schemel [Thu, 12 Sep 2024 23:57:23 +0000 (01:57 +0200)]
moved redundant code to function

4 months agoadded parameter to function
Holger Schemel [Thu, 12 Sep 2024 23:54:11 +0000 (01:54 +0200)]
added parameter to function

4 months agominor changes
Holger Schemel [Thu, 12 Sep 2024 23:10:43 +0000 (01:10 +0200)]
minor changes

4 months agorenamed variable
Holger Schemel [Thu, 12 Sep 2024 23:07:32 +0000 (01:07 +0200)]
renamed variable

4 months agorenamed functions
Holger Schemel [Thu, 12 Sep 2024 22:35:46 +0000 (00:35 +0200)]
renamed functions

4 months agominor changes
Holger Schemel [Thu, 12 Sep 2024 22:32:10 +0000 (00:32 +0200)]
minor changes

4 months agorenamed variable
Holger Schemel [Thu, 12 Sep 2024 22:22:27 +0000 (00:22 +0200)]
renamed variable

4 months agoremoved function (as elements are always stored as scanned)
Holger Schemel [Thu, 12 Sep 2024 22:18:17 +0000 (00:18 +0200)]
removed function (as elements are always stored as scanned)

4 months agoadded comment
Holger Schemel [Thu, 12 Sep 2024 22:12:54 +0000 (00:12 +0200)]
added comment

4 months agoremoved function (as there is no scanned bladder in BD engine)
Holger Schemel [Thu, 12 Sep 2024 22:06:34 +0000 (00:06 +0200)]
removed function (as there is no scanned bladder in BD engine)

4 months agoremoved unneeded function call
Holger Schemel [Thu, 12 Sep 2024 21:59:50 +0000 (23:59 +0200)]
removed unneeded function call

4 months agoadded function
Holger Schemel [Thu, 12 Sep 2024 21:55:55 +0000 (23:55 +0200)]
added function

4 months agorenamed functions
Holger Schemel [Thu, 12 Sep 2024 21:47:56 +0000 (23:47 +0200)]
renamed functions

4 months agoadded array to double a direction in BD game engine
Holger Schemel [Thu, 12 Sep 2024 19:38:35 +0000 (21:38 +0200)]
added array to double a direction in BD game engine

4 months agowhite space changes
Holger Schemel [Thu, 12 Sep 2024 19:27:17 +0000 (21:27 +0200)]
white space changes

4 months agorenamed functions
Holger Schemel [Thu, 12 Sep 2024 19:13:07 +0000 (21:13 +0200)]
renamed functions

4 months agowhite space changes
Holger Schemel [Thu, 12 Sep 2024 19:03:57 +0000 (21:03 +0200)]
white space changes

4 months agofixed showing game actions after game end when request door opens/closes
Holger Schemel [Wed, 11 Sep 2024 16:56:54 +0000 (18:56 +0200)]
fixed showing game actions after game end when request door opens/closes

This fixes a bug in commit 90028d7d. It occurs when "ask on game over"
is disabled, the player has died in a game and a key to restart the
game is pressed (like "restart game", "replay & pause before end" or
"quick load game"), which causes the newly started game to immediately
freeze (although it can still be stopped with the "space" or "escape"
key).

4 months agoremoved end marker of artwork config token list (not really needed)
Holger Schemel [Mon, 9 Sep 2024 22:29:08 +0000 (00:29 +0200)]
removed end marker of artwork config token list (not really needed)

4 months agocode formatting changes
Holger Schemel [Mon, 9 Sep 2024 22:25:10 +0000 (00:25 +0200)]
code formatting changes

4 months agoremoved list of levelset config token names (not really needed)
Holger Schemel [Mon, 9 Sep 2024 22:17:36 +0000 (00:17 +0200)]
removed list of levelset config token names (not really needed)

4 months agoadded levelset config flag to force using old game engine for BD replays
Holger Schemel [Mon, 9 Sep 2024 21:45:42 +0000 (23:45 +0200)]
added levelset config flag to force using old game engine for BD replays

4 months agoremoved setup options and variables not used anymore
Holger Schemel [Mon, 9 Sep 2024 21:31:06 +0000 (23:31 +0200)]
removed setup options and variables not used anymore

These setup options and variables have been obsoleted by commit
a3ac3523.

4 months agofixed new, 3-state setup option to allow skipping levels (yes/no/ask)
Holger Schemel [Mon, 9 Sep 2024 21:20:37 +0000 (23:20 +0200)]
fixed new, 3-state setup option to allow skipping levels (yes/no/ask)

This fixes commit a3ac3523.

4 months agofixed alternative suffixes .old/.new for graphics_set.ecs/.aga
Holger Schemel [Mon, 9 Sep 2024 21:16:50 +0000 (23:16 +0200)]
fixed alternative suffixes .old/.new for graphics_set.ecs/.aga

This fixes commit 869cd97d.

4 months agoadded comments
Holger Schemel [Thu, 5 Sep 2024 21:40:52 +0000 (23:40 +0200)]
added comments

4 months agoimproved output for failed tapes of automated tape tests
Holger Schemel [Wed, 4 Sep 2024 22:19:41 +0000 (00:19 +0200)]
improved output for failed tapes of automated tape tests

Failed tapes in automated tape tests (like "autotest <level set>") are
now separated into the following three cases:

- "BROKEN"     for newer tapes with "solution tape flag" set
- "UNSOLVABLE" for newer tapes with "solution tape flag" NOT set
- "FAILED"     for older tapes that do not have a "solution tape flag"

That way, it is easier to see if a failed tape is broken or unsolvable
"by design" (or too old to tell).

4 months agochanged code for handling replicators and conveyor belts in BD engine
Holger Schemel [Tue, 3 Sep 2024 20:00:44 +0000 (22:00 +0200)]
changed code for handling replicators and conveyor belts in BD engine

This change should not break any tapes.

4 months agoadded comments
Holger Schemel [Tue, 3 Sep 2024 19:40:26 +0000 (21:40 +0200)]
added comments

4 months agoremoved code which has no effect anymore
Holger Schemel [Tue, 3 Sep 2024 19:28:26 +0000 (21:28 +0200)]
removed code which has no effect anymore

4 months agochanged how the native BD game engine handles scanned game elements
Holger Schemel [Mon, 2 Sep 2024 23:54:30 +0000 (01:54 +0200)]
changed how the native BD game engine handles scanned game elements

After scanning (processing) game elements on the playfield using the
native BD game engine, game elements are marked as "scanned" to
prevent processing them again (for example, newly created elements in
the next row that are just about to be scanned). Previously, elements
were marked by setting a "scanned" bit. Now, elements are marked by
using special "scanned" variants for the already processed element.

There is another change that breaks old cave replays (BD style tapes):
When checking game element properties, the old engine always checked
the non-scanned elements, while the new engine checks the element just
as it is (that is, either scanned or non-scanned), which causes some
game elements (like the amoeba) to behave slightly differently.

This is handled by a special flag to choose the old or new behaviour,
which is currently still set to use the old behaviour.

4 months agoadded functions to check if a BD engine element has a certain property
Holger Schemel [Mon, 2 Sep 2024 22:27:18 +0000 (00:27 +0200)]
added functions to check if a BD engine element has a certain property

4 months agoadded missing default case in switch statement
Holger Schemel [Sun, 1 Sep 2024 15:33:43 +0000 (17:33 +0200)]
added missing default case in switch statement

5 months agochanged using non-scanned elements when reading C64 cave files
Holger Schemel [Sat, 31 Aug 2024 19:21:48 +0000 (21:21 +0200)]
changed using non-scanned elements when reading C64 cave files

5 months agochanged using non-scanned effect elements when reading BDCFF files
Holger Schemel [Sat, 31 Aug 2024 19:19:26 +0000 (21:19 +0200)]
changed using non-scanned effect elements when reading BDCFF files

5 months agofixed bug with restarting game after playing unsuccessful tape
Holger Schemel [Sat, 31 Aug 2024 19:03:24 +0000 (21:03 +0200)]
fixed bug with restarting game after playing unsuccessful tape

When losing a game, pressing "space" or "enter" key before being asked
to play again restarts the game. When replaying a tape, a new game was
started instead of returning to the main menu. This commit fixes this
bug.

5 months agocleanup of BD engine game elements palette in editor
Holger Schemel [Wed, 28 Aug 2024 22:11:05 +0000 (00:11 +0200)]
cleanup of BD engine game elements palette in editor

5 months agoadded game element palette section for scanned BD elements in editor
Holger Schemel [Wed, 28 Aug 2024 21:06:14 +0000 (23:06 +0200)]
added game element palette section for scanned BD elements in editor

5 months agoadded using special editor graphics for scanned BD elements
Holger Schemel [Tue, 27 Aug 2024 21:56:03 +0000 (23:56 +0200)]
added using special editor graphics for scanned BD elements

If additional editor graphics are defined for certain BD elements,
also use these graphics for scanned BD elements in the level editor
(which always use the graphics of their non-scanned counterparts).

5 months agoadded support for scanned BD elements in editor (but not in game yet)
Holger Schemel [Tue, 27 Aug 2024 21:29:33 +0000 (23:29 +0200)]
added support for scanned BD elements in editor (but not in game yet)

This change still converts all scanned BD elements to their unscanned
counterparts when playing a game using the BD engine, but now supports
handling of scanned elements in the level editior.

5 months agoadded using non-scanned element graphics for scanned BD elements
Holger Schemel [Tue, 27 Aug 2024 21:24:09 +0000 (23:24 +0200)]
added using non-scanned element graphics for scanned BD elements

5 months agoadded exported function to get non-scanned BD element (not used yet)
Holger Schemel [Tue, 27 Aug 2024 21:16:45 +0000 (23:16 +0200)]
added exported function to get non-scanned BD element (not used yet)

5 months agoadded mapping of scanned BD elements to R'n'D elements (not used yet)
Holger Schemel [Tue, 27 Aug 2024 21:12:51 +0000 (23:12 +0200)]
added mapping of scanned BD elements to R'n'D elements (not used yet)