Commit Graph

892 Commits

Author SHA1 Message Date
0465923992 Fix some images that became ridiculously large due to unnecessary metadata 2025-03-02 01:33:01 -05:00
1d63e76c26 More buttons for debug help window 2025-03-02 01:15:53 -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
0f4b1124f6 reorder make-scenario1 2025-03-02 01:03:21 -05: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
a669fe0223 handle showPipes in code only. Fix #609 2025-02-18 09:37:29 -05:00
2145d88133 Remove the <os> element from scenarios
Fix #522
2025-02-16 21:41:47 -05:00
920fa0d27b fix syntax in scenario.xsd 2025-02-16 10:11:30 -05:00
d218cda8c4 Cut pre-baked buttons out of sprite sheets 2025-02-15 16:45:25 -06:00
02ef9111cd fix help-debug formatting with proper line breaks 2025-02-15 16:04:32 -05:00
7383b39e69 Debug action: Preview every dialog layout 2025-02-15 16:04:32 -05:00
ea69bea57e clean up 'Number of Dice/sides' squashed texts 2025-02-15 16:04:32 -05:00
149666f522 resolve 2 TODOs in dialogxml 2025-02-15 12:13:34 -05:00
de818699bc note which dialogs need relative positioning redos. 2025-02-15 12:13:34 -05:00
950652db68 remove outdated info from help-inventory 2025-02-15 11:01:07 -06:00
b82acea0cb reorganize and update the help-hints dialog 2025-02-15 11:00:57 -06:00
5294b5434a Make Scenario: mention that outdoor sections can be added later 2025-02-15 11:35:35 -05:00
0a3951fadc Some minor layout adjustments to the edit terrain and monster dialogs.
I decided it wasn't worth converting them to relative positioning at this time.
2025-02-15 11:35:35 -05:00
66256b305c Delete the "make shop random" button in favour of a preset selection when first creating the shop - this also adds "healing" to the list of presets 2025-02-15 11:33:40 -05:00
65cf27bc81 Reorganize Advanced Town Details and add some instant help
It now uses relative positioning as well.

Fix #546
2025-02-15 11:33:40 -05:00
34b9db0aaa Reorder elements in some dialogs in logical order - no functional changes 2025-02-15 11:33:39 -05:00
01822a4bb8 fix scons validation warning 2025-02-15 00:08:14 -05:00
d2fb94b6c6 confirm before killing 2025-02-10 20:44:55 -05:00
2151cc4248 His/her -> their, He/she -> they 2025-02-10 19:29:30 -05:00
fcf0bcc324 add show-pipes attribute to <text> 2025-02-09 20:37:46 -06:00
3aad314e88 bump 'gone forever' text down 2025-02-09 11:55:48 -06:00
bf7594bac6 fix preferences large explanatory text 2025-02-09 11:47:02 -06:00
c079d0f5a9 Allow int value for text size in dialogxml 2025-02-09 11:16:24 -06:00
392ad5eac0 get_num_response allow pass choice names 2025-02-08 23:11:57 -05:00
772bd71b16 Him/her -> them 2025-02-08 18:24:16 -05:00
josefwk
f22f248f4e Fixed typos for Resurrection Balm and Leather Baldric (#579) 2025-02-07 19:43:29 -05:00
a5d3780c5c Scons copy bdf fonts. 2025-02-04 22:23:35 -05:00
05e2ce17a7 Credit more people (#491) 2025-02-03 20:18:18 -05:00
9fd468f578 Merge pull request #548 from NQNStudios:talk-keys
Better editing for talk node keys

* The fields start out empty, and it is *allowed* to keep *one of them* empty. (A node only needs one key to be useful, right?
* When the node is saved, empty strings are replaced with `"    "`. If this is not harmless to the game logic, then I'll need to make the game aware that either key might be `"    "`.
* You cannot type more than 4 characters in these fields (unless there's a way to insert characters I'm not aware of).
* If you put 'buy' in a field, it automatically becomes 'purc'.
* There is a note next to the response keys (kind of squished in the corner) enumerating the special logic of the in-game Buy and Sell buttons.
2025-02-02 13:57:55 -05:00
e4c97d2088 Merge pull request #551 from NQNStudios:keys
Refactor Debug Keys

* Collect debug keys into a central location so that the debug help dialog can automatically list every defined debug key.
* Add buttons so that debug actions can be taken directly from the debug help dialog.
* Add new debug keys to immediately fight an encounter from the current outdoor section.
2025-02-02 13:56:38 -05:00
e9997eb9ba new debug action: fight an outdoor encounter 2025-01-25 21:46:25 -06:00
d4d1cba90a arrow keys help pick outdoor sector 2025-01-25 21:46:25 -06:00
b1efc03029 Huge makeover for debug keys 2025-01-25 19:45:08 -06:00
f5afcea2b5 Choose button for personality of a talk node 2025-01-24 09:56:44 -05:00
06ac8569a7 guided enchantment choices in talk node 2025-01-24 09:56:44 -05:00
b546da94fd clarify cost adjustment
(for dummies like me who aren't comfortable making an intuitive guess)
2025-01-24 09:56:44 -05:00
de45b379e3 add max-chars attribute to text field 2025-01-23 20:12:32 -06:00
dde250fd25 Add a note about the special 4-letter keys 2025-01-23 20:10:49 -06:00
2ec456b9ef Merge pull request #536 from NQNStudios:recast-hint
Quality of life: Spellcasting

This makes changes to the spellcasting UI.

* M or P to recast will no longer default to Light or Minor Bless/Minor Heal. You need to cast something before recast becomes available. This fixes #535 and I think it's disorienting when I've just started the game and M casts Light in a town that's fully lit, so the change is generally good I'd say.
* I implemented a recasting hint in the text bar, which was one of the things I mentioned in my quality-of-life checklist https://github.com/NQNStudios/cboe/issues/16. It replaces the status icons in combat mode.
* Sometimes when my eyes glaze over, I think I'm casting the spell on the wrong side of the LED. I thought there was a bug when I cast Long Light instead of Dumbfound (even though I know the distance between the two is pretty large -- I wasn't paying much attention). I thought it would be nice to highlight the name of the selected spell. Light green seemed to make more sense than red for that, because the LED turns green. Then I made the caster/target selection texts also use light green instead of red, to match. Uncastable spells are grey.
2025-01-23 09:30:08 -05:00
c39172bd0f Merge pull request #543 from NQNStudios:editor-bounds
Scenedit Quality of life: be helpful when scrolling past boundaries

I've implemented 2 features here:
* When scrolling past the boundaries of the current outdoor section, you will get a yes/no prompt which can load the adjacent section for you at the corresponding center position.
* When scrolling past the boundaries (literal, not the changeable rectangle) of the current town, the editor will ask if you want to jump to the town's entrance in the outdoors. If there are more than one, you can choose.

I did this because I need to be able to find town entrances in the built-in scenarios so I can debug things.
2025-01-23 09:25:36 -05:00
54bab68497 Allow custom 'no items' response 2025-01-22 19:58:09 -05:00
5dcdd18b3c Merge pull request #537 from NQNStudios:screen-shift-keys
This makes it so arrow keys/numpad can control screen shift when it's available.

When this preference is enabled, #482 will not be an issue (Fix #482). But the player will also miss out on cases where adjacent targeting would be a good thing. I haven't done anything smart to determine whether one mode or the other is better on a case-by-case basis.
2025-01-22 09:28:28 -05:00
3de6870628 parseColor use - instead of _ 2025-01-21 19:15:38 -06:00
e303363900 prompt to go to town's entrance in the outdoors 2025-01-21 16:02:37 -06:00
74dbc07e23 editing outdoor terrain: prompt to jump to next sections 2025-01-21 15:36:22 -06:00