Commit Graph

85 Commits

Author SHA1 Message Date
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
b929852e22 Maybe the MSVC build failure is because they have the same object name? 2023-01-21 17:01:25 -05:00
8b3f09db79 Add missing unit tests to the Xcode 4 project 2023-01-21 16:52:28 -05:00
effc355fe1 Enable the dialogs test in Xcode and fix one dialog that failed
This also makes the test itself better
2023-01-21 16:36:31 -05:00
733d6ce116 Fix scenario editor build in Xcode 2023-01-21 16:34:54 -05:00
76ee270c6e Add some new features to our quoted string parser, and a unit test
- Now supports \n \t \f escape sequences
- Now supports strings with literal tabs
2023-01-21 15:55:58 -05:00
17dfbded57 This should finally fix the MSVC build... 2023-01-21 11:36:33 -05:00
d696fa7edb Another try at fixing the MSVC project file 2023-01-18 21:41:22 -05:00
819b9ef48d Fix missing source file in VS2017 project 2023-01-18 21:09:07 -05:00
1ee72df836 Add the new files to the Xcode 4 project 2023-01-18 00:54:39 -05:00
3bdcf02be0 Handle modifier keys differently to avoid Apple flagging us as wishing to monitor input from other applications
Fixes #291
2023-01-12 21:43:45 -05:00
35a890a577 Add a partial unit test for vector2d and fix several issues with the resize function 2023-01-12 21:26:08 -05:00
6319d46d67 Fix compilation on Xcode 4
- Add new files to project
- Xcode 4 doesn't support inheriting constructors
2023-01-07 14:27:02 -05:00
e3d6a4748e Dialog XML definitions are now loaded thru the resource manager 2023-01-07 11:59:42 -05:00
9a4056019b Xcode 12: Silence warning by updating deployment target 2023-01-06 21:00:44 -05:00
cc2e3403f8 Xcode: Try adding the app package as a fallback in the rpath
Also, that extraneous quote is probably bad?
2023-01-05 19:29:16 -05:00