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