Commit Graph

100 Commits

Author SHA1 Message Date
8534d312b6 try allowing implicit fallthrough in xcode 2025-09-14 10:15:55 -04:00
3dd9fae202 Use /utf-8 for Windows cl builds 2025-08-19 19:51:58 -04:00
3e2d987902 VSCode likes adding every possible standard C++ header to the file association list. I generally just roll with it, so here's the current list. 2025-08-19 19:51:58 -04:00
6073b3a8f4 Add fmtlib to MSBuild 2025-08-19 19:51:58 -04:00
f91c52ee5d Pull in fmtlib as a dependency 2025-08-19 19:51:58 -04:00
b7b72e2129 Add build tasks to the Visual Studio Code workspace file to enable building with MSBuild in VSCode. 2025-08-03 19:01:50 -04:00
9f95ca4fe1 try fix builds for other platforms 2025-06-13 09:41:57 -05:00
71629e45bd undo/redo for edit/clear quest 2025-06-12 17:38:07 -05:00
b6fb93f199 scenedit undo/redo infrastructure 2025-06-04 09:55:56 -05:00
f1bdb69e5b BoECB: Include when building and packaging 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
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
0840b534f9 add profile.* to xc12 proj 2025-03-16 14:03:53 -04:00
2c662b7c4d Add profile.* to vs projects 2025-03-16 14:03:53 -04: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
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
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
f018f051f6 Add a new tilemap control that replicates its children into a fixed grid.
Use it for the Edit Terrain Object dialog.
2025-03-02 19:13:01 -05:00
4174ccd470 Rework the special node button dictionary (#607) 2025-03-02 19:13:01 -05:00
c061ed4b0f Retarget Windows SDK for Visual Studio projects 2025-02-27 00:29:58 -05:00
a18f754e11 Visual Studio launch tests with correct cwd 2025-02-15 16:04:14 -05:00
e83ad32618 VS2013 Add Catch/Clara include directories 2025-02-15 00:08:41 -05:00
90a1519b0b VS2013 projects use vcpkg manifest mode 2025-02-15 00:08:41 -05:00
769bb2ee97 VS2017 projects use manifest mode 2025-02-15 00:08:41 -05:00
3bd8874147 make all targets compile text-based pref handling in prefs.cpp
mac replays use preference std::map
2025-02-14 09:54:33 -05:00
3daf1d55e4 Update source files required for scenario editor target 2025-01-15 23:10:05 -05:00
dafaabc40e add boost-process to windows dependencies 2025-01-15 23:05:53 -05:00
346ce7eb94 add new brew directories to xcodeproj 2025-01-14 13:41:37 -05:00
fb8b9e5da5 Use macos-13 for ci 2025-01-07 21:33:18 -05:00
9d972a3961 Pick the largest suitable default scale. Fix #468 (#472) 2024-11-19 19:17:15 -05:00
7e0b870216 Rework Xcode build a little so that gitrev.hpp is generated by the Common target instead of the Data target, to allow it to properly work even in incremental builds 2024-09-15 22:26:40 -04:00
46f48b94ed compile-guard some git logging for MSBuild 2024-09-15 22:14:53 -04:00
81166899d5 Xcode: Fix not running XML dialog validation on incremental builds 2024-09-10 22:18:59 -04:00
6965b822dc Gather all enchantment info into a single place
This also resolves several TODO notes about duplicate code and makes cPresetItem::ability an eEnchant
2024-09-10 22:18:59 -04:00
71a9d11cd0 Gather all alchemy info into a single place 2024-09-10 22:18:59 -04:00
e7d5b4ff81 Create an info struct for the eStatus and ePartyStatus enums
This reintroduces the normal speed icon and opens #230
2024-08-28 11:01:09 -04:00
336d0e626b Add sample command-line arguments to the Xcode scheme 2024-08-22 23:21:29 -04:00
d74b11aa31 Reform command-line handling to use Clara, which is bundled with Catch 2024-08-22 23:21:29 -04:00
9b81cd1902 Fix unit test build on MSVC 64-bit (#404)
The issue stemmed from Catch's default entry point being wmain instead of main, so we just updated the configuration to expect that.
2024-08-10 22:55:06 -04:00
4d4ab09395 Update Catch to v2.13.10 2024-08-10 15:16:24 -04:00
3020a7ba1b add src/tools to xcode header search path 2024-07-28 17:07:33 -04:00
5131f852f2 xcode add cppcodec to search paths 2024-07-28 17:07:33 -04:00
0527494f60 add cppcodec to visual studio include paths 2024-07-28 17:07:33 -04:00
189ffe89dc try adding replay.cpp to xcode projects 2024-07-28 17:07:33 -04:00
77ff65b14e visual studio projects add new files 2024-07-28 17:07:33 -04:00
1bb0927ecb Update and fix Windows CI builds
- boost-spirit dependency needed to be installed
- Visual Studio wanted boost/filesystem.hpp included in more places
- a deprecated enum was removed from new versions of boost, so we use
  its replacement enum now
- vcpkg repository is now pinned to a commit where boost 1.84 libraries
  work smoothly, there should be no more surprises
- vcpkg dependencies now cache, so successive CI runs are dramatically
  faster
- for win-scons, we need to use 'call' in our batch script to source
  vcvarsall.bat
- I updated the includepath and libpath we pass to win-scons to match
  reality, but it still can't find any vcpkg libraries. This will need
  further sleuthing
2024-05-29 19:39:03 -04:00
8ec20f977d vcxproj Copy scenarios and data to the right output dir 2023-02-02 20:18:39 -05:00
8ccde54c6d Fix Common.vcxproj tagfile.hpp reference 2023-01-28 22:05:14 -05:00
5bce71d59f Make implicit switch fallthrough an error in the Xcode project and fix all places that do it
Since we can't directly use C++11 attributes, I've chosen BOOST_FALLTHROUGH to annotate intentional fallthroughs.

Thanks to @fosnola for spotting a missing break, which triggered this.
2023-01-21 22:39:33 -05:00