Holger Schemel [Mon, 18 Nov 2024 19:25:17 +0000 (20:25 +0100)]
added disabling centered level info text if too long
Holger Schemel [Mon, 18 Nov 2024 19:13:03 +0000 (20:13 +0100)]
added also showing native BD level story on level info screen
Holger Schemel [Mon, 18 Nov 2024 00:06:57 +0000 (01:06 +0100)]
added selecting level from the level info screen
Holger Schemel [Sun, 17 Nov 2024 23:26:47 +0000 (00:26 +0100)]
moved re-creating gadgets to main info screen function
Holger Schemel [Sun, 17 Nov 2024 23:16:15 +0000 (00:16 +0100)]
fixed subtitle for empty level story info screen
Holger Schemel [Sun, 17 Nov 2024 23:09:40 +0000 (00:09 +0100)]
renamed variable
Holger Schemel [Sun, 17 Nov 2024 23:08:47 +0000 (00:08 +0100)]
moved code to separate function
Holger Schemel [Sat, 16 Nov 2024 00:40:35 +0000 (01:40 +0100)]
fixed detecting if level (set) info is shown from main menu
Holger Schemel [Sat, 16 Nov 2024 00:21:18 +0000 (01:21 +0100)]
fixed info menu screen for empty level story
Holger Schemel [Sat, 16 Nov 2024 00:10:46 +0000 (01:10 +0100)]
added separate info menu screen for level story
Holger Schemel [Fri, 15 Nov 2024 23:47:19 +0000 (00:47 +0100)]
added showing full level and level set information for BDCFF levels
For level and level set information screens accessible from main menu,
only a subset of information is shown (story, remark and description
for level sets, remark and description for levels, as level stories
are already shown when starting the game).
Complete information (including name, author, date etc.) is shown only
from the info menu.
Holger Schemel [Fri, 15 Nov 2024 23:28:30 +0000 (00:28 +0100)]
added support for level stories in "docs/stories/XXX.txt"
By placing a text file into "docs/stories/XXX.txt" inside the level
set directory, it will be shown before starting the game.
Holger Schemel [Fri, 15 Nov 2024 20:39:34 +0000 (21:39 +0100)]
replaced code by function calls doing the same
Holger Schemel [Fri, 15 Nov 2024 20:30:05 +0000 (21:30 +0100)]
changed handling some conditions
Holger Schemel [Fri, 15 Nov 2024 20:13:39 +0000 (21:13 +0100)]
added unescaping fixed-sized strings in BDCFF files
Holger Schemel [Fri, 15 Nov 2024 20:12:24 +0000 (21:12 +0100)]
improved wrapper function for vsnprintf()
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
Holger Schemel [Tue, 12 Nov 2024 18:37:13 +0000 (19:37 +0100)]
added leaving story screen to main menu with "cursor left" key
Holger Schemel [Tue, 12 Nov 2024 17:48:47 +0000 (18:48 +0100)]
changed level story related settings from ".INFO[STORY]" to ".STORY"
Holger Schemel [Mon, 11 Nov 2024 18:58:52 +0000 (19:58 +0100)]
added converting single newlines for native BD cave (set) stories
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.
Holger Schemel [Sat, 9 Nov 2024 15:56:23 +0000 (16:56 +0100)]
fixed screen 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
Holger Schemel [Sat, 9 Nov 2024 15:50:45 +0000 (16:50 +0100)]
added using native level name when showing story before game start
Holger Schemel [Sat, 9 Nov 2024 15:24:28 +0000 (16:24 +0100)]
added separate title font for showing story before starting the game
Holger Schemel [Sat, 9 Nov 2024 13:51:40 +0000 (14:51 +0100)]
fixed bug when escaping from level info screen on game start
Holger Schemel [Sat, 9 Nov 2024 13:45:31 +0000 (14:45 +0100)]
added separate screen for showing level info before starting the game
Holger Schemel [Fri, 8 Nov 2024 20:52:33 +0000 (21:52 +0100)]
fixed use of wrong constant
Holger Schemel [Fri, 8 Nov 2024 20:18:40 +0000 (21:18 +0100)]
added converting additional UTF-8 characters to internal format
Holger Schemel [Fri, 8 Nov 2024 20:16:41 +0000 (21:16 +0100)]
added converting cave (set) story text to internal text format
Holger Schemel [Fri, 8 Nov 2024 20:01:42 +0000 (21:01 +0100)]
added showing native BD cave (set) story as level (set) info
Holger Schemel [Fri, 8 Nov 2024 19:27:30 +0000 (20:27 +0100)]
added setting pointer to cave set for native BD levels
Holger Schemel [Fri, 8 Nov 2024 19:24:05 +0000 (20:24 +0100)]
removed unused include directive
Holger Schemel [Thu, 7 Nov 2024 18:32:59 +0000 (19:32 +0100)]
moved code to set wrapped info screen text to separate function
Holger Schemel [Wed, 6 Nov 2024 20:17:34 +0000 (21:17 +0100)]
improved drawing color picker gadget
Holger Schemel [Wed, 6 Nov 2024 19:43:57 +0000 (20:43 +0100)]
added function to get background mask for drawing
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)
Holger Schemel [Wed, 6 Nov 2024 19:16:04 +0000 (20:16 +0100)]
added new setup option type yes/no/once
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
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.)
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.
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.
Holger Schemel [Mon, 4 Nov 2024 19:43:17 +0000 (20:43 +0100)]
fixed moving rock animations for BD engine when on conveyor belt
Holger Schemel [Sun, 3 Nov 2024 23:47:50 +0000 (00:47 +0100)]
added showing optional level info before starting the game
Holger Schemel [Sun, 3 Nov 2024 20:12:51 +0000 (21:12 +0100)]
minor code cleanup
Holger Schemel [Sun, 3 Nov 2024 20:09:20 +0000 (21:09 +0100)]
removed using draw offset for title and footer text
Holger Schemel [Sun, 3 Nov 2024 19:58:49 +0000 (20:58 +0100)]
added configuration options for (single) menu title text position
Holger Schemel [Sun, 3 Nov 2024 19:08:57 +0000 (20:08 +0100)]
white space changes
Holger Schemel [Sun, 3 Nov 2024 19:07:33 +0000 (20:07 +0100)]
changed score info screen to use configured left and middle spacing
Holger Schemel [Sun, 3 Nov 2024 14:30:17 +0000 (15:30 +0100)]
changed version info screen to use configured middle spacing
Holger Schemel [Sun, 3 Nov 2024 14:09:16 +0000 (15:09 +0100)]
added cloned font definitions to not break existing artwork sets
Holger Schemel [Sun, 3 Nov 2024 14:08:31 +0000 (15:08 +0100)]
fixed spelling
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.
Holger Schemel [Sun, 3 Nov 2024 10:54:11 +0000 (11:54 +0100)]
changed default top and bottom menu screen spacing
Holger Schemel [Sun, 3 Nov 2024 10:40:26 +0000 (11:40 +0100)]
added configuration options for menu footer text position and font
Holger Schemel [Sun, 3 Nov 2024 08:46:08 +0000 (09:46 +0100)]
renamed variable and constant
Holger Schemel [Sun, 3 Nov 2024 08:33:02 +0000 (09:33 +0100)]
added configuration options for menu title text positions
Holger Schemel [Fri, 1 Nov 2024 19:50:30 +0000 (20:50 +0100)]
fixed info screen text width if scrollbar required
Holger Schemel [Fri, 1 Nov 2024 19:44:38 +0000 (20:44 +0100)]
changed most info screens to use configured 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
Holger Schemel [Fri, 1 Nov 2024 18:54:13 +0000 (19:54 +0100)]
changed spelling of some info screen texts
Holger Schemel [Fri, 1 Nov 2024 12:48:39 +0000 (13:48 +0100)]
changed using real maximum line width when drawing 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
Holger Schemel [Wed, 30 Oct 2024 22:48:27 +0000 (23:48 +0100)]
changed using pixels instead of chars for drawing info screen text
Holger Schemel [Wed, 30 Oct 2024 22:45:28 +0000 (23:45 +0100)]
fixed checking and setting parameters for getting wrapped 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
Holger Schemel [Mon, 28 Oct 2024 19:07:07 +0000 (20:07 +0100)]
fixed resetting screen number when scrolling info screen by scrollbar
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.
Holger Schemel [Sun, 27 Oct 2024 18:02:43 +0000 (19:02 +0100)]
fixed support for level specific information text messages
Added missing token.
Holger Schemel [Sun, 27 Oct 2024 12:10:36 +0000 (13:10 +0100)]
added credits for the color picker
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.
Holger Schemel [Tue, 15 Oct 2024 02:09:27 +0000 (04:09 +0200)]
added scrollbar 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
Holger Schemel [Tue, 15 Oct 2024 02:04:42 +0000 (04:04 +0200)]
minor code cleanup
Holger Schemel [Tue, 15 Oct 2024 01:44:41 +0000 (03:44 +0200)]
minor code cleanup
Holger Schemel [Tue, 15 Oct 2024 01:27:48 +0000 (03:27 +0200)]
added support for scrollable credits and program info text
Holger Schemel [Tue, 15 Oct 2024 00:08:43 +0000 (02:08 +0200)]
fixed font for level info screen
Holger Schemel [Tue, 15 Oct 2024 00:01:33 +0000 (02:01 +0200)]
replaced using global variables with function parameters
Holger Schemel [Mon, 14 Oct 2024 23:49:35 +0000 (01:49 +0200)]
fixed text height calculation for credits pages
Holger Schemel [Mon, 14 Oct 2024 23:47:43 +0000 (01:47 +0200)]
minor change
Holger Schemel [Mon, 14 Oct 2024 23:44:13 +0000 (01:44 +0200)]
renamed variables
Holger Schemel [Mon, 14 Oct 2024 23:42:37 +0000 (01:42 +0200)]
added some variables for font size
Holger Schemel [Mon, 14 Oct 2024 22:46:04 +0000 (00:46 +0200)]
added support for scrollable level or level set info text
Holger Schemel [Mon, 14 Oct 2024 21:52:14 +0000 (23:52 +0200)]
minor code formatting change
Holger Schemel [Mon, 14 Oct 2024 21:36:52 +0000 (23:36 +0200)]
extended interface for screen event handling function (not used yet)
Holger Schemel [Mon, 14 Oct 2024 21:31:07 +0000 (23:31 +0200)]
added function to initialize wrapped text output without drawing
Holger Schemel [Mon, 14 Oct 2024 21:26:21 +0000 (23:26 +0200)]
fixed checking valid range for drawing wrapped text
Holger Schemel [Mon, 14 Oct 2024 21:23:42 +0000 (23:23 +0200)]
added first and last visible line 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
Holger Schemel [Mon, 14 Oct 2024 21:13:18 +0000 (23:13 +0200)]
added initializing variables
Holger Schemel [Sat, 12 Oct 2024 19:44:31 +0000 (21:44 +0200)]
added storing text lines to wrapped text structure before drawing
Holger Schemel [Sat, 12 Oct 2024 19:33:34 +0000 (21:33 +0200)]
removed updating unused variables
Holger Schemel [Sat, 12 Oct 2024 19:13:56 +0000 (21:13 +0200)]
fixed potential buffer overflow
Holger Schemel [Sat, 12 Oct 2024 17:52:07 +0000 (19:52 +0200)]
fixed buffer overflow
Holger Schemel [Sat, 12 Oct 2024 17:49:53 +0000 (19:49 +0200)]
fixed potential buffer overflow for dynamically changed fonts
Holger Schemel [Sat, 12 Oct 2024 14:12:27 +0000 (16:12 +0200)]
fixed centering text buffers with dynamically changed fonts
Holger Schemel [Sat, 12 Oct 2024 14:04:08 +0000 (16:04 +0200)]
minor change (no functional change)
Holger Schemel [Sat, 12 Oct 2024 11:32:00 +0000 (13:32 +0200)]
fixed wrapping text buffers with dynamically changed fonts
Holger Schemel [Sat, 12 Oct 2024 11:27:59 +0000 (13:27 +0200)]
extended interface for text buffer drawing functions (not used yet)
Holger Schemel [Sat, 12 Oct 2024 11:22:43 +0000 (13:22 +0200)]
renamed variable