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
0d66ddbeec
GameState now uses random generator from server. Blocked access to rmg
...
on client
2024-07-16 13:13:38 +00:00
Laserlicht
02bd52041b
extend map format
2024-06-29 13:13:59 +02:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko
3bea383b59
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-06-21 12:58:36 +00:00
Ivan Savenko
e5dba942ac
Clear buffer (if any). Avoids false-positives with memcheck if buffer
...
contains old data
2024-06-12 18:13:21 +00:00
Ivan Savenko
615361a4d2
Remove excessive casts to void
2024-06-01 12:18:23 +00:00
Ivan Savenko
df83fa33a1
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-05-31 09:34:21 +00:00
Ivan Savenko
888149c6f6
Implemented simple versioning system for multiplayer
2024-05-29 20:08:32 +00:00
Ivan Savenko
5c2ca380ab
Merge pull request #4052 from vcmi/bank_battle
...
Config option for regular unit placement in Black Tower
2024-05-29 22:55:22 +03:00
Tomasz Zieliński
098c88eff4
Update serialization version
2024-05-29 20:52:59 +02:00
Ivan Savenko
2ff28f6957
Merge pull request #4018 from IvanSavenko/voting
...
[1.5.2?] Multiplayer voting
2024-05-29 18:13:42 +03:00
Ivan Savenko
f8a206b0c6
Fix serialization of size_t breaking 32<->64 bit compatibility
2024-05-23 12:46:28 +00:00
Ivan Savenko
10b50cd905
It is now possible to vote for simturns and turn timer changes
2024-05-19 18:31:32 +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
03054af949
Add description for serialization changes, fix CURRENT value
2024-05-17 13:09:08 +00:00
Ivan Savenko
a688bc6b69
Remove debug code
2024-05-17 13:08:41 +00:00
Ivan Savenko
a0ad810033
Remove old code
2024-05-16 19:11:33 +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
Ivan Savenko
1bc7c29111
Add workaround for visiting Altar of Sacrifice on 1.4 saves
2024-05-11 13:19:07 +00:00
Ivan Savenko
151075f088
Fix save compatibility with 1.4 that was broken by artifact costumes
2024-04-28 20:54:33 +03:00
Ivan Savenko
5010344df0
Added serialization of turn timer handler
2024-04-26 13:16:02 +03:00
Ivan Savenko
50e8d1fd82
Add save compatibility check
2024-04-09 16:42:20 +03:00
Ivan Savenko
9e49587749
Replace bonus string description with metastring that can properly
...
handle translations
2024-04-09 16:13:30 +03:00
RoboSchmied
9c334f54fe
Fix: 9 typos
...
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-28 03:03:44 +01:00
Ivan Savenko
6a5696604e
Merge pull request #3656 from SoundSSGood/backpack-management
...
Backpack management init
2024-03-24 19:09:32 +02:00
Kris-Ja
ff35a27176
Fix loading saved games (add ESerializationVersion)
2024-03-23 22:03:06 +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
d1c274f93f
Replaced vector of strings with simple bool for flag
2024-02-26 12:55:49 +02:00
Ivan Savenko
922966dcf8
Renamed JsonNode::meta to more logical modScope. Member is now private
2024-02-26 12:55:49 +02:00
Ivan Savenko
08a27663f9
Reworked JsonNode constructors to more logical form
2024-02-26 12:55:49 +02:00
Ivan Savenko
bc9e961252
Better checks for incoming data
2024-02-25 20:05:52 +02:00
Ivan Savenko
6901945b6e
Fix possible thread race on sending packet from two threads
2024-02-25 20:05:28 +02:00
Alexander Wilms
2ea78a5883
Fix float comparisons
...
Replace this "==" with a more tolerant comparison operation.
Floating point numbers should not be tested for equality cpp:S1244
2024-02-14 23:30:29 +01:00
Ivan Savenko
3740f8b02f
Moved bonus parsing to a new file
2024-02-14 15:48:06 +02:00
Ivan Savenko
c3957c2c2a
Moved json files to new directory, split on per-class basis
2024-02-14 13:08:24 +02:00
Ivan Savenko
f2ecd4cf11
Merge branch 'develop' into 'lobby'
2024-02-11 16:13:13 +02:00
Ivan Savenko
1cecaf2bf5
Skip unresolved identifier from list of allowed heroes/artifacts in vmap
2024-02-05 22:26:53 +02:00
Ivan Savenko
80fc2bb695
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-02-03 21:11:34 +02:00
Ivan Savenko
bd4c7e3ac0
Added LobbyPrepareStartGame pack to replace old workarounds
2024-02-03 19:57:23 +02:00
Ivan Savenko
2c2bec791c
Fixes and cleanup of game client network shutdown and restart
2024-02-03 19:27:04 +02:00
Ivan Savenko
f97ffd8e9a
Better handling of disconnects, code cleanup
2024-02-02 15:32:06 +02:00