1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-06 09:09:40 +02:00
Commit Graph

316 Commits

Author SHA1 Message Date
Ivan Savenko
2ad186130f Split MapDefines file on .h per class basis 2025-07-07 18:16:42 +03:00
Ivan Savenko
74e697d41c Fix regression from bonus system changes 2025-07-01 13:34:30 +03:00
Laserlicht
bd090059da small refactoring 2025-06-22 00:31:33 +02:00
Ivan Savenko
6d359e4112 Create heroes in pool via handler to properly initialize appearance 2025-06-17 14:36:17 +03:00
Ivan Savenko
463c404a83 Use bonus only as shared_ptr to avoid memory corruption 2025-06-16 16:22:21 +03:00
Ivan Savenko
ae2e6f0357 Add workaround for strange/unknown hota h3m quirk 2025-06-15 17:01:29 +03:00
Ivan Savenko
1ea2ce7959 Identifier remapping support for campaigns 2025-06-15 17:01:28 +03:00
Ivan Savenko
5ccb32aa4e Fix parsing of hota 1.7.3 maps/campaigns 2025-06-09 21:40:11 +03:00
Ivan Savenko
4d4da0454f map objects hierarchy now uses IGameInfoCallback 2025-05-14 18:33:20 +03:00
Ivan Savenko
6f20235d07 Merge CPrivilegedInfoCallback into CGameInfoCallback 2025-05-14 13:42:20 +03:00
Ivan Savenko
716da918f8 Completely remove IGameCallback class
- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
2025-05-14 13:39:41 +03:00
Ivan Savenko
0e2ea99283 Implemented option to emulate H3 seer hut full-army quest bug 2025-05-07 19:16:58 +03:00
Ivan Savenko
92c4bcbf68 Unify checks for creature limiter 2025-05-07 16:35:15 +03:00
Ivan Savenko
f1d9d8479f Extend rewards & limiters functionality 2025-05-06 17:28:12 +03:00
Ivan Savenko
5dec3efa2f Spell scrolls as a reward 2025-05-06 17:28:12 +03:00
Ivan Savenko
62e774c91e Add new rewards for configurable objects 2025-05-06 17:28:11 +03:00
Ivan Savenko
283adc37d7 Unit stack rebalancing rework
- CStackInstance::count is now private with accessor methods
- CStackInstance::experience renamed to totalExperience and now stores
total stack experience (multiplied by stack size) to reduce rounding
errors
- CStackInstance::totalExperience is now private with accessors methods
- stack experience is now automatically reallocated on stack management
- Removed buggy BulkSmartRebalanceStacks pack, that mostly duplicates
BulkRebalanceStacks
- Renamed BulkSmartSplitStack to BulkSplitAndRebalanceStack to drop
unclear "smart" in name
- Reworked split-and-rebalance logic to correctly reallocate stack
experience
2025-05-01 18:18:30 +03:00
Ivan Savenko
f70ad2c15b Reorganized artifact-related classes
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes

No changes to functionality
2025-04-29 13:29:08 +03:00
Ivan Savenko
4e8e85e3e4 Fix issues reported by Sonar, review fixes 2025-04-27 14:57:31 +03:00
Ivan Savenko
f3a57f754c Fix loading of SoD & later maps 2025-04-27 14:57:31 +03:00
Ivan Savenko
a89cf280e3 Fix campaigns progression 2025-04-27 14:57:31 +03:00
Ivan Savenko
912c2eae94 Fix regressions 2025-04-27 14:57:31 +03:00
Ivan Savenko
cd7732456a Remove pointer to objects from TerrainTile 2025-04-27 14:57:30 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko
16a06179cf Use ArtifactInstanceID in CGArtifact 2025-04-27 14:57:30 +03:00
Ivan Savenko
ab11d2b075 Remove quests from CMap, now solely owned by quest objects 2025-04-27 14:57:30 +03:00
Ivan Savenko
c02a8a84fd Stacks of armed instance are now unique_ptr 2025-04-27 14:57:30 +03:00
Ivan Savenko
bdae7285ae Objects list is now private member of CMap 2025-04-27 14:57:30 +03:00
Ivan Savenko
745040def3 Access to heroes storage in CMap is now done via public methods 2025-04-27 14:57:30 +03:00
Ivan Savenko
1f502c0548 CMap towns and heroes on map fields are now private 2025-04-27 14:57:30 +03:00
Ivan Savenko
0ada2a5ebd Map objects now use shared_ptr (game) 2025-04-27 14:57:30 +03:00
Ivan Savenko
2ca1748e96 Artifact instances are now owned solely by CMap 2025-04-27 14:57:30 +03:00
Ivan Savenko
797646cc05 Quests in map now use shared_ptr instead of const ptr 2025-04-27 14:57:30 +03:00
Ivan Savenko
9f713a0914 Rename int3::valid to isValid for consistency 2025-03-03 10:46:00 +00:00
Ivan Savenko
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko
2362c6da21 Fixes for multiple new issues from Sonar 2025-02-21 15:57:39 +00:00
Ivan Savenko
b2642bb7d7 Merge pull request #5422 from IvanSavenko/disposed_heroes_fix
[1.7] Do not allow heroes banned for player as starting heroes
2025-02-20 16:33:04 +02:00
Ivan Savenko
4b824d05e2 Do not allow heroes banned for player as starting heroes
- `disposedHeroes` is now in map header, for use in map selection
- heroes that are marked as unavailable for player will now be hidden
from starting hero selection
2025-02-14 10:43:55 +00:00
Ivan Savenko
0337ef90ec Fix and cleanup event loading, clarify remaining hota keys 2025-02-13 19:48:37 +00:00
Ivan Savenko
f9fe8fc312 Cleanup hota object loading code 2025-02-13 19:10:29 +00:00
Ivan Savenko
091029e0bb Support for parsing HotA 1.7.2 h3m's and h3c's 2025-02-13 19:10:29 +00:00
Ivan Savenko
a12ea45276 Support of parsing of all hota 1.7.1 h3m's and h3c's 2025-02-13 19:10:29 +00:00
Ivan Savenko
d996726fe7 Support for parsing HotA 1.7.0 maps 2025-02-13 19:10:29 +00:00
Ivan Savenko
09db3e4bef Reworked resource piles loading to fix wog maps with mithril 2025-01-25 11:40:21 +00:00
Ivan Savenko
e4505f20b9 Remove no longer used map checksum computation 2025-01-24 19:26:40 +00:00
Ivan Savenko
733b1b339c Remove broken automatic addition of dependency for wog maps 2024-11-07 12:08:28 +00:00
Ivan Savenko
d3af9f1c67 Removed pointer to VLC entity from CStackBasicDescriptor 2024-10-30 16:47:02 +00:00
Ivan Savenko
08fbcd5239 TerrainTile now uses identifiers instead of pointers to VLC 2024-10-30 16:22:11 +00:00
Ivan Savenko
a97deea563 Merge pull request #4824 from IvanSavenko/translate_fix
Fixes for issues with translations
2024-10-28 12:56:50 +02:00
Ivan Savenko
638bc174c3 Fix crash on exporting maps for translation 2024-10-25 21:41:24 +00:00