Ivan Savenko
eb3b51a6cf
Remove save compatibility with 1.5.X
2025-03-18 11:35:15 +00:00
Ivan Savenko
62cb5412ff
CGameState::map is now a private, unique_ptr with accessors
2025-03-08 14:05:14 +00:00
Laserlicht
7dfb499edf
replace boost locks with std
2025-02-28 15:25:58 +01:00
Ivan Savenko
645b95ba02
Renamed LibClasses * VLC
to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
Ivan Savenko
0548f325e4
Merge branch 'master' into 'develop'
2025-02-21 13:59:34 +00: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
0efa39ec79
Fix pack name in logs
2025-02-06 14:21:32 +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
232e70c03a
Try to fix unclear, rare crash on saving the game
2025-01-18 19:51:31 +00:00
Ivan Savenko
ab45c58e26
Use small_vector for bonus list to reduce allocations
2024-12-21 14:43:08 +00:00
Dydzio
e9be46af98
Merge branch 'develop' into timed_events_objects_removal
2024-12-03 17:27:24 +01:00
Ivan Savenko
ccb42deba4
Fix deserialization of int64 values
2024-11-29 16:55:30 +00:00
Ivan Savenko
f59834afe1
Fixes for configurable markets support
...
- string "speech" can now be translated
- removed "title" string, VCMI will now use object name instead
- moved configuration of all "markets" into a separate json file
- added schema for validation of market objects
- removed serialization of translated strings from University
2024-11-20 15:45:13 +00:00
Ivan Savenko
4ae81cbac0
Add missing field to serialization
2024-11-16 16:23:02 +00:00
Laserlicht
0f94f35dcf
code review
2024-11-14 00:34:39 +01:00
Laserlicht
0e5711f8bf
Merge branch 'develop' into delete
2024-11-06 23:28:57 +01:00
Ivan Savenko
e9690c8c54
Merge branch 'develop' into autosave_name
2024-11-06 22:06:12 +02:00
Laserlicht
164aac4db2
refresh list
2024-11-01 00:52:19 +01:00
Laserlicht
1f0847660b
possibility to delete unsupported saves
2024-10-31 21:57:20 +01:00
Laserlicht
452762cd78
change datetime format
2024-10-30 23:23:56 +01:00
Ivan Savenko
a39469d165
Add save compatibility
2024-10-30 16:57:03 +00:00
Ivan Savenko
c4481f3797
Remove logic for serialization of VLC entities
2024-10-30 16:48:19 +00:00
Ivan Savenko
8a5ac73438
Basic support for configurable flaggable objects
...
Converted CGLighthouse class into FlaggableMapObject
Bonus provided by Lighthouse/Flaggable is now defined in config and is
accessible to mods.
2024-10-25 16:48:10 +00:00
Ivan Savenko
604e3b5c67
Merge pull request #4763 from IvanSavenko/herohandler_split
...
Split CHeroHandler.cpp/.h into 1 file per class
2024-10-14 19:05:48 +03:00
Ivan Savenko
10ad0fc760
Split CHeroHandler.cpp/.h into 1 file per class
...
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
Ivan Savenko
31095248ab
Removed typeName and subtypeName properties from CGObjectInstance
2024-10-13 13:05:50 +00:00
Ivan Savenko
3dd4fa2528
Reduce usage of pointers to VLC entities
...
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.
CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.
VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town
VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
Ivan Savenko
679181c103
Implemented serialization of local player state in json form
2024-10-08 20:04:32 +00:00
Ivan Savenko
c1c552d394
Replaced some of pointers to CPack's with references
2024-10-07 14:59:14 +00:00
Laserlicht
d929bfb9d1
rename; introduce factor
2024-09-28 15:05:13 +02:00
Laserlicht
7707adc44f
checks on server
2024-09-28 01:18:10 +02:00
Dydzio
3fe90e19a5
Merge branch 'develop' into map-objects-removal-2
2024-09-28 00:08:59 +02:00
Laserlicht
a9327b3fa3
netpacks
2024-09-27 22:47:22 +02:00
Laserlicht
138cbc6a81
scenario name for campaigns
2024-09-24 11:23:10 +02:00
Dydzio
cf5ce96aeb
Backend implementation of object removal possibility by timed map events
2024-09-23 21:45:50 +02:00
Ivan Savenko
cb5df096c1
Added per-team tracking of scouted state of an object
2024-09-12 12:11:17 +00:00
Laserlicht
258d298775
Merge branch 'develop' into outro_support
2024-09-09 23:09:44 +02:00
Laserlicht
6d9385b8bd
outro for RoE
2024-09-05 21:31:17 +02:00
Ivan Savenko
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
Ivan Savenko
6179521364
Merge pull request #4556 from IvanSavenko/town_building_visit
...
Implemented explicitly visitable town buildings, e.g. hota mana vortex
2024-09-05 17:21:21 +03:00
Ivan Savenko
81af66d35b
Move visit query to a separate class, remove no longer needed Cast.h
2024-09-04 14:32:36 +00:00
Ivan Savenko
327ff01471
Implemented explicitly visitable town buildings, e.g. hota mana vortex
...
Added flag `manualHeroVisit` flag to town building. If this flag is set,
then building will only be activated on click and will not give its
effect on hero recrutiment, hero visit, or new day.
This allows implementing changes to Mana Vortex from HotA
2024-09-03 16:31:07 +00:00
Laserlicht
36914682a5
Merge branch 'develop' into chronicles_installer
2024-08-31 16:18:52 +02:00
Laserlicht
16cbd6a7d2
allow custom loadbar-backgrounds for campaigns
2024-08-31 16:03:42 +02:00
Ivan Savenko
0a72a0a48e
Merge pull request #4534 from SoundSSGood/BulkEraseArtifacts
...
BulkEraseArtifacts network pack
2024-08-31 13:52:26 +03:00
Ivan Savenko
82c37573fa
Removed save compatibility with 1.4
...
All save compatibility checks targeting 1.4 saves have now been removed.
Saves from 1.5 can still be loaded in 1.6
Implemeted few TODO's in serialization that were postponed to avoid
breaking save compatibility in MP for 1.5.X releases.
Fixed missed case for loading black market object from 1.5 saves
2024-08-29 18:51:53 +00:00
SoundSSGood
e15ea4fc75
BulkEraseArtifacts network pack
2024-08-29 20:22:08 +03:00
Ivan Savenko
e5f1d60298
Add save compatibility
2024-08-28 13:03:44 +00:00
Ivan Savenko
f765f212bb
Restore save compatibility
2024-08-26 20:52:37 +00:00
Ivan Savenko
ac271c09b9
Add mechanism to provide save compatibility if class is removed or
...
addded
2024-08-26 20:06:36 +00:00