Commit Graph

789 Commits

Author SHA1 Message Date
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
ff20b340e8 Add "only borders" option for If Fields? special node 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
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
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
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
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
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
bb3937d40a New feature: dialogs with pictures can animate 2025-03-05 19:27:10 -05:00
9b05c23d15 Rework parentage and naming of dialog controls.
All controls now store a reference to their direct parent,
whether it be the dialog itself or a container control.

Every dialog control now has a guaranteed parent, which abstracts away
the three possible types of parents (dialog, container, and plain window).

The control name is now stored in the control from the moment it is parsed from the XML.
This means that it's set before the parseContent function, though after parseAttribute.
2025-03-02 19:13:01 -05:00
7cd48a44ee remove -> void where unnecessary 2025-03-02 01:15:53 -05:00
03b9bf5abf Confirm before debug-switching scenario 2025-03-02 01:15:53 -05:00
92f698cc57 Debug actions to quick-launch core scenarios 2025-03-02 01:15:53 -05:00
1d63e76c26 More buttons for debug help window 2025-03-02 01:15:53 -05:00
068e87ea39 Debug enter town: Move outdoor location. Fix #664 2025-03-02 01:15:53 -05:00
a7ba60a6d5 Allow limited debug mode in startup menu 2025-03-02 01:15:53 -05:00
f464526d0d preview_dialog_xml don't try to load empty filename 2025-03-02 01:15:53 -05:00
ad43e8ab81 Draw item scrollbar in boom_space. Fix #650 2025-03-02 01:13:53 -05:00
8973618dff Wait action: always print to buffer when can't 2025-03-02 01:13:30 -05:00
91f28d3c9d Fix menubar alchemy clicking 'Ask About' in talk mode 2025-03-02 01:13:30 -05:00
9dfc9e7287 DRY a frequently used buffer string 2025-03-02 01:13:30 -05:00
0afed5db59 A feature flag denotes whether a scenario uses the new or old format for its metadata. With the old format (legacy scenarios and openBoE scenarios created prior to this PR) everything displays in the scenario picker as before, and scenario designers get 2 text fields to display however they want, and 2 text fields that are pretty much useless.
With the new format, Author and Contact info are formatted onto the first line in the scenario picker display. The scenario designer gets 1 line to write a teaser.

Fix #593

Also fix a bug where scenario ratings were appearing as integers ingame instead of the correct "G", "PG", etc.
2025-03-02 01:09:03 -05:00
06abd20f8f make 'i' show inventory 2025-02-27 08:55:56 -05:00
a862c362fb Switch debug keys for clearing souls 2025-02-27 08:55:56 -05:00
04183c7fbe Fix summoning exported monsters 2025-02-27 08:55:56 -05:00
bbddbefa99 Debug action: clear trapped souls 2025-02-27 08:55:56 -05:00
f2869494bb Buffer message when no souls for simulacrum 2025-02-27 08:55:56 -05:00
36a9c237d7 fix pick buttons in simulacrum menu 2025-02-27 08:55:56 -05:00
b200dc2e20 Fix special item Use button 2025-02-23 21:04:32 -05:00
ca8da469e1 Debug give item: try give to active PC. Fix #635 2025-02-23 19:19:42 -05:00