Commit Graph

3214 Commits

Author SHA1 Message Date
bcf8bf963e Show road to the right of the toolbar when the road tool is active, like what happens with other field types. 2025-03-16 14:09:05 -04:00
4e736a7e93 Fix foreground terrain to the right of the toolbar being drawn as a tiny square when the item palette is active and an item with a tiny graphic is selected. 2025-03-16 14:09:05 -04:00
2fd35b1053 Rework the scenario editor toolbars.
* The rightmost column is now mostly dedicated to non-modifying operations – eyedropper and zoom are moved there, pushing the 3 palette buttons down in town mode.
* Set Starting Location and Set Town Boundaries moved from the menus into the toolbar.
* Place Same Creature and Place Same Monster removed, since placing a monster or creature no longer resets the mode, so you can place as many of the same one as you like.
* Erase Town Entrance removed – what is it even good for? Removing the entrance without removing the town terrain is nonsensical. A town entrance can now be erased just by painting over it.
* Copy Item, Copy Monster, and Copy Terrain added. The latter copies a rectangle of terrain.
* Paste Special is removed. Instead there's a generic Paste button which pastes whatever type of thing you copied last, whether it be a special, a monster, an item, or even some terrain.
* Horse and boat no longer share a row with road. Instead, some of the fields have been reshuffled, so now fields take up three rows (though not three complete rows)
2025-03-16 14:09:05 -04:00
61c4bfdc99 Add two new town sizes to the create town dialog.
Huge towns are a whopping 128x128 tiles and don't fit in the terrain view even when fully zoomed out.

Tiny towns are just 24x24 tiles.
2025-03-16 14:09:05 -04:00
96e92b1655 Allow selecting any preset terrain when creating a town.
The option of "grass with flowers" is removed. If you want that, select grass, then select frill up terrain.
2025-03-16 14:09:05 -04:00
6188494d09 Convert new town dialog to use the relative positioning system. No functional changes. 2025-03-16 14:09:05 -04:00
5a6144f5d6 Reorder create town dialog in logical order. No functional changes. 2025-03-16 14:09:05 -04:00
ca07ef172b Rework base processing to be more generic.
It now makes no assumptions about the terrains that might be defined in the base scenario.
* The existing terrain in the base's outdoors (previously ignored entirely) is now partitioned into 9 segments and plopped down to form the border of the new scenario's outdoors.
* It treats the locations (23,23) amd (24,24) specially, assuming they contain a sign and a town respectively. These are left as-is in the top left sector but replaced with the base ground in every other sector.
* Since there are now two separate bases, one for cave and one for surface, no substitution of terrain is done in the starter town.
2025-03-16 14:09:05 -04:00
f1bdb69e5b BoECB: Include when building and packaging 2025-03-16 14:09:05 -04:00
1fc93bcd1c BoECB: Add random mushroom frills 2025-03-16 14:09:05 -04:00
ebb527deff Add a VSCode workspace file.
It's currently only configured for editing the XML dialogs. Maybe someday it can be set up to actually build the game using scons.
2025-03-16 14:09:05 -04:00
f747b6a8c9 BoEB: Make the cave Warrior's Grove use cave terrains.
Also, change the trainer graphic and replace the dog with a lizard.
2025-03-16 14:09:05 -04:00
494f6529cd BoEB: Make a copy and call it the "cave base" 2025-03-16 14:09:05 -04:00
eb835f6765 BoEB: Delete the surface huge walls to make way for some mushroom crops and a surface pond 2025-03-16 14:09:05 -04:00
cbb401957c BoEB: Delete blank scenario strings 2025-03-16 14:09:05 -04:00
f1a73ffbe9 BoEB: Fix typos in Warrior's Grove 2025-03-16 14:09:05 -04:00
b9936a80ee fix red talk word hitbox 2025-03-16 14:03:53 -04:00
079e3d721f Fix steal-item dialog breaking get-items modal status 2025-03-16 14:03:53 -04:00
6f14c01487 skip more for file load preview 2025-03-16 14:03:53 -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
50514db530 Fix the blessed enchantment not being registered. 2025-03-16 14:03:53 -04:00
2e02337f4e Adjust range of Wrack and Unholy Ravaging, resolving a TODO 2025-03-16 14:03:53 -04:00
654176ac47 Make the dialog size sanity check give a little leeway for dialogs that don't quite fit on the screen.
Otherwise, you can't even use the preferences to set the scaling factor back down if it was set so high that the preferences don't fit.
2025-03-16 14:03:53 -04:00
cbf7cc8388 Add recharge button to inventory help 2025-03-16 14:03:53 -04:00
8afe875d72 Squeeze status icons a bit closer together in the party help (by making the font size smaller) 2025-03-16 14:03:53 -04:00
8b08b46ea0 Unbake the special help texts.
The text in the various help dialogs that was previously baked into an image is now drawn as text, meaning that it benefits from text unblurring when scaling is active.

This entails some small changes to layout, since it's a different font.

Dialog engine changes:
* A new picture type allowing to draw the inventory button icons directly into a dialog.
* A new widget type that simply draws a line between two points.
2025-03-16 14:03:53 -04:00
09e5649a61 Rearrange the help dialogs in logical order. No functional changes. 2025-03-16 14:03:53 -04:00
ba4a825644 Fix item info item having a red line on the top 2025-03-16 14:03:53 -04:00
48ab580993 Fix already_started arg 2025-03-16 14:03:53 -04:00
16703ae7a2 Don't implicitly call recalcRect() 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
7c9b9ee255 Remove unnecessary clip_rect which didn't work with offset ui positions 2025-03-16 14:03:53 -04:00
cef17ea91c Optimize calculate_line_wrapping from O(N^2) to O(N) 2025-03-16 14:03:53 -04:00
46bfc92051 Refactor: function to turn eFont into sf::Font 2025-03-16 14:03:53 -04:00
0840b534f9 add profile.* to xc12 proj 2025-03-16 14:03:53 -04:00
cdc63506af fix unwanted line break in about-boe 2025-03-16 14:03:53 -04:00
2c662b7c4d Add profile.* to vs projects 2025-03-16 14:03:53 -04:00
ea4ca83bf4 don't print light mask in release builds 2025-03-16 14:03:53 -04:00
5112673ebf functions in the game for profiling slow dialogs 2025-03-16 14:03:53 -04:00
9eb0e4db26 stack default frameStyle to none (fixes white lines) 2025-03-16 14:03:53 -04:00
1866fff3ce Cache measurement of space in TextStyle
I noticed a ton of string_length() calls on empty space strings,
each one making an sf::Text object to measure. I thought caching
the result would make the slow dialogs open faster but it didn't.
Still might as well do it, though.
2025-03-16 14:03:53 -04:00
a4d202eb97 Draw monsters doing ranged attacks in peace mode 2025-03-16 14:03:53 -04:00
e3e93a43bf new save file field save state when page changes 2025-03-16 14:03:53 -04:00
fd9ac5ab04 Fix buttons and labels of pages>1 in file picker 2025-03-16 14:03:53 -04:00
87ee60d0b4 Fix left/right not changing page in scenario picker 2025-03-16 14:03:53 -04:00
0a9a79b586 watch cursor when scenario picker is building headers 2025-03-16 14:03:53 -04:00
512aeb6e1a watch cursor when file picker is loading parties 2025-03-16 14:03:53 -04:00
fdcf9d5d90 Add donor to credits 2025-03-16 14:03:53 -04:00
ea7c17d65e Move function to the file associated with the header that declares it.
outd_move_to_first_town_entrance probably should have been in actions anyway.
2025-03-08 20:43:39 -05:00