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()
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.
- 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
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.
This includes the following related or incidental changes:
* Remove the win_from_rects global variable. With one minor exception, they were all equal to the relevant render texture's size anyway.
* Split out time advancement from the handle_action function into a separate function
* Split out each individual button action into its own function
* Thanks to the above two, button actions triggered from the keyboard (and menu spells) no longer pass thru handle_action
* Side-effect: keyboard shortcuts and menu spells no longer trigger the button press animation
* Button presses now behave like proper buttons
* Button clicks are now grouped by effect in the handling code, rather than by index
* Removed a variable that mysteriously caused dialogue to become blank
* Fix non-relative include paths for resources
* Fix one file path for the tests build
(Currently tests crash for me, but at least they do compile?)
* Remove old VS project junkfiles from gitignore
* Fix missing resource compiler include paths for Release builds
Added 'gitinfo' NuGet package to replace need for bash to create gitrev.hpp;
Added preproccessor statement to prevent 'gitrev.hpp' from being referenced;
Re-ordered preproccessor definitions for easier diffing;