Commit Graph

3089 Commits

Author SHA1 Message Date
8b08b46ea0 Unbake the special help texts.
The text in the various help dialogs that was previously baked into an image is now drawn as text, meaning that it benefits from text unblurring when scaling is active.

This entails some small changes to layout, since it's a different font.

Dialog engine changes:
* A new picture type allowing to draw the inventory button icons directly into a dialog.
* A new widget type that simply draws a line between two points.
2025-03-16 14:03:53 -04:00
09e5649a61 Rearrange the help dialogs in logical order. No functional changes. 2025-03-16 14:03:53 -04:00
ba4a825644 Fix item info item having a red line on the top 2025-03-16 14:03:53 -04:00
48ab580993 Fix already_started arg 2025-03-16 14:03:53 -04:00
16703ae7a2 Don't implicitly call recalcRect() 2025-03-16 14:03:53 -04:00
ea8dbbc06c skip reading some things for file picker previews 2025-03-16 14:03:53 -04:00
2053381ea9 rename and invert the 'manual' arg to 'preview' in load_party() 2025-03-16 14:03:53 -04:00
7c9b9ee255 Remove unnecessary clip_rect which didn't work with offset ui positions 2025-03-16 14:03:53 -04:00
cef17ea91c Optimize calculate_line_wrapping from O(N^2) to O(N) 2025-03-16 14:03:53 -04:00
46bfc92051 Refactor: function to turn eFont into sf::Font 2025-03-16 14:03:53 -04:00
0840b534f9 add profile.* to xc12 proj 2025-03-16 14:03:53 -04:00
cdc63506af fix unwanted line break in about-boe 2025-03-16 14:03:53 -04:00
2c662b7c4d Add profile.* to vs projects 2025-03-16 14:03:53 -04:00
ea4ca83bf4 don't print light mask in release builds 2025-03-16 14:03:53 -04:00
5112673ebf functions in the game for profiling slow dialogs 2025-03-16 14:03:53 -04:00
9eb0e4db26 stack default frameStyle to none (fixes white lines) 2025-03-16 14:03:53 -04:00
1866fff3ce Cache measurement of space in TextStyle
I noticed a ton of string_length() calls on empty space strings,
each one making an sf::Text object to measure. I thought caching
the result would make the slow dialogs open faster but it didn't.
Still might as well do it, though.
2025-03-16 14:03:53 -04:00
a4d202eb97 Draw monsters doing ranged attacks in peace mode 2025-03-16 14:03:53 -04:00
e3e93a43bf new save file field save state when page changes 2025-03-16 14:03:53 -04:00
fd9ac5ab04 Fix buttons and labels of pages>1 in file picker 2025-03-16 14:03:53 -04:00
87ee60d0b4 Fix left/right not changing page in scenario picker 2025-03-16 14:03:53 -04:00
0a9a79b586 watch cursor when scenario picker is building headers 2025-03-16 14:03:53 -04:00
512aeb6e1a watch cursor when file picker is loading parties 2025-03-16 14:03:53 -04:00
fdcf9d5d90 Add donor to credits 2025-03-16 14:03:53 -04:00
ea7c17d65e Move function to the file associated with the header that declares it.
outd_move_to_first_town_entrance probably should have been in actions anyway.
2025-03-08 20:43:39 -05:00
5cfc6ba328 Fix all the compile warnings that occur on Mac.
(Except the OpenGL deprecation warning and some warnings coming from Boost.Process.)
2025-03-08 20:43:04 -05:00
67fbb4fae5 Affect Alchemy special node can now remove recipes 2025-03-08 20:05:12 -05:00
7ecd6bf3b3 Add quick help strings for every special node type.
Also fix one case of the special node title not fitting into the designated space.
2025-03-08 20:05:12 -05:00
44f1f449c2 Add a stub for the rectangle picker that hasn't been implemented. 2025-03-08 20:05:12 -05:00
e92904e153 Implement the quest picker for the special node editor, even though it's currently unused. 2025-03-08 20:05:12 -05:00
f58381d707 Fix sound picker overwriting the value even when you click cancel. 2025-03-08 20:05:12 -05:00
678518a053 Add a string editor for the Story Dialog special node 2025-03-08 20:05:12 -05:00
3c811ef43d Use SDF picker in Townperson Advanced and Outdoor Encounter dialogs 2025-03-08 20:05:12 -05:00
c032307280 Add picker buttons and a cancel button to the Set Variable Town Entry dialog
Partially addresses #685
2025-03-08 20:05:12 -05:00
18a9e343f9 Fix several of the unit test XML files missing minimal elements for a successful load where the goal was to test something that comes after those elements. 2025-03-08 20:05:12 -05:00
f2bdbae078 Fix some cases where special node field prompts should've been "Unused" but instead said the field name 2025-03-08 20:05:12 -05:00
643035d29b Fix issues in special node field prompts
- Typos
- Unnecessary range specifications
- Prompts overflowing the available space
- A few other things
2025-03-08 20:05:12 -05:00
ff20b340e8 Add "only borders" option for If Fields? special node 2025-03-08 20:05:12 -05:00
0f64c9a19d Adjust LED hitboxes in pict and pattern pickers so that you can click anywhere on the item to select it – not just directly on the LED. 2025-03-08 20:05:12 -05:00
c1303f6e97 Use the personality picker for the Start Conversation special node 2025-03-08 20:05:12 -05:00
b0d84b1edb Fix a few special node dictionary errors 2025-03-08 20:05:12 -05:00
b86ef8ae39 The special node dictionary now supports specifying different labels or pickers based on the value of another field. 2025-03-08 20:05:12 -05:00
246aec3253 Small simplification of the special node button dictionary 2025-03-08 20:05:12 -05:00
628b0ee677 Add a new spell pattern picker.
The picker is used in the special node dialog and also in monster abilities.

Some changes were made to the game as well:
* If the rotatable wall is used for a field missile or touch ability, there's no longer an option for the designer to pick an orientation. Instead, it behaves like the rotatable wall in a radiate field ability, selecting an orientation based on the creature's facing direction.
* The magic values sent to place_spell_pattern for direct damage were rearranged to match the order of the eDamageType enum. This should have no effect, since the core place_spell_pattern function is only called by the various wrapper overloads. It also simplifies the code quite a bit.
* The Protective Circle spell pattern is now exposed to the place patten special nodes. It can be used as just a radius 4 circle, but the effect of different layers of fields can also be obtained by specifying a field type or damage type of -1.

There is also a change to the dialog engine:
* Calling setText() also implicitly calls recalcRect()
2025-03-08 20:05:12 -05:00
4c4c70648c Add a fill-color attribute to <pict> 2025-03-08 20:05:12 -05:00
aad5460acb Implement the special version of the skill picker for the Has Enough of Statisic? node 2025-03-08 20:05:12 -05:00
50637d3ddd Use an editable string picker for job boards when editing quests or dialogue nodes 2025-03-08 20:05:12 -05:00
6e94d23e05 Add pickers to a bunch of dialogue nodes that didn't have them.
This also includes something similar to the special node button dictionary for dialogue nodes.
2025-03-08 20:05:12 -05:00
b546f9c5e5 Omit the Create New String option for sign and area rect strings, as creating one here would leave it orphaned 2025-03-08 20:05:12 -05:00
a1bc923de8 Remove the Edit Saved Item Rectangles menu item in favour of a toolbar button.
The limit of 3 saved item rectangles has been removed - you can now add as many as you want.
However, the 1 per town limit is now strictly enforced.

The saved item rectangle is now shown with a cyan border when editing town.
2025-03-08 20:05:12 -05:00