rocksndiamonds.git
2 months agoreplaced code by function calls doing the same
Holger Schemel [Fri, 15 Nov 2024 20:39:34 +0000 (21:39 +0100)]
replaced code by function calls doing the same

2 months agochanged handling some conditions
Holger Schemel [Fri, 15 Nov 2024 20:30:05 +0000 (21:30 +0100)]
changed handling some conditions

2 months agoadded unescaping fixed-sized strings in BDCFF files
Holger Schemel [Fri, 15 Nov 2024 20:13:39 +0000 (21:13 +0100)]
added unescaping fixed-sized strings in BDCFF files

2 months agoimproved wrapper function for vsnprintf()
Holger Schemel [Fri, 15 Nov 2024 20:12:24 +0000 (21:12 +0100)]
improved wrapper function for vsnprintf()

2 months agoadded setup option to save setup without "save and exit" menu entry
Holger Schemel [Tue, 12 Nov 2024 19:52:02 +0000 (20:52 +0100)]
added setup option to save setup without "save and exit" menu entry

2 months agoadded leaving story screen to main menu with "cursor left" key
Holger Schemel [Tue, 12 Nov 2024 18:37:13 +0000 (19:37 +0100)]
added leaving story screen to main menu with "cursor left" key

2 months agochanged level story related settings from ".INFO[STORY]" to ".STORY"
Holger Schemel [Tue, 12 Nov 2024 17:48:47 +0000 (18:48 +0100)]
changed level story related settings from ".INFO[STORY]" to ".STORY"

2 months agoadded converting single newlines for native BD cave (set) stories
Holger Schemel [Mon, 11 Nov 2024 18:58:52 +0000 (19:58 +0100)]
added converting single newlines for native BD cave (set) stories

2 months agoadded missing definition for story screen
Holger Schemel [Mon, 11 Nov 2024 18:47:59 +0000 (19:47 +0100)]
added missing definition for story screen

This change was missing for commit 484e3440.

2 months agofixed screen width calculation for level story title
Holger Schemel [Sat, 9 Nov 2024 15:56:23 +0000 (16:56 +0100)]
fixed screen width calculation for level story title

2 months agofixed font width calculation for level story title
Holger Schemel [Sat, 9 Nov 2024 15:53:28 +0000 (16:53 +0100)]
fixed font width calculation for level story title

2 months agoadded using native level name when showing story before game start
Holger Schemel [Sat, 9 Nov 2024 15:50:45 +0000 (16:50 +0100)]
added using native level name when showing story before game start

2 months agoadded separate title font for showing story before starting the game
Holger Schemel [Sat, 9 Nov 2024 15:24:28 +0000 (16:24 +0100)]
added separate title font for showing story before starting the game

2 months agofixed bug when escaping from level info screen on game start
Holger Schemel [Sat, 9 Nov 2024 13:51:40 +0000 (14:51 +0100)]
fixed bug when escaping from level info screen on game start

2 months agoadded separate screen for showing level info before starting the game
Holger Schemel [Sat, 9 Nov 2024 13:45:31 +0000 (14:45 +0100)]
added separate screen for showing level info before starting the game

2 months agofixed use of wrong constant
Holger Schemel [Fri, 8 Nov 2024 20:52:33 +0000 (21:52 +0100)]
fixed use of wrong constant

2 months agoadded converting additional UTF-8 characters to internal format
Holger Schemel [Fri, 8 Nov 2024 20:18:40 +0000 (21:18 +0100)]
added converting additional UTF-8 characters to internal format

2 months agoadded converting cave (set) story text to internal text format
Holger Schemel [Fri, 8 Nov 2024 20:16:41 +0000 (21:16 +0100)]
added converting cave (set) story text to internal text format

2 months agoadded showing native BD cave (set) story as level (set) info
Holger Schemel [Fri, 8 Nov 2024 20:01:42 +0000 (21:01 +0100)]
added showing native BD cave (set) story as level (set) info

2 months agoadded setting pointer to cave set for native BD levels
Holger Schemel [Fri, 8 Nov 2024 19:27:30 +0000 (20:27 +0100)]
added setting pointer to cave set for native BD levels

2 months agoremoved unused include directive
Holger Schemel [Fri, 8 Nov 2024 19:24:05 +0000 (20:24 +0100)]
removed unused include directive

2 months agomoved code to set wrapped info screen text to separate function
Holger Schemel [Thu, 7 Nov 2024 18:32:59 +0000 (19:32 +0100)]
moved code to set wrapped info screen text to separate function

2 months agoimproved drawing color picker gadget
Holger Schemel [Wed, 6 Nov 2024 20:17:34 +0000 (21:17 +0100)]
improved drawing color picker gadget

2 months agoadded function to get background mask for drawing
Holger Schemel [Wed, 6 Nov 2024 19:43:57 +0000 (20:43 +0100)]
added function to get background mask for drawing

2 months agoadded setup option to show level info before game start (yes/no/once)
Holger Schemel [Wed, 6 Nov 2024 19:28:26 +0000 (20:28 +0100)]
added setup option to show level info before game start (yes/no/once)

2 months agoadded new setup option type yes/no/once
Holger Schemel [Wed, 6 Nov 2024 19:16:04 +0000 (20:16 +0100)]
added new setup option type yes/no/once

2 months agoadded support for space key to show next generic info screen page
Holger Schemel [Tue, 5 Nov 2024 18:47:26 +0000 (19:47 +0100)]
added support for space key to show next generic info screen page

2 months agofixed graphical bug when pushing rocks onto BD style conveyor belts
Holger Schemel [Tue, 5 Nov 2024 18:31:43 +0000 (19:31 +0100)]
fixed graphical bug when pushing rocks onto BD style conveyor belts

When pushing a rock onto a right-moving conveyor belt from the left
side using the BD engine and using the "buggy conveyor belts" editor
setting (used by native BD caves by default), the player pushing that
rock was displayed with a broken animation when using "smooth movement
animations" for the BD engine.

This change fixes this graphical bug.

(The first part fixes placing a space, which is not a movement,
while the second part seems not to be required otherwise anyway.)

2 months agoadded level editor option for buggy BD style conveyor belts
Holger Schemel [Tue, 5 Nov 2024 18:05:34 +0000 (19:05 +0100)]
added level editor option for buggy BD style conveyor belts

This makes the change from the last commit optional in the level
editor, deactivating it for existing levels in GDash formats (and
therefore also replays), so neither existing levels (caves) nor tapes
(replays) will be broken anymore by that change. For newly created
levels in R'n'D format, however, this change will be activated by
default, using the new, fixed conveyor belt behavior.

2 months agofixed pushing element from left side onto conveyor belt in BD engine
Holger Schemel [Mon, 4 Nov 2024 20:10:35 +0000 (21:10 +0100)]
fixed pushing element from left side onto conveyor belt in BD engine

This prevents game elements that are pushed onto a conveyor belt from
the left side to move two tiles at once. This is a result of the cave
scan order (already pushed element moved another tile when conveyor
belt is handled during scan of the next cave row). Although unlikely,
this change affects the game engine and therefore may break existing
caves (and will break existing replays that use this case).

So far, this is the only change that affects the game engine that was
made to fix weird behavior when using smooth movement animations.

2 months agofixed moving rock animations for BD engine when on conveyor belt
Holger Schemel [Mon, 4 Nov 2024 19:43:17 +0000 (20:43 +0100)]
fixed moving rock animations for BD engine when on conveyor belt

2 months agoadded showing optional level info before starting the game
Holger Schemel [Sun, 3 Nov 2024 23:47:50 +0000 (00:47 +0100)]
added showing optional level info before starting the game

2 months agominor code cleanup
Holger Schemel [Sun, 3 Nov 2024 20:12:51 +0000 (21:12 +0100)]
minor code cleanup

2 months agoremoved using draw offset for title and footer text
Holger Schemel [Sun, 3 Nov 2024 20:09:20 +0000 (21:09 +0100)]
removed using draw offset for title and footer text

2 months agoadded configuration options for (single) menu title text position
Holger Schemel [Sun, 3 Nov 2024 19:58:49 +0000 (20:58 +0100)]
added configuration options for (single) menu title text position

2 months agowhite space changes
Holger Schemel [Sun, 3 Nov 2024 19:08:57 +0000 (20:08 +0100)]
white space changes

2 months agochanged score info screen to use configured left and middle spacing
Holger Schemel [Sun, 3 Nov 2024 19:07:33 +0000 (20:07 +0100)]
changed score info screen to use configured left and middle spacing

2 months agochanged version info screen to use configured middle spacing
Holger Schemel [Sun, 3 Nov 2024 14:30:17 +0000 (15:30 +0100)]
changed version info screen to use configured middle spacing

2 months agoadded cloned font definitions to not break existing artwork sets
Holger Schemel [Sun, 3 Nov 2024 14:09:16 +0000 (15:09 +0100)]
added cloned font definitions to not break existing artwork sets

2 months agofixed spelling
Holger Schemel [Sun, 3 Nov 2024 14:08:31 +0000 (15:08 +0100)]
fixed spelling

2 months agoimproved resolving cloned graphics in static image configuration
Holger Schemel [Sun, 3 Nov 2024 13:44:03 +0000 (14:44 +0100)]
improved resolving cloned graphics in static image configuration

With this change it is not required anymore to define recursively
referenced cloned graphics in the static image configuration in a
certain order.

2 months agochanged default top and bottom menu screen spacing
Holger Schemel [Sun, 3 Nov 2024 10:54:11 +0000 (11:54 +0100)]
changed default top and bottom menu screen spacing

2 months agoadded configuration options for menu footer text position and font
Holger Schemel [Sun, 3 Nov 2024 10:40:26 +0000 (11:40 +0100)]
added configuration options for menu footer text position and font

2 months agorenamed variable and constant
Holger Schemel [Sun, 3 Nov 2024 08:46:08 +0000 (09:46 +0100)]
renamed variable and constant

2 months agoadded configuration options for menu title text positions
Holger Schemel [Sun, 3 Nov 2024 08:33:02 +0000 (09:33 +0100)]
added configuration options for menu title text positions

2 months agofixed info screen text width if scrollbar required
Holger Schemel [Fri, 1 Nov 2024 19:50:30 +0000 (20:50 +0100)]
fixed info screen text width if scrollbar required

2 months agochanged most info screens to use configured border spacing
Holger Schemel [Fri, 1 Nov 2024 19:44:38 +0000 (20:44 +0100)]
changed most info screens to use configured border spacing

2 months agochanged version info screen to use configured left border spacing
Holger Schemel [Fri, 1 Nov 2024 18:57:26 +0000 (19:57 +0100)]
changed version info screen to use configured left border spacing

2 months agochanged spelling of some info screen texts
Holger Schemel [Fri, 1 Nov 2024 18:54:13 +0000 (19:54 +0100)]
changed spelling of some info screen texts

2 months agochanged using real maximum line width when drawing wrapped text
Holger Schemel [Fri, 1 Nov 2024 12:48:39 +0000 (13:48 +0100)]
changed using real maximum line width when drawing wrapped text

3 months agofixed checking and setting text cut size for getting wrapped text
Holger Schemel [Wed, 30 Oct 2024 23:18:55 +0000 (00:18 +0100)]
fixed checking and setting text cut size for getting wrapped text

3 months agochanged using pixels instead of chars for drawing info screen text
Holger Schemel [Wed, 30 Oct 2024 22:48:27 +0000 (23:48 +0100)]
changed using pixels instead of chars for drawing info screen text

3 months agofixed checking and setting parameters for getting wrapped text
Holger Schemel [Wed, 30 Oct 2024 22:45:28 +0000 (23:45 +0100)]
fixed checking and setting parameters for getting wrapped text

3 months agoadded using line spacing also for level and level set info text
Holger Schemel [Mon, 28 Oct 2024 19:12:36 +0000 (20:12 +0100)]
added using line spacing also for level and level set info text

3 months agofixed resetting screen number when scrolling info screen by scrollbar
Holger Schemel [Mon, 28 Oct 2024 19:07:07 +0000 (20:07 +0100)]
fixed resetting screen number when scrolling info screen by scrollbar

3 months agofixed support for level specific information text messages
Holger Schemel [Sun, 27 Oct 2024 18:24:17 +0000 (19:24 +0100)]
fixed support for level specific information text messages

Added special compatibility handling for "BD2K3" graphics set.

3 months agofixed support for level specific information text messages
Holger Schemel [Sun, 27 Oct 2024 18:02:43 +0000 (19:02 +0100)]
fixed support for level specific information text messages

Added missing token.

3 months agoadded credits for the color picker
Holger Schemel [Sun, 27 Oct 2024 12:10:36 +0000 (13:10 +0100)]
added credits for the color picker

3 months agofixed width of scrollable info text (by subtracting draw offset)
Holger Schemel [Wed, 16 Oct 2024 22:41:51 +0000 (00:41 +0200)]
fixed width of scrollable info text (by subtracting draw offset)

This correction currently only affects credits and program info text.

3 months agoadded scrollbar for scrollable info text
Holger Schemel [Tue, 15 Oct 2024 02:09:27 +0000 (04:09 +0200)]
added scrollbar for scrollable info text

3 months agoadded support for page up/down keys for scrollable info text
Holger Schemel [Tue, 15 Oct 2024 02:07:05 +0000 (04:07 +0200)]
added support for page up/down keys for scrollable info text

3 months agominor code cleanup
Holger Schemel [Tue, 15 Oct 2024 02:04:42 +0000 (04:04 +0200)]
minor code cleanup

3 months agominor code cleanup
Holger Schemel [Tue, 15 Oct 2024 01:44:41 +0000 (03:44 +0200)]
minor code cleanup

3 months agoadded support for scrollable credits and program info text
Holger Schemel [Tue, 15 Oct 2024 01:27:48 +0000 (03:27 +0200)]
added support for scrollable credits and program info text

3 months agofixed font for level info screen
Holger Schemel [Tue, 15 Oct 2024 00:08:43 +0000 (02:08 +0200)]
fixed font for level info screen

3 months agoreplaced using global variables with function parameters
Holger Schemel [Tue, 15 Oct 2024 00:01:33 +0000 (02:01 +0200)]
replaced using global variables with function parameters

3 months agofixed text height calculation for credits pages
Holger Schemel [Mon, 14 Oct 2024 23:49:35 +0000 (01:49 +0200)]
fixed text height calculation for credits pages

3 months agominor change
Holger Schemel [Mon, 14 Oct 2024 23:47:43 +0000 (01:47 +0200)]
minor change

3 months agorenamed variables
Holger Schemel [Mon, 14 Oct 2024 23:44:13 +0000 (01:44 +0200)]
renamed variables

3 months agoadded some variables for font size
Holger Schemel [Mon, 14 Oct 2024 23:42:37 +0000 (01:42 +0200)]
added some variables for font size

3 months agoadded support for scrollable level or level set info text
Holger Schemel [Mon, 14 Oct 2024 22:46:04 +0000 (00:46 +0200)]
added support for scrollable level or level set info text

3 months agominor code formatting change
Holger Schemel [Mon, 14 Oct 2024 21:52:14 +0000 (23:52 +0200)]
minor code formatting change

3 months agoextended interface for screen event handling function (not used yet)
Holger Schemel [Mon, 14 Oct 2024 21:36:52 +0000 (23:36 +0200)]
extended interface for screen event handling function (not used yet)

3 months agoadded function to initialize wrapped text output without drawing
Holger Schemel [Mon, 14 Oct 2024 21:31:07 +0000 (23:31 +0200)]
added function to initialize wrapped text output without drawing

3 months agofixed checking valid range for drawing wrapped text
Holger Schemel [Mon, 14 Oct 2024 21:26:21 +0000 (23:26 +0200)]
fixed checking valid range for drawing wrapped text

3 months agoadded first and last visible line to wrapped text structure
Holger Schemel [Mon, 14 Oct 2024 21:23:42 +0000 (23:23 +0200)]
added first and last visible line to wrapped text structure

3 months agoadded total height of all lines to wrapped text structure
Holger Schemel [Mon, 14 Oct 2024 21:17:53 +0000 (23:17 +0200)]
added total height of all lines to wrapped text structure

3 months agoadded initializing variables
Holger Schemel [Mon, 14 Oct 2024 21:13:18 +0000 (23:13 +0200)]
added initializing variables

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