Ivan Savenko
e829d723b2
Replace global bonus tree change counter with per-node counter
2025-01-12 12:23:07 +00:00
Ivan Savenko
5ec5e23534
Add caching for commonly accessed values
2025-01-12 12:21:10 +00:00
Ivan Savenko
5bfc837a8f
Fix regressions from battlehex PR (mostly related to towers)
2025-01-12 11:07:50 +00:00
Ivan Savenko
14320fb100
Fix spawned wandering monsters not correctly attached to bonus system
2025-01-12 11:06:45 +00:00
Ivan Savenko
48473b18f6
move checks for invincible bonus to UnitState & cache
2025-01-10 21:15:37 +00:00
Ivan Savenko
40bff74195
Use small vector for unit list
2025-01-10 18:58:46 +00:00
Ivan Savenko
3b35c679ce
Optimize Unit::getHexes method
2025-01-10 15:07:59 +00:00
Ivan Savenko
5375d61d1b
Optimize battleAdjacentUnits method
2025-01-10 14:27:12 +00:00
Ivan Savenko
a44bbf4527
Merge pull request #5044 from MichalZr6/battle_hex_array
...
New container for BattleHexes. Refactors aiming for quick-battle better performance.
2025-01-10 15:32:05 +02:00
Ivan Savenko
699709adf0
Fix not accounting for movement points limit on land bonuses
2025-01-09 19:34:24 +00:00
Ivan Savenko
ed268159f8
Merge pull request #5231 from dydzio0614/random-hero-info
...
Replace random hero info in scenario info window with generated hero data
2025-01-09 12:58:55 +02:00
Dydzio
eb4b8fdddd
Replace random hero info in scenario info window with generated hero data
2025-01-08 21:01:15 +01:00
Ivan Savenko
e27ca391b1
Fix counter-attack counting
2025-01-08 16:06:31 +00:00
MichalZr6
dbe82b94f6
Changes following review:
...
- shared_ptr for destructibleEnemyTurns instead of raw pointer
- drop implicit int conversion for BattleHex class
and implement toInt() instead
- implement necessary operators in BattleHex
- adjust code to work properly with JSON serializer
2025-01-08 07:24:43 +01:00
Ivan Savenko
ca4227ba9d
Add debug information for crash on object randomization
2025-01-07 15:06:49 +00:00
Ivan Savenko
cfac768b6e
Fix possible crash on corrupted h3 data / vcmi config
2025-01-07 15:05:57 +00:00
MichalZr6
4031006317
Drop battle elapsed time measurement, restore avHexes.
...
Github validation report fixes.
2025-01-06 23:28:47 +01:00
MichalZr6
dad6437661
Refactor BattleHex, remake the use of precomputed neighbouring tiles containers.
...
- Moved short, frequently used functions to the BattleHex header for inlining
- Made BattleHex a class with a private hex value
- Moved getClosestTile implementation back to BattleHex
- Enabled access to static precomputed data in BattleHexArray via BattleHex
(note: circular dependency prevented static precomputed containers being directly placed in BattleHex)
2025-01-06 23:28:46 +01:00
MichalZr6
ac8104d56d
SonarCloud recomendations.
...
Code review follow-up:
- Replace std::vector with boost::small_vector
- Rename function merge to insert
2025-01-06 23:28:45 +01:00
MichalZr6
44a645b5e0
use bitset for presenceFlags and steady_clock for measurments
2025-01-06 23:28:45 +01:00
MichalZr6
794595184e
use class scope static instead of function scope
2025-01-06 23:28:45 +01:00
MichalZr6
7a8edff419
minor fixes
2025-01-06 23:28:44 +01:00
MichalZr6
fb9a3da651
Unit.cpp refactor and some other minor changes
2025-01-06 23:28:44 +01:00
MichalZr6
e3516120d8
Refactor destructibleEnemyTurns
2025-01-06 23:18:20 +01:00
MichalZr6
8c3a417527
Cleanup
2025-01-06 23:18:20 +01:00
MichalZr6
78845706c9
GetClosestTile refactor
2025-01-06 23:18:19 +01:00
MichalZr6
5f799d41b3
Use cached neighbouring tiles where possible
2025-01-06 23:18:19 +01:00
MichalZr6
a99274d72e
BattleHexArray - new container for BattleHexes
2025-01-06 23:18:18 +01:00
Ivan Savenko
ef8408fa5a
Fix tests
...
Regression from #5158
2025-01-06 21:18:28 +00:00
Ivan Savenko
046b59cf77
Merge pull request #5219 from IvanSavenko/ai_building_fix
...
Fixes for AI town building logic
2025-01-06 21:55:24 +02:00
Ivan Savenko
0de62e0b96
Merge pull request #5211 from godric3/map-editor-town-same-as-player
...
Map editor: random town same as player faction
2025-01-06 21:52:48 +02:00
Ivan Savenko
094a037096
Merge pull request #5212 from IvanSavenko/keymaster_popup
...
Added popup for keymasters/border guards similar to teleporters
2025-01-06 21:52:23 +02:00
Ivan Savenko
8468469976
Fixes for AI town building logic
...
- Fixes AI not considering non-built dwellings
- AI will now skip evaluation of towns in which construction today is no
longer possible
2025-01-06 16:20:53 +00:00
Ivan Savenko
19c981fc56
Added similar screen for Obelisk, moved assets to dedicated folder
2025-01-06 13:05:45 +00:00
Ivan Savenko
c3952b31f1
Merge pull request #5158 from IvanSavenko/bonus_caching
...
[1.6.3] Bonus caching improvements
2025-01-06 14:38:34 +02:00
Ivan Savenko
6d0dc9c5bb
Added popup for keymasters/border guards similar to teleporters
2025-01-05 23:22:46 +00:00
godric3
4b7792075d
map editor: option to set random town same as player faction
2025-01-05 21:57:11 +01:00
Ivan Savenko
73d1675ae3
Code cleanup, fixes to discovered regressions
2025-01-05 15:41:42 +00:00
Ivan Savenko
af83a3043e
Merge pull request #5148 from Laserlicht/h3c_vcmp_converter
...
[1.6.x] h3c to vcmp converter
2025-01-04 23:19:25 +02:00
Ivan Savenko
83b9a8d750
Fixes for regressions
2025-01-04 15:09:50 +00:00
Ivan Savenko
dfe8a95f8c
Fix build
2025-01-04 15:09:50 +00:00
Ivan Savenko
ea368c5176
Inlined methods commonly used by pathfinder for better optimization
2025-01-04 15:09:50 +00:00
Ivan Savenko
dea1eba20b
Rework and optimize turnInfo used by pathfinder
2025-01-04 15:09:50 +00:00
Ivan Savenko
579b64cd39
Fix build
2025-01-04 15:09:50 +00:00
Ivan Savenko
39d2f27589
Remove remaining usages of CCheckProxy class
2025-01-04 15:09:50 +00:00
Ivan Savenko
919588f7ff
Added cache for common hero-based bonuses
2025-01-04 15:09:50 +00:00
Ivan Savenko
157d6d30c8
Move rest of commonly-accessed UnitState queries to bonus cache
2025-01-04 15:09:50 +00:00
Ivan Savenko
05397e2aaf
Caching of bonuses that are requested with different durations
2025-01-04 15:09:50 +00:00
Ivan Savenko
16cfb51f3e
Initial version of new bonus caching system
2025-01-04 15:09:50 +00:00
Ivan Savenko
4ccd860b2f
Fix possible crash on loading save with invalid buildings, e.g. Mage
...
Guild 4 in towns without one
2025-01-03 15:41:26 +00:00