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
Andrii Danylchenko
ec5c44bb92
Merge pull request #3594 from vcmi/fix-3550
...
#3550 - fix case when unit is in reachability map but only next turn
2024-02-04 10:07:44 +02:00
Andrii Danylchenko
c66de29550
#3550 - fix case when unit is in reachability map but only next turn
2024-02-03 17:48:52 +02:00
Ivan Savenko
f329bfbe71
Merge pull request #3582 from IvanSavenko/campaign_fixes
...
Campaign fixes
2024-02-01 11:30:38 +02:00
Ivan Savenko
626087ab14
Merge pull request #3561 from MnHebi/develop
...
Try to improve VCAI building build order
2024-01-31 21:48:36 +02:00
Ivan Savenko
2e4895766a
Implemented tracking of objects destroyed by players
2024-01-31 01:37:33 +02:00
Ivan Savenko
a9866bb5c6
Added RandomGeneratorUtil::nextItemWeighted convenience method
2024-01-31 00:17:40 +02:00
MnHebi
8b24b0e9a7
Add Marketplace, Blacksmith into extra buildings category to ensure they get built. Misc changes.
2024-01-26 00:56:36 +02:00
Laserlicht
7f58333ef9
quick combat vs ai
2024-01-25 23:44:41 +01:00
MnHebi
4318b25399
Merge branch 'vcmi:develop' into develop
2024-01-25 21:27:06 +02:00
Ivan Savenko
2a193effcc
Merge branch 'master' into 'develop'
2024-01-25 16:23:13 +02:00
MnHebi
a668dc2721
Try to improve VCAI building build order. Testing reveals extra structures still get done before intended build order(seen Market being built when Dwellings were expected).
2024-01-25 03:26:42 +02:00
Ivan Savenko
284273379e
Merge pull request #3536 from IvanSavenko/serialization_refactor
...
Refactoring of serialization versioning handling
2024-01-22 19:49:24 +02:00
Andrii Danylchenko
bf54a6a7d3
Merge pull request #3537 from vcmi/nkai-fix-pathfinder-commited-tiles
...
NKAI: avoid writing to commited tiles when calculating hero chain
2024-01-21 14:51:33 +02:00
Andrii Danylchenko
708e0d1107
NKAI: avoid writing to commited tiles when calculating hero chain
2024-01-21 10:18:39 +02:00
Andrii Danylchenko
cb297793e0
NKAI: fix lock
2024-01-21 10:05:40 +02:00
Andrii Danylchenko
0c1664dbe7
NKAI: various AI fixes after tests in headless
2024-01-20 22:55:30 +02:00
Andrii Danylchenko
1db43a509e
NKAI: fix casting FLY several times during path calculation
2024-01-20 22:55:28 +02:00
Andrii Danylchenko
36bc9ddcec
NKAI: mutex for internal AI state
2024-01-20 22:55:27 +02:00
Andrii Danylchenko
cc7fc4a2c6
Fix headless mode
2024-01-20 22:55:27 +02:00
Ivan Savenko
0c07384293
Refactoring of serialization versioning handling
...
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum
Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
Ivan Savenko
62935b4ba4
Fix crash on using StupidAI for player actions
2024-01-20 17:15:51 +02:00
Ivan Savenko
d04241b10a
Code cleanup
2024-01-19 23:02:00 +02:00
Ivan Savenko
ea1f05d15a
Stabilization
2024-01-19 13:55:22 +02:00
Ivan Savenko
60ffb81b33
Replaced remaining placeholder code with callbacks
2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
Ivan Savenko
2c4cad7d9c
Slight simplification of bonus system node class
2024-01-19 13:54:49 +02:00
Ivan Savenko
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
Ivan Savenko
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Alexander Wilms
73019c204d
Replace redundant types with auto
for the lvalues of template factory functions for smart pointers
...
grep -r --include \*.h --include \*.cpp "= std::" * | grep -v auto | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return" | grep -v double | grep -v si64 | grep -v si32 | grep -v ui32 | grep \< | grep -v float | tr -d '\t' | grep -v assert > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = ":".join(line.split(":")[1:]).strip()
print()
print(path)
print(original_code)
prefix = "auto "
if original_code.startswith("static"):
static = True
else:
static = False
cpp_type = " ".join(original_code.split("=")[0].strip().split(" ")[0:-1])
print(cpp_type)
if static:
new_code = "static auto "+ " ".join(original_code.split(" ")[2:])
else:
new_code = "auto "+ " ".join(original_code.split(" ")[1:])
print(new_code)
if True:
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-17 12:50:00 +00:00
Ivan Savenko
e849e4170a
Merge pull request #3486 from Alexander-Wilms/replace-redundant-types-with-auto
...
Replace redundant types with `auto`
2024-01-17 13:31:05 +02:00
Alexander Wilms
1b85abb508
Use auto instead of redundant type in initializations using new
...
grep -r --include \*.h --include \*.cpp "=" * | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return\|{\|}\|= \"\|= tr(\|virtual\|void" | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "float\|nullptr" | grep "new" | grep -v "AI/FuzzyLite" | grep \( | grep "= new" > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = line.split(":")[1].strip()
if "new " in original_code:
cpp_type = original_code.split(" ")[0]
if original_code.count(cpp_type) == 2:
print()
print(path)
print(original_code)
new_code = "auto "+" ".join(original_code.split(" ")[1:])
print(new_code)
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-16 21:40:53 +00:00
Alexander Wilms
cca08e29da
Remove duplicate semicolons
2024-01-16 19:02:39 +00:00
Ivan Savenko
a582cb554e
Merge pull request #3500 from IvanSavenko/fix_dendroid_bind
...
[1.4.3] Fix handling of Dendroid's Bind ability
2024-01-15 12:02:06 +02:00
Ivan Savenko
b4a1a755a4
Merge pull request #3498 from IvanSavenko/simturns_pathfinder
...
[1.4.3] Fixes for simultaneous turns
2024-01-15 12:00:54 +02:00
Ivan Savenko
0d0d3d8c80
Renamed speed -> getMovementRange, remove misleading default parameter
2024-01-14 17:14:36 +02:00
Alexander Wilms
bc781c28e0
Remove trailing semicolon from NET_EVENT_HANDLER macro
2024-01-14 14:49:25 +00:00
Andrii Danylchenko
3602be5eab
BattleAI: remove adjustPositions method as it gives more troubles than usefulness
2024-01-14 10:23:44 +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
Alexander Wilms
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00:00
Andrii Danylchenko
1a1ae5cd8b
BattleAI: fixes
2024-01-02 17:35:10 +02:00
Joakim Thorén
daf9f9f7f5
Re-add const that was erronously removed with 88ec4fa
...
Co-authored-by: Andrey Filipenkov <kambaladecapitator@gmail.com>
2023-12-30 11:01:21 +01:00
Joakim Thorén
88ec4fa0e7
Use getTileThreat-helper instead of directly accessing hitMap with tile coordinates
2023-12-29 23:12:06 +01:00
Joakim Thorén
61314a36f6
Fix copy-paste mistake
2023-12-27 22:35:43 +01:00
Joakim Thorén
406d136cdc
Fixes warnings about possibly dangling references
2023-12-27 22:24:58 +01:00
Ivan Savenko
85de3143ff
Fixed Genie spellcasting logic to account for spell immunities
2023-12-24 01:13:19 +02:00
Dydzio
fe39faf36c
Add UNTIL_OWN_ATTACK bonus duration and use for berserk
2023-12-19 19:52:40 +01:00
Andrii Danylchenko
26b6d1cf74
NKAI: fix capturing shipyards
2023-12-02 14:03:54 +02:00
Ivan Savenko
d326c53b9a
AI will now respect current value of "Use spells in autocombat" setting
2023-11-28 15:48:35 +02:00
Ivan Savenko
60ca6f968c
Fix hero limit check in AI
2023-11-27 14:08:49 +02:00
Ivan Savenko
ff6260e5c5
Merge pull request #3195 from IvanSavenko/identifier_string_serialization
...
Serialize Identifiers that can be added by mods as strings
2023-11-20 14:07:24 +02:00
Ivan Savenko
b58301849b
Pass functor via reference to avoid costly copies
2023-11-18 19:43:11 +02:00
Ivan Savenko
9b8145f522
Compute creature speed only once during evaluation
2023-11-18 19:41:29 +02:00
Ivan Savenko
9f906ff1d2
Remove pointer to CGObjectInstance from map header
2023-11-17 16:39:15 +02:00
Ivan Savenko
76956cfe3a
Merge pull request #3188 from IvanSavenko/remove_identifier_implicit_int_conversion2
...
Remove implicit conversion of identifier to integer
2023-11-16 17:26:32 +02:00
Ivan Savenko
52050d0ef1
Fix build
2023-11-15 15:55:19 +02:00
Ivan Savenko
96c81be68e
Win/loss conditions now use VariantIdentifier. Removed non-implemented
...
options
2023-11-15 15:55:19 +02:00
Ivan Savenko
20ef3a69e7
Fix most of memleaks discovered by valgrind
2023-11-13 16:27:15 +02:00
Ivan Savenko
4a7fa9bf8c
Simplified CTypeList class
2023-11-08 22:05:36 +02:00
Ivan Savenko
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Ivan Savenko
7107b3202f
Merge pull request #3069 from SoundSSGood/artifact-location-id
...
ArtifactLocation now use ID for artHolder identification
2023-11-01 14:41:36 +02:00
SoundSSGood
ab2f6abb87
ArtifactLocation now use ID for artHolder identification part2
2023-10-29 17:46:13 +02:00
SoundSSGood
61fc236d79
ArtifactLocation now use ID for artHolder identification part1
2023-10-29 17:46:13 +02:00
Alexander Wilms
5cbc75d3b7
Merge remote-tracking branch 'upstream/develop' into develop
2023-10-29 13:35:37 +00:00
Alexander Wilms
ed86a917eb
AI/BattleAI/BattleAI.cpp: Use Class template argument deduction for wallParts array
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-10-29 13:34:19 +00:00
Alexander Wilms
0232ae5327
AI/BattleAI/BattleEvaluator.cpp: Convert this integer literal to a bool literal.
...
Integer literals should not be cast to bool
2023-10-29 13:34:19 +00:00
Alexander Wilms
bfddc90ff4
AI/BattleAI.cpp: Use "std::array" or "std::vector" instead of a C-style array.
...
Variables of array type should not be declared cpp:M23_356
2023-10-29 13:34:19 +00:00
Ivan Savenko
0169c65937
Merge pull request #3100 from IvanSavenko/split_net_packs
...
Split netpacks.h into multiple files
2023-10-29 13:46:40 +02:00
Alexander Wilms
0a6c82c639
AI/Nullkiller/Behaviors/DefenceBehavior.{h,cpp}: treat -> threat
2023-10-27 23:34:11 +00:00
Alexander Wilms
457e73ed12
AI/BattleAI/BattleExchangeVariant.cpp: Do not assign data members in a constructor. Initialize members in an initialization list.
...
Member data should be initialized in-class or in a constructor initialization list
2023-10-27 23:34:11 +00:00
Alexander Wilms
b10b1a5444
AI/BattleAI/BattleExchangeVariant.cpp: This function should be declared "const".
...
Member functions that don't mutate their objects should be declared "const"
2023-10-27 23:34:11 +00:00
Alexander Wilms
af330ff038
AI/BattleAI/BattleEvaluator.cpp: Remove this redundant cast.
...
Redundant casts should not be used
2023-10-27 18:19:17 +00:00
Alexander Wilms
f01ec55d21
Use the "nullptr" literal.
...
"nullptr" should be used to denote the null pointer
2023-10-27 18:18:59 +00:00
Alexander Wilms
bcaa2e5966
AI/VCAI/VCAI.cpp: Remove "e" from "throw" statement to rethrow the original exception.
...
The original exception object should be rethrown
2023-10-27 14:29:44 +00:00
Ivan Savenko
5cbf5031ea
move SetStackEffect to a separate file
2023-10-24 01:27:52 +03:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Andrii Danylchenko
f74daa2e1f
BattleAI: fix health bounty calculation
2023-10-22 22:06:42 +03:00
Andrii Danylchenko
870fbd50e3
BattleAI: bigger reachability map
2023-10-22 21:37:55 +03:00
Andrii Danylchenko
9eb9404f28
BattleAI: divide only positive part of score onto turns count
2023-10-22 21:37:54 +03:00
Ivan Savenko
3880ea58b9
Merge branch 'josch/dos2unix' into develop
2023-10-22 18:39:03 +03:00
Ivan Savenko
4f47555977
Split OBJECT bonus source into OBJECT_TYPE and OBJECT_INSTANCE
2023-10-22 16:55:19 +03:00
Ivan Savenko
ac925bb786
Renamed new types for consistency with code style
2023-10-22 16:55:19 +03:00
Ivan Savenko
80e6485965
MetaIdentifier now uses std::variant internally
2023-10-22 16:55:19 +03:00
Ivan Savenko
b394158dc9
Bonus Source ID now uses metaidentifier
2023-10-22 16:55:18 +03:00
Ivan Savenko
77facf9387
Implement missing functions, fixes linking errors
2023-10-22 16:54:56 +03:00
Ivan Savenko
910ad50417
Fix client & server compilation
2023-10-22 16:54:48 +03: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
Ivan Savenko
454ba44ac5
Merge pull request #2988 from IvanSavenko/configurable_extensions
...
Extension of configurable object functionality
2023-10-22 16:24:47 +03:00
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
...
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.
This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.
Files that are Windows specific like *.vcxproj and *.props files were
not converted.
Closes : #3073
2023-10-19 16:23:21 +02:00
Johannes Schauer Marin Rodrigues
f9e1b302c7
some spelling fixes
2023-10-18 01:41:02 +02:00
Ivan Savenko
fd01a25352
Implemented basic version of configurable Witch Hut
2023-10-16 00:12:38 +03:00
nordsoft
fadf086e61
Fix review comments
2023-10-12 13:30:01 +02:00
nordsoft
7ccd4cdcb2
Refactor quests progress
2023-10-11 21:10:42 +02:00
nordsoft
5b10b457cf
Fix code review suggestions
2023-10-11 00:47:19 +02:00
nordsoft
5eeda3cd25
Quests mostly work
2023-10-10 23:44:29 +02:00
nordsoft
bb238f9b72
New quests work
2023-10-10 23:44:29 +02:00
nordsoft
1460541ee5
New limiter based quests
2023-10-10 23:44:29 +02:00
Ivan Savenko
46e4d862a5
Fix AI recruitment
2023-10-04 17:47:12 +03:00
Ivan Savenko
39a92cdde3
Add query for dwellings dialog
2023-10-04 17:47:12 +03:00
Ivan Savenko
898733eed7
Added Query to track visit duration for Taverns and Markets
2023-10-04 17:47:12 +03:00
Andrii Danylchenko
ebe155fa95
NKAI: mana recovery
2023-09-30 10:37:36 +03:00
Andrii Danylchenko
2dd0d76412
NKAI: water and air walking
2023-09-30 10:37:32 +03:00
Maxim Korotkov
56061d116e
vcai: Combined cases with the same actions
2023-09-27 09:05:58 +03:00
Maxim Korotkov
f874d27797
AI: removed redundant checks
...
The pointers "up" and "down" were checked against nullptr
but it's always non-null
Also added curly braces for if statement. It's good practice
for avoiding shooting yourself to the foot
Signed-off-by: Maxim Korotkov <korotkov.maxim.s@gmail.com>
2023-09-27 09:05:58 +03:00
nordsoft
5f2023c8d5
Fix typo
2023-09-23 04:33:08 +02:00
Ivan Savenko
8c0d78f1d9
Added initiator-player to packs that add/remove/move objects
2023-09-19 19:24:34 +03:00
Ivan Savenko
c8e6a7cd27
Fixed most common cases of movement actions
2023-09-16 20:07:26 +03:00
Andrii Danylchenko
988531c6cb
Merge pull request #2845 from Alexander-Wilms/fuzzylite
...
Support include path of more recent fuzzylite versions
2023-09-16 11:05:55 +03:00
Andrii Danylchenko
a005829a57
NKAI: cancel checking building which needs itself as prerequisite
2023-09-16 11:04:28 +03:00
Alexander Wilms
6c15e5b426
Add include path of a more recent version of fuzzylite, which is required to build it with gcc 12.2.0
...
a651f3d13e
2023-09-16 05:13:16 +00:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
...
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
ef94e7a78a
Fix build
2023-09-06 16:03:47 +03:00
Ivan Savenko
9fa7a93fb0
Properly pass battleID in all battle netpack's
2023-09-06 16:03:47 +03:00
Ivan Savenko
41210c1dbf
Client-side support for multiple battles
2023-09-06 16:03:47 +03:00
Ivan Savenko
036df2e0ad
Support multiple battles in AI
2023-09-06 16:03:46 +03:00
Ivan Savenko
3a88180494
Separated game and battle callback (server & client only)
2023-09-06 16:03:39 +03:00
Ivan Savenko
86a7f5f5cd
Removed getStr(bool), replaced with similar toString()
2023-09-04 22:21:02 +03:00
Ivan Savenko
8dfdfffd87
Use ResourcePath for audio files
2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03:00
Evgeniy Meshcheryakov
ecf9b1aa2f
Fix NKAI compilation with NKAI_PATHFINDER_TRACE_LEVEL>=2
2023-09-04 10:08:56 +03:00
Ivan Savenko
f6a4a1ae0c
Merge pull request #2686 from vcmi/fix-battle-freeze
...
BattleAI: fix freeze
2023-08-31 01:06:47 +03:00
Ivan Savenko
695a51d8c8
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-28 21:19:53 +03:00
nordsoft
98f7ed9dfd
Implement player start turn query
2023-08-28 18:56:36 +04:00
Andrii Danylchenko
4b807e01f1
BattleAI: fix freeze
2023-08-27 21:03:55 +03:00
Ivan Savenko
ce20d913e0
Fix checking PlayerColor's for validness
2023-08-27 01:35:38 +03:00
Andrii Danylchenko
5f13a0bbda
BattleAI: spellcast fixes and floating point score
2023-08-26 14:17:33 +03:00
Andrii Danylchenko
dc88f14e0b
BattleAI: positive/negative effect multiplier
2023-08-26 13:06:51 +03:00
Andrii Danylchenko
03395a3d8a
TBB for battle AI spellcast an fixes
2023-08-26 13:06:51 +03:00
Andrii Danylchenko
274bf739b8
BattleAI: damage cache and switch to different model of spells evaluation
2023-08-26 13:06:51 +03:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
0240ee886d
Converted (almost) all namespace enum's to enum classes
2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
Ivan Savenko
17d3d663ee
Converted creature ID and spell ID to new form
2023-08-25 13:38:02 +03:00
Ivan Savenko
ec8d31bbfc
First step at unifying game identifiers code
2023-08-25 13:38:01 +03:00
Ivan Savenko
d83aa828f6
Fix turn ending
2023-08-24 23:34:33 +03:00
Ivan Savenko
44d16b32fe
Use API identical to std classes where possible
2023-08-23 16:32:29 +03:00
Ivan Savenko
87957e74c1
Replaced boost::thread_specific_ptr with thread_local
2023-08-23 16:32:29 +03:00
Ivan Savenko
2be9664d26
Remove no longer used code
2023-08-21 17:55:49 +03:00
Ivan Savenko
013417fb7e
Code cleanup
2023-08-21 17:55:49 +03:00
Ivan Savenko
a1d3181a98
Unified spellcasting handling with other actions
2023-08-21 17:55:49 +03:00
Ivan Savenko
6297140bf5
Start of stabilization - battles now start correctly
2023-08-21 17:55:49 +03:00
Dydzio
d8eef4905a
Implement new callback in stupidAI
2023-08-20 13:53:25 +02:00
Dydzio
6bfbe80cc9
Allow toggling quick combat spells usage
2023-08-19 17:23:55 +02:00
Andrii Danylchenko
1eabb738dc
NKAI: fix heroes not recruited
2023-08-13 09:08:30 +03:00
Ivan Savenko
92ce97bbc7
Merge remote-tracking branch 'vcmi/master' into beta
2023-08-12 16:20:06 +03:00
DjWarmonger
654489d5d3
Merge pull request #2525 from vcmi/battle-fast-targets
...
Battle fast targets
2023-08-12 09:22:25 +02:00
Ivan Savenko
67b7c39761
Fix possible nullptr dereference
2023-08-11 18:50:39 +03:00
Andrii Danylchenko
ba9998ac66
BattleAI: fast targets optimization
2023-08-08 20:10:29 +03:00
Andrii Danylchenko
e7394ad20c
BattleAI: log time to make a decission
2023-08-08 18:54:49 +03:00
Ivan Savenko
e57f8742cd
Rename ambiguos 'clear' to 'clearSlots'
...
A lot of map objects inherit from CCreatureSet and as result - get
clean() method that resets object army
2023-08-07 19:13:02 +03:00
Andrii Danylchenko
1eb58bcc32
NKAI: fix potential concurrency and town treat calculation
2023-08-07 17:29:27 +03:00
Andrii Danylchenko
04fe78d31c
NKAI: fix freeze on army gathering
2023-08-07 17:29:17 +03:00
Ivan Savenko
3f6cbc6312
Merge pull request #2484 from vcmi/nkai-fix-freeze
...
NKAI: fix freeze on army gathering
2023-08-07 16:52:59 +03:00
Andrii Danylchenko
60f0a4553a
NKAI: fix freeze on army gathering
2023-08-06 09:03:29 +03:00
Andrii Danylchenko
a4297ebdf6
NKAI: fix potential concurrency and town treat calculation
2023-08-06 08:57:14 +03:00
Tomasz Zieliński
3b238ff15e
Fix weekly visitable check
2023-08-01 17:30:47 +03:00
Andrii Danylchenko
4c0aae6fbd
NKAI: fix crash for specific map
2023-07-31 22:01:12 +03:00
Andrii Danylchenko
ccfc6f5716
NKAI: increase towns priority, buy heroes more often
2023-07-31 22:01:12 +03:00
Andrii Danylchenko
ec0596f3dd
NKAI: fix error message can not take away last stack
2023-07-31 22:01:12 +03:00
Andrii Danylchenko
f1a9ae99ee
NKAI: various behavior fixes, undo max_gold_preasure
2023-07-31 22:01:12 +03:00
Andrii Danylchenko
fb7477047a
NKAI: loosen gold presure on build system.
2023-07-31 22:01:12 +03:00
Andrii Danylchenko
6490c65490
nkai: fix freezes
2023-07-31 22:01:12 +03:00
Andrii Danylchenko
c93bb0a502
nkai: fixes and skill rewards
2023-07-31 22:01:11 +03:00
Andrii Danylchenko
202e13ce2e
NKAI: log paths scan depth
2023-07-31 22:01:11 +03:00
Andrii Danylchenko
5083100d3b
NKA: fix accessing removed hero and heroExchangeCount
2023-07-31 22:01:11 +03:00
Tomasz Zieliński
db2be3ee05
Anoother unused variable
2023-07-31 22:01:11 +03:00
Tomasz Zieliński
850da65f80
Another build fix
2023-07-31 22:01:11 +03:00
Tomasz Zieliński
88178567b1
Remove unused variable
2023-07-31 22:01:11 +03:00
Tomasz Zieliński
e483f06e0f
Remove unused variable
2023-07-31 22:01:11 +03:00
Tomasz Zieliński
5bffea0aac
Use new interface
2023-07-31 22:01:11 +03:00
Andrii Danylchenko
69ceee5dd6
NKAI: penalty for extra chains
2023-07-31 22:01:11 +03:00
Andrii Danylchenko
0fd118d3ce
NKAI: gold reward
2023-07-31 22:01:11 +03:00
Andrii Danylchenko
6ba74f02bc
NKAI: playing around with defence
2023-07-31 22:01:11 +03:00
Andrii Danylchenko
b19ac01bf9
Fuzzy rework, added more defence and gather army routines
2023-07-31 22:01:10 +03:00
Andrii Danylchenko
b1ca663eb6
Fuzzy rework
2023-07-31 22:01:10 +03:00
Andrii Danylchenko
38a98387e4
Temp fix for blocked in garrison ai.
2023-07-31 22:01:10 +03:00
Ivan Savenko
aed8c411fc
Minor rework & cleanup of combat replays
2023-07-27 19:25:55 +03:00
Ivan Savenko
e23166df88
Fix locking of mutexes by StupidAI
2023-07-24 23:01:18 +03:00
Ivan Savenko
639880a426
Fix handling of tactics by AI
2023-07-23 14:03:22 +03:00
Ivan Savenko
58dd87d727
Fix AI spellcasting
2023-07-19 12:54:23 +03:00
Ivan Savenko
556763fb7b
Fixed handling of tactics
2023-07-18 22:02:35 +03:00
Ivan Savenko
1bf6bbd9b6
Significantly simplified threading model in battles
2023-07-18 19:55:59 +03:00
Ivan Savenko
f27f5ebc7c
Split BattleAI::activeStack into several smaller methods
2023-07-18 17:35:19 +03:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
...
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Andrii Danylchenko
b1ef0f6301
#1912 Some logging and fix for allied garrison
2023-07-09 10:21:58 +03:00
SoundSSGood
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00
Ivan Savenko
1cbc6457ce
Fix possible assertion failure on removing non-owned town
2023-07-04 20:28:02 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03: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
f7b27da00e
Implemented support for "coast visitable" objects:
...
- objects marked as coast visitable can be visited from land even when
placed in water
- added isBlockedVisitable and isCoastVisitable method to
CGObjectInstance
- implemented json config for these properties in banks
2023-06-25 17:42:33 +03:00
Ivan Savenko
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
...
Hota h3m support
2023-06-23 13:32:10 +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
d51fe62804
Win/loss condition texts use MetaString
2023-06-20 19:37:27 +03:00
Ivan Savenko
6f743916db
Moved CGCreature to a new file
2023-06-20 19:37:27 +03:00
Ivan Savenko
6aedb99117
Cleaned up IShipyard interface
2023-06-16 17:59:10 +03:00
Ivan Savenko
5cfbdd2967
Partially split CommonConstructors.cpp into few separate files
2023-06-16 17:59:10 +03:00
Evgeniy Meshcheryakov
6591508618
Fix crash in VCAI
2023-06-15 14:22:33 +03:00
Ivan Savenko
97b3b2e147
Fix build
2023-06-03 00:48:32 +03:00
Ivan Savenko
d6a357fd17
Split some map object files into smaller files. Reduced includes usage.
2023-06-02 21:47:37 +03:00
Ivan Savenko
acac42291e
Remove excessive CMap.h includes
2023-05-31 23:18:38 +03:00
Andrii Danylchenko
fe65edd55d
BattleAI: stacks should not measure damage against turret
2023-05-10 09:22:13 +03:00
Andrii Danylchenko
0829593356
NKAI: composite pathfinder actions and fix for guarded bordergate
2023-05-07 09:15:37 +03:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Konstantin
fbc05c70ac
vcmi: camelCase methods of new classes
...
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Konstantin
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
Konstantin
1d34c73c2d
vcmi: split CBonusSystemNode, BonusParams and prop
...
More splitting of HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
713e3004df
vcmi: rename updater and limiter files
2023-05-02 00:53:51 +03:00
Konstantin
e37f798a68
vcmi: split bonus updaters
2023-05-02 00:53:50 +03:00
Konstantin
416faf521e
vcmi: move limiters outside of HeroBonus.cpp
...
This will help for recompilation.
2023-05-02 00:53:50 +03:00
Konstantin
6fa1b2b19f
vcmi: move bonuses to its own folder
2023-05-02 00:53:50 +03:00
Konstantin
af25ad0866
vcmi: split creatures and faction members
2023-05-02 00:53:50 +03:00
Nordsoft91
c9b59735cf
Merge pull request #2101 from Nordsoft91/rewardable-expand
...
Part 2: refactoring for rewardable object
2023-05-02 01:19:57 +04:00
Ivan Savenko
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
...
Basic shortcuts system
2023-05-01 21:45:52 +03:00
nordsoft
97a1758e8e
Merge remote-tracking branch 'upstream/develop' into rewardable-expand
2023-05-01 21:51:10 +04:00
nordsoft
eb577a03b5
Deprecating enum constants
2023-05-01 21:49:37 +04:00
nordsoft
4b1b58b617
Change Callback to abstract
2023-05-01 21:49:37 +04:00
nordsoft
59bc9326e9
Remove excess pointer from market interface
2023-05-01 21:49:37 +04:00
Ivan Savenko
a654cc2391
Removed vstd::advance. Added vstd::next to handle similar cases.
2023-05-01 17:58:18 +03:00
nordsoft
203d0a4f91
Merge remote-tracking branch 'upstream/develop' into rewardable-expand
...
# Conflicts:
# lib/JsonRandom.cpp
2023-05-01 02:07:20 +04:00
nordsoft
1b4d117790
deeper decoupling
2023-04-30 17:13:07 +04:00
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
nordsoft
e47bb3f1f9
Separate configuration and object
2023-04-30 00:59:02 +04:00
Ivan Savenko
346b8a4619
Merge pull request #2079 from rilian-la-te/cstack-some-private
...
vcmi: make some CStack properties private
2023-04-28 22:18:20 +03:00
Konstantin
cf2304d8c7
vcmi: new commits in submodules
2023-04-27 20:59:55 +03:00
Konstantin P
b472c89276
vcmi: make some CStack properties private
...
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
krs
e348193f7e
Tactics movement is limited to movement range
2023-04-26 21:56:20 +04:00
Ivan Savenko
48abf46824
Merge pull request #2005 from IvanSavenko/advmap_refactor
...
Refactoring of adventure map interface
2023-04-24 17:19:22 +03:00
Andrii Danylchenko
fbc9a32ad8
#2018 - fix shipyard usage for NKAI, allied shipyard should work now
2023-04-22 18:42:36 +03:00
Andrii Danylchenko
d347db4c16
Fix hero count calculation for resourceful ai mod
2023-04-22 14:47:31 +03:00
Nordsoft91
a553a4aa66
Merge pull request #2030 from Nordsoft91/boats
2023-04-22 03:27:00 +04:00
Ivan Savenko
7db67a3101
int3 now has proper hasher function
2023-04-20 22:04:24 +03:00
nordsoft
de159df481
Rename boats
2023-04-20 21:20:51 +04:00
Ivan Savenko
4bb4d7e7a5
Merge pull request #1989 from SoundSSGood/refactoring-arts-p1
...
Artifact related code refactoring part1 (initial)
2023-04-19 15:31:11 +03:00
nordsoft
0a28262c15
Merge remote-tracking branch 'upstream/develop' into boats
...
# Conflicts:
# AI/VCAI/Pathfinding/AINodeStorage.cpp
2023-04-19 02:22:19 +04:00
nordsoft
37027ad17f
Fix AI boat logic
2023-04-18 18:33:44 +04:00
nordsoft
ed798b06da
Prepare transport enum
2023-04-18 13:04:49 +04:00
Konstantin
54eb550eb9
vcmi: remove unused functions now
2023-04-17 00:43:13 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Ivan Savenko
3738171b21
Refactoring of H3M loader to make HotA format support easier
...
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
SoundSSGood
9a838598a6
arts refactoring part1
2023-04-15 00:10:39 +03:00
Ivan Savenko
644f0f4b32
Removed ARRAY_COUNT in favor of std::size
2023-04-12 01:04:26 +03:00
Ivan Savenko
63b197b78a
Converted attributes to use c++17 functionality
2023-04-12 01:03:14 +03:00
Nordsoft91
3951bbb395
Merge pull request #1108 from Nordsoft91/battle-dialog
...
[HDMod features] Quick combat
2023-04-11 21:18:04 +04:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
nordsoft
8e77b833d9
Merge remote-tracking branch 'upstream/develop' into battle-dialog
2023-04-11 15:54:08 +04:00
nordsoft
bfc75ccd39
Merge remote-tracking branch 'upstream/develop' into battle-dialog
2023-04-11 02:22:42 +04:00
Konstantin
fedf7d377c
vcmi: remove TFaction
...
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
Andrii Danylchenko
737c34b8c6
BattleAI: avoid selfblocking on siege
2023-04-09 16:22:37 +03:00
krs
dab07bdef9
Now unit range is shown in Tactics phase as well
...
A new parameter: isActiveStack was needed in battleGetAvailableHexes, so that we show the propper Tactics range.
2023-04-08 20:39:59 +03:00
nordsoft
ce3028bd73
Intermediate commit
2023-04-06 19:34:07 +04:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Konstantin
e0715a76c8
vcmi: reduce CStack usage a little bit
2023-04-04 23:02:54 +03:00
Konstantin
22dd97ad18
vcmi: use entilites when possible part 1
2023-04-04 23:02:54 +03:00
Ivan Savenko
307065a633
Merge beta into develop
2023-04-04 16:06:20 +03:00
Andrii Danylchenko
10bf9bc7a0
Merge pull request #1678 from vcmi/nkai-fix-build
...
NKAI: more fixes to defense and pandora
2023-04-03 22:39:11 +03:00
Ivan Savenko
c661419897
Merge pull request #1700 from rilian-la-te/resource-array
...
Modernize resourceSet.
2023-04-02 20:12:45 +03:00
Ivan Savenko
6dac15c5b2
Merge pull request #1706 from rilian-la-te/moats-landmines
...
Proper moats: mechanincs
2023-04-02 20:12:33 +03:00
Ivan Savenko
efbc5cf581
Merge pull request #1815 from IvanSavenko/beta_fixes
...
Beta fixes
2023-04-02 20:02:41 +03:00
Andrii Danylchenko
ab84cb9931
NKAI: fix defense tasks priority evaluation
2023-04-02 10:10:17 +03:00
Andrii Danylchenko
34abc9f82d
NKAI: disallow using allied shipyard
2023-04-02 10:04:10 +03:00
Andrii Danylchenko
06fcbf891b
Fix battle AI using Fire elementals (had score 0)
2023-04-02 10:02:33 +03:00
Andrii Danylchenko
88fb532d90
NKAI: more fixes to defense and pandora
2023-04-02 10:02:33 +03:00
Andrii Danylchenko
ebfebfd535
VCAI: hard limit on iterations per turn
2023-04-01 00:24:47 +03:00
Ivan Savenko
06b35ce533
Merge pull request #1595 from vcmi/vkai-hack-to-workaround-freezes
...
VCAI: hard limit on iterations per turn
2023-03-31 18:15:58 +03:00
Konstantin
d8a237ba46
vcmi: add getTrigger method to obstacles
...
Fixes advanced remove obstacle spell
2023-03-31 01:01:26 +03:00
Konstantin
6c5f5dba75
BattleAI: check negative obstacles instead of moat.
...
This will work for fire walls too (and if someone will summon elementals
after placing land mines). But will not work for Tower's landmines.
2023-03-31 01:01:25 +03:00
Ivan Savenko
970981cfc9
Show information on potential kills in attack tooltip
2023-03-24 17:18:47 +02:00
Ivan Savenko
31147ac83b
refactoring: TDmgRange pair -> DamageRange struct
2023-03-23 17:49:33 +02:00
Andrey Filipenkov
3602645a30
improve iterating over EPathfindingLayer
2023-03-20 11:35:19 +03:00
Konstantin
bbbbfe00f0
Modernize resourceSet
2023-03-17 02:26:54 +03:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29
Integrated defaultMods into mod system
2023-03-16 17:55:09 +02:00
Konstantin
c4a3216288
NKAI: evaluate speciality correctly
...
With removal of SECONDARY_SKILL_PREMY, we need to
evaluate speciality by using TargetSourceType.
Just do it.
2023-03-16 16:46:41 +03:00
Konstantin
95503d0623
vcmi: unify movement
...
1. Now there is only one bonus: MOVEMENT, with 2 subtypes: 0 is sea, 1 is land
For movement value on land depends on creature speed we use a new
ARMY_MOVEMENT updater with global bonus. If we does not like such
dependency, we can just remove this updater from json.
2. All specialities and secondary skills for movement moved to new
system AFAIK
2023-03-16 16:46:41 +03:00
Andrii Danylchenko
fa9e1d2d83
NKAI: fix crash
2023-03-12 16:31:15 +02:00
Andrii Danylchenko
4bf570763a
NKAI: improve neutral town priority handling, reduce priority of objects like star axis
2023-03-12 16:31:15 +02:00
Andrii Danylchenko
87638aafc0
NKAI: improve build behavior
2023-03-12 16:31:15 +02:00
Konstantin
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5
vcmi: allow showing more than one components in infobar
...
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Andrii Danylchenko
148c3436df
NKAI: improve army gathering
2023-03-08 11:53:26 +02:00
Andrii Danylchenko
8b0c7b6601
NKAI improve defence and some fixes
2023-03-07 20:10:58 +02:00
Ivan Savenko
144ddba97d
Replaced AI assertion failure with error in log
2023-03-07 00:06:58 +02:00
Ivan Savenko
aeb653c919
Fix typos
2023-03-07 00:06:58 +02:00
Ivan Savenko
11e4d84749
Implemented View Earth / View Air spells
2023-03-05 17:48:02 +02:00
Ivan Savenko
84fa19dadf
Merge pull request #1547 from dydzio0614/game-start-unrandomization
...
Hardcoded features for HotA-like starting conditions
2023-03-05 17:29:49 +02:00
Andrii Danylchenko
59d612fc2d
Merge pull request #1616 from kambala-decapitator/conan-android
...
move Android code to the main repo
2023-03-05 08:13:41 +02:00
Andrey Filipenkov
0294a8b063
enable StupidAI and EmptyAI for static AI
2023-03-02 12:09:49 +03:00
Andrey Filipenkov
71d51beab2
change static AI approach to use static libvcmi
...
- now links to static AI lib targets
- solves uncaught boost exception on closing server
2023-03-02 12:09:48 +03:00
Andrey Filipenkov
4c19d8794d
add option to compile AI code into libvcmi directly
...
- used on Android by default
- AI sources and libs are propagated to upper level with set(... PARENT_SCOPE)
2023-03-02 12:09:48 +03:00
Andrey Filipenkov
2a28109f2d
fix indentation
2023-03-02 12:09:47 +03:00
Andrey Filipenkov
970bd6ed34
adjust project for Android (except AI)
2023-03-02 12:09:47 +03:00
Andrii Danylchenko
5cab8ede90
Fix battle ai trying to act with killed stack
2023-02-28 23:10:22 +02:00
Andrii Danylchenko
2630fb2330
VCAI: hard limit on iterations per turn
2023-02-18 22:08:08 +02:00
Dydzio
7095e9d8f9
Allow heroes to start with empty armies if configured properly
2023-02-05 00:36:51 +01:00
Ivan Savenko
4d1c338503
Merge pull request #1498 from rilian-la-te/conan-v2
...
Conan as MXE replacement
2023-01-27 23:14:37 +02:00
Ivan Savenko
6c472339ce
Refactoring of ObjectClassesHandler
2023-01-26 23:26:49 +02:00
Konstantin
3ea4e8c249
AI/CMakeLists.txt: disable some errors for FuzzyLite
...
It generates false positives on MinGW due to Fuzzylite errorneous
assuming than Windows=MSVC.
2023-01-26 23:49:00 +03:00
Ivan Savenko
f8f6df02f3
Removed remaining hardcoded objects
2023-01-23 15:27:27 +02:00
Ivan Savenko
62e127fb59
Bonusing objects are now configured in json
2023-01-23 01:05:10 +02:00
Ivan Savenko
bfd6c40f25
Moved all once-per-hero visitable (sans Tree) to config
2023-01-22 22:58:53 +02:00
Ivan Savenko
47c1803c42
Finalization of refactoring:
...
- Entity interface now has getNameTranslated & getNameTextID methods
- Entity interface no longer has getName method
- removed (most) usages of normalizeIndentifier workaround method
- all moddable objects have identifier in form of mod:name
- all moddable object register strings in form of mod.type.name
2023-01-20 15:18:36 +02:00
Ivan Savenko
05a1d7c6e3
All text for factions/towns/building are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
388ed88b5d
All artifact strings now pass through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116
All creature-related texts go through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8
All heroes-related strings are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822
All spell texts are now passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
b86969909a
Fixes compilation due to changes in callback interface
2023-01-20 15:18:10 +02:00
Ivan Savenko
17fc9d8d8f
Merge with vcmi/develop
2023-01-18 01:04:34 +02:00
Ivan Savenko
246281e62a
Merged vcmi/beta with vcmi/develop
2023-01-15 17:46:42 +02:00
Andrey Filipenkov
efbed6000b
fix typo
2023-01-15 17:28:09 +02:00
Ivan Savenko
1d7f004658
Implemented reinforced walls in towns with Castle
2023-01-13 01:09:24 +02:00
Ivan Savenko
500cf7f15d
EWallPart & EWallState are now enum class
2023-01-13 00:35:58 +02:00
Ivan Savenko
1fece0ce18
Merge pull request #1229 from IvanSavenko/battle_improvements
...
Battle: Fixing bugs & Implementation of missing features
2023-01-09 22:07:13 +02:00
Ivan Savenko
33a9aa8ee5
Reduced log to console
2023-01-01 20:55:26 +02:00
Ivan Savenko
5d80457eda
Merge with vcmi/develop branch
2022-12-30 00:52:23 +02:00
Ivan Savenko
370e92a90a
Added workaround for no longer accessible hero in MoveHero
2022-12-25 16:12:26 +02:00
Ivan Savenko
405b2976d5
Renamed getUpgradeInfo -> fillUpgradeInfo
2022-12-25 14:03:43 +02:00
Ivan Savenko
325c29da0d
Merge remote-tracking branch 'vcmi/develop' into battle_improvements
2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208
Merge remote-tracking branch 'vcmi/develop' into warnings_fix
2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9
Merge 1.1 release into develop
2022-12-23 14:17:18 +02:00
Ivan Savenko
b2279484fc
Merge pull request #1227 from Shatur/opendingux
...
Port to OpenDingux handhelds
2022-12-22 16:56:55 +02:00
Ivan Savenko
e9e549148d
Implemented teleportation animation effect
2022-12-18 18:26:43 +02:00
Sergei Trofimovich
c2c352c6dd
AI/Nullkiller/Goals/ExecuteHeroChain.cpp: catch polymorphic exceptions by reference
...
The suspicious code was detected by `gcc-13` as:
AI/Nullkiller/Goals/ExecuteHeroChain.cpp: In member function 'virtual void NKAI::Goals::ExecuteHeroChain::accept(NKAI::AIGateway*)':
AI/Nullkiller/Goals/ExecuteHeroChain.cpp:130:47: warning: catching polymorphic type 'class NKAI::cannotFulfillGoalException' by value [-Wcatch-value=]
130 | catch(cannotFulfillGoalException)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
AI/Nullkiller/Goals/ExecuteHeroChain.cpp:176:23: warning: catching polymorphic type 'class NKAI::goalFulfilledException' by value [-Wcatch-value=]
176 | catch(goalFulfilledException)
| ^~~~~~~~~~~~~~~~~~~~~~
Similar to object passing by value and reference passing polymorphic
exceptions by reference likely destroys them when copy-constructed to
a base class. Let's catch them by reference.
2022-12-17 21:50:57 +00:00
Hennadii Chernyshchyk
d7fbd4aa66
Call install_vcpkg_imported_tgt after initializing BIN_DIR
...
Call it inside AI/CMakeLists.txt as it was before.
2022-12-15 12:16:28 +02:00
Hennadii Chernyshchyk
3322ad9501
Move find_package for TBB on top for consistency with other
2022-12-15 02:21:44 +02:00
Hennadii Chernyshchyk
37068a75b3
Make ENABLE_NULLKILLER_AI top level option
2022-12-15 02:18:17 +02:00
Andrii Danylchenko
56bf8ec2c4
#1228 - prevent second AI activation on AI defeat due to wrong EndTurn packet
2022-12-14 22:13:26 +02:00
Hennadii Chernyshchyk
3c948b1488
Fix typo
2022-12-14 10:12:16 +02:00
Hennadii Chernyshchyk
1ccbc209a4
Add an option to disable Nullkiller AI
2022-12-13 22:16:48 +02:00
Ivan Savenko
c79634b6a7
Moved all animation ordering logic to callers
...
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
Hennadii Chernyshchyk
de33eb44f9
Port to OpenDingux handhelds
2022-12-13 03:55:54 +02:00
Andrii Danylchenko
01980f4310
Small optimization of NKAI pathfinder
2022-12-10 22:08:16 +02:00
Andrii Danylchenko
59c3962e9c
BattleAI: fix camera obscura
2022-12-10 22:08:16 +02:00
Ivan Savenko
25bceda4ea
Added convertToVisitablePos/convertFromVisitablePos to CGHeroInstance
...
This method replaces old convertPosition, but with more clear names and
without hardcoded magic constants.
2022-12-09 14:42:47 +02:00
Ivan Savenko
8dcecdc235
Fix deprecation warning
2022-12-09 14:16:23 +02:00
Ivan Savenko
db2a40600d
Fixed some of the warnings detected by CI run
2022-12-08 23:20:42 +02:00
Ivan Savenko
facf77b3ae
vstd::unique -> std::unique
2022-12-07 23:36:20 +02:00
Ivan Savenko
d85ee019ec
Removed CGHeroInstance::convertPosition method
2022-12-07 22:51:32 +02:00
Ivan Savenko
49cbd5adc9
CGHeroInstance::convertPosition is no longer static method
2022-12-07 22:34:08 +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
Ivan Savenko
2855606a88
Enabled & fixed -Woverloaded-virtual warning from gcc/cland
...
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
3219e322ae
Fixed all non-silenced gcc/clang warnings
2022-12-07 18:05:47 +02:00
nordsoft
d4c9b8f6b5
Absolute threshold for retreat decision
2022-12-06 16:11:52 +04:00