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

45 Commits

Author SHA1 Message Date
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
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
615361a4d2 Remove excessive casts to void 2024-06-01 12:18:23 +00:00
df83fa33a1 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-31 09:34:21 +00:00
888149c6f6 Implemented simple versioning system for multiplayer 2024-05-29 20:08:32 +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
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
f3277b7953 Define each identifier in a dedicated statement 2024-01-10 00:22:23 +00:00
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +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
b2c336de0d JsonNode now uses std::variant internally. Fixes crash on deserialize 2023-10-21 20:41:58 +03:00
4d08a131d3 Reorganization of boost filesystem usage
- Removed (most of) boost filesystem namespace usings
- Replaced boost::filesystem::fstream with std::fstream and different
constructor that should be available on any plaftorm
2023-07-28 19:12:04 +03:00
21a39f0b01 Removed boost::iostreams in favor of std::stream / boost::filesystem 2023-07-28 19:12:04 +03:00
e9a90a8cbf Serializer: serialize small bitsets (32 bits) 2023-05-05 21:30:45 +03:00
86f5d6de69 vcmi: modernize headers 2023-04-30 13:35:54 +03:00
54eb550eb9 vcmi: remove unused functions now 2023-04-17 00:43:13 +03:00
7a5775a9f9 vcmi: use std::optional 2023-04-17 00:43:13 +03:00
0d35606a44 vcmi: use std::variant 2023-04-17 00:43:13 +03:00
644f0f4b32 Removed ARRAY_COUNT in favor of std::size 2023-04-12 01:04:26 +03:00
ff635edc0b wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
7ba271edf1 Rotation rebase2 (#912)
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
3d2dc2335b Switch ObjectTemplate to shared_ptr<const> (#870) 2022-09-11 16:13:53 +03:00
a05ae78e67 Fixed lots of warnings.
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.

4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
15138c23de Finished conversion to new logging API
* removed logger streams
* (float3|int3)::operator() -> (float3|int3)::toString(), it was too ugly and confusing.
2017-08-11 23:06:27 +03:00
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
a1cca251ec Possible fix for selection of incorrect method for serialization of vector<bool> 2016-10-30 11:42:53 +02:00
256f43f467 Fixes zero-initialized fileVersion member in deserializer 2016-10-29 19:52:19 +03:00
3d1b1f4ba8 Add files for rebased serializer refactoring done by Ivan 2016-10-27 17:26:22 +03:00