1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Commit Graph

469 Commits

Author SHA1 Message Date
Ivan Savenko
7a1ede1e38 Adventure spell API refactoring to ease use by AI 2025-07-11 16:47:37 +03:00
Ivan Savenko
55bd4bc8bf Support for custom cursors for adventure map spells 2025-07-11 16:06:21 +03:00
Ivan Savenko
5ada2d19e1 UI now shows spell range from config 2025-07-11 12:06:01 +03:00
Ivan Savenko
8721bdd728 Split CCreatureSet file on .h/.cpp per class basis 2025-07-07 19:12:31 +03:00
Ivan Savenko
2ad186130f Split MapDefines file on .h per class basis 2025-07-07 18:16:42 +03:00
Laserlicht
4aad60523c fine tuning turn timers 2025-07-04 21:42:16 +02:00
Ivan Savenko
27f7890784 Fix possible crash on swithing to another player in hotseat while having
different visible heroes on minimap
2025-07-01 13:33:30 +03:00
Laserlicht
50151444fc show path 2025-06-25 17:25:19 +02:00
Ivan Savenko
b48afe0580 Fix sonar 2025-06-18 15:22:59 +03:00
Ivan Savenko
1cbfc067db Do not show hero dot on minimap if icons are on to avoid artifacts on
small maps
2025-06-18 12:08:39 +03:00
Ivan Savenko
95afe53a01 Show map view border above hero icons 2025-06-03 22:00:49 +03:00
Ivan Savenko
24def2ed16 Icons for heroes on minimap
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
2025-05-27 18:38:44 +03:00
Ivan Savenko
35644da2b7 Reogranize callback-related classes on 1 file = 1 class basis 2025-05-12 22:07:09 +03:00
Ivan Savenko
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
Ivan Savenko
cd7732456a Remove pointer to objects from TerrainTile 2025-04-27 14:57:30 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko
bdae7285ae Objects list is now private member of CMap 2025-04-27 14:57:30 +03:00
Ivan Savenko
0ada2a5ebd Map objects now use shared_ptr (game) 2025-04-27 14:57:30 +03:00
Ivan Savenko
797646cc05 Quests in map now use shared_ptr instead of const ptr 2025-04-27 14:57:30 +03:00
Ivan Savenko
0b126ebc8b Merge branch 'vcmi/master' into 'vcmi/develop' 2025-04-25 17:36:11 +03:00
Ivan Savenko
e0adbb3237 Fix calculating of total cost if hero has non-max amount of points 2025-04-23 10:49:37 +03:00
Ivan Savenko
c73116a010 Reduce boost includes further 2025-03-19 08:03:56 +00:00
Ivan Savenko
9732d39c70 Moved shutdown request dialog handling to GameInstance 2025-03-12 13:33:12 +00:00
Ivan Savenko
844dfb1604 Removed usage of boost::thread from vcmi, except for AI 2025-03-02 14:33:11 +00:00
Ivan Savenko
a8a6be7ac1 Fix potential compatibility with C++20 / C++23 mode
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
2025-03-02 14:11:48 +00:00
Ivan Savenko
e5a095a237 Remove main menu global. Now accessed via GameInstance 2025-03-01 21:16:41 +00:00
Ivan Savenko
cbcd48aabb Fix build 2025-02-21 18:51:27 +00:00
Ivan Savenko
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko
156de5b17e Added GameInstance class
- available as global GAME
- integrates LOCPLINT (CPlayerInterface)
- integrates CGI->mh (CMapHandler)
- integrates CSH (CServerHandler)
2025-02-21 16:54:06 +00:00
Ivan Savenko
ffd37a8fa8 Removed CGI in favor of VLC. Map handle is for now global variable 2025-02-21 16:53:14 +00:00
Ivan Savenko
f657e85305 Integrated CClientState into GameEngine class 2025-02-21 16:53:14 +00:00
Ivan Savenko
cacceda950 Renamed CGuiHandler to GameEngine
- 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
2025-02-21 16:53:13 +00:00
Ivan Savenko
2362c6da21 Fixes for multiple new issues from Sonar 2025-02-21 15:57:39 +00:00
Ivan Savenko
0548f325e4 Merge branch 'master' into 'develop' 2025-02-21 13:59:34 +00:00
Ivan Savenko
f7f94bb7dc Remove old code 2025-02-10 21:08:30 +00:00
Ivan Savenko
31e627f128 Remove screen2 and screenBuf global variables 2025-02-10 21:08:30 +00:00
Ivan Savenko
2468ab54ea Show total movement cost for multi-turn paths 2025-02-09 17:29:28 +00:00
Ivan Savenko
7803f7a972 Clicking on blocked tile of a visitable object now builds a path to it
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
2025-02-07 13:59:32 +00:00
Ivan Savenko
c5a75b20ad Merge pull request #5352 from IvanSavenko/assets_generation
[1.6.5] In-memory assets generation
2025-02-01 14:23:06 +02:00
Ivan Savenko
cca4c0888c In-memory assets generation
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
2025-01-30 22:21:38 +00:00
Ivan Savenko
6957ac33b6 Fix excessive paths updates when using Fly/Water Walk 2025-01-30 16:43:52 +00:00
Ivan Savenko
722d68643f Merge pull request #5306 from IvanSavenko/xbrz_foreground
[1.6.4?] Move xbrz upscaling from foreground thread to background
2025-01-25 17:23:46 +02:00
Ivan Savenko
32391dc7a9 Pathfinder cache is now stored separately per playerBlocked
- 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
2025-01-23 15:28:44 +00:00
Ivan Savenko
668bf63fc0 Remove access to internal surface of Canvas 2025-01-21 21:15:21 +00:00
Ivan Savenko
69ee1a9098 Fix crash on reordering towns from town interface 2025-01-01 20:59:59 +00:00
Ivan Savenko
6d8e447ff3 Added new right-click popup to teleporters
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.
2024-12-21 12:01:33 +00:00
Laserlicht
1fb5301750 remove test 2024-11-30 15:52:39 +01:00
Laserlicht
6366175a3c fix window 2024-11-23 19:19:07 +01:00
Ivan Savenko
08fbcd5239 TerrainTile now uses identifiers instead of pointers to VLC 2024-10-30 16:22:11 +00:00
Laserlicht
9ed4dbaeb4 Merge remote-tracking branch 'upstream/develop' into adv_search 2024-10-14 19:52:55 +02:00