1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

542 Commits

Author SHA1 Message Date
Tomasz Zieliński
db2be3ee05 Anoother unused variable 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
850da65f80 Another build fix 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
88178567b1 Remove unused variable 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
e483f06e0f Remove unused variable 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
5bffea0aac Use new interface 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
69ceee5dd6 NKAI: penalty for extra chains 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
0fd118d3ce NKAI: gold reward 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
6ba74f02bc NKAI: playing around with defence 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
b19ac01bf9 Fuzzy rework, added more defence and gather army routines 2023-07-31 22:01:10 +03:00
Andrii Danylchenko
b1ca663eb6 Fuzzy rework 2023-07-31 22:01:10 +03:00
Andrii Danylchenko
38a98387e4 Temp fix for blocked in garrison ai. 2023-07-31 22:01:10 +03:00
Ivan Savenko
aed8c411fc Minor rework & cleanup of combat replays 2023-07-27 19:25:55 +03:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Andrii Danylchenko
b1ef0f6301 #1912 Some logging and fix for allied garrison 2023-07-09 10:21:58 +03:00
SoundSSGood
9b5f6ec7cf CArtifact getters setters 2023-07-05 15:48:08 +03:00
Ivan Savenko
1cbc6457ce Fix possible assertion failure on removing non-owned town 2023-07-04 20:28:02 +03:00
Ivan Savenko
85262cf4f5 Moved CGameState files into a separate directory 2023-06-26 17:15:59 +03:00
Ivan Savenko
08cfbe79cf Added encapsulation for movement points access 2023-06-25 17:42:36 +03:00
Ivan Savenko
f7b27da00e Implemented support for "coast visitable" objects:
- objects marked as coast visitable can be visited from land even when
placed in water
- added isBlockedVisitable and isCoastVisitable method to
CGObjectInstance
- implemented json config for these properties in banks
2023-06-25 17:42:33 +03:00
Ivan Savenko
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
Hota h3m support
2023-06-23 13:32:10 +03:00
Ivan Savenko
ebc7a82c2e Converted pathfinder enum's to enum class 2023-06-21 15:38:57 +03:00
Ivan Savenko
f78470a301 Fix build 2023-06-21 14:55:25 +03:00
Ivan Savenko
bd4d2788ed Split pathfinder into multiple smaller files 2023-06-21 13:46:09 +03:00
Ivan Savenko
87fcfa4add Removed excessive pathfinder includes 2023-06-21 12:00:44 +03:00
Ivan Savenko
d51fe62804 Win/loss condition texts use MetaString 2023-06-20 19:37:27 +03:00
Ivan Savenko
6aedb99117 Cleaned up IShipyard interface 2023-06-16 17:59:10 +03:00
Ivan Savenko
5cfbdd2967 Partially split CommonConstructors.cpp into few separate files 2023-06-16 17:59:10 +03:00
Ivan Savenko
d6a357fd17 Split some map object files into smaller files. Reduced includes usage. 2023-06-02 21:47:37 +03:00
Ivan Savenko
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Andrii Danylchenko
0829593356 NKAI: composite pathfinder actions and fix for guarded bordergate 2023-05-07 09:15:37 +03:00
Konstantin
05eccbc2bb vcmi: split bonus to enumerator and HeroBonus.h 2023-05-03 18:01:06 +03:00
Konstantin
fbc05c70ac vcmi: camelCase methods of new classes
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Konstantin
af25ad0866 vcmi: split creatures and faction members 2023-05-02 00:53:50 +03:00
nordsoft
97a1758e8e Merge remote-tracking branch 'upstream/develop' into rewardable-expand 2023-05-01 21:51:10 +04:00
nordsoft
eb577a03b5 Deprecating enum constants 2023-05-01 21:49:37 +04:00
nordsoft
4b1b58b617 Change Callback to abstract 2023-05-01 21:49:37 +04:00
nordsoft
203d0a4f91 Merge remote-tracking branch 'upstream/develop' into rewardable-expand
# Conflicts:
#	lib/JsonRandom.cpp
2023-05-01 02:07:20 +04:00
nordsoft
1b4d117790 deeper decoupling 2023-04-30 17:13:07 +04:00
Konstantin
86f5d6de69 vcmi: modernize headers 2023-04-30 13:35:54 +03:00
nordsoft
e47bb3f1f9 Separate configuration and object 2023-04-30 00:59:02 +04:00
Ivan Savenko
48abf46824
Merge pull request #2005 from IvanSavenko/advmap_refactor
Refactoring of adventure map interface
2023-04-24 17:19:22 +03:00
Andrii Danylchenko
fbc9a32ad8 #2018 - fix shipyard usage for NKAI, allied shipyard should work now 2023-04-22 18:42:36 +03:00
Andrii Danylchenko
d347db4c16 Fix hero count calculation for resourceful ai mod 2023-04-22 14:47:31 +03:00
Ivan Savenko
7db67a3101 int3 now has proper hasher function 2023-04-20 22:04:24 +03:00
nordsoft
de159df481 Rename boats 2023-04-20 21:20:51 +04:00
nordsoft
0a28262c15 Merge remote-tracking branch 'upstream/develop' into boats
# Conflicts:
#	AI/VCAI/Pathfinding/AINodeStorage.cpp
2023-04-19 02:22:19 +04:00
nordsoft
37027ad17f Fix AI boat logic 2023-04-18 18:33:44 +04:00
nordsoft
ed798b06da Prepare transport enum 2023-04-18 13:04:49 +04:00
Konstantin
7a5775a9f9 vcmi: use std::optional 2023-04-17 00:43:13 +03:00
Ivan Savenko
3738171b21 Refactoring of H3M loader to make HotA format support easier
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
Ivan Savenko
63b197b78a Converted attributes to use c++17 functionality 2023-04-12 01:03:14 +03:00
nordsoft
8e77b833d9 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2023-04-11 15:54:08 +04:00
nordsoft
bfc75ccd39 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2023-04-11 02:22:42 +04:00
Konstantin
fedf7d377c vcmi: remove TFaction
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
nordsoft
ce3028bd73 Intermediate commit 2023-04-06 19:34:07 +04:00
Konstantin
11b237a23c vcmi: massive refactoring v1 2023-04-05 22:33:12 +03:00
Konstantin
22dd97ad18 vcmi: use entilites when possible part 1 2023-04-04 23:02:54 +03:00
Andrii Danylchenko
10bf9bc7a0
Merge pull request #1678 from vcmi/nkai-fix-build
NKAI: more fixes to defense and pandora
2023-04-03 22:39:11 +03:00
Andrii Danylchenko
ab84cb9931 NKAI: fix defense tasks priority evaluation 2023-04-02 10:10:17 +03:00
Andrii Danylchenko
34abc9f82d NKAI: disallow using allied shipyard 2023-04-02 10:04:10 +03:00
Andrii Danylchenko
88fb532d90 NKAI: more fixes to defense and pandora 2023-04-02 10:02:33 +03:00
Andrey Filipenkov
3602645a30 improve iterating over EPathfindingLayer 2023-03-20 11:35:19 +03:00
Ivan Savenko
a0e9e01b48 Renamed & reorganized all game mechanics settings names 2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29 Integrated defaultMods into mod system 2023-03-16 17:55:09 +02:00
Konstantin
c4a3216288 NKAI: evaluate speciality correctly
With removal of SECONDARY_SKILL_PREMY, we need to
evaluate speciality by using TargetSourceType.
Just do it.
2023-03-16 16:46:41 +03:00
Konstantin
95503d0623 vcmi: unify movement
1. Now there is only one bonus: MOVEMENT, with 2 subtypes: 0 is sea, 1 is land
   For movement value on land depends on creature speed we use a new
   ARMY_MOVEMENT updater with global bonus. If we does not like such
   dependency, we can just remove this updater from json.
2. All specialities and secondary skills for movement moved to new
   system AFAIK
2023-03-16 16:46:41 +03:00
Andrii Danylchenko
fa9e1d2d83 NKAI: fix crash 2023-03-12 16:31:15 +02:00
Andrii Danylchenko
4bf570763a NKAI: improve neutral town priority handling, reduce priority of objects like star axis 2023-03-12 16:31:15 +02:00
Andrii Danylchenko
87638aafc0 NKAI: improve build behavior 2023-03-12 16:31:15 +02:00
Konstantin
bc228a938a vcmi: use enum class for EComponentType
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5 vcmi: allow showing more than one components in infobar
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e vcmi: reduce boost::lexical_cast usage 2023-03-09 16:36:46 +03:00
Andrii Danylchenko
148c3436df NKAI: improve army gathering 2023-03-08 11:53:26 +02:00
Andrii Danylchenko
8b0c7b6601 NKAI improve defence and some fixes 2023-03-07 20:10:58 +02:00
Ivan Savenko
144ddba97d Replaced AI assertion failure with error in log 2023-03-07 00:06:58 +02:00
Ivan Savenko
aeb653c919 Fix typos 2023-03-07 00:06:58 +02:00
Ivan Savenko
11e4d84749 Implemented View Earth / View Air spells 2023-03-05 17:48:02 +02:00
Ivan Savenko
84fa19dadf
Merge pull request #1547 from dydzio0614/game-start-unrandomization
Hardcoded features for HotA-like starting conditions
2023-03-05 17:29:49 +02:00
Andrey Filipenkov
71d51beab2 change static AI approach to use static libvcmi
- now links to static AI lib targets
- solves uncaught boost exception on closing server
2023-03-02 12:09:48 +03:00
Andrey Filipenkov
4c19d8794d add option to compile AI code into libvcmi directly
- used on Android by default
- AI sources and libs are propagated to upper level with set(... PARENT_SCOPE)
2023-03-02 12:09:48 +03:00
Dydzio
7095e9d8f9 Allow heroes to start with empty armies if configured properly 2023-02-05 00:36:51 +01:00
Ivan Savenko
f8f6df02f3 Removed remaining hardcoded objects 2023-01-23 15:27:27 +02:00
Ivan Savenko
62e127fb59 Bonusing objects are now configured in json 2023-01-23 01:05:10 +02:00
Ivan Savenko
bfd6c40f25 Moved all once-per-hero visitable (sans Tree) to config 2023-01-22 22:58:53 +02:00
Ivan Savenko
05a1d7c6e3 All text for factions/towns/building are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
388ed88b5d All artifact strings now pass through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116 All creature-related texts go through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8 All heroes-related strings are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822 All spell texts are now passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
246281e62a Merged vcmi/beta with vcmi/develop 2023-01-15 17:46:42 +02:00
Andrey Filipenkov
efbed6000b fix typo 2023-01-15 17:28:09 +02:00
Ivan Savenko
33a9aa8ee5 Reduced log to console 2023-01-01 20:55:26 +02:00
Ivan Savenko
370e92a90a Added workaround for no longer accessible hero in MoveHero 2022-12-25 16:12:26 +02:00
Ivan Savenko
405b2976d5 Renamed getUpgradeInfo -> fillUpgradeInfo 2022-12-25 14:03:43 +02:00
Ivan Savenko
eb20a4b208 Merge remote-tracking branch 'vcmi/develop' into warnings_fix 2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +02:00
Sergei Trofimovich
c2c352c6dd AI/Nullkiller/Goals/ExecuteHeroChain.cpp: catch polymorphic exceptions by reference
The suspicious code was detected by `gcc-13` as:

    AI/Nullkiller/Goals/ExecuteHeroChain.cpp: In member function 'virtual void NKAI::Goals::ExecuteHeroChain::accept(NKAI::AIGateway*)':
    AI/Nullkiller/Goals/ExecuteHeroChain.cpp:130:47: warning: catching polymorphic type 'class NKAI::cannotFulfillGoalException' by value [-Wcatch-value=]
      130 |                                         catch(cannotFulfillGoalException)
          |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
    AI/Nullkiller/Goals/ExecuteHeroChain.cpp:176:23: warning: catching polymorphic type 'class NKAI::goalFulfilledException' by value [-Wcatch-value=]
      176 |                 catch(goalFulfilledException)
          |                       ^~~~~~~~~~~~~~~~~~~~~~

Similar to object passing by value and reference passing polymorphic
exceptions by reference likely destroys them when copy-constructed to
a base class. Let's catch them by reference.
2022-12-17 21:50:57 +00:00
Andrii Danylchenko
56bf8ec2c4 #1228 - prevent second AI activation on AI defeat due to wrong EndTurn packet 2022-12-14 22:13:26 +02:00
Andrii Danylchenko
01980f4310 Small optimization of NKAI pathfinder 2022-12-10 22:08:16 +02:00
Ivan Savenko
25bceda4ea Added convertToVisitablePos/convertFromVisitablePos to CGHeroInstance
This method replaces old convertPosition, but with more clear names and
without hardcoded magic constants.
2022-12-09 14:42:47 +02:00
Ivan Savenko
8dcecdc235 Fix deprecation warning 2022-12-09 14:16:23 +02:00
Ivan Savenko
db2a40600d Fixed some of the warnings detected by CI run 2022-12-08 23:20:42 +02:00
Ivan Savenko
facf77b3ae vstd::unique -> std::unique 2022-12-07 23:36:20 +02:00
Ivan Savenko
d85ee019ec Removed CGHeroInstance::convertPosition method 2022-12-07 22:51:32 +02:00
Ivan Savenko
49cbd5adc9 CGHeroInstance::convertPosition is no longer static method 2022-12-07 22:34:08 +02:00
Ivan Savenko
2855606a88 Enabled & fixed -Woverloaded-virtual warning from gcc/cland
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
3219e322ae Fixed all non-silenced gcc/clang warnings 2022-12-07 18:05:47 +02:00
nordsoft
d4c9b8f6b5 Absolute threshold for retreat decision 2022-12-06 16:11:52 +04:00
SoundSSGood
909dcb82fa use ArtifactID 2022-11-29 00:32:18 +02:00
Andrii Danylchenko
e31beafa17 #1100 - fix visiting allied dwellings 2022-11-23 02:40:56 +04:00
Andrii Danylchenko
8b964be71f
Merge pull request #1111 from GermanAizek/develop
Code refactor and fix condition bug
2022-11-15 09:23:16 +02:00
lainon
7fdad4e0f6 Code refactor following C++ standard and condition fixes 2022-11-15 03:20:55 +03:00
Andrii Danylchenko
3676152644 #1102 - NKAI: one more freeze - no mains with strong army 2022-11-10 21:12:08 +02:00
Andrii Danylchenko
233b850daf NKAI: a few crash/hang fixes 2022-11-07 13:58:20 +02:00
Andrii Danylchenko
ebf4854801 Battle AI: add some comments + refactoring 2022-10-23 11:41:03 +03:00
Andrii Danylchenko
601ced3749 BattleAI: rework movement when no targtes 2022-10-23 11:41:03 +03:00
Andrii Danylchenko
c2cc801f60
Merge pull request #1073 from kambala-decapitator/ios-conan
[Conan] add iOS support, bump dependencies, improvements
2022-10-22 12:40:48 +03:00
Andrey Filipenkov
f10e5e3b99 [Conan] add iOS support 2022-10-16 13:25:38 +03:00
Andrii Danylchenko
e9c725181c NKAI: fix retreat logic 2022-10-15 15:15:12 +03:00
Andrii Danylchenko
153cccdf46 NKAI: hire retreated hero 2022-10-14 12:00:56 +03:00
Andrii Danylchenko
82a9f82e1c BattleAI: retreat 2022-10-14 12:00:56 +03:00
Andrii Danylchenko
eeea01d778 NKAI: namespace 2022-10-04 08:40:14 +03:00
Andrii Danylchenko
2434fe3f6f NK: fix AI speed 2022-10-01 13:49:27 +03:00
DjWarmonger
58a3abb643
Merge pull request #963 from vcmi/terrain-rewrite
Terrain rewrite
2022-09-29 18:24:05 +02:00
Andrii Danylchenko
878aabd4d6
Merge pull request #981 from kambala-decapitator/fix-analyzer-warnings
Fix Clang Analyzer warnings
2022-09-29 19:23:24 +03:00
Tomasz Zieliński
f386f42166 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
#	lib/battle/CBattleInfoEssentials.cpp
#	lib/rmg/ObstaclePlacer.cpp
#	lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
Andrey Filipenkov
802147c5b7 add some asserts that shouldn't fire 2022-09-26 14:06:55 +03:00
Andrey Filipenkov
72feb538ce add explicit null pointer checks 2022-09-25 10:05:16 +03:00
Tomasz Zieliński
fd63cb6109 and here 2022-09-25 08:07:22 +02:00
Andrey Filipenkov
659be89a01 remove setting values that are never read 2022-09-24 16:52:38 +03:00
Andrey Filipenkov
dab9d206f1 Revert "don't build Nullkiller for 32-bit"
This reverts commit 0a5c5c3e1da76f0e202c61e9abfca9603ca7af7c.
2022-09-24 15:55:23 +03:00
Andrey Filipenkov
2a958a346e don't build Nullkiller for 32-bit 2022-09-24 15:55:23 +03:00
Andrey Filipenkov
5e838008df merge launcher and client
launcher is a static lib now
2022-09-24 15:55:22 +03:00
Andrey Filipenkov
c6e51852d0 add ability to build VCMI as single process
"Client process -> shared VCMI lib <- Server process" is turned into "shared Client-VCMI lib -> process <- static Server-VCMI lib"
- adds lib_client and lib_server targets that define distinct namespaces
- lib_client is a dynamic library which is shared with AI libs, lib_server is static
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
ff635edc0b wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
3388583089 use component-based install to copy only what's needed for every app 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
8319c30695 copy external TBB dylib to app package 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
9dc5f3ed8b improve RPATH handling, apply RPATH when installing dylibs 2022-09-24 15:55:20 +03:00
Tomasz Zieliński
a5077245a8 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
2022-09-23 20:01:13 +02:00
Andrey Filipenkov
c9c79887a7 remove unused variables 2022-09-22 11:54:10 +03:00
Andrey Filipenkov
143b0983e6 fix enum value 2022-09-22 11:54:09 +03:00
Andrey Filipenkov
1d57c40740 wrap && conditions in parentheses when near || 2022-09-22 11:54:09 +03:00
Andrey Filipenkov
aae1d4fed5 fix variable type in for-in loops 2022-09-22 11:54:09 +03:00
Andrey Filipenkov
a1cf120ea6 add missing virtual destructors 2022-09-22 11:54:09 +03:00
Tomasz Zieliński
494b0f0226 First version that compiles 2022-09-21 11:34:23 +02:00
DjWarmonger
7ba271edf1
Rotation rebase2 (#912)
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
DjWarmonger
5e2d87abd7
Update AI/Nullkiller/Goals/ExecuteHeroChain.cpp
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-09-14 16:23:13 +02:00
Tomasz Zieliński
931f4af2df typo 2022-09-14 15:24:39 +02:00
nordsoft
c24fc89fe3 Lambda decltype on compile time instead of runtime 2022-09-14 12:08:20 +03:00
Tomasz Zieliński
40585a66c0 Style, commend - requested 2022-09-11 11:31:28 +03:00
Tomasz Zieliński
1649cf2bb9 misc comments 2022-09-11 11:31:27 +03:00
Tomasz Zieliński
6ae3b77d80 AI will not wait to conwuer fort if possible 2022-09-11 11:31:27 +03:00
Tomasz Zieliński
f0bb97b0d2 AI will actually attack all heroes when possible - and win the game eventually :) 2022-09-11 11:31:27 +03:00
Tomasz Zieliński
b52faad4c7 + Stack speed is valuable
+ Hero movement is also very valuable
2022-09-11 11:31:27 +03:00
Tomasz Zieliński
a83753a7d2 AI will now pick Prisons if possible 2022-09-11 11:31:27 +03:00
Tomasz Zieliński
cbf2a1b7cc AI will consider Pandora Box as a valuable object - good for every occasion! 2022-09-11 11:31:27 +03:00
Tomasz Zieliński
faa6ca401e Fixed duplicated value 2022-09-11 11:31:27 +03:00
Tomasz Zieliński
f4de5453c6 + AI will consider free slot (or lack of it) for creature reward from a bank
+ AI might use banks for resources other than gold
2022-09-11 11:31:27 +03:00
Nordsoft91
aaa07e4d2e New terrain support - part 1 (#755)
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Soar Qin
188607b05f Replace cotire with CMake builtin precompiled headers support (Requires CMake version >= 3.16) 2022-06-17 17:20:08 +03:00
Soar Qin
c87df8e704
Fix warnings/errors on MSVC (#753)
* Fix warnings/errors on MSVC
1. update googletest to tag release-1.11.0 to make googletest and
   googlemock compile on MSVC2022.
2. set gtest_force_shared_crt to ON in test cmake project to make tests
   compile on MSVC.
3. add /wd4251 and /wd4275 to MSVC compile flags to ignore DLL related
   warnings for class exports.
4. fix some other warnings and errors while compiling on MSVC2022.
2022-06-11 18:45:34 +03:00
Andrii Danylchenko
31c9d6e28d Fix performance issue related to TurnInfo construction 2022-06-06 09:47:37 +03:00
Konstantin
8fc14369a4
CMake presets. (#744)
* CI: use single build action
* CMake: use imported targets
* CI: do not build boost for linux
* CMake: add FORCE_BUNDLED_MINIZIP option
* linux: use external minizip and fuzzylite
* CMake: add presets
* .gitignore: ignore cmake build dirs
* github: use cmake presets
2022-05-26 08:55:20 +03:00
Andrii Danylchenko
6da233c387 NullkillerAI: fix build analyser when town has no upgrade for creature 2022-05-01 10:26:07 +03:00
val-gaav
7466839182 Update AIGateway.cpp 2022-04-26 15:08:02 +03:00
Andrii Danylchenko
fa9a420f99 Fix a few crashes 2022-04-17 09:10:53 +03:00
Andrii Danylchenko
02b2f35143 Nullkiller: fix crash 2022-03-05 15:51:03 +02:00
Dmitry Orlov
ea2931c6ea Fix: Get rid of 'Tile is not visible' error message 2022-01-30 12:31:07 +02:00
Andrey Filipenkov
af6d666778 use high_resolution_clock instead of steady_clock 2021-11-23 11:56:06 +03:00
Andrey Filipenkov
fc064b1c45 replace boost::chrono with std::chrono 2021-11-23 10:23:55 +03:00
Andrii Danylchenko
b00a1dee28 Fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
79d06bbaa6 Nullkiller: fix merge conflicts 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
d47564955e Nullkiller: fix/refactor temporary bonus nodes, fix gather army quest completion 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
70ed3f55a5 Nullkiller: replace a hack with temporary bonus node concept 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3fa7e0976f Nullkiller: update / fix build, core changes required for Nullkiller AI 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
b4241670ba Nullkiller: rename VCAI to AIGateway 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
87a8c776c9 Nullkiller: reduce memory usage for x86 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
7184364bcb Nullkiller: disable logging and fix tbb build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
bc95e4b935 Fix tbb build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1aa81530cb Nullkiller: cancel heavy decomposition on shipyards 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
9a203b8af9 Nullkiller: parallel object clusterization, stabilization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
66843b22d3 Nullkiller: async hero chain calculation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
0265de77fa Nullkiller: fix crash, refactor 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
fb3cda666f Nullkiller: tbb and hero chain calculation optimization and parallel cpathfinder initialization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3480f17a68 Nullkiller: fix defence 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
0ffc7c3b94 Nullkiller: turn limit for main heroes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1f83569868 Nullkiller: fix defence 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
b5b9619147 Nullkiller: fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
4c01a8eec4 Nullkiller: fix a few crashes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3d91f2e988 Fix defence crashes and hangs 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3dc76cfe35 Nullkiller: fix crash when buy army through pathfinder 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
45942cfbbe Nullkiller: stabilization, fix memory leaks 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
7e88819105 Nullkiller: fix crash and freeze 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
80df879489 Nullkiller: stabilization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
f2c26d7553 Nullkiller: thread interuption point 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
0d5ae20e64 Nullkiller: improved citadel priority 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3822d788e8 Nullkiller: allow buy army through pathfinder 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
673d908c40 Nullkiller: fix crash because of incorrect memory management 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
92ac78f87d Nullkiller: fix crash when game ends 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
f0ceaf5852 Nullkiller: improve perofrmance of AI pathfinding 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
cf4484e071 Nullkiller: stabilization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
e385c83a88 Nullkiller - rewrite decomposition, decomposition cache, morale management 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
35a1167f3d Nullkiller: refactoring and stabilization of gather army & clusterization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1fdf0de75d Nullkiller: clusterization fixes, heroes clusterization for additional mains in case of locked heroes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
645c393e25 Nullkiller: fix freeze on accessing guarded object 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
5bfe71c8f3 Nullkiller: small optimization of AIPathfinder for big maps 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
07b6b0605c Nullkiller: blind fix for unit tests to compile 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
4f51d3c929 Nullkiller: fix android 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3e9bf9b662 Nullkiller: try to fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
32fb465823 Nullkiller: stabilization+clasterization improvements+fuzzy fear 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
75b8ee74fa Nullkiller: stabilisation after refactoring 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1806dd8447 Nullkiller: remove AIhelper + refactoring 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
f832a8b3cd Nullkiller: calibration and small behavior fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
37f49f2ac5 Nullkiller: stabilization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
dec723b4be Nullkiller: android fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
e95ccda5de Nullkiller: various fixes for town portal and other 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1a69a43f09 Nullkiller: fix border gate and garrison bypassing when owned 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
0705ee595a Nullkiller: object clusterizer 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1d4a349c2c Nullkiller: fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
c7d35dcc6f Nullkiller: disable decomosition for now. Very slow 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
cebb5b296b Nullkiller: fix priorities after refactoring 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1349eff201 Nullkiller: android fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
33b499976a Nullkiller: fixes for keymaster 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
8f8c5ca255 Nullkiller: initial decomposition 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
223a52b3d1 Nullkiller: Try to join behavior and goal and see what come out of it. 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
af0dcf97c4 Nullkiller: initial cleanup of unused code 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
5344df51c6 Nullkiller: capture guarded artifacts and other fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1fd838a5b9 Nullkiller: stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
8e4ca10365 Nullkiller: fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
6682485395 Nullkiller: fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
506ecc2ea7 Nullkiller: fix android build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
c10c1cab2c Nullkiller: fix build 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
9c14ccab8f Nullkiller: fixes after first 5 autotesting maps 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
df78e3243b Nullkiller: stabilisation, improve gather army 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
9d020be63b Nullkiller: fix priority of townhall 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
b7b615ec70 Nullkiller: stabilisation fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
17a960e850 Nullkiller: gold preasure and turn variables for priority evaluation. Tweaking building behavior 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
a39fa51e14 Nullkiller AI: basic hill fort support and hero chain reworked to start from stronger army 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
400967904b Nullkiller AI: stabilization of build and prioritization fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
de2361650b Nullkiller AI: add Analyzers folder, add BuildingBehavior 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
af9261d428 NullkillerAI: Added movement cost by hero role. New priority engine looks more or less stable. 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
eea5cb7f0b Nullkiller AI: further stabilisation, implement staged hero chain (first with limit 0 turns then 1 turn) 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
6bebb766a6 Nullkiller AI: new prioritization engine stabilization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
b261734905 Nullkiller AI: new prioritization engine 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
66ed1a2901 Nullkiller AI: add strategical value fuzzy variable 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
e6eb9ccc03 Nullkiller: dismising and hiring hero in order to defend town 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
84e5e6ac17 Nullkiller: rework defence a bit 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1096f2e9e6 Nullkiller: town portal fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
a2ac19e4ec Nullkiller: defence behavior 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
f44c3f2aaf Nullkiller: improve handling of enemy hero value 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
6faac5aeca Nullkiller: improve artifact value evaluation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
642f3a3fa4 Nullkiller: fix a few freezes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
2798dcd6c5 Nullkiller: remove PRI* print macroses 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
682707e4f1 Nullkiller: fix build and warnings 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
fdd5be1e40 Nullkiller: fix build and some warnings 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
ada76a5603 Nullkiller: fix file headers, move fuzzy config to ai folder 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1d561b9882 Nullkiller: fixes for partly visible objs 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
28b77e0b79 Nullkiller: rename fuzzy logic to .txt 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
e3c87fb58d Nullkiller: stabilisation and fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
bcf8db3d05 Nullkiller: startup scripts 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
5fe2630c64 Nullkiller: rework prioritization, add hero roles, skills and other variables 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
531d0af95b ai fixes for android 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
14adf1d108 AI: implement hero skills evaluator 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
01975e339b Nullkiller: android build fixes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3744125270 Nullkiller: armed heros prefer armed targets 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
4bf653f596 AI: danger hitmap using visible enemy heroes 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
04bf6f536d Nullkiller: temporary hacks to allow army buying 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
286d084445 Nullkiller: better tracing and hero locking for hero chain 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
ffa626dc2f AI: add ExecuteChain goal 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
37434dc4cf AI: hero chain stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3ffcef30f6 AI: add army cost 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
f44eaf8132 AI: inefective chain cancellation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
0e328ab3c2 AI: hero chain stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
3a0d9fe14e AI: adding towns and dwellings to hero chain 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
8961f1c803 AI: fix hero exchange logic, allow splitting weakest-fastest creature, refactoring 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
e838e70165 ai fix town portal to occupied town 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
774f531c4e hero chain stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
87f1079c60 nullkiller&herochain stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
62e5366a08 AI: rough hero chain stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
ff57a52001 Nullkiller: hero chain stabilisation 2021-07-26 21:02:50 +03:00
AlexVinS
dd046e60be Quick fix for https://bugs.vcmi.eu/view.php?id=3041 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
fa39279c82 Nullkiller - rough stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
cd0f479d7e Nullkiller: rough implementation of prioritization 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
eee145c486 Nullkiller: rough implementation of capture objects and recruit hero behaviors 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
9c85e26d3c Nullkiller: add engine and activate it for blue AI only. Engine does nothing 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
a88181acd7 AI: separate hero chain recalculation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
c1e521a544 Nullkiller - rough stabilisation 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
9d70b28c9b AI: hero chain basic logic 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
1e4a086bb1 AI pathfinding loss evaluation 2021-07-26 21:02:50 +03:00
AlexVinS
594d1684e9 Switch to MinGW 7.3 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
0bff5f9eb6 AI pathfinding shared storage 2021-07-26 21:02:50 +03:00
Andrii Danylchenko
be4f803d4a Nullkiller: copy VCAI 2021-07-26 21:02:50 +03:00