Ivan Savenko
03fcfe3392
Use std::byte in serializer
2024-02-02 13:09:12 +02:00
Ivan Savenko
29c0989849
Use std::byte to manage network data
2024-02-02 02:02:09 +02:00
Ivan Savenko
290cc1510b
Added text container with map translations to campaign state
...
Fixes missing translations for heroes names customized on maps after
their transfer to next scenario
2024-01-31 20:01:24 +02:00
Ivan Savenko
2e4895766a
Implemented tracking of objects destroyed by players
2024-01-31 01:37:33 +02:00
Ivan Savenko
322c5faf63
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-26 16:52:23 +02:00
Ivan Savenko
388ca6e776
Added list of active accounts and rooms to UI. Added room creation logic
2024-01-26 16:32:36 +02:00
Ivan Savenko
9f3655c41b
Minor code cleanup
2024-01-20 23:26:04 +02:00
Ivan Savenko
fc4ae3bd8c
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-20 23:01:49 +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
80e960bc8e
Finalized new TCP networking API
2024-01-19 23:52:28 +02:00
Ivan Savenko
22f0ca67c6
Fix connection to game lobby & map load
2024-01-19 23:49:59 +02:00
Ivan Savenko
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +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
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
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
Ivan Savenko
d5c4478816
Remove most of non-const access to VLC entities
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
Laserlicht
c471b626a2
code review
2023-12-27 15:26:08 +01:00
Ivan Savenko
84d9078bd9
Throw exception instead of failing with SIGSEGV
2023-12-17 19:44:45 +02:00
Ivan Savenko
a1f4748bbc
Fix socket shutdown
2023-12-03 19:44:58 +02:00
Ivan Savenko
5d16f035d7
Workaround for crash on winning the game
2023-11-27 14:09:08 +02:00
Ivan Savenko
d0e320723c
Remove no longer relevant assertion
2023-11-21 18:31:43 +02:00
Ivan Savenko
f53a53051b
Fixed map startup
2023-11-17 16:19:07 +02: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
59b2cbe4d2
Fix regressions
2023-11-15 15:57:03 +02:00
Ivan Savenko
10e110320b
Remove std::vector<boo> from Json Serializer, simplify affected code
2023-11-15 15:55:18 +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
a61ceaf2a7
Serialization version bump
2023-11-08 21:27:05 +02:00
Ivan Savenko
4e654a7e6e
Better names
2023-11-08 21:27:05 +02:00
Ivan Savenko
34c012d119
Serialization version bump
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
Ivan Savenko
ad3c870fb6
Remove serialization of VLC, remove unused code
2023-11-08 21:27:05 +02:00
Ivan Savenko
8f25f1fd4b
Serialize identifiers without implicit conversion to int
2023-11-03 16:03:29 +02:00
Alexander Wilms
f01ec55d21
Use the "nullptr" literal.
...
"nullptr" should be used to denote the null pointer
2023-10-27 18:18:59 +00:00
Ivan Savenko
8df39c43a0
Fix game loading
2023-10-22 17:04:14 +03:00
Ivan Savenko
b2c336de0d
JsonNode now uses std::variant internally. Fixes crash on deserialize
2023-10-21 20:41:58 +03:00
nordsoft
2960895041
Issues fixed
2023-09-17 22:19:45 +02:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
...
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
b6a1a8f0da
Json Serializer should now use identifers storage properly
2023-09-04 22:23:20 +03:00
Ivan Savenko
a30e7ba321
Remove bitmasks of PlayerColor's. Add encode/decode methods
2023-09-04 18:56:16 +03:00
Ivan Savenko
3f921fa771
Serialization version bump
2023-09-04 18:22:34 +03:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Michael
68a1b883eb
autosave folders
2023-08-22 20:43:44 +02:00
Ivan Savenko
537f9fa048
Merged master into develop
2023-08-03 23:38:32 +03:00
Ivan Savenko
62fddca21e
Split massive CModHandler class/file into multiple parts:
...
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko
7f72f7a82c
Cleanup server connection code a bit
2023-07-30 20:15:32 +03:00
Ivan Savenko
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
Ivan Savenko
21a39f0b01
Removed boost::iostreams in favor of std::stream / boost::filesystem
2023-07-28 19:12:04 +03:00
Ivan Savenko
aed8c411fc
Minor rework & cleanup of combat replays
2023-07-27 19:25:55 +03:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
...
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Ivan Savenko
fa4a0004b2
Merge pull request #2291 from IvanSavenko/terrain_animations_config
...
Moved hardcoded terrain palette-cycling animations to config
2023-07-07 14:28:39 +03:00
Tomasz Zieliński
06449ce7b0
Another compile fix
2023-07-05 21:18:30 +02:00
Tomasz Zieliński
506a0cdda0
- Better name as suggested in PR
...
- Compile fix
2023-07-05 21:08:32 +02:00
Ivan Savenko
3bce245780
Moved hardcoded terrain palette-cycling animations to config
2023-07-05 22:07:20 +03:00
Tomasz Zieliński
9f2bfbc1d8
Improve serialization of IDs from mods, so they are resolved correctly after all mods are loaded.
2023-07-05 20:53:00 +02:00
SoundSSGood
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00
SoundSSGood
aa90433418
bump serialization version
2023-07-01 14:59:23 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Ivan Savenko
acac42291e
Remove excessive CMap.h includes
2023-05-31 23:18:38 +03:00
Konstantin P
f2827834c0
vcmi: bump serialization version
2023-05-05 21:30:45 +03:00
Konstantin P
e9a90a8cbf
Serializer: serialize small bitsets (32 bits)
2023-05-05 21:30:45 +03:00
Konstantin
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
Konstantin
1d34c73c2d
vcmi: split CBonusSystemNode, BonusParams and prop
...
More splitting of HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
6fa1b2b19f
vcmi: move bonuses to its own folder
2023-05-02 00:53:50 +03:00
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
Konstantin P
7c4badc890
CSerializer: fix debug assertion
...
Fix compilation in debug mode
2023-04-19 13:00:51 +03:00
Konstantin
4a79e2ccd9
CSerializer: fix any_cast
2023-04-18 23:29:47 +03:00
Konstantin
54eb550eb9
vcmi: remove unused functions now
2023-04-17 00:43:13 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Konstantin
0d35606a44
vcmi: use std::variant
2023-04-17 00:43:13 +03:00
Konstantin
8dcb041917
vcmi: use std::any
2023-04-17 00:43:13 +03:00
Konstantin
25783066e8
vcmi: use std::any_cast
2023-04-17 00:43:13 +03:00
Ivan Savenko
2c2c2c8fe0
Slight tweaking of logging of h3m edge cases
2023-04-15 17:20:38 +03:00
Ivan Savenko
644f0f4b32
Removed ARRAY_COUNT in favor of std::size
2023-04-12 01:04:26 +03:00
Konstantin
7b9e281f7d
vcmi: bump serialization version
2023-04-10 19:28:16 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Ivan Savenko
307065a633
Merge beta into develop
2023-04-04 16:06:20 +03:00
Ivan Savenko
ea1d177c9b
Fixed false error messages on game startup
2023-03-31 01:28:56 +03:00
Konstantin
25956e3f37
vcmi: bump serializer version
2023-03-31 01:01:25 +03:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Konstantin
4eb248b5e2
vcmi: bump serialization version
...
Saves from this branch are incompatible with generic ones
2023-03-16 16:47:05 +03:00
Adriankhl
626721cbba
Fix serialization of ObjectClass
2023-03-12 21:41:46 +01:00
Konstantin
fafe352f93
vcmi: bump max serialization version
...
And also - now we can choose between 3 states for rewardables
actually.
2023-03-11 21:41:57 +03:00
Ivan Savenko
0c847c85cc
Fix serialization of rewardable objects
2023-03-07 00:06:58 +02:00
Ivan Savenko
84fa19dadf
Merge pull request #1547 from dydzio0614/game-start-unrandomization
...
Hardcoded features for HotA-like starting conditions
2023-03-05 17:29:49 +02:00
Konstantin
8661496f6c
vcmi: modernize lib/serializer
2023-02-12 21:23:00 +03:00
Dydzio
981c23cafa
Bump serialization - not sure if necessary
2023-02-05 01:01:11 +01:00
Ivan Savenko
c3a2dee45a
Code cleanup
2023-01-31 15:00:46 +02:00
Ivan Savenko
4a8d1d9b5e
Serialization version bump
2023-01-25 12:36:03 +02:00
Ivan Savenko
5a9ffb8e95
Serialization version bump
2023-01-20 15:18:36 +02:00
Ivan Savenko
388ed88b5d
All artifact strings now pass through translator
2023-01-20 15:18:36 +02:00