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

624 Commits

Author SHA1 Message Date
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