1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-21 21:17:49 +02:00

7642 Commits

Author SHA1 Message Date
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 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 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 
2025-01-06 21:18:28 +00:00
Ivan Savenko
046b59cf77
Merge pull request 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 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 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 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 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