Commit Graph

126 Commits

Author SHA1 Message Date
b48cccca64 loading scen headers, skip parts of legacy load that may error 2025-09-14 10:15:44 -04:00
eab83c2112 undo/redo for drawing/erasing fields 2025-06-14 19:13:03 -05:00
92dc716c4d Make the rest of editing modes restorable 2025-06-12 12:40:09 -05:00
6d7711dd22 start remembering/restoring last open editor menu 2025-06-12 09:58:13 -05:00
74dce15e4c Comments help find where related editor state functions are 2025-06-12 09:47:18 -05:00
d37302acfb loading legacy scenarios, trim trailing whitespace from strings 2025-06-02 11:32:19 -05:00
42cffb6704 fix itch build when itch client apps folder doesn't exist 2025-05-21 15:21:58 -05:00
e089effea4 fancy file previews don't load custom graphics (for now) 2025-05-19 21:41:13 -05:00
f2492d6fb4 allow loading party without overwrite global cCustomGraphics 2025-05-19 21:41:13 -05:00
f394cfb411 more comments and simplification of graphics sheet export 2025-05-19 21:41:12 -05:00
9b2773bec1 Fix saving monster thrash number 2025-05-19 21:41:00 -05:00
20f26db42c XML changes 2025-05-11 10:51:35 -05:00
757532b7af save and reload new editor state 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
e95d4dcaf8 Write editor state to a new, separate xml file (fix #728) 2025-05-11 10:51:02 -05:00
da653a4334 fix file picker location preview in town 2025-05-06 15:24:13 -05:00
d89d149d5b Skip reading more things for file previews 2025-05-06 15:24:13 -05:00
7cce42ce12 Scenario editor can launch unpacked scenario 2025-03-30 11:51:09 -05:00
6f14c01487 skip more for file load preview 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
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
50637d3ddd Use an editable string picker for job boards when editing quests or 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
723ea965e1 allow party loading to fail silently when not manual 2025-03-07 08:43:19 -05:00
b7a647c489 record and replay fake fancy file picker 2025-03-07 08:43:18 -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
2396637d23 Implement file picker load/save normal 2025-03-07 08:43:09 -05:00
da55e6f65d Function to get files in folder sorted by mtime 2025-03-07 08:31:36 -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
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
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
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
8ba173e5eb Record replays into AppData 2025-02-23 09:38:23 -06:00
f80f8a932a Implement a feature flags system.
* Scenarios contain a string map of feature flags. The flag names are the keys, and flag versions are the values, so a typical value might be "fixed" for bug fixes or for evolving features, "V1", "V2", etc.
* The game has a map of flags to lists of supported versions. The game can therefore signal that it supports a legacy behavior for a given feature flag. The last version in the list is considered to be this build version's default behavior.
* When launching a scenario, we check to make sure the game supports the scenario's required versions of its feature flags.
* When launching a replay, we make sure the game supports the feature flags that the version of the game that made the recording did.

Fix #555
Close #591
2025-02-19 22:32:12 -05:00
6fc55ed311 Fix multiple inconsistencies when saving (#550)
* debug_leave_town use same logic as normal town exit. fix #549
* Standardize all save party code paths

Fix #480
Fix #204
Fix #267

* remove file_in_mem now that it is redundant
* Print message when save file not chosen
2025-01-26 12:56:57 -05:00
37640bf349 fix compiler warnings 2025-01-20 09:41:29 -05:00
80aa0341a1 properly force string prefs to be quoted on win/linux 2025-01-15 23:05:53 -05:00
b3d8a64e79 start implementing scenario editor launch function 2025-01-15 23:05:52 -05:00
5936b1c579 global vector for extra scenario directories 2025-01-15 23:05:52 -05:00
636da00220 debug builds look for scenarios in test/replays/scenarios 2024-11-30 22:52:53 -05:00
77297c2a88 wrap load_party base64 data 2024-11-10 00:32:17 -05:00
cd50a0183d track whether current scenario pushed paths 2024-09-21 20:57:22 -04:00
34b7eb9a76 Issue #101 unit test (should fail) 2024-09-21 20:57:22 -04:00
38de505723 merge check_for_intel() into mac_is_intel() 2024-09-21 20:57:22 -04:00