Commit Graph

3273 Commits

Author SHA1 Message Date
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
c60d151ed3 If autosave prefs open before autosave check, use default 2025-03-07 08:43:20 -05:00
568b5dbe65 file picker display when a file is corrupt 2025-03-07 08:43:19 -05:00
723ea965e1 allow party loading to fail silently when not manual 2025-03-07 08:43:19 -05:00
1cf3a19b40 reorg autosave prefs 2025-03-07 08:43:19 -05:00
531384844e Better function name for cStack changeSelectedPage() 2025-03-07 08:43:19 -05:00
a4516883d0 allow different autosave defaults per-trigger. Eating: false 2025-03-07 08:43:18 -05:00
e7bd02824e Long town wait: don't autosave eating 2025-03-07 08:43:18 -05:00
b7a647c489 record and replay fake fancy file picker 2025-03-07 08:43:18 -05:00
d54c61f982 Autosave preferences 2025-03-07 08:43:17 -05:00
dad1342cab eating don't trigger autosave while resting 2025-03-07 08:43:16 -05:00
27e76e5ffb preference to still use OS file browser 2025-03-07 08:43:16 -05:00
18294b4f1b make fancy file picker function game-specific 2025-03-07 08:43:16 -05:00
5bc1643be7 Do autosaves 2025-03-07 08:43:15 -05:00
53de92c932 autosave loading 2025-03-07 08:43:15 -05:00
2396637d23 Implement file picker load/save normal 2025-03-07 08:43:09 -05:00
f9695887ec hidden controls don't handleClick() 2025-03-07 08:31:36 -05:00