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