4d57a8ed36
Prefer to pass CGameState as reference instead of pointer
2025-04-27 14:57:31 +03:00
966468f3fa
Fix and simplify game saving / loading
2025-04-27 14:57:31 +03:00
e6a8e5d4bd
Correctly restore bonus system on deserialization
2025-04-27 14:57:31 +03:00
4ed13409c2
Remove serialization of raw pointers from serialization
2025-04-27 14:57:31 +03:00
6d65641a43
Gamestate is now passed as shared pointer
2025-04-27 14:57:30 +03:00
bdae7285ae
Objects list is now private member of CMap
2025-04-27 14:57:30 +03:00
0ada2a5ebd
Map objects now use shared_ptr (game)
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
62cb5412ff
CGameState::map is now a private, unique_ptr with accessors
2025-03-08 14:05:14 +00:00
b6026084ea
StartInfo in gamestate now use unique_ptr
2025-03-08 14:04:51 +00:00
645b95ba02
Renamed LibClasses * VLC
to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
ba9e3dca9d
Mod management rework, part 1
...
- Replaced CModInfo class with constant ModDescription class
- Simplified mod loading logic
- Extracted some functionality from ModHandler into separate classes for
future reuse by Launcher
2024-11-26 13:55:46 +00:00
01d787fb5a
Removed remaining cases of serialization of VLC entities
2024-10-30 16:48:18 +00:00
08fbcd5239
TerrainTile now uses identifiers instead of pointers to VLC
2024-10-30 16:22:11 +00:00
10ad0fc760
Split CHeroHandler.cpp/.h into 1 file per class
...
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
20d5b33ea6
Remove marketModes as member
...
marketModes are now generated in runtime and are not a member of
IMarket. Was not a bad change, but towns load buildings before town type
is randomized, leading to case where market modes are not actually known
when building is added to town (like random towns with market built)
Since altar requires CArtifactSet for work, IMarket will now always
contain it, but it will only be accessible if market supports altar
mode.
2024-08-27 14:07:00 +00:00
01396b62b7
Extracted handling of type ID's from serializer into a separate class
2024-08-26 19:48:46 +00:00
2e3e6b1553
market->getObjInstanceID()
2024-08-21 01:01:23 +03:00
58bb2b58e3
IMarket suggestions
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com >
2024-08-20 18:49:48 +03:00
cd7ebea9e3
cleanup unused code
2024-08-20 18:49:47 +03:00
2f3f3c21df
Rename town building types to more clear names
2024-08-19 11:47:13 +00:00
01a9509ccb
Remove unused code, reduce includes
2024-08-19 11:47:13 +00:00
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00:00
c4b8778e8b
Remove unused code
2024-07-16 13:13:39 +00:00
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
6dd76908bc
MoveArtifact struct not used now
2024-07-09 14:27:04 +03:00
3bea383b59
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-06-21 12:58:36 +00:00
76bb32536f
Correctly iterate over allowed spells set (was vector originally)
2024-06-17 20:58:04 +00:00
84bc6c42db
Added 'Serializeable' base class for classes serializeable by pointer
2024-05-16 18:40:59 +00:00
80fc2bb695
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-02-03 21:11:34 +02:00
a42b60feb9
suggested changes
2024-02-01 13:28:08 +02:00
fc4ae3bd8c
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-20 23:01:49 +02:00
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +02:00
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
2024-01-19 13:55:22 +02:00
2c4cad7d9c
Slight simplification of bonus system node class
2024-01-19 13:54:49 +02: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
eb167d94a6
Mod compatibility check is now in a separate class and not part of
...
ModHandler
2023-11-08 21:27:05 +02:00
0691dfef3b
Moved stateful artifact randomization logic to gamestate from handler
2023-11-08 21:27:05 +02:00
ad3c870fb6
Remove serialization of VLC, remove unused code
2023-11-08 21:27:05 +02:00
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
3880ea58b9
Merge branch 'josch/dos2unix' into develop
2023-10-22 18:39:03 +03:00
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
...
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.
This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.
Files that are Windows specific like *.vcxproj and *.props files were
not converted.
Closes : #3073
2023-10-19 16:23:21 +02:00
dd841bdaa7
Use enum instead of mix of bool's and int's for tile reveal
2023-10-16 00:12:38 +03:00
98fd939ed6
Cartographer/Observatory is now configurable object
2023-10-16 00:12:38 +03:00
f3ed589e35
Use same fow radius calculation as in H3
2023-10-16 00:12:38 +03:00
ce20d913e0
Fix checking PlayerColor's for validness
2023-08-27 01:35:38 +03:00
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