Commit Graph

119 Commits

Author SHA1 Message Date
efba526fb9 undo/redo for edit/clear terrain type. 2025-06-05 09:04:30 -05:00
bdf1b8a4a8 undo clear items 2025-06-04 09:56:00 -05:00
f6410857c2 unusual shap -> unusual shape 2025-06-02 11:32:19 -05:00
fded4895c9 fix monster summon ability detail displaying % chance 2025-06-02 11:32:19 -05:00
3aa35cf151 default values for editor_state_t (might fix #744) 2025-05-25 11:52:59 -05:00
a52e6ff4f3 editor preview titled messages 2025-05-19 21:41:14 -05:00
a77e009780 Town details suggest number of hostiles for thrash number 2025-05-19 21:41:14 -05:00
ce4a229e92 cScenario copy constructor/swap update town/outdoor pointers 2025-05-19 21:41:03 -05:00
36ddc9e8fb make resurrection balm a feature flag. fix #703
This makes it so the built-in scenarios do not require balm,
even though they are not legacy scenarios.

If we add balm to the scenarios, we can change this.

If I find balm in ZKR I will change it.
2025-05-19 21:41:02 -05:00
11327da8dd Use -1 for no missile graphic 2025-05-12 06:43:22 -05:00
d1027df12a change format for saving unlocked doors 2025-05-11 14:31:30 -05:00
780dd3a3b9 Jaen's fortress start hidden and re-hide after you kill Jaen 2025-05-11 10:51:36 -05:00
4d4cf96b97 Fix generic food wrong sprite 2025-05-11 10:51:35 -05:00
7a6f487f39 Fix convert Town Hostile node 2025-05-11 10:51:32 -05:00
39ed4eb1f3 while running, editor remember view states of towns and outdoors 2025-05-11 10:51:09 -05:00
21536fa1fa extract editor state vars in cScenario to a new struct 2025-05-11 10:51:08 -05:00
005d40806c Flesh out acid as a real damage type 2025-05-11 10:51:08 -05:00
2aaad3b4a8 Save unlocked doors. (Fix #207) 2025-05-11 10:49:54 -05:00
49fbe3e63a Fix item duplication + missing item bug. Fix #78 2025-05-11 10:49:53 -05:00
048515bbc4 Mark non-previewable node types & unimplemented types 2025-05-11 10:49:40 -05:00
52fa88b0a0 invert the default previewable value of node types 2025-05-11 10:49:39 -05:00
203edc46f1 Scaffold for dialog previews in the scen editor 2025-05-11 10:49:35 -05:00
48d30f2038 interesting_string() don't add . to empty 2025-05-06 15:24:13 -05:00
ad53a2e4a3 Make preset arrows and razordisks stack with scenario arrows and razordisks 2025-03-19 19:31:29 -05:00
4bb83e6f59 Update labels for If Context node and add a picker for the spell when context is "targeting" 2025-03-17 19:37:49 -04:00
c48a92e3c6 Fix preset item ID being stored as a short instead of an item_num_t 2025-03-16 14:03:53 -04: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
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
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
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
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
f091d464d4 Add out-of-bounds check to get_sdf_name() 2025-03-05 19:25:07 -05:00
90d5e1b778 use nested map for SDF names to save stack space.
Update semantics of the SDF array to (row, column) form to match
the picker space

Fix #674
2025-03-05 19:25:07 -05:00
3d48cb14e7 Add an SDF picker for selecting a stuff done flag and optionally giving it a name.
In effect, this is a combination of two of the previous pickers:
the location picker, and the editable string picker.

This required quite a significant rework of how the tilemap places its children.

Currently it's only used in special node editing.
I plan to add its use in many other places too though.
2025-03-02 19:13:01 -05:00
5861268e8c Add a location picker for selecting a location in a town or outdoor sector.
It's currently used in special node editing and in advanced town details.
2025-03-02 19:13:01 -05:00
1ad973c59e Use the editable string picker for item type flags in the item editor. 2025-03-02 19:13:01 -05:00
0ccdd38cb1 Implement a picker for selecting an item class, using the editable string picker.
Used in special node editing and also item editing.
2025-03-02 19:13:01 -05:00
62267261f3 Implement a picker for major events, using the new editable string picker.
It's used not only in special node editing (for Event Happens and If Event Happened?)
but also in the Townperson Advanced, Talk Node, and Quest editors.
2025-03-02 19:13:01 -05:00
36dc44ad1c Implement a picker to select a boat or horse when editing a special node 2025-03-02 19:13:01 -05:00
8ab663b620 Add a user-defined name to vehicle definitions.
This also adds partial support for a custom vehicle graphic.
2025-03-02 19:13:01 -05:00
2b93d739e8 Implement a mechanism for a special node picker to affect two fields
Use it for the MSG_PAIR picker and the PIC_NONE picker.
2025-03-02 19:13:01 -05:00
8ac6caa8c5 Implement the new string types 2025-03-02 19:13:01 -05:00
7306c65d5a Sketch out what pickers and string lists should probably exist, and annotate those into the button dictionary.
This commit doesn't implement any new pickers, only adds the data for later use.
2025-03-02 19:13:01 -05:00