Ivan Savenko
08fbcd5239
TerrainTile now uses identifiers instead of pointers to VLC
2024-10-30 16:22:11 +00:00
Ivan Savenko
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
Ivan Savenko
6b8f94e6e7
Merge remote-tracking branch 'vcmi/master' into develop
2024-07-11 17:43:44 +00:00
Ivan Savenko
40f17d654d
Use containers with pre-allocations to improve pathfinding speed
2024-07-03 18:06:56 +00:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Andrii Danylchenko
017fb204a1
NKAI: remove 5th dimension
2024-03-24 09:32:54 +02:00
Ivan Savenko
c23953eac5
Remove custom casts
2024-02-14 12:56:37 +02:00
Alexander Wilms
678cacbd25
Remove more redundant virtual
specifiers
...
`grep -nr "virtual " | grep -v googletest | grep " override" | grep -v overriden > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":",2)
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-13 15:21:30 +01:00
Alexander Wilms
522cb571b3
Remove redundant virtual
specifiers
...
`grep -nr virtual | grep -v googletest | grep override > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":")
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-10 20:46:13 +01:00
Ivan Savenko
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Ivan Savenko
8303ce5d13
Added option to ignore guards in pathfinder
...
Used for simturns contact detection, by default disabled for player
pathfinding
2024-01-13 19:44:37 +02:00
Joakim Thorén
406d136cdc
Fixes warnings about possibly dangling references
2023-12-27 22:24:58 +01:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Ivan Savenko
0a10fc30b8
(lib) Bonus subtype is now stored as metaidentifier that can store any
...
other identifier inside it
2023-10-22 16:54:43 +03:00
Johannes Schauer Marin Rodrigues
f9e1b302c7
some spelling fixes
2023-10-18 01:41:02 +02:00
Ivan Savenko
e0ea994656
Moved some pathfinding options to game settings
2023-06-25 17:42:36 +03:00
Ivan Savenko
08cfbe79cf
Added encapsulation for movement points access
2023-06-25 17:42:36 +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
acac42291e
Remove excessive CMap.h includes
2023-05-31 23:18:38 +03:00
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Andrey Filipenkov
3602645a30
improve iterating over EPathfindingLayer
2023-03-20 11:35:19 +03:00
Ivan Savenko
fa6f7513e8
All heroes-related strings are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
908e6892f3
Removed CGHeroInstance::getPosition pseudo-override
...
Now access to hero visible position is always done via visitablePos
2022-12-07 22:10:08 +02:00
Tomasz Zieliński
97a94ce61e
Handle Tile by reference instead of pointer
2022-09-25 08:04:15 +02: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
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
3fa7e0976f
Nullkiller: update / fix build, core changes required for Nullkiller AI
2021-07-26 21:02:50 +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
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
Andrii Danylchenko
5fb5ddfc67
ai fix town portal to occupied town
2019-02-26 22:50:46 +02:00
Andrii Danylchenko
f76c6c2300
Remove a few more usages of thread shared ai and cb
2019-02-17 14:32:42 +02: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
Arseniy Shestakov
e511ee0078
AI: fix paths after merge of #545
2019-02-09 18:46:19 +03:00
Andrii Danylchenko
5454848938
AI: extract pathfinding special actions and rules to separate files
2019-02-08 17:43:32 +02: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
AlexVinS
f0492ffa53
Tweaks
2019-01-08 00:49:36 +03:00