rocksndiamonds.git
3 months agoadded storing text lines to wrapped text structure before drawing
Holger Schemel [Sat, 12 Oct 2024 19:44:31 +0000 (21:44 +0200)]
added storing text lines to wrapped text structure before drawing

3 months agoremoved updating unused variables
Holger Schemel [Sat, 12 Oct 2024 19:33:34 +0000 (21:33 +0200)]
removed updating unused variables

3 months agofixed potential buffer overflow
Holger Schemel [Sat, 12 Oct 2024 19:13:56 +0000 (21:13 +0200)]
fixed potential buffer overflow

3 months agofixed buffer overflow
Holger Schemel [Sat, 12 Oct 2024 17:52:07 +0000 (19:52 +0200)]
fixed buffer overflow

3 months agofixed potential buffer overflow for dynamically changed fonts
Holger Schemel [Sat, 12 Oct 2024 17:49:53 +0000 (19:49 +0200)]
fixed potential buffer overflow for dynamically changed fonts

3 months agofixed centering text buffers with dynamically changed fonts
Holger Schemel [Sat, 12 Oct 2024 14:12:27 +0000 (16:12 +0200)]
fixed centering text buffers with dynamically changed fonts

3 months agominor change (no functional change)
Holger Schemel [Sat, 12 Oct 2024 14:04:08 +0000 (16:04 +0200)]
minor change (no functional change)

3 months agofixed wrapping text buffers with dynamically changed fonts
Holger Schemel [Sat, 12 Oct 2024 11:32:00 +0000 (13:32 +0200)]
fixed wrapping text buffers with dynamically changed fonts

3 months agoextended interface for text buffer drawing functions (not used yet)
Holger Schemel [Sat, 12 Oct 2024 11:27:59 +0000 (13:27 +0200)]
extended interface for text buffer drawing functions (not used yet)

3 months agorenamed variable
Holger Schemel [Sat, 12 Oct 2024 11:22:43 +0000 (13:22 +0200)]
renamed variable

3 months agoadded support for level specific information text messages
Holger Schemel [Wed, 9 Oct 2024 17:05:07 +0000 (19:05 +0200)]
added support for level specific information text messages

By placing a text file into "docs/levels/XXX.txt" inside the level set
directory (or directly inside the level set directory just next to the
level file itself), the text message can be shown by pressing the
envelope icon that appears in the bottom left corner of the main menu
(similar to the level set information by the icon on the bottom right,
if available).

The level information text can also be accessed from the info screen.

3 months agochanged element in element palette in editor
Holger Schemel [Wed, 9 Oct 2024 17:14:18 +0000 (19:14 +0200)]
changed element in element palette in editor

3 months agofixed handling cloned graphics with color template
Holger Schemel [Wed, 9 Oct 2024 17:12:06 +0000 (19:12 +0200)]
fixed handling cloned graphics with color template

3 months agofixed mapping empty space for native BD engine
Holger Schemel [Wed, 9 Oct 2024 17:03:47 +0000 (19:03 +0200)]
fixed mapping empty space for native BD engine

3 months agofixed BD style element graphics without direction
Holger Schemel [Mon, 7 Oct 2024 21:27:48 +0000 (23:27 +0200)]
fixed BD style element graphics without direction

3 months agoadded new game element "rocket" to native BD game engine
Holger Schemel [Mon, 7 Oct 2024 21:25:31 +0000 (23:25 +0200)]
added new game element "rocket" to native BD game engine

3 months agofixed always drawing BD style magic wall as normal wall if inactive
Holger Schemel [Sun, 6 Oct 2024 18:39:14 +0000 (20:39 +0200)]
fixed always drawing BD style magic wall as normal wall if inactive

3 months agofixed smooth movement for elements in magic wall with no space below
Holger Schemel [Sun, 6 Oct 2024 18:00:06 +0000 (20:00 +0200)]
fixed smooth movement for elements in magic wall with no space below

3 months agoadded wrapping element token text in level editor, if needed
Holger Schemel [Sun, 6 Oct 2024 09:28:07 +0000 (11:28 +0200)]
added wrapping element token text in level editor, if needed

3 months agoadded wrapper function to print formatted text in level editor
Holger Schemel [Sun, 6 Oct 2024 09:24:48 +0000 (11:24 +0200)]
added wrapper function to print formatted text in level editor

3 months agoremoved duplicate constant
Holger Schemel [Sun, 6 Oct 2024 09:22:07 +0000 (11:22 +0200)]
removed duplicate constant

3 months agoadded BD style gems to automatically counted elements in editor
Holger Schemel [Sun, 6 Oct 2024 08:51:10 +0000 (10:51 +0200)]
added BD style gems to automatically counted elements in editor

3 months agochanged some elements in game elements list in level editor
Holger Schemel [Sun, 6 Oct 2024 08:44:17 +0000 (10:44 +0200)]
changed some elements in game elements list in level editor

3 months agoadded game element descriptions for renamed BD style game elements
Holger Schemel [Sun, 6 Oct 2024 08:36:32 +0000 (10:36 +0200)]
added game element descriptions for renamed BD style game elements

3 months agorenamed BD style game element "sand_loose" to "grass_loose"
Holger Schemel [Sun, 6 Oct 2024 08:29:21 +0000 (10:29 +0200)]
renamed BD style game element "sand_loose" to "grass_loose"

3 months agorenamed BD style game element "sand_ball" to "grass_ball"
Holger Schemel [Sun, 6 Oct 2024 08:24:49 +0000 (10:24 +0200)]
renamed BD style game element "sand_ball" to "grass_ball"

3 months agorenamed BD style game element "sand_1" to "sand"
Holger Schemel [Sun, 6 Oct 2024 08:16:25 +0000 (10:16 +0200)]
renamed BD style game element "sand_1" to "sand"

3 months agorenamed BD style game element "sand_2" to "grass"
Holger Schemel [Sun, 6 Oct 2024 08:07:37 +0000 (10:07 +0200)]
renamed BD style game element "sand_2" to "grass"

3 months agoadded marking level as changed when setting BD random colors in editor
Holger Schemel [Sat, 5 Oct 2024 23:20:51 +0000 (01:20 +0200)]
added marking level as changed when setting BD random colors in editor

3 months agochanged graphics for BD style sand ball and loose sand
Holger Schemel [Sat, 5 Oct 2024 19:41:32 +0000 (21:41 +0200)]
changed graphics for BD style sand ball and loose sand

3 months agoadded support for BD engine levels without time limit
Holger Schemel [Sat, 5 Oct 2024 18:42:08 +0000 (20:42 +0200)]
added support for BD engine levels without time limit

3 months agofixed BD style lava animation delay
Holger Schemel [Sat, 5 Oct 2024 18:35:41 +0000 (20:35 +0200)]
fixed BD style lava animation delay

3 months agore-added setup options and variables not used anymore
Holger Schemel [Sat, 5 Oct 2024 17:18:12 +0000 (19:18 +0200)]
re-added setup options and variables not used anymore

For easier tests with old game versions. This reverts commit 4af6f4c2
and adds some backwards compatibility code.

3 months agoadded support for moving/pushing rock animations to BD engine
Holger Schemel [Sat, 5 Oct 2024 17:11:41 +0000 (19:11 +0200)]
added support for moving/pushing rock animations to BD engine

3 months agoadded level editor option for buggy BD style teleporter
Holger Schemel [Sat, 5 Oct 2024 11:51:43 +0000 (13:51 +0200)]
added level editor option for buggy BD style teleporter

3 months agorenamed variables
Holger Schemel [Sat, 5 Oct 2024 10:37:02 +0000 (12:37 +0200)]
renamed variables

3 months agomoved global variable to color picker structure
Holger Schemel [Sat, 5 Oct 2024 10:34:30 +0000 (12:34 +0200)]
moved global variable to color picker structure

3 months agoadded wrappers for color conversion functions
Holger Schemel [Sat, 5 Oct 2024 10:26:31 +0000 (12:26 +0200)]
added wrappers for color conversion functions

3 months agorenamed functions and variables
Holger Schemel [Sat, 5 Oct 2024 10:18:45 +0000 (12:18 +0200)]
renamed functions and variables

3 months agoimproved color picker for non-RGB (indexed) colors
Holger Schemel [Sat, 5 Oct 2024 10:08:52 +0000 (12:08 +0200)]
improved color picker for non-RGB (indexed) colors

3 months agoadded functions to convert colors between "int" and "RGB"
Holger Schemel [Sat, 5 Oct 2024 10:03:53 +0000 (12:03 +0200)]
added functions to convert colors between "int" and "RGB"

3 months agoimproved opening/closing color picker gadget
Holger Schemel [Sat, 5 Oct 2024 09:54:33 +0000 (11:54 +0200)]
improved opening/closing color picker gadget

3 months agofixed restoring last color type in editor
Holger Schemel [Sat, 5 Oct 2024 09:42:16 +0000 (11:42 +0200)]
fixed restoring last color type in editor

3 months agoadded support for "escape" and "return" keys for color picker
Holger Schemel [Thu, 3 Oct 2024 18:25:15 +0000 (20:25 +0200)]
added support for "escape" and "return" keys for color picker

3 months agoremoved checking for special colors in BD style color template images
Holger Schemel [Thu, 3 Oct 2024 17:09:47 +0000 (19:09 +0200)]
removed checking for special colors in BD style color template images

This removes the restriction that only image files with RGB values of
either 0 or 255 are allowed to be used as BD style color templates.

3 months agoremoved obsolete code for old BD style color template support
Holger Schemel [Thu, 3 Oct 2024 15:33:43 +0000 (17:33 +0200)]
removed obsolete code for old BD style color template support

3 months agochanged BD style color template support to cover all images sizes
Holger Schemel [Thu, 3 Oct 2024 14:20:32 +0000 (16:20 +0200)]
changed BD style color template support to cover all images sizes

The new method uses the newly added ".color_template" parameter in the
"graphicsinfo.conf" config file to mark an image as "color template".
In the level editor, all color changes are immediately applied to the
game elements selection list.

3 months agoadded updating BD cave colors when redrawing editor screen
Holger Schemel [Thu, 3 Oct 2024 14:02:16 +0000 (16:02 +0200)]
added updating BD cave colors when redrawing editor screen

3 months agoadded preparations for changed color template support (not used yet)
Holger Schemel [Thu, 3 Oct 2024 08:56:15 +0000 (10:56 +0200)]
added preparations for changed color template support (not used yet)

3 months agoadded new graphics config parameter ".color_template" (not used yet)
Holger Schemel [Thu, 3 Oct 2024 08:50:39 +0000 (10:50 +0200)]
added new graphics config parameter ".color_template" (not used yet)

3 months agochanged redrawing screen in editor (to prepare for further changes)
Holger Schemel [Thu, 3 Oct 2024 08:33:57 +0000 (10:33 +0200)]
changed redrawing screen in editor (to prepare for further changes)

This change prepares for following changes (regarding BD style level
colors) that require redrawing the game element selection buttons.

4 months agoadded new game element "light rock" to native BD game engine
Holger Schemel [Sun, 29 Sep 2024 11:36:03 +0000 (13:36 +0200)]
added new game element "light rock" to native BD game engine

4 months agorenamed BD style mega rock to heavy rock
Holger Schemel [Sat, 28 Sep 2024 13:31:25 +0000 (15:31 +0200)]
renamed BD style mega rock to heavy rock

4 months agochanged not allowing negative number of gems in non-BD engines
Holger Schemel [Sat, 28 Sep 2024 11:17:15 +0000 (13:17 +0200)]
changed not allowing negative number of gems in non-BD engines

4 months agochanged allowing negative number of gems needed in level editor
Holger Schemel [Sat, 28 Sep 2024 11:02:05 +0000 (13:02 +0200)]
changed allowing negative number of gems needed in level editor

4 months agochanged 16-bit level micro chunk value type from unsigned to signed
Holger Schemel [Sat, 28 Sep 2024 10:55:24 +0000 (12:55 +0200)]
changed 16-bit level micro chunk value type from unsigned to signed

This change allows for saving and loading negative 16-bit values in
level files (like negatiove values for "gems needed", for example).

As a result, 16-bit and 32-bit micro chunk values are always signed
now, while 8-bit micro chunk values are still always unsigned bytes.

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