1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-14 10:12:59 +02:00
Commit Graph

944 Commits

Author SHA1 Message Date
Andrey Filipenkov
3616827aad use default implementation of special methods 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
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
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
Konstantin
c6b198ce14
Warning fix (I moved C++17 and CI to another branch) (#739)
* clang warning fixes
* use CMake 3.10 due to MXE CI does not have 3.13 yet

Co-authored-by: Konstantin <rilian@niisi.ras.ru>
2022-05-19 15:14:50 +03:00
Andrii Danylchenko
56a1984aa8 Remove extra non-printable characters 2022-04-27 09:22:18 +03:00
val-gaav
8baa97acd3 Update VCAI.cpp 2022-04-26 15:08:02 +03:00
Dmitry Orlov
ea2931c6ea Fix: Get rid of 'Tile is not visible' error message 2022-01-30 12:31:07 +02:00
Andrii Danylchenko
ae67ef027a Nullkiller: fix old VCAI new lines 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
9c8d776398 Merge branch 'develop' into handlersAbstraction
# Conflicts:
#	CI/linux/before_install.sh
#	CI/mac/before_install.sh
#	CI/mxe/before_install.sh
#	lib/CModHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.h
#	lib/mapObjects/CommonConstructors.cpp
#	server/CGameHandler.cpp
#	test/CMakeLists.txt
#	test/spells/effects/TeleportTest.cpp
2021-07-16 00:32:13 +03:00
Dmitry Orlov
0e5d427dc9 Fix: VCAI should not attempt to move Spellbook 2021-04-29 00:04:22 +03:00
AlexVinS
ecaa9f5d0b Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
Dmitry Orlov
39de2f6435 Fix: Morale bonus should be shown correctly 2020-11-11 22:43:40 +03:00
John Bolton
c61bae4060 Fixed RETURN_IF_BATTLE(). Undid disabled warnings. Fixed indentation. 2020-10-05 16:28:28 -07:00
John Bolton
a05ae78e67 Fixed lots of warnings.
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.

4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
Dmitry Orlov
5e0023704b Fix PQ issues while calculating paths 2020-09-22 00:19:40 +03:00
Jacob Lundgren
cfe33e6b6e 3117: Fix crash after AI revisits teleporter
**	Behavioral change: Fix AI heroes sometimes attempting to probe
teleport exits using data from a previously processed hero, causing
nullptr dereferences.

VCAI::moveHeroToTile has special case logic for revisiting tiles. This
logic could cause teleport exits to be stored in
teleportChannelProbingList, without the list subsequently being
cleared. If the processing of that hero ended immediately after that,
the next hero would believe that the list is accurate for them and
attempt to teleport while not standing on a teleporter.
2020-05-01 06:33:06 +03:00
Andrii Danylchenko
bdec7db528 [3085] - MapObjectEvaluator crashes on custom monolith 2019-09-13 10:33:06 +03:00
Dydzio
54550b50de Update VS files to 2019, partially fix test project 2019-06-09 17:28:55 +02:00
Dydzio
4be4e10fe9 Fix wrong AI prison value handling 2019-06-05 23:07:22 +02:00
Alexander Shishkin
b16af04a09
Merge pull request #597 from dydzio0614/AiInterruptFix
Ensure no freeze on AI interruption
2019-06-03 16:53:35 +03:00
AlexVinS
1f2ee843aa [C::B] Switched to boost shared linkage 2019-05-30 20:55:40 +03:00
Andrii Danylchenko
11af1431fb
Fix code style
Co-Authored-By: Alexander Shishkin <alexvins@users.noreply.github.com>
2019-05-29 22:07:10 +03:00
Andrii Danylchenko
0bd5782470 AI: blind fix for 3062 2019-05-28 09:04:31 +03:00
Dydzio
545b07b8b8 Thread interruption fixes 2019-05-26 17:55:22 +02:00
AlexVinS
cffd763bb5 [C::B] Updated projects. 2019-05-04 10:45:00 +03:00
Alexander Shishkin
bd11e87f6a
Merge pull request #572 from dydzio0614/FuzzyHelperCrash
Fix crash caused by FuzzyLite destructor
2019-04-21 22:06:53 +03:00
Andrii Danylchenko
4153ebac58 ai fixes for android 2019-04-11 14:54:48 +03:00
Michał Kalinowski
ac6b477aa2 Simplify statements
-Simplify return statements across the code
2019-03-31 09:43:14 +03:00
Dydzio
55b000fb64 Fix crash caused by FuzzyLite destructor 2019-03-30 19:19:36 +01:00
Michał Kalinowski
ec536e613c CMake more transitive
-Moving AIs cmake to target focusing code
-Beign explicit when link libraries
2019-03-28 16:56:51 +03:00
Dydzio
94040ea8af Update VS files (add AI armymanager) 2019-03-25 02:20:24 +03:00
Andrii Danylchenko
75ed6210c6 try fix build 2019-03-23 14:11:57 +02:00
Andrii Danylchenko
ffdf5ad180 AI: fix hero exchange logic, allow splitting weakest-fastest creature, refactoring 2019-03-17 11:54:02 +02:00
Alexander Shishkin
83094faf8e
Merge pull request #553 from nullkiller/ai-fix-town-portal-to-occupied-town
ai fix town portal to occupied town
2019-03-08 20:26:32 +03:00
Andrii Danylchenko
5fb5ddfc67 ai fix town portal to occupied town 2019-02-26 22:50:46 +02:00
AlexVinS
f36a86412e Quick fix for https://bugs.vcmi.eu/view.php?id=3041 2019-02-24 18:45:53 +03:00
AlexVinS
9311966706 [C::B] Switch to MinGW 7.3 2019-02-19 14:59:10 +03:00
Andrii Danylchenko
f76c6c2300 Remove a few more usages of thread shared ai and cb 2019-02-17 14:32:42 +02:00
Alexander Shishkin
6165954e40
Merge pull request #546 from nullkiller/ai-pathfinding-update-paths
AI pathfinding const api and updatePaths
2019-02-14 20:33:00 +03:00
Dydzio
e6baba3ca0 Disable tactical advantage engine until rework 2019-02-13 12:01:32 +01:00
Alexander Shishkin
1e8fc51f70
Merge pull request #549 from dydzio0614/AiStackSplitImprovement
AI hero exchange improvement: split last creature stack
2019-02-13 00:02:31 +03:00
Dydzio
aafad18121 Style fixes 2019-02-12 19:47:19 +01:00
Dydzio
997ed6fcd0
remove legacy VisitObj goal name in AI logging 2019-02-12 18:29:42 +01:00
Dydzio
18e139d9e3 AI hero exchange improvement: split last creature stack 2019-02-12 17:20:59 +01:00
Dydzio
b492e7f3e8 Do not generate GatherArmy goal as result of GatherArmy decomposition 2019-02-11 12:46:47 +01:00
AlexVinS
1f83953da4 Partial fix for https://bugs.vcmi.eu/view.php?id=3033 2019-02-10 21:09:24 +03:00
Andrii Danylchenko
881e7f2061 AI pathfinding: use own FuzzyHelper for each storage to allow parallel processing without cuncarrent access 2019-02-10 15:25:56 +02:00
Andrii Danylchenko
675406589c AI pathfinding calculated in parallel 2019-02-10 15:25:56 +02:00
Andrii Danylchenko
35f696b695 AI pathfinding const api and updatePaths 2019-02-10 15:25:56 +02:00
AlexVinS
b24c037129 [C::B] Updated projects 2019-02-10 04:57:06 +03:00
Arseniy Shestakov
e511ee0078 AI: fix paths after merge of #545 2019-02-09 18:46:19 +03:00
Dydzio
6c886db079 Update VS project filters 2019-02-09 13:24:43 +01:00
Andrii Danylchenko
5454848938 AI: extract pathfinding special actions and rules to separate files 2019-02-08 17:43:32 +02:00
Arseniy Shestakov
f06c8a8725 VisitObjEngine: avoid crashes if object is no longer visible
This really shouldn't happen, but better safe than sorry
2019-01-27 05:58:46 +03:00
Andrii Danylchenko
bf87a9774d AI: stability fixes 2019-01-26 22:38:57 +02:00
Andrii Danylchenko
c96be75f41 AI: optimizae explore logically, reduce amount of scanned tiles during full map scan for new exploration point 2019-01-19 17:50:59 +02:00
Alexander Shishkin
b00e935e4d
Warnings fixes (#538)
Warnings fixes
* Suppress `missing-braces` for Clang
* Fixed many C4275 warnings
* Fixed almost all Clang/GCC warnings
* Silence most frequent MSVC warning.
* Fixed some pessimizing-move warnings
* Fixed some unused capture warnings
2019-01-19 13:52:02 +03:00
AlexVinS
da20aa2388 Use the same cost value in Pathfinder and fuzzy evaluations. 2019-01-17 10:54:41 +03:00
AlexVinS
4b5910c2f4 VCAI performance improvements
* Node graph initialization optimized.
* Fixed "Unathorized obstacle access".
* Pathfinding tracing disabled with ifdef.
* Misc bonus calculation optimizations.
* Removed timestamp from log lines. Date formatting eats too much CPU.
* Paths for all heroes in Client are now cached
2019-01-17 10:50:56 +03:00
Andrii Danylchenko
8fee46de7c AI: town portal support 2019-01-17 10:40:23 +03:00
DJWarmonger
2e20dce71f Fixed random hack that broke VCAI in recent commit. 2019-01-09 19:25:51 +01:00
AlexVinS
f0492ffa53 Tweaks 2019-01-08 00:49:36 +03:00
AlexVinS
f1cd4656ff Fixed warnings. 2019-01-08 00:40:09 +03:00
AlexVinS
9ec3d2ef64 Merge remote-tracking branch 'remotes/nullkiller/ai-refactor-exploration-according-to-new-pathfinder' into develop 2019-01-08 00:25:25 +03:00
Andrii Danylchenko
8b829e1099 AI: fix crash in pathfinding 2019-01-07 22:12:59 +02:00
DjWarmonger
efc53e8f8b
Merge pull request #530 from dydzio0614/objRemovalFix
Extend objectRemoved callback to check parent goals and resource manager
2019-01-07 19:00:06 +01:00
Andrii Danylchenko
bdaf127976 AI: explore logical optimization 2019-01-07 14:58:12 +02:00
Andrii Danylchenko
04047d0a1a AI: refactor explore further 2019-01-07 14:07:36 +02:00
Andrii Danylchenko
edc5abe49d AI: tweak explore to work with new pathfinding. 2019-01-07 14:07:36 +02:00
Andrii Danylchenko
f36ac1a6e2 AI: fix one more freeze in buy army 2019-01-06 22:36:46 +02:00
Dydzio
3e1b623fb6 Refactor goal removal from resource manager queue 2019-01-01 15:41:52 +01:00
Dydzio
456132c06b Fix code mistake 2019-01-01 14:19:52 +01:00
Dydzio
94df657d03 Check parent goals and resource manager for validity 2019-01-01 14:19:52 +01:00
Dydzio
216d50788b Fix AI build, update default Windows SDK version for projects 2018-12-31 15:18:42 +01:00
AlexVinS
5a8416bd19 [c::b] Updated projects, fixed build 2018-12-31 00:03:31 +03:00
Andrii Danylchenko
2c401931c4 AI: fix freeze on BuyArmy 2018-12-30 16:40:05 +02:00
Andrii Danylchenko
ee5a26da60 AI: fix freeze while endlesly trying to recruit hero which is not possible anylonger. 2018-12-25 15:04:03 +02:00
Andrii Danylchenko
035d279ae8 Refactor CGHeroInstance, make spells private 2018-12-23 15:49:26 +03:00
Andrii Danylchenko
5d022ba77c AI: CompleteQuest goal and summon boat spell support 2018-12-23 15:49:26 +03:00
DJWarmonger
e996879733 Commented out some extensive logs which slowed down pathfinder. 2018-12-16 16:12:41 +01:00
DJWarmonger
f4a8a1294e Optimizations based on MSVS profiler. 2018-12-16 15:46:48 +01:00
Dydzio
e1c27d04b4 Update VS files to match AI goals split 2018-12-05 13:05:54 +01:00
Andrii Danylchenko
e1b922f7b8 AI goals refactoring (#524) 2018-12-01 11:30:37 +03:00
Alexander Shishkin
000ca1c823
Merge pull request #520 from nullkiller/freeze-in-gather-troops
AI: GATHER_TROOPS improvements and fixes
2018-11-17 18:46:02 +03:00
Dydzio
c3088e293a Workaround linker bug, set higher optimization by default 2018-11-17 11:34:39 +01:00
Andrii Danylchenko
60c5f584a8 AI: GATHER_TROOPS improvements and fixes 2018-11-14 22:10:02 +02:00
Dydzio
d5063e53a0 Do not evaluate goals related to removed hero 2018-11-07 21:04:15 +01:00
Andrii Danylchenko
9a0b5a0afc AI: fix freeze when AI has a win condition to control own town 2018-11-06 21:45:29 +02:00
Andrii Danylchenko
3871ed0085 Hero try to execute a quest to kill himself 2018-11-05 22:24:15 +02:00
Andrii Danylchenko
812df63aae Freeze when try to bypass a few adjasent guards 2018-11-04 14:37:29 +02:00
Alexander Shishkin
064130973f
Merge pull request #514 from dydzio0614/HeroAiValueFix
Hero ai value fix
2018-11-03 23:34:03 +03:00
Dydzio
3e6cdb28bc Promote no AI value message to error, shouldn't happen without mods 2018-11-03 13:03:31 +01:00
Dydzio
8ec558a2ae Fix AI value handling for heroes 2018-11-03 12:46:02 +01:00
Dydzio
9f3d718e3b Allow AI to be aware of invisible heroes deletion 2018-11-02 16:35:25 +01:00
Dydzio
90c7daccc5 Fix path (#510) 2018-10-31 00:55:34 +03:00
Alexander Shishkin
e26f6ff15f
Merge pull request #505 from janisozaur/catch-by-ref
Catch exceptions by const-ref, not by value
2018-10-30 05:08:30 +03:00
Michał Janiszewski
7be9aa4868 Prevent shadowing of function arguments by local vars 2018-10-29 16:56:14 +01:00
Michał Janiszewski
9822a8f2df Catch exceptions by const-ref, not by value 2018-10-29 16:41:54 +01:00
Andrii Danylchenko
d5b26d9592 AI pathfinding: fix getPathsToTile for water tiles 2018-10-28 15:03:40 +02:00
Alexander Shishkin
bd0f8f840a
Merge pull request #497 from nullkiller/ai-pathfinder-boat
AI pathfinding: buy boat
2018-10-28 14:29:09 +03:00
Andrii Danylchenko
72aff02418 AI pathfinding: buy boat 2018-10-21 14:17:55 +03:00
Dydzio
1a05e41aac BuildingManager refactoring: C++11 vector usage without helper array 2018-10-16 19:52:36 +02:00
Dydzio
e13e88bf5c ResourceManager-compliant money saving for income buildings 2018-10-16 19:52:36 +02:00
Dydzio
b69c316409 Add possible income utility function, make capitol building errorproof 2018-10-16 19:52:36 +02:00
Dydzio
12e1e5b315 Disable building from army goals, re-fix building capitol prereqs 2018-10-16 19:52:35 +02:00
Dydzio
8c763253d2 Build fort unconditionally with high priority, no fort=no dwellings 2018-10-16 19:52:35 +02:00
Dydzio
c04bb9387f New rule: Cannot build upgrades without fort 2018-10-16 19:52:35 +02:00
Dydzio
a00a7762b5 Fix for new pathfinder code - generate proper goals 2018-10-15 21:17:14 +02:00
Alexander Shishkin
6958f2cddf
Merge pull request #493 from dydzio0614/FuzzyEvaluationFixes
Fuzzy evaluation fixes
2018-10-10 22:00:14 +03:00
Dydzio
a1c0b9268e Create artifact AI value handling 2018-10-10 15:22:15 +02:00
Dydzio
9ef0481610 object value terms rework 2018-10-10 15:18:34 +02:00
Dydzio
71a3852be4 Fix some flaws of old fuzzy engines 2018-10-10 15:18:33 +02:00
Dydzio
69e142c2b9 Change fuzzy engines activation method 2018-10-10 15:18:33 +02:00
AlexVinS
be45c8cb43 Updated C::B projects, fixed a few warnings 2018-10-10 16:07:28 +03:00
Dydzio
2a299e52a8 Add AI pathfinding to VS files 2018-10-09 12:39:57 +02:00
Andrii Danylchenko
f327c46fa3 AI pathfinding: rename and add const to functions 2018-10-07 14:51:27 +03:00
Andrii Danylchenko
cf213a5acf #2983б #2910 and a few other bugs fixed 2018-10-06 16:35:31 +03:00
Andrii Danylchenko
49c872e4ec AI: replace SectorMap with new PathfinderManager 2018-10-06 16:35:31 +03:00
Andrii Danylchenko
6ac987794c AI: first rule extracted for pathfinder 2018-09-23 15:26:53 +03:00
AlexVinS
99f167a44c AIhelper should be owned by AI instance. 2018-09-02 18:04:38 +03:00
Arseniy Shestakov
edcaaf036a MSVC: fixes for compatibility with latest Vcpkg packages 2018-08-27 22:19:11 +03:00
AlexVinS
690b3caff0 [c::b] Updated projects 2018-08-26 19:42:41 +03:00
Dydzio
0edac2e124 update missing VS .h files 2018-08-23 17:02:09 +03:00
Dydzio
1471043cae Update visual studio project files 2018-08-22 17:31:48 +03:00
DJWarmonger
346796f4f8 Possible fix for evaluate VisitHero (compiler optimization?) 2018-08-22 12:32:48 +02:00
DjWarmonger
5f39e92eb4
Merge branch 'develop' into VCAI_fixes 2018-08-22 08:06:13 +02:00
DJWarmonger
383c9a20af A bunch of fixes for recent branch. 2018-08-22 07:51:35 +02:00
DjWarmonger
f484baea9f
Merge pull request #474 from vcmi/FuzzyHelperRework
FuzzyHelper refactoring + Ai Map Object Evaluation improvements
2018-08-22 07:33:09 +02:00
DJWarmonger
6503830bde Important fixes:
- AI will not always trade resources if it has better options
- Do not use reserved objects for CollectRes
2018-08-21 13:48:19 +02:00
DJWarmonger
2f4b463459 - Fixed major bugs with building dwellings. ResourceManager doesn't support building in future turns.
- Tweaks for trading
2018-08-21 12:55:31 +02:00
DJWarmonger
a44c792b7c Important fix for ClearWayTo in new branch. 2018-08-21 08:40:47 +02:00
DJWarmonger
35d2af2e7d Simplified CollectRes - rely on VisitObj now 2018-08-20 21:31:58 +02:00
Dydzio
243ce7370a This fixes crash... idk why 2018-08-20 15:20:47 +02:00
Dydzio
158b3c0b80 Initial implementation of invalid VisitObj removal 2018-08-20 14:43:51 +02:00
Dydzio
d41741251f Fix VisitObj bugs / logic flaws 2018-08-19 20:41:29 +02:00
Dydzio
b1651d716f Stupid typo fix 2018-08-19 17:11:06 +02:00
Dydzio
e197d22e68 Improve dwelling value evaluation 2018-08-16 21:17:45 +02:00
AlexVinS
de5f1461ba Fixed https://bugs.vcmi.eu/view.php?id=2998 2018-08-12 15:02:10 +03:00
Dydzio
a7c2d03c87 Fixes 2018-08-10 20:36:42 +02:00
Dydzio
72b206347f Split Fuzzy.cpp/h 2018-08-10 18:27:57 +02:00
Dydzio
bd3d27c79b Leftover stuff: rename GET_OBJ 2018-08-10 16:48:42 +02:00
Dydzio
3961b4ac93 Rename GetObj->VisitObj to reflect new functionality 2018-08-10 16:45:00 +02:00
Dydzio
f2ba500e90 Autocalculate default AI value for dwellings 2018-08-10 16:36:45 +02:00
Dydzio
787f4032b4 fulfillsMe change revert, tweaks 2018-08-10 13:42:15 +02:00
AlexVinS
c4af306ceb [c::b] Updated projects 2018-08-10 08:14:10 +03:00
Dydzio
f91c85a900 Crash fix 2018-08-10 01:04:31 +02:00
Dydzio
5065f5a104 Fixes 2018-08-10 00:33:18 +02:00
Dydzio
c0821495e5 GetObj tweak 2018-08-09 22:07:02 +02:00
Dydzio
4b776db1a2 Set destination tile in GetObj - needed for priority evaluation 2018-08-09 20:24:19 +02:00
Dydzio
fa97940b4f Improve wander logging 2018-08-09 18:24:04 +02:00
Dydzio
ff2ac5b34b Minor fixes 2018-08-09 18:04:49 +02:00
Dydzio
1377338a41 Restore old code line 2018-08-09 17:45:58 +02:00
Dydzio
616a6bbdf7 New object target handling in wander 2018-08-09 16:28:15 +02:00
Dydzio
41df9d8283 Move away subgoal collection logic for GetObj 2018-08-09 13:17:58 +02:00
Dydzio
2365946b62 Elementar GetObj - first attempt 2018-08-09 13:17:58 +02:00
Dydzio
e89c7eeba4 Remove incorrect destructors - fl::Engine is responsible for these 2018-08-09 13:17:57 +02:00
Dydzio
2079ae6190 Revert "use smart pointers for fl variables"
This reverts commit d30b76bd7b47d1bfd197e80a7b0675bd7815db03.
2018-08-09 13:17:57 +02:00
Dydzio
67439bdd36 use smart pointers for fl variables 2018-08-09 13:17:57 +02:00
Dydzio
12d750a767 Accessibility tweaks + fix some compile errors 2018-08-09 13:17:57 +02:00
Dydzio
b29d5bb001 finished FuzzyHelper logic separation 2018-08-09 13:17:57 +02:00
Dydzio
64b7c9f036 VisitTile fuzzy logic separated from FuzzyHelper 2018-08-09 13:17:57 +02:00
Dydzio
37b2dbcbba Finish moving init functions to goal engine constructors 2018-08-09 13:17:57 +02:00
Dydzio
e33ef71882 FuzzyHelper is on diet... gotta get thinner 2018-08-09 13:17:57 +02:00
Dydzio
a8f5882a77 Initial split of classes 2018-08-09 13:17:57 +02:00
DJWarmonger
8ec762f858 Fixed possible (?) crash in ResourceManager 2018-08-08 15:43:42 +02:00
DJWarmonger
4b602c42ff Fix for fix, ugh. 2018-08-08 14:26:21 +02:00
DJWarmonger
d07a77f34b - Tweaks for GatherArmy
- Tweaks for exploration
- Increased default priority of BuyArmy, SIGNIFICANT improvement!
2018-08-08 12:38:32 +02:00
DJWarmonger
a9ef8fe32f - Fixed Border Gates logic
- VCAI may now walk onto removable objects when exploring
2018-08-08 10:52:52 +02:00
DJWarmonger
6fd403d7cf Remove Capitol-related code, it's redundant now. 2018-08-07 18:44:03 +02:00
DJWarmonger
a827c083d8 Remove useless code 2018-08-06 21:54:17 +02:00
DJWarmonger
4d701736f9 Important changes:
- Fixed goal completion logic
- WIN can't be completed
2018-08-06 20:25:39 +02:00
DJWarmonger
8eec7d71ad Little tweak - prioritize instant buildings over ones we can't afford. May be useful with multiple towns. 2018-08-06 17:42:58 +02:00
DJWarmonger
36e44adc8c rebase 2018-08-06 10:02:59 +02:00
DjWarmonger
2afe36ebf7
Merge pull request #476 from vcmi/SectorMapRefactor
Morning!
2018-08-05 06:56:24 +02:00
AlexVinS
bd23c7d909 [c::b] Updated projects 2018-08-05 06:45:07 +03:00
DJWarmonger
580fed34bb Updated CMakeLists.txt 2018-08-04 22:00:28 +02:00
DJWarmonger
f5ba181173 Refactoring: Move SectorMap to separate file 2018-08-04 21:59:30 +02:00
DjWarmonger
f2db64af94
Merge pull request #471 from vcmi/BuildingManager
Building manager
2018-08-04 21:07:40 +02:00
DJWarmonger
976eeb3578 Sweet Jesus 2018-08-04 16:22:24 +02:00
DJWarmonger
4a85559d4b Merge branch 'develop' of https://github.com/vcmi/vcmi into BuildingManager
# Conflicts:
#	AI/VCAI/CMakeLists.txt
2018-08-04 16:09:02 +02:00
DJWarmonger
6615870045 Rebase 2018-08-04 15:59:59 +02:00
Dydzio
8a862347c4 Update VCAI VS file 2018-08-04 15:45:22 +02:00
DjWarmonger
b0e1b8c5ec
Merge pull request #465 from vcmi/AIMapObjectEvaluation
Okay let's see where this gets us.
2018-08-04 15:07:08 +02:00
DJWarmonger
aa9c6d3716 Cleanup 2018-08-04 13:18:05 +02:00
DJWarmonger
9e34ef5534 AI will not try to sell reserved resources. 2018-08-04 11:51:19 +02:00
DJWarmonger
2aa0a6fe2f More fixes for trading. Seems to work now. 2018-08-04 10:20:40 +02:00
DJWarmonger
a5ca32ad38 Some checks and log for CollectRes goal. 2018-08-04 09:24:43 +02:00
Andrii Danylchenko
4141e8e7b0 [2982] AI: unexpected error in AI logic when take resource on adjasent tile 2018-08-01 21:49:15 +03:00
Dydzio
22b02ecc78 Use boost::optional "better way" 2018-07-30 15:32:55 +02:00
Dydzio
0786bd915a remove C++17 insert_or_assign usage 2018-07-30 14:07:39 +02:00
Dydzio
123ca6c417 Update CMakeLists.txt 2018-07-30 01:39:47 +02:00
Dydzio
2288e9b8aa
Merge branch 'develop' into AIMapObjectEvaluation 2018-07-30 01:33:49 +02:00
AlexVinS
f17783cfb5 [c::b] Updated projects, applied fixes 2018-07-29 22:07:40 +03:00
Dydzio
393b25eb7f Minor tweaks/fixes 2018-07-29 19:31:01 +02:00
Dydzio
f906d98fe5 Bugfix... 2018-07-29 16:02:18 +02:00
DJWarmonger
30f99e7cc1 Fix for Travis 2018-07-28 16:02:59 +02:00
Dydzio
d3e53bea2f Add aiValue handling for MapObjectsEvaluator 2018-07-28 12:58:18 +02:00
DJWarmonger
70549197b6 Naah, revert my changes. 2018-07-28 09:08:53 +02:00
DJWarmonger
e7cb8d7d17 Fixed GetObj (TRADING_POST) incorrectly set to elementar. 2018-07-28 06:47:37 +02:00
DJWarmonger
a8696a9957 formatting 2018-07-27 09:22:07 +02:00
DJWarmonger
6abebeeb9f Fixed non-const reference issue. 2018-07-27 08:10:21 +02:00
DJWarmonger
ea19716fb9 Fix for wander - AI sitting at town will buy troops. 2018-07-27 07:20:08 +02:00
DJWarmonger
301565b315 Updated CMake 2018-07-27 06:44:10 +02:00
Dydzio
df00ced204 Create fuzzy logic map object evaluation fundamentals 2018-07-27 02:28:12 +02:00
Dydzio
27541a72f5 Extract FuzzyHelper distance calculation 2018-07-27 02:21:51 +02:00
DJWarmonger
feb3459bd7 Oops restore. 2018-07-26 21:34:52 +02:00
DJWarmonger
5ce4e784c9 Final tweaks. Not going to add anything more to this PR. 2018-07-26 18:02:15 +02:00
DJWarmonger
e5b979d4ad - ResourceManager now returns abstract goal so it can be decomposed many times 2018-07-26 16:15:37 +02:00
DJWarmonger
1450d408a2 Wandering heroes may now travel to town even if it has no army in garrison. 2018-07-26 14:37:39 +02:00
DJWarmonger
b687688f5a Do not add duplicate objectives to GatherArmy pool (or any other, if it ever exist) 2018-07-26 13:29:46 +02:00
DJWarmonger
273802c92c I have no idea what I'm doing 2018-07-26 12:14:29 +02:00
Dydzio
b6a171f858 Add code comments for VCAI::makeTurnInternal 2018-07-23 20:48:38 +02:00
Dydzio
13cca972d6 Add visual studio file changes in advance 2018-07-23 19:47:07 +02:00
Dydzio
1a78ea15bb Tweaks 2018-07-22 19:53:06 +02:00
Dydzio
21c1f47a78 Fixes 2018-07-22 19:12:11 +02:00
Dydzio
2c1d91e2ff Move object ID struct to lib 2018-07-22 18:38:45 +02:00
Dydzio
08a66abdcc Singleton implementation fix 2018-07-21 15:42:17 +02:00
Dydzio
82da82fbeb Polish object database, add data operations 2018-07-21 14:30:38 +02:00
Dydzio
36f501ebf3 Implement MapObjectsEvaluator as singleton utility 2018-07-21 11:28:55 +02:00
Dydzio
6a9e91b99b Added basic interface for AI to evaluate objects 2018-07-20 21:14:57 +02:00
DJWarmonger
cae8acc56a Clearing up the code as requested by FeniksFire 2018-07-19 20:39:37 +02:00
DJWarmonger
3d59420bb5 Minor optimisations. Also, shoter code. 2018-07-19 17:36:10 +02:00
Andrii Danylchenko
12a3c7ed33 AI - code styles and remove redundant performance optimization for explore 2018-06-24 13:30:17 +03:00
Andrii Danylchenko
2466489e13 AI - improve exploration, cancel deadends 2018-06-21 22:29:26 +03:00
Johannes 'josch' Schauer
a54e8c88a9
AI/VCAI/VCAI.cpp: Remove unused variable introduced in 2014 2018-04-19 15:15:22 +02:00
Arseniy Shestakov
25dea1a599 Code style: formatting and refactoring of VCAI code 2018-04-08 17:43:20 +07:00
Alexander Shishkin
5c09f751b3 Gui cleanup3 - UI refactoring to use smart pointers (#440)
* Changed most gui classes to use shared pointers
* Store and use IImage as shared_ptr
* CSpellWindow redesign
* AdventureMapClasses cleanup
* CLabel: store background as smart pointer
* Store CObjectList items as smart pointers
* Removed destroy function of list item
* Store toggle buttons as smart pointers
* Use CComponent as smart pointer
* Attempt to fix artifact merchant drawing
2018-04-07 18:34:11 +07:00
AlexVinS
03cfd2cb78 Do not use StackLocation in netpacks 2018-03-17 13:24:12 +08:00
AlexVinS
166c04e2e0 Hack fixed serializer assertion by completely disabling AI goals serialization 2018-02-28 15:00:38 +08:00
Nikolay Shalakin
3795985de9 Eliminate warnings / errors. Pull request #388 2018-02-11 15:17:14 +03:00
Arseniy Shestakov
324717acbe Spelling fixes: privilaged -> privileged, retreive -> retrieve 2018-02-10 21:52:23 +03:00
AlexVinS
0a2b04709f Fixed https://bugs.vcmi.eu/view.php?id=2873 2018-02-09 22:12:21 +03:00
AlexVinS
0b70baa95e Spells configuration version 2 (effect-based)
* Indirect spell effects loading
* Json serializer improvements
* spell->canBeCastAt do not allow useless cast for any spell
* Added proxy caster class for spell-created obstacles
* Handle damage from spell-created obstacles inside mechanics
* Experimental GameState integration/regression tests
* Ignore mod settings and load only "vcmi" mod when running tests
* fixed https://bugs.vcmi.eu/view.php?id=2765 (with tests)
* Huge improvements of BattleAI regarding spell casts
* AI can cast almost any combat spell except TELEPORT, SACRIFICE and obstacle placement spells.
* Possible fix for https://bugs.vcmi.eu/view.php?id=1811
* CStack factored out to several classes
* [Battle] Allowed RETURN_AFTER_STRIKE effect on server side to be optional
* [Battle] Allowed BattleAction have multiple destinations
* [Spells] Converted limit|immunity to target condition
* [Spells] Use partial configuration reload for backward compatibility handling
* [Tests] Started tests for CUnitState
* Partial fixes of fire shield effect
* [Battle] Do HP calculations in 64 bits
* [BattleAI] Use threading for spell cast evaluation
* [BattleAI] Made AI be able to evaluate modified turn order (on hypothetical battle state)
* Implemented https://bugs.vcmi.eu/view.php?id=2811
* plug rare freeze when hypnotized unit shots vertically
* Correctly apply ONLY_MELEE_FIGHT / ONLY_DISTANCE_FIGHT for unit damage, attack & defense
* [BattleAI] Try to not waste a cast if battle is actually won already
* Extended JsonSerializeFormat API
* fixed https://bugs.vcmi.eu/view.php?id=2847
* Any unit effect can be now chained (not only damage like Chain Lightning)
** only damage effect for now actually uses "chainFactor"
* Possible quick fix for https://bugs.vcmi.eu/view.php?id=2860
2018-02-08 11:37:21 +03:00
Dydzio
38d836d1a5 Update project files to Visual Studio 2017 2018-01-13 16:33:49 +01:00
Arseniy Shestakov
da117e9255 Code style: remove void from constructors without arguments 2018-01-13 11:51:47 +03:00
Michał Kalinowski
26a222ac62 Change JsonType to enum class (#393)
Change enum JsonType to enum class JsonType
2017-11-27 00:18:18 +03:00
DJWarmonger
bf20b165ec Fix. Don't skip usual condition. 2017-11-04 22:50:11 +01:00
DJWarmonger
3eb5de9534 Fixed AI trying to visit tavern over and over.
TODO: AI still can't use it, anyway.
2017-11-04 22:45:19 +01:00
DJWarmonger
edc4c01805 Fixed a case when AI could spend all money on army and not build anything in secondary towns. 2017-11-04 22:14:56 +01:00
Dydzio
ea17b0f458 Major overhaul of VS related files 2017-08-19 15:58:55 +02:00
Dydzio
e3ba491fa1 Use multi-core compile by default, fix VCMI_client path 2017-08-19 13:27:24 +02:00
Arseniy Shestakov
40af43c46e CMake: massive rework for Mac build and other improvements
- macOS: RPATH-related code all removed or disabled
- macOS: new osx/CMakeLists.txt to run some install-code running after all subdirectories
- Assets copying into the runtime output directory implemented for Mac and Linux development
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
193f492b99 CMake: cleanup, project generation and other improvements
- Use EXCLUDE_FROM_ALL for FuzzyLite and GoogleTest to avoid inclusion of unneded headers and libraries into installers.
- Set minimum CMake version only in main CMakeLists.txt
- Set project name only in main CMakeLists.txt
- Visual Studio: add assign_source_group function to generate proper filesystem tree
- Visual Studio: set PROJECT_LABEL so generated projects have same names binaries on Windows
- Visual Studio: enabled USE_FOLDERS for projects grouping. This also possibly affect other IDEs.
- Added add_subdirectory_with_folder function to make sure 3rd-party libraries are affected by USE_FOLDERS.
2017-08-16 16:10:07 +03:00
Juan Rada-Vilela
7069f4b416 Upgrade to fuzzylite 6.0 as a submodule 2017-08-15 16:05:49 +03:00