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

78 Commits

Author SHA1 Message Date
a43c3fcb31 Restore save compatibility with 1.6 2025-04-27 14:57:31 +03:00
966468f3fa Fix and simplify game saving / loading 2025-04-27 14:57:31 +03:00
f9989d9152 Cleanup serializer/deserializer code 2025-04-27 14:57:31 +03:00
93b18ee94b Fix some issues detected by Sonar & code review, fix build 2025-04-27 14:57:31 +03:00
586620a290 Basic code review, remove unused code from serializers 2025-04-27 14:57:31 +03:00
d34b47bb20 Remove pointers from artifacts 2025-04-27 14:57:31 +03:00
4ed13409c2 Remove serialization of raw pointers from serialization 2025-04-27 14:57:31 +03:00
8ec3e5210a Remove no longer needed support for gamestate vectors serialization 2025-04-27 14:57:31 +03:00
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
2ca1748e96 Artifact instances are now owned solely by CMap 2025-04-27 14:57:30 +03:00
417ea6451a Remove ConstTransitivePtr from hero and town instances 2025-04-27 14:57:30 +03:00
eb3b51a6cf Remove save compatibility with 1.5.X 2025-03-18 11:35:15 +00:00
ab45c58e26 Use small_vector for bonus list to reduce allocations 2024-12-21 14:43:08 +00:00
ccb42deba4 Fix deserialization of int64 values 2024-11-29 16:55:30 +00:00
c4481f3797 Remove logic for serialization of VLC entities 2024-10-30 16:48:19 +00:00
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
232a759db7 Remove type registration from library pack applying 2024-08-26 19:48:46 +00:00
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +00:00
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
31738e8f90 Always track already serialized pointers to avoid infinite recursion on
sending complex objects
2024-07-20 18:29:41 +00:00
8754e0ebb3 Code formatting and cleanup 2024-05-17 17:10:29 +00:00
69e33e406d Try to minimize dll linkage usage 2024-05-17 13:09:45 +00:00
2ed355952c Added proper serialization for unordered_map 2024-05-16 19:03:04 +00:00
42f7a48fa4 Simplified integer serialization code 2024-05-16 18:53:49 +00:00
84bc6c42db Added 'Serializeable' base class for classes serializeable by pointer 2024-05-16 18:40:59 +00:00
cce3f1cb2d Implemented compact serialization of integer numbers 2024-05-15 19:50:01 +00:00
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
5b182c31df Add 'hasFeature' method for convenience 2024-05-15 19:49:34 +00:00
9c334f54fe Fix: 9 typos
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-28 03:03:44 +01:00
d143f53d7e using deque for hero's backpack storage 2024-03-07 18:16:21 +02:00
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
03fcfe3392 Use std::byte in serializer 2024-02-02 13:09:12 +02:00
9f3655c41b Minor code cleanup 2024-01-20 23:26:04 +02:00
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
ea1f05d15a Stabilization 2024-01-19 13:55:22 +02:00
60ffb81b33 Replaced remaining placeholder code with callbacks 2024-01-19 13:55:22 +02:00
a15366f5a5 Make IObjectInterface::cb non-static 2024-01-19 13:55:21 +02:00
2c4cad7d9c Slight simplification of bonus system node class 2024-01-19 13:54:49 +02:00
f3277b7953 Define each identifier in a dedicated statement 2024-01-10 00:22:23 +00:00
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
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +02:00
301ac2457a Cleanup 2023-11-13 17:48:55 +02:00
a6f37b7cd7 Fixed few more memory leaks in client 2023-11-13 16:27:15 +02:00
20ef3a69e7 Fix most of memleaks discovered by valgrind 2023-11-13 16:27:15 +02:00
5c810df36f Reorganized types registration code 2023-11-11 00:39:08 +02:00
4a7fa9bf8c Simplified CTypeList class 2023-11-08 22:05:36 +02:00
4e654a7e6e Better names 2023-11-08 21:27:05 +02:00
2cc8b5baeb Fix map startup 2023-11-08 21:27:05 +02:00
c7676bde53 Serialize Enitity classes by their ID 2023-11-08 21:27:05 +02:00
f8a7f6e5a7 Remove remaining boost::mpl usages 2023-11-08 21:27:05 +02:00