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
4b30336d03
Fix issues detected by Sonar
2025-05-11 19:50:57 +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
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
04c9e27ccd
Fix discovered bugs from develop branch
2025-04-27 15:53:03 +03:00
Ivan Savenko
4e8e85e3e4
Fix issues reported by Sonar, review fixes
2025-04-27 14:57:31 +03:00
Ivan Savenko
4d57a8ed36
Prefer to pass CGameState as reference instead of pointer
2025-04-27 14:57:31 +03:00
Ivan Savenko
ce436bd63e
Fix regressions in combat
2025-04-27 14:57:31 +03:00
Ivan Savenko
966468f3fa
Fix and simplify game saving / loading
2025-04-27 14:57:31 +03:00
Ivan Savenko
912c2eae94
Fix regressions
2025-04-27 14:57:31 +03:00
Ivan Savenko
f9989d9152
Cleanup serializer/deserializer code
2025-04-27 14:57:31 +03:00
Ivan Savenko
93b18ee94b
Fix some issues detected by Sonar & code review, fix build
2025-04-27 14:57:31 +03:00
Ivan Savenko
586620a290
Basic code review, remove unused code from serializers
2025-04-27 14:57:31 +03:00
Ivan Savenko
d1d2cf4189
Fix crashes on game start, gamestate now derives from GameCallbackHolder
2025-04-27 14:57:31 +03:00
Ivan Savenko
d34b47bb20
Remove pointers from artifacts
2025-04-27 14:57:31 +03:00
Ivan Savenko
9e6397d1f9
Remove pointer to boat from CGHeroInstance
2025-04-27 14:57:30 +03:00
Ivan Savenko
6d65641a43
Gamestate is now passed as shared pointer
2025-04-27 14:57:30 +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
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
417ea6451a
Remove ConstTransitivePtr from hero and town instances
2025-04-27 14:57:30 +03:00
SoundSSGood
603672ff51
revert some changes
2025-04-07 17:00:24 +02:00
SoundSSGood
f0a9c95075
ArtInfoWindow on client. Client side
2025-04-06 13:47:32 +02:00
SoundSSGood
4609a83fc1
ArtInfoWindow on client. Lib side
2025-04-05 18:02:04 +02:00
Ivan Savenko
dfbe6d1965
Merge pull request #5572 from IvanSavenko/old_banks_remove
...
Remove deprecated support for banks in 1.5 format
2025-03-26 16:45:56 +02:00
Ivan Savenko
7a3e1409d0
Remove old boost includes and defines
2025-03-19 08:03:56 +00:00
Ivan Savenko
2b286378e8
Remove logic for banks in 1.5 format
2025-03-19 08:02:39 +00:00
Ivan Savenko
e273263334
Fix possible crash on accessing Cannon Yard from HotA
2025-03-11 13:41:14 +00:00
Ivan Savenko
99c6ca7e70
Fix build
2025-03-08 16:11:59 +00:00
Ivan Savenko
62cb5412ff
CGameState::map is now a private, unique_ptr with accessors
2025-03-08 14:05:14 +00:00
Ivan Savenko
82506d5eff
Removed ConstTransitivePtr from StackLocation
2025-03-08 14:04:51 +00:00
Ivan Savenko
a061ed04de
Remove usage of ConstTransitivePtr from CTown
2025-03-08 14:04:51 +00:00
Ivan Savenko
2fdf40e7a9
Remove connection pointer from CPack
2025-03-03 10:46:00 +00: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
d3131ea365
Merge branch 'beta' into 'develop'
2025-01-31 16:33:12 +00:00
Ivan Savenko
2ee5f2df02
Merge pull request #5295 from IvanSavenko/bugfixing
...
[1.6.4] Bugfixing for recently reported issues
2025-01-21 15:50:02 +02:00
Ivan Savenko
b946d36bb0
Fix crash on winning game by capturing town that is victory condition
...
without defeating all enemies first
2025-01-18 19:51:09 +00:00
Ivan Savenko
e829d723b2
Replace global bonus tree change counter with per-node counter
2025-01-12 12:23:07 +00:00
Ivan Savenko
920a66edb1
Merge branch 'beta' into 'develop'
2025-01-10 13:04:52 +00:00
Ivan Savenko
9f56c00336
Reduce excessive FoW updates
2025-01-08 20:07:42 +00:00
Ivan Savenko
dea1eba20b
Rework and optimize turnInfo used by pathfinder
2025-01-04 15:09:50 +00:00
Ivan Savenko
aabd92451c
Merge branch master into develop
2024-12-27 13:29:44 +00:00
Ivan Savenko
65fc50d33b
Simplified building ID logic
...
- Replaced overcomplicated and broken math on dwelling ID's with fixed
enum
- Fixed broken 2nd upgrades and 8th dwelling
- Removed no longer used enumeration values from building ID's
2024-12-25 19:16:21 +00:00