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

753 Commits

Author SHA1 Message Date
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
AlexVinS
15138c23de Finished conversion to new logging API
* removed logger streams
* (float3|int3)::operator() -> (float3|int3)::toString(), it was too ugly and confusing.
2017-08-11 23:06:27 +03:00
AlexVinS
143ff682bc Logging cleanup 2017-08-10 21:59:55 +03:00
AlexVinS
85e952f25f Logging cleanup 3 2017-08-10 20:17:10 +03:00
AlexVinS
61e241308d Logging cleanup 2017-08-10 19:52:05 +03:00
ArseniyShestakov
9d9c026c85 Code style: serialize everything on own lines for easier debugging (#357) 2017-07-31 16:35:42 +03:00
Arseniy Shestakov
cdd9dbc7f1 Code style: avoid some ambiguous else if indentation
If some code intentionally want to break else if to achieve specific indentation there must be braces.
2017-07-19 03:42:26 +03:00
ArseniyShestakov
b2f74a93cf Code style: add empty parameter list to all lambda expressions (#345) 2017-07-17 15:35:57 +03:00
ArseniyShestakov
a4c0ad94b1 Code style: remove default value hints in definitions (#342)
Some are outdated and this is something IDE are useful for.
2017-07-15 14:08:20 +03:00
Dydzio
0cb6515ae8 VCAI tweaks (#311)
* Add extra priority support for town capture evaluation
* Improve building algorithm
* GatherArmy: check free gold instead of total for when hiring heroes
2017-07-15 01:15:08 +03:00
Arseniy Shestakov
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
AlexVinS
bc626c2446 Fixed race condition 2017-07-12 18:26:20 +03:00
Victor Luchits
30cc2f6a01 Change the output path for cmake so all files go into the same root directory 2017-07-07 13:08:53 +03:00
AlexVinS
3d1a84875e Queries refactoring
* Moved SUMMON_BOAT special case to mechanics
* Partially moved Town portal logic to mechanics class
* Added generic query reply to CCallback
* Redesigned Queries so that base API do not depends on CGameHandler
* Got rid of CGameHandler::castSpellRequest
* Removed CGameHandler::castSpell
* Added new Query type for town portal dialog (not used yet)
2017-07-03 21:43:04 +03:00
Arseniy Shestakov
fb19a3a068 CMake: update all CMakeLists to include actual sources and headers
This make it easier to use project with newer CMake and Qt Creator.
I decided against using GLOB since we don't rename files that much.
2017-06-29 02:03:37 +03:00
DJWarmonger
5a31cc831d Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
Trying to sort out git tree.
2017-06-16 21:49:49 +02:00
DJWarmonger
5e8fe083f2 Normalized GatherArmy evaluation. 2017-06-16 21:14:24 +02:00
AlexVinS
86f9df5f68 Made gamestate lock static 2017-06-14 07:59:41 +03:00
DJWarmonger
9623f7caf3 - Restored MSVS project files
- Fixed VCAI bu pointed out by Tow
2017-06-11 08:01:41 +02:00
AlexVinS
a85b4cf2a5 * WIP on event condition format
* Hero portrait serialization
* Fix town spells serialization

* Added support for float exponential part in Json
* Added support for int64 in Json
* Added basic Hero definitions serialization
* Added rumors serialization
* Advanced player info serialization.
* Added Disposed heroes serialization, (!) not covered with tests yet
* Added Local event serialization
* Added Pandoras box serialization
* Added Seer hut reward serialization
* Added CQuest serialization
* Added API for map object instance names serialization.
* Added random dwelling options serialization
* Advanced town options serialization
* Advanced hero options serialization
* More map format tests
* A lot of fixes, cleanup and refactoring
2017-05-27 00:23:19 +03:00
Fay
b5daa24982 Android support (#299)
* AI libs registering shenanigans on android;
* Fixed resolution aspect + mouse event scaling;
* Proper server init/deinit (through android IPC);
Enabled threaded init in CMT;
* Prevented a deadlock in logger on some devices;
* Fixed frozen intro frame after interrupting the video;
Added android progressbar displaying during initial data loading;
* Hacky fix for choppy animations during heroes movement (should look better now, but it's definitely not a good solution);
* Changes/fixes for new android launcher building process;
* Fixed app hang after getting SDL_QUIT when activity was destroyed;
* Functioanal, configurable advmap swiping support;
* VCMI changes cleanup;
Added few missing VCMI_ANDROID guards on swipe mechanics;
* Removed unneeded sleep in server startup code for android;
* Removed android ioapi hack (fixed in newest ndk);
* Removed unused android's library loading logic;
* Added android's swipe option to settings schema;
* Moved NO_STD_TOSTRING to be defined in global.h instead of build files;
2017-05-25 20:57:20 +03:00
Dydzio
3326bfc067 Naming fix 2017-02-18 21:10:59 +01:00
dydzio
a4f375d9c0 Make AI able tobuy extra buildings. Fix bug #2640 2017-02-18 18:40:44 +01:00
Michał Kalinowski
4d39f652bf Making more detailed options when choosing AI in launcher: http://
bugs.vcmi.eu/view.php?id=2369
2017-01-17 12:34:28 +01:00
DjWarmonger
6848a52ce1 Fixed heroes not unreserving Teleports, which makes them wander around it endlessly and blocking path.
TODO: properly handle all Teleports as "visited" objects
2016-12-19 21:46:01 +01:00
DjWarmonger
f18d3d9844 Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2016-12-15 10:55:57 +01:00
AlexVinS
374f7780ee Fixed build. 2016-12-13 12:27:48 +03:00
DjWarmonger
01730ec98a A little TODO 2016-12-12 22:52:18 +01:00
DjWarmonger
27ff9efd4b Fixed #1713 2016-12-12 21:38:12 +01:00
DjWarmonger
80d5f7b4a4 Updated project files to MVS 2015 (in fact, it's trivial). 2016-12-12 19:14:45 +01:00
AlexVinS
4288bb88ae Fixed CID 1197622.
* Coverity says that this line actually unreachable
2016-12-05 03:02:52 +03:00
DjWarmonger
eaf14f6429 Should fix #2624. 2016-11-29 22:07:35 +01:00
Arseniy Shestakov
fd3992ddc9 GatherTroops: avoid crash if nearest dwelling wasn't found. Issue 2624 2016-11-29 21:57:00 +03:00
DjWarmonger
72a36b92d6 Fixed regression. 2016-11-29 18:11:52 +01:00
DjWarmonger
67d5cee05e Fixed CID 1366402 2016-11-29 17:19:41 +01:00
DjWarmonger
81e7164ef2 Fixed CID 1366401 2016-11-29 17:12:10 +01:00
DjWarmonger
8058cb3cad Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2016-11-28 21:53:33 +01:00
DjWarmonger
ffc511054e Do not visit Eye of The Magi. 2016-11-28 21:45:41 +01:00
AlexVinS
204ee37ae4 boost/program_options has only 2 uses, and unlikely will be used more -> removed form Global.h. 2016-11-28 21:38:17 +03:00
DjWarmonger
9b5af484b7 Fixed AI getting stuck at blockVisit objects (Tavern, Borderguards/gates etc). 2016-11-28 19:29:11 +01:00
DjWarmonger
a1b7c9d8d2 Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2016-11-28 12:07:30 +01:00
AlexVinS
fd9cfa406d Possible fix for http://bugs.vcmi.eu/view.php?id=2620 2016-11-28 04:43:09 +03:00
DjWarmonger
76c4ef32c2 Re-evaluate goal after hero move to make AI more consistent. 2016-11-27 18:10:20 +01:00
AlexVinS
c4ab962cc0 Fixed a few CWE-457 2016-11-27 17:48:18 +03:00
DjWarmonger
169334f877 VCAI: do not buy heroes with single creatures for GatherArmy 2016-11-26 18:03:09 +01:00
DjWarmonger
3c3b973597 Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2016-11-26 17:41:45 +01:00
DjWarmonger
58ac31375b Fixed CID 1197636. 2016-11-26 17:41:34 +01:00
AlexVinS
86e33a4c45 [Refactoring] Unified SetResources NetPack API. 2016-11-26 15:14:43 +03:00
DjWarmonger
a86edca7d8 Fixed CID 1288882 2016-11-25 19:54:28 +01:00
AlexVinS
692d23e580 Fixed CID 1366376 2016-11-25 13:38:26 +03:00
Ivan Savenko
5b76c3f4eb Rebase of codebase changes for refactored serializer
Some of newer fixes not yet merged there and save compatibility a bit off.
2016-10-27 18:12:20 +03:00
Arseniy Shestakov
cb3d6a24e7 Cmake: cleanup for commit hash in build version
Since it's available in lib we don't need to include it everywhere.
2016-10-27 17:01:29 +03:00
Vadim Markovtsev
da1c9cf249 Fix rebuilding everything on HEAD change 2016-10-23 16:56:53 +02:00
Vadim Markovtsev
d0beb27197 Add git commit hash into the version string 2016-10-23 15:45:47 +02:00
Vadim Markovtsev
4bcc43d3d0 Fix Mantis #2234
CPlayerInterface instances were removed from CClient::playerint with
clear() and finish() was not called on each. Added multiple insurance.
2016-10-22 16:22:00 +02:00
Arseniy Shestakov
02a45007e7 VCAI::showGarrisonDialog: don't try to pick army from locked garrison 2016-09-19 03:30:55 +03:00
Arseniy Shestakov
84137dcaa5 Add DLL_LINKAGE to getStr and fix player id logging in VCAI 2016-09-16 05:45:00 +03:00
Arseniy Shestakov
30042cac3d VCAI::performTypicalActions: always check that hero is still available
It's weird why this only appear now so if you have ideas check issue 2479.
2016-09-16 04:52:17 +03:00
Arseniy Shestakov
ca0fe8fdc4 VCAI: do not attempt artefact and army exchange with ally hero
While visits of ally heroes supposedly occur accidentally It's still nice to handle it's gracefully.
No reason to prevent visits completely as they useful if hero have skill like Scholar.
2016-09-14 13:34:22 +03:00
Arseniy Shestakov
7ec9601acd VCAI: safety checks to avoid crashes with boat objects
Probably we should rewrite boat-related code to make AI boat handling easier.
2016-09-14 03:44:35 +03:00
Arseniy Shestakov
6dcb9a6068 VCAI: don't remove flagged objects from visitableObjs
This make my new shipyard-related changes work properly and might improve owned dwelling usage.
In case there still some code that might cause useless visits it's better just rewrite it insted of removing objects from visitableObjs.
2016-09-13 23:39:32 +03:00
Arseniy Shestakov
9296382bc6 More fixes for clang warning... 2016-09-08 19:58:01 +03:00
Arseniy Shestakov
78a560767b VCAI compareArtifacts: consider that art with highest price is best
That is suboptimal way as well, but let us avoid infinite loop there. Fix issue 2461
2016-09-08 04:29:27 +03:00
Arseniy Shestakov
8e94b1c4d2 VCAI::objectRemoved: handle hero boat removal. Fix issue 2350
Avoid situation when AI attempt to visit boat after it's killed hero who used it.
2016-09-04 15:44:42 +03:00
Alexander Shishkin
5e5ce0bb09 Merge pull request #203 from vcmi/logFormat
boost::format support for CLogger
2016-08-29 17:32:44 +04:00
Arseniy Shestakov
452e28d183 Remove some useless includes found by cppclean
This of course was tested and shouldn't break anything
2016-08-26 04:42:16 +03:00
Arseniy Shestakov
ab06cfd586 More fixes for uninitialized fields 2016-08-18 18:53:28 +03:00
AlexVinS
439aeecc8b [c::b] re-enabled PCH, tested with GCC 5.3. (Older versions may not work) 2016-08-18 13:40:35 +03:00
Arseniy Shestakov
39fe9472b6 CGameHandler::moveArtifact: check lock status by slot instead of id
This one fix issue 2455. We still need to do something with ArtifactID::ART_LOCK or ids for artifact from mods since they might conflict with each other.
2016-08-18 06:35:29 +03:00
Arseniy Shestakov
91c298bdaa VCAI::tileHidden: added clearPathsInfo
Sector map likely updated anyway after AI turn starts, but cleaning of heroesUnableToExplore when tile hidden feels reasonable.
2016-08-18 03:51:00 +03:00
Arseniy Shestakov
c931fa5081 SectorMap::exploreNewSector: only store visible visitable objects
Fix crash that I initially missed. AI unable to access information about hidden objects like events via callbacks so we shouldn't store them here too.
2016-08-18 03:33:23 +03:00
AlexVinS
f06e9c8538 VCAI convert logging 2016-08-15 08:30:06 +03:00
AlexVinS
22884d9150 AI logging convert 1 2016-08-13 17:44:37 +03:00
AlexVinS
72f79a3ad7 Draft boost::format based log proxy. 2016-08-13 16:57:09 +03:00
Arseniy Shestakov
7bdcd209e6 VCAI::wander: only use nearby objects from SectorMap when possible
Now AI only check full object list if there is no suitable objects found in current sector and sectors around it.
This optimization drastically increase wandering performance on maps with tons of objects when AI see most of it.
2016-08-12 09:08:53 +03:00
Arseniy Shestakov
aabf4808da SectorMap: remember all visitable objects in sector for wandering 2016-08-12 09:02:14 +03:00
Arseniy Shestakov
b83dea2008 VCAI::wander: map object selection refactoring
Avoid doing extra steps that's not needed. Related to issue 2454.
2016-08-11 16:53:05 +03:00
Arseniy Shestakov
8533ee3256 VCAI::validateVisitableObjs: drop unused code that
For whatever reason it's not removed at compile time and still wasting CPU.
2016-08-11 14:54:58 +03:00
Arseniy Shestakov
6433d7dd40 VCAI::getFlaggedObjects: don't use thread specific ptr within VCAI 2016-08-11 12:19:08 +03:00
Arseniy Shestakov
25fd4d85e2 VCAI::getFlaggedObjects: use visitableObjs for better performance
This change is drastically improve performance on maps with water. One part that caused issue 2454.
2016-08-11 03:58:24 +03:00
Arseniy Shestakov
10dbbead2d Fix indentation of logging code and around it
That wouldn't be as big issue if problem affected few files, but it everywhere in codebase.
Fixed it everywhere since in most files that is the only code with wrong indentation.
2016-03-12 04:46:21 +03:00
Arseniy Shestakov
5778082842 VCAI: dont visit border guard if tent not visited. Fix issue 1590
CQuest::checkQuest cant be used for border guard since CGKeys not yet work using quests.
Currently border guard have MISSION_NONE quest that always return true and make AI stuck.
2016-02-25 08:40:28 +03:00
Vadim Markovtsev
3926920103 Rename radious -> radius
There is no such English word, "radious"
Some files get new lines in the end - BSD sed bug + best practices
2016-01-31 18:01:58 +03:00
ArseniyShestakov
4e8486da7b Merge pull request #160 from vmarkovtsev/issue/2388
Fix 2388 obelisks puzzle revealing
2016-01-27 20:49:03 +03:00
AlexVinS
d7c0c3759a Merge branch 'Zyx-develop' into develop
Conflicts:
	lib/filesystem/AdapterLoaders.h
2016-01-27 18:53:41 +03:00
AlexVinS
bffdc2813d revert some project changes 2016-01-27 15:21:29 +03:00
ArseniyShestakov
c7ca88f84b Merge pull request #157 from vmarkovtsev/issue/2383
Issue/2383 fix invalid AI path detection
2016-01-23 22:02:10 +03:00
Vadim Markovtsev
10f888a483 Fix obelisks puzzle revealing
Teams and players were messed up in lib; hardcoded constants were refactored.
2016-01-20 10:44:13 +03:00
Vadim Markovtsev
6eefce23fe Check against nullptr in VisitHero::fulfillsMe() 2016-01-19 21:15:07 +03:00
Vadim Markovtsev
2bfc8ec8cb Fix AI hero infinite move on the same tile 2016-01-19 13:14:05 +03:00
Zyx-2000
a50a702073 switched to -std=gnu++11 2016-01-18 17:49:07 +01:00
Zyx-2000
203b2dccc3 hopefully fixed things 2016-01-09 21:23:55 +01:00