Commit Graph

44 Commits

Author SHA1 Message Date
3dd9fae202 Use /utf-8 for Windows cl builds 2025-08-19 19:51:58 -04:00
6073b3a8f4 Add fmtlib to MSBuild 2025-08-19 19:51:58 -04:00
9f95ca4fe1 try fix builds for other platforms 2025-06-13 09:41:57 -05:00
f1bdb69e5b BoECB: Include when building and packaging 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
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
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
9d972a3961 Pick the largest suitable default scale. Fix #468 (#472) 2024-11-19 19:17:15 -05:00
46f48b94ed compile-guard some git logging for MSBuild 2024-09-15 22:14:53 -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
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
0527494f60 add cppcodec to visual studio include paths 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
b929852e22 Maybe the MSVC build failure is because they have the same object name? 2023-01-21 17:01:25 -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
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
e3d6a4748e Dialog XML definitions are now loaded thru the resource manager 2023-01-07 11:59:42 -05:00
f70f63eead Update and clean up the Visual Studio 2017 project files
These were very shoddily put together!
It seems the person who made them never really tried building
the editors or the tests.

Also included here are a couple of minor source changes that are needed
to make the project files build.
2023-01-05 19:29:16 -05:00
286e9f99ae Fix misclassified file in the MSVC project files 2020-12-21 17:16:32 -05:00
f14c99f14b Split out cContainer, cLed, and cLedGroup into their own files 2020-12-21 17:16:15 -05:00
Mark Clark
d501c340d0 Tests project (with initial files and existing files, needs work); 2018-02-25 14:55:17 -05:00
Mark Clark
cec4ca7a20 Added vs2017 project; 2018-02-25 14:55:10 -05:00