1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-05-23 22:40:07 +02:00

78 Commits

Author SHA1 Message Date
Ivan Savenko
a43c3fcb31 Restore save compatibility with 1.6 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
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
d34b47bb20 Remove pointers from artifacts 2025-04-27 14:57:31 +03:00
Ivan Savenko
4ed13409c2 Remove serialization of raw pointers from serialization 2025-04-27 14:57:31 +03:00
Ivan Savenko
8ec3e5210a Remove no longer needed support for gamestate vectors serialization 2025-04-27 14:57:31 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 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
417ea6451a Remove ConstTransitivePtr from hero and town instances 2025-04-27 14:57:30 +03:00
Ivan Savenko
eb3b51a6cf Remove save compatibility with 1.5.X 2025-03-18 11:35:15 +00:00
Ivan Savenko
ab45c58e26 Use small_vector for bonus list to reduce allocations 2024-12-21 14:43:08 +00:00
Ivan Savenko
ccb42deba4 Fix deserialization of int64 values 2024-11-29 16:55:30 +00:00
Ivan Savenko
c4481f3797 Remove logic for serialization of VLC entities 2024-10-30 16:48:19 +00:00
Ivan Savenko
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
Ivan Savenko
232a759db7 Remove type registration from library pack applying 2024-08-26 19:48:46 +00:00
Ivan Savenko
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +00:00
Ivan Savenko
48c92711f2 Fixed deserialization of new artifacts (and possibly some other objects)
Was broken in my previous PR, since pointer graph serialization was
enabled by default, leading to deserializationFix triggering on netpack
apply.

Cleaned up / clarified code
2024-07-29 18:19:15 +00:00
Ivan Savenko
31738e8f90 Always track already serialized pointers to avoid infinite recursion on
sending complex objects
2024-07-20 18:29:41 +00:00
Ivan Savenko
8754e0ebb3 Code formatting and cleanup 2024-05-17 17:10:29 +00:00
Ivan Savenko
69e33e406d Try to minimize dll linkage usage 2024-05-17 13:09:45 +00:00
Ivan Savenko
2ed355952c Added proper serialization for unordered_map 2024-05-16 19:03:04 +00:00
Ivan Savenko
42f7a48fa4 Simplified integer serialization code 2024-05-16 18:53:49 +00:00
Ivan Savenko
84bc6c42db Added 'Serializeable' base class for classes serializeable by pointer 2024-05-16 18:40:59 +00:00
Ivan Savenko
cce3f1cb2d Implemented compact serialization of integer numbers 2024-05-15 19:50:01 +00:00
Ivan Savenko
87eac164e6 Implemented string deduplication for serializer
Every unique string will now be serialized only once.
Reduces save size by ~20%
2024-05-15 19:49:59 +00:00
Ivan Savenko
5b182c31df Add 'hasFeature' method for convenience 2024-05-15 19:49:34 +00:00
RoboSchmied
9c334f54fe Fix: 9 typos
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-28 03:03:44 +01:00
SoundSSGood
d143f53d7e using deque for hero's backpack storage 2024-03-07 18:16:21 +02:00
Alexander Wilms
ea48257100 Fix SonarCloud issues
Replace the use of "::value" with "std::is_abstract_v" and similar issues
2024-03-02 14:08:03 +01:00
Ivan Savenko
03fcfe3392 Use std::byte in serializer 2024-02-02 13:09:12 +02:00
Ivan Savenko
9f3655c41b Minor code cleanup 2024-01-20 23:26:04 +02:00
Ivan Savenko
0c07384293 Refactoring of serialization versioning handling
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum

Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
Ivan Savenko
ea1f05d15a Stabilization 2024-01-19 13:55:22 +02:00
Ivan Savenko
60ffb81b33 Replaced remaining placeholder code with callbacks 2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5 Make IObjectInterface::cb non-static 2024-01-19 13:55:21 +02:00
Ivan Savenko
2c4cad7d9c Slight simplification of bonus system node class 2024-01-19 13:54:49 +02:00
Alexander Wilms
f3277b7953 Define each identifier in a dedicated statement 2024-01-10 00:22:23 +00:00
Ivan Savenko
76956cfe3a
Merge pull request #3188 from IvanSavenko/remove_identifier_implicit_int_conversion2
Remove implicit conversion of identifier to integer
2023-11-16 17:26:32 +02:00
Ivan Savenko
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +02:00
Ivan Savenko
301ac2457a Cleanup 2023-11-13 17:48:55 +02:00
Ivan Savenko
a6f37b7cd7 Fixed few more memory leaks in client 2023-11-13 16:27:15 +02:00
Ivan Savenko
20ef3a69e7 Fix most of memleaks discovered by valgrind 2023-11-13 16:27:15 +02:00
Ivan Savenko
5c810df36f Reorganized types registration code 2023-11-11 00:39:08 +02:00
Ivan Savenko
4a7fa9bf8c Simplified CTypeList class 2023-11-08 22:05:36 +02:00
Ivan Savenko
4e654a7e6e Better names 2023-11-08 21:27:05 +02:00
Ivan Savenko
2cc8b5baeb Fix map startup 2023-11-08 21:27:05 +02:00
Ivan Savenko
c7676bde53 Serialize Enitity classes by their ID 2023-11-08 21:27:05 +02:00
Ivan Savenko
f8a7f6e5a7 Remove remaining boost::mpl usages 2023-11-08 21:27:05 +02:00