1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-21 00:19:29 +02:00
Commit Graph

583 Commits

Author SHA1 Message Date
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
c61bae4060 Fixed RETURN_IF_BATTLE(). Undid disabled warnings. Fixed indentation. 2020-10-05 16:28:28 -07:00
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
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
545b07b8b8 Thread interruption fixes 2019-05-26 17:55:22 +02:00
ac6b477aa2 Simplify statements
-Simplify return statements across the code
2019-03-31 09:43:14 +03:00
ffdf5ad180 AI: fix hero exchange logic, allow splitting weakest-fastest creature, refactoring 2019-03-17 11:54:02 +02:00
5fb5ddfc67 ai fix town portal to occupied town 2019-02-26 22:50:46 +02:00
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
aafad18121 Style fixes 2019-02-12 19:47:19 +01:00
18e139d9e3 AI hero exchange improvement: split last creature stack 2019-02-12 17:20:59 +01:00
35f696b695 AI pathfinding const api and updatePaths 2019-02-10 15:25:56 +02:00
bf87a9774d AI: stability fixes 2019-01-26 22:38:57 +02:00
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
da20aa2388 Use the same cost value in Pathfinder and fuzzy evaluations. 2019-01-17 10:54:41 +03:00
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
8fee46de7c AI: town portal support 2019-01-17 10:40:23 +03:00
9ec3d2ef64 Merge remote-tracking branch 'remotes/nullkiller/ai-refactor-exploration-according-to-new-pathfinder' into develop 2019-01-08 00:25:25 +03:00
edc5abe49d AI: tweak explore to work with new pathfinding. 2019-01-07 14:07:36 +02:00
3e1b623fb6 Refactor goal removal from resource manager queue 2019-01-01 15:41:52 +01:00
456132c06b Fix code mistake 2019-01-01 14:19:52 +01:00
94df657d03 Check parent goals and resource manager for validity 2019-01-01 14:19:52 +01:00
2c401931c4 AI: fix freeze on BuyArmy 2018-12-30 16:40:05 +02:00
ee5a26da60 AI: fix freeze while endlesly trying to recruit hero which is not possible anylonger. 2018-12-25 15:04:03 +02:00
035d279ae8 Refactor CGHeroInstance, make spells private 2018-12-23 15:49:26 +03:00
5d022ba77c AI: CompleteQuest goal and summon boat spell support 2018-12-23 15:49:26 +03:00
e1b922f7b8 AI goals refactoring (#524) 2018-12-01 11:30:37 +03:00
60c5f584a8 AI: GATHER_TROOPS improvements and fixes 2018-11-14 22:10:02 +02:00
d5063e53a0 Do not evaluate goals related to removed hero 2018-11-07 21:04:15 +01:00
3871ed0085 Hero try to execute a quest to kill himself 2018-11-05 22:24:15 +02:00
9f3d718e3b Allow AI to be aware of invisible heroes deletion 2018-11-02 16:35:25 +01:00
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
7be9aa4868 Prevent shadowing of function arguments by local vars 2018-10-29 16:56:14 +01:00
9822a8f2df Catch exceptions by const-ref, not by value 2018-10-29 16:41:54 +01:00
72aff02418 AI pathfinding: buy boat 2018-10-21 14:17:55 +03:00
be45c8cb43 Updated C::B projects, fixed a few warnings 2018-10-10 16:07:28 +03:00
cf213a5acf #2983б #2910 and a few other bugs fixed 2018-10-06 16:35:31 +03:00
49c872e4ec AI: replace SectorMap with new PathfinderManager 2018-10-06 16:35:31 +03:00
99f167a44c AIhelper should be owned by AI instance. 2018-09-02 18:04:38 +03:00
5f39e92eb4 Merge branch 'develop' into VCAI_fixes 2018-08-22 08:06:13 +02:00
f484baea9f Merge pull request #474 from vcmi/FuzzyHelperRework
FuzzyHelper refactoring + Ai Map Object Evaluation improvements
2018-08-22 07:33:09 +02:00
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
243ce7370a This fixes crash... idk why 2018-08-20 15:20:47 +02:00
158b3c0b80 Initial implementation of invalid VisitObj removal 2018-08-20 14:43:51 +02:00
de5f1461ba Fixed https://bugs.vcmi.eu/view.php?id=2998 2018-08-12 15:02:10 +03:00
72b206347f Split Fuzzy.cpp/h 2018-08-10 18:27:57 +02:00
bd3d27c79b Leftover stuff: rename GET_OBJ 2018-08-10 16:48:42 +02:00
3961b4ac93 Rename GetObj->VisitObj to reflect new functionality 2018-08-10 16:45:00 +02:00
f91c85a900 Crash fix 2018-08-10 01:04:31 +02:00
5065f5a104 Fixes 2018-08-10 00:33:18 +02:00