1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

48 Commits

Author SHA1 Message Date
Ivan Savenko
679181c103 Implemented serialization of local player state in json form 2024-10-08 20:04:32 +00:00
Ivan Savenko
31dff8f8da Add coastVisitable property to rewardables, update schemas 2024-09-12 12:11:18 +00:00
Ivan Savenko
cb5df096c1 Added per-team tracking of scouted state of an object 2024-09-12 12:11:17 +00:00
Ivan Savenko
8cfc1c4ee1
Merge pull request #4535 from IvanSavenko/savecompat_bump
Removed save compatibility with 1.4
2024-08-31 13:51:10 +03:00
Ivan Savenko
01697e4387 Fix player not being marked as defeated on losing all heroes and towns 2024-08-30 12:25:34 +00:00
Ivan Savenko
82c37573fa Removed save compatibility with 1.4
All save compatibility checks targeting 1.4 saves have now been removed.
Saves from 1.5 can still be loaded in 1.6

Implemeted few TODO's in serialization that were postponed to avoid
breaking save compatibility in MP for 1.5.X releases.

Fixed missed case for loading black market object from 1.5 saves
2024-08-29 18:51:53 +00:00
Ivan Savenko
e5f1d60298 Add save compatibility 2024-08-28 13:03:44 +00:00
Ivan Savenko
d49a61645c All objects that can be owned by player now implement IOwnableObject 2024-08-28 12:51:28 +00:00
Ivan Savenko
a481f07daf PlayerState now stores all objects owned by player 2024-08-28 12:51:27 +00:00
godric3
c34956e912 introduce getModScope method toEntity class and subclasses 2024-08-10 16:08:04 +02:00
Ivan Savenko
b8beb4fb13 Fixes for various minor issues detected by Sonar Cloud 2024-06-01 11:48:30 +00:00
Ivan Savenko
84bc6c42db Added 'Serializeable' base class for classes serializeable by pointer 2024-05-16 18:40:59 +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
SoundSSGood
0ac7108293
Update lib/CPlayerState.h
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-04-28 13:02:27 +02:00
SoundSSGood
25dea7e364 Saving costume 2024-04-27 21:35:37 +03:00
Ivan Savenko
2e4895766a Implemented tracking of objects destroyed by players 2024-01-31 01:37:33 +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
2c4cad7d9c Slight simplification of bonus system node class 2024-01-19 13:54:49 +02:00
Ivan Savenko
c872f8418f Implemented serialization of MapObjectSubID, refactoring of related code 2023-11-17 21:18:34 +02:00
Ivan Savenko
20ef3a69e7 Fix most of memleaks discovered by valgrind 2023-11-13 16:27:15 +02:00
Laserlicht
f3e1943aaf
Merge branch 'develop' into highscore_menu 2023-09-23 21:38:17 +02:00
Laserlicht
6f8b62d77d
codereview 2023-09-23 20:41:30 +02:00
nordsoft
0de912e67b Add basic system to add more advantages for ai player 2023-09-20 03:50:35 +02:00
Ivan Savenko
e54287ea5d Converted remaining identifier to new system 2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4 Converted several namespace enums to enum class 2023-08-25 13:38:02 +03:00
nordsoft
3c9c302fd2 TurnTimerInfo 2023-08-14 02:16:25 +04:00
nordsoft
4b1224ec8c Implement turn timer feature 2023-08-13 14:07:48 +04:00
Ivan Savenko
19ace6a849 Moved hero pool logic to the separate files 2023-07-15 19:55:29 +03:00
Ivan Savenko
3d66455cd1 Fix build 2023-06-26 19:44:38 +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
7a5775a9f9 vcmi: use std::optional 2023-04-17 00:43:13 +03:00
Konstantin
11b237a23c vcmi: massive refactoring v1 2023-04-05 22:33:12 +03:00
Konstantin
ee489f18d2 vcmi: PlayerState is now an Entity
This will reduce code duplication a little bit.
2023-04-05 01:22:04 +03:00
Konstantin
4c4498b22a vcmi: modernize rest of lib 2023-03-16 17:55:20 +03:00
Andrey Filipenkov
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
DjWarmonger
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
Nordsoft91
aaa07e4d2e New terrain support - part 1 (#755)
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Soar Qin
c87df8e704
Fix warnings/errors on MSVC (#753)
* Fix warnings/errors on MSVC
1. update googletest to tag release-1.11.0 to make googletest and
   googlemock compile on MSVC2022.
2. set gtest_force_shared_crt to ON in test cmake project to make tests
   compile on MSVC.
3. add /wd4251 and /wd4275 to MSVC compile flags to ignore DLL related
   warnings for class exports.
4. fix some other warnings and errors while compiling on MSVC2022.
2022-06-11 18:45:34 +03:00
Dmitry Orlov
ea2931c6ea Fix: Get rid of 'Tile is not visible' error message 2022-01-30 12:31:07 +02:00
AlexVinS
ecaa9f5d0b Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
ArseniyShestakov
9d9c026c85 Code style: serialize everything on own lines for easier debugging (#357) 2017-07-31 16:35:42 +03:00
Arseniy Shestakov
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
DjWarmonger
27ff9efd4b Fixed #1713 2016-12-12 21:38:12 +01:00
AlexVinS
22f729a3fe CPlayerState serialize fix. 2016-09-04 13:43:09 +03:00
AlexVinS
629922f43e Added move constructors for minimum required Bonus system`s classes 2016-08-18 15:03:59 +03:00
Ivan Savenko
7b5a7f43ad Removed includes of CGameState from headers 2015-12-02 21:39:53 +02:00