Andrej Dudenhefner
38126a9893
Reformatted using tabs
2025-11-01 17:52:30 +01:00
Andrej Dudenhefner
f8b45b0c21
Add ucrt64 build instructions
...
Link to VCMI_lib: WinSock2 (ws2_32) + socket extensions (mswsock) + Debug Help API (dbghelp) in MinGW
2025-11-01 10:12:21 +01:00
Laserlicht
d808bd6412
introduce toResourceType
2025-09-15 00:08:18 +02:00
Laserlicht
acd067e587
remove CObjectHandler
2025-09-14 21:34:32 +02:00
Laserlicht
62ca532291
resource identifier
2025-09-14 14:36:02 +02:00
Andrey Filipenkov
8add24a87d
[cmake] rename iOS and macOS variables
2025-08-30 21:50:00 +03:00
Tomasz Zieliński
07a6474117
Move road randomizer to separate file
2025-08-01 20:43:40 +02:00
Ivan Savenko
b4693a9d7f
Merge pull request #5859 from IvanSavenko/antilag
...
Lag compensation for multiplayer
2025-07-30 12:02:36 +03:00
Ivan Savenko
b3167a44ee
Move MarketInstanceConstructor class to a separate file
2025-07-21 19:38:24 +03:00
Ivan Savenko
52da332640
GameHandler now uses GameConnectionID instead of connection pointers
2025-07-19 18:04:20 +03:00
Ivan Savenko
58de180083
Split CConnection into GameConnection and IGameConnection classes
2025-07-19 18:04:20 +03:00
Ivan Savenko
79f3126c63
(somewhat) configurable adventure map spells
...
- All adventure map spells have most of their parameters in json.
- Parameters of adventure map spells can now be defined separately per
each mastery level.
- It is now possible to add a new spell that will have effect similar to
H3 adventure map spell
2025-07-10 15:55:41 +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
Ivan Savenko
ddff11184a
Split AdventureSpellMechanics file on .h+.cpp per class basis
2025-07-07 17:28:16 +03:00
Michał Zaremba
f96f33ac3f
After rebase: fix build
2025-06-16 00:01:48 +02:00
Michał Zaremba
ebe746d0cf
Integrate EditorCallback into mapeditor
...
EditorCallback being set up with std::unique_ptr stored in MapController.
2025-06-15 23:47:08 +02:00
Michał Zaremba
b2e51a5fb1
Add MapInfoCallback and EditorCallback
2025-06-15 23:40:59 +02:00
Ivan Savenko
0fa83c0478
Implemented mod-friendly loading of town building icons for campaigns
2025-06-15 17:01:29 +03:00
Ivan Savenko
a842dfb3c4
Support for defining new campaign regions in mods, for hota h3c
2025-06-15 17:01:29 +03:00
Ivan Savenko
1ea2ce7959
Identifier remapping support for campaigns
2025-06-15 17:01:28 +03:00
Ivan Savenko
2cd29c1893
Rework campaign bonuses storage in type-safe form
...
Replaced campaign bonuses from using 3 integers to store anything with
type-safe version that uses std::variant that ensures that all bonuses
are in correct state.
Also removed "interesting" solutions like storing primary skills using
bit shifts.
Prerequirement for HotA campaign support
2025-06-15 17:01:14 +03:00
Ivan Savenko
4e47894e7a
Somewhat configurable spell schools
2025-06-15 14:36:29 +03:00
Ivan Savenko
342705921d
remove old bonus conversion logic
2025-06-15 14:36:29 +03:00
Ivan Savenko
cc274c4d34
GameRandomizer is now in lib, add implementation
2025-05-19 18:51:42 +03:00
Ivan Savenko
54a46b77a9
Extract library entity randomization logic to separate class
2025-05-19 18:51:42 +03:00
Ivan Savenko
6f20235d07
Merge CPrivilegedInfoCallback into CGameInfoCallback
2025-05-14 13:42:20 +03:00
Ivan Savenko
716da918f8
Completely remove IGameCallback class
...
- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
2025-05-14 13:39:41 +03:00
Ivan Savenko
f7d08a7288
Merge pull request #5700 from IvanSavenko/gamestate_pack_visitor
...
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-14 11:53:15 +03:00
Ivan Savenko
2c17c2d5b7
Rework CCallback <-> CClient interaction
...
- callback is now part of lib instead of weird class that is shared by
client and AI while being part of client
- callback interacts with client class via minimal interface class
- removed no longer used unlockGsWhileWaiting field
2025-05-12 22:07:10 +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
86b832be67
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-10 17:51:35 +03:00
Ivan Savenko
279d89f971
Merge pull request #5659 from IvanSavenko/artifact_split
...
Reorganized artifact-related classes
2025-04-30 13:23:41 +03:00
Ivan Savenko
f70ad2c15b
Reorganized artifact-related classes
...
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes
No changes to functionality
2025-04-29 13:29:08 +03:00
Ivan Savenko
5550edeb9a
Fix inability of unit to cast spell after receiving morale
2025-04-29 12:12:51 +03:00
Ivan Savenko
a43c3fcb31
Restore save compatibility with 1.6
2025-04-27 14:57:31 +03:00
Ivan Savenko
586620a290
Basic code review, remove unused code from serializers
2025-04-27 14:57:31 +03:00
Ivan Savenko
8ec3e5210a
Remove no longer needed support for gamestate vectors serialization
2025-04-27 14:57:31 +03:00
Ivan Savenko
ab11d2b075
Remove quests from CMap, now solely owned by quest objects
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
2b286378e8
Remove logic for banks in 1.5 format
2025-03-19 08:02:39 +00:00
Ivan Savenko
96d691b40c
Fix crash on closing game during background image upscaling
2025-03-12 14:18:44 +00:00
Ivan Savenko
948abfb04c
AI now uses std::thread, added custom thread interruption logic
2025-03-02 14:33:11 +00:00
Ivan Savenko
33468f21ff
Remove custom implementation of threadpool from rmg in favor of TBB
2025-03-01 21:16:03 +00:00
Ivan Savenko
645b95ba02
Renamed LibClasses * VLC to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
Laserlicht
70891b0304
portmaster support
2025-02-16 22:29:07 +01:00
Ivan Savenko
df99645eca
Merge pull request #5301 from IvanSavenko/map_loading_fix
...
Map loading fixes
2025-01-25 17:23:54 +02:00
Ivan Savenko
09db3e4bef
Reworked resource piles loading to fix wog maps with mithril
2025-01-25 11:40:21 +00: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
MichalZr6
a99274d72e
BattleHexArray - new container for BattleHexes
2025-01-06 23:18:18 +01:00