Ivan Savenko
3dd4fa2528
Reduce usage of pointers to VLC entities
...
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.
CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.
VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town
VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
Ivan Savenko
29f393e024
Removed hardcoded checks for map objects in favor of analyzing
...
rewardable object content
2024-09-12 12:11:18 +00:00
Ivan Savenko
97f1a310df
Fix miscellaneous issues discovered by Sonar
2024-08-12 18:26:30 +00:00
Andrii Danylchenko
1be36e1ad4
NKAI: rewardables
2024-07-07 21:58:39 +03: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
1388fb1493
NKAI: port exploration from VCAI
2024-05-20 22:43:23 +03:00
Andrii Danylchenko
70fad45316
Merge pull request #3770 from vcmi/nkai-multitask
...
NKAI: allow multiple tasks to be executed from one calculation
2024-04-20 15:21:11 +03:00
Andrii Danylchenko
3939c4b9d3
NKAI: stability fixes and regression
2024-04-20 14:32:58 +03:00
Alexander Wilms
7d925b3689
Fix typo: Preasure -> Pressure
2024-04-16 21:10:15 +00:00
Andrii Danylchenko
ed76d8a652
NKAI: allow multiple tasks to be executed from one calculation
2024-04-14 16:46:05 +03:00
Andrii Danylchenko
728f673763
NKAI: remove static ai field
2024-03-31 21:11:25 +03:00
Andrii Danylchenko
35429eab52
NKAI: moddable configuration
2024-03-01 22:03:07 +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
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
cc7fc4a2c6
Fix headless mode
2024-01-20 22:55:27 +02:00
Ivan Savenko
d04241b10a
Code cleanup
2024-01-19 23:02:00 +02:00
Ivan Savenko
60ffb81b33
Replaced remaining placeholder code with callbacks
2024-01-19 13:55:22 +02:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Alexander Wilms
0a6c82c639
AI/Nullkiller/Behaviors/DefenceBehavior.{h,cpp}: treat -> threat
2023-10-27 23:34:11 +00: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
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
fd01a25352
Implemented basic version of configurable Witch Hut
2023-10-16 00:12:38 +03:00
Andrii Danylchenko
ebe155fa95
NKAI: mana recovery
2023-09-30 10:37:36 +03:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03:00
Ivan Savenko
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
Andrii Danylchenko
ccfc6f5716
NKAI: increase towns priority, buy heroes more often
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
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
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
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Ivan Savenko
08cfbe79cf
Added encapsulation for movement points access
2023-06-25 17:42:36 +03:00
Ivan Savenko
87fcfa4add
Removed excessive pathfinder includes
2023-06-21 12:00:44 +03:00
Ivan Savenko
5cfbdd2967
Partially split CommonConstructors.cpp into few separate files
2023-06-16 17:59:10 +03:00
Ivan Savenko
d6a357fd17
Split some map object files into smaller files. Reduced includes usage.
2023-06-02 21:47:37 +03:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Konstantin
af25ad0866
vcmi: split creatures and faction members
2023-05-02 00:53:50 +03:00
nordsoft
eb577a03b5
Deprecating enum constants
2023-05-01 21:49:37 +04: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
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00