Commit Graph

3046 Commits

Author SHA1 Message Date
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
da55e6f65d Function to get files in folder sorted by mtime 2025-03-07 08:31:36 -05:00
d29093fcd8 Make cStack page forward/backward a member function 2025-03-07 08:31:36 -05:00
6c1e831e8e DRY getting location string 2025-03-07 08:31:36 -05:00
dbb4cb3797 Save picker XML 2025-03-07 08:31:35 -05:00
cabec65cdf xml schema allow anchors in containers 2025-03-07 08:31:35 -05:00
206f5936cb Creating render textures is expensive - reuse the same one for all text size calculations.
This dramatically speeds up the unit tests that test every dialog.

Addresses #678 but not sure if this covers every possible case.
2025-03-07 00:59:23 -05:00
4ebb8e890c Make target-lock a feature flag 2025-03-06 21:35:48 -05:00
3e10e2923b Move camera to show the most possible targets in range 2025-03-06 21:35:48 -05:00
c9f79ba071 preferences add led for target-lock feature 2025-03-06 21:35:48 -05:00
9ca2f05c0b Don't display 'no item' response if another PC can shop. (#679)
These are the rules:

- If the active PC gets an empty shop, iterate from the first to last PC until finding someone who can see a shop item
    - If none can shop, show the 'no item' response
- When the active PC buys something, if this clears out the shop, iterate from the first to last PC until finding someone who can see a shop item
    - if none can see an item, stay on the empty shop of the PC that was active when the last item was bought.
- When shopping ends, if the shop interface was the last thing to change the player's active PC, it puts it back how it was.

Fix #669
2025-03-06 21:26:25 -05:00
14c36ed5a8 Debug action: crash the game 2025-03-06 21:24:07 -05:00
4cc6d7efb9 On catching fatal error, prompt to save the log and report 2025-03-06 21:24:07 -05:00
823fb8904d Set scale-aware text size when initializing the object 2025-03-06 21:23:57 -05:00
5696b97491 Fix Scenario Details 2025-03-06 20:17:23 -05:00
7dd2dd9d2e add confirmed credits names 2025-03-06 19:43:10 -05:00
Nathan R
598fd4836a Fixed up: Move file-static RenderWindow and RenderTexture instances inside functions to fix GL race condition on startup (#682) 2025-03-06 19:40:40 -05:00
cf736d1835 animate fake damage only allow static booms 2025-03-05 19:27:10 -05:00
434577426e Make -2 the magic infinite loops value 2025-03-05 19:27:10 -05:00
bb3937d40a New feature: dialogs with pictures can animate 2025-03-05 19:27:10 -05:00
0db2dc056d Add labels for animation spec node fields 2025-03-05 19:27:10 -05:00
7ceeb51c50 allow choosing animated booms in pict dlg 2025-03-05 19:27:10 -05:00
9b4af4e69c Let individual dialogs toggle pict animations 2025-03-05 19:27:10 -05:00
d93facc056 cPict support a limited number of animation loops 2025-03-05 19:27:10 -05:00
c32a6662cb delete TODO 2025-03-05 19:25:07 -05:00
df215d32f4 Clarify why the comment is there 2025-03-05 19:25:07 -05:00
f091d464d4 Add out-of-bounds check to get_sdf_name() 2025-03-05 19:25:07 -05:00
a6d5e29444 Add TOC element for SDFs. Fix #675 2025-03-05 19:25:07 -05:00