VCMI will now show icons for all heroes on visible part of minimap to
help with readability on large maps
Old behavior can be enable via toggle in game settings menu
This fixes several issues with compatibility with C++20. C++23 was also
tested, but apparently it does not have any additional breaking changes
compared to C++20 (or we don't have those).
VCMI still uses C++17 as before - goal is only to make potential
transition easier.
There were 2 cases that are deprecated in C++20 that we use:
- Floating point operations on enums are deprecated
- `this` can no longer be captured when using default capture by value
`[=]`
Both of those should now be replaced with code that works fine in both C+
+17 and in C++20 mode
- class CGuiHandler is now called GameEngine to better describe its
functionality
- renamed global GH to more clear ENGINE
- GH/ENGINE is now unique_ptr to make construction / deconstruction
order more clear and to allow interface / implementation split
- CGuiHandler.cpp/h is now called GameEngine.cpp/h and located in root
directory of client dir
Suggestion from Discord.
If player has hero selected, clicking on a blocked tile of a visitable,
reachable object will now build a path to its visitable position (or
move hero to it, in case of second click / tap).
Objects that have interaction on left click (allied town and shipyards)
are excluded from this change and work as before
All assets generation (large spellbook, terrain animations, etc) are now
done in memory and used as it, without saving to disk.
This should slightly improve load times since there is no encode png /
decode png, and should help with avoiding strange bug when vcmi fails to
load recently saved assets.
If needed, such assets can be force-dumped on disk using already
existing console command
- human player will now use pathfinder settings from config (as before)
- nullkiller AI will now use its own, modified settings
- added option to configure NKAI usage of monolith to config
- fixed pathfinder costs not updating on receiving levelup
Whirlpool, Subterranean Gates, and all Monoliths now show custom popup
on right-click that show all linked objects (exits and entrances).
Only revealed objects are visible, rest are hidden behind fow.
Exits, entrances, and bidirectional objects have different icon that
indicates direction.