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

48 Commits

Author SHA1 Message Date
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
1aa391fdf8 Split CGeneralTextHandler file into 1 file per class form
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes

Moved without changes:
Languages.h           -> texts/Languages.h
MetaString.*          -> texts/MetaString.*
TextOperations.*      -> texts/TextOperations.*

Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
                      -> texts/CLegacyConfigParser.*
                      -> texts/TextLocalizationContainer.*
                      -> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
2020d96070 Merge pull request #4071 from IvanSavenko/fix_rng_syncronization
[1.6] Fix potential desync if client uses different stdlib with different random number generators
2024-07-19 13:08:09 +03:00
b605dea6db JsonNode::JsonNode(): Also use reference for fileName argument in method definition 2024-07-17 14:37:58 +02:00
c484244ba0 JsonNode::JsonNode(): Use reference for fileName argument
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-07-17 14:01:13 +02:00
434371195d JsonNode constructors: Take fileName as argument
* Don't print JSON in JsonParser::parse() in case of errors
2024-07-17 13:50:59 +02:00
1ca8e9b3ae JsonParser::parse(): Print JSON if there were errors while parsing
In cases where the file name was not specified, the warning messages were not very useful.

Example:

```json
File <unknown> is not a valid JSON file!
At line 33, position 1 warning: Comma expected!

{
        "name" : "New Old Heroes",
        "description" : "New heroes based on old 3DO artwork and other game appearances. Requires Horn of the Abyss.",
        "modType" : "Heroes",
        "version" : "1.2.0",
        "author" : "Aphra",
        "contact" : "",

        "heroes" :
        [
                "config/gwenneth.json",
                "config/balindar.json",
                "config/nicolas.json",
                "config/kastore.json",
                "config/kydoimos.json",
                "config/athe.json",
                "config/miseria.json",
                "config/areshrak.json",
                "config/pactal.json",
                "config/zog.json"
        ],

        "changelog" :
    {
        "1.0.0"   : ["Initial release"],
        "1.1.0"   : ["Added Nicolas Gryphonheart and Kastore"],
        "1.1.1"   : ["Bug fixes"],
        "1.2.0"   : ["Added some HotA portrait-only campaign heroes"]
    },

        "depends" :
                [ "hota.neutralCreatures" ]
        "keepDisabled" : true
}
```
2024-07-17 13:17:43 +02:00
63bcf7d83c Replaced most of usages of CRandomGenerator with vstd::RNG in library 2024-07-16 13:13:07 +00:00
60a51e98de Remove usage of std::function from CRandomGenerator 2024-07-16 13:13:07 +00:00
f22a3d6168 JsonParser::error(): Use empty()
Co-authored-by: Andrey Filipenkov <kambaladecapitator@gmail.com>
2024-07-16 10:30:00 +02:00
466318b77b JsonParser::error(): Don't add trailing newline 2024-07-15 23:58:56 +02:00
6b8f94e6e7 Merge remote-tracking branch 'vcmi/master' into develop 2024-07-11 17:43:44 +00:00
235fa871dd Better validation of bonus json
- Json validator will now list all possible enum values on enum
validation failure
- Added validation of bonus string values using json valudation
- Deprecated bonus values (e.g. UNITL_BEING_ATTACKED) are now reported
via json validation
- Removed array version of "propagator" key since code only loads it as
a single string
2024-06-27 10:54:23 +00:00
02e429e973 Fix typos using https://github.com/crate-ci/typos
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
b4c6906471 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-06-11 19:22:23 +00:00
1057fa4ef9 Re-enable code that was not restored after terrain rework 2024-06-07 12:24:36 +00:00
df83fa33a1 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-31 09:34:21 +00:00
28081085a8 Create separate instance of updater for every bonus 2024-05-28 16:43:28 +00:00
7ad64207ed Prefer high-quality bik's to smk's 2024-05-15 17:05:17 +00:00
147db10a28 Avoid crash if configs file is missing, e.g. broken version of mod 2024-05-11 13:19:07 +00:00
b351946afd Add some utility bonuses for player resources boosting 2024-04-15 21:18:45 +02:00
9e49587749 Replace bonus string description with metastring that can properly
handle translations
2024-04-09 16:13:30 +03:00
39da7b3e32 Added option to build minimal vcmi library as needed by lobby 2024-03-28 12:07:49 +02:00
c21e5bb0fb Always validate messages in debug mode. Fixes for schemas 2024-03-08 16:32:40 +02:00
2c1b142d68 Added support for 'const' field to json validator 2024-03-08 16:32:39 +02:00
d5a96a122a Add additional constructor to JsonNode from const char *
Fixes an issue where due to implicit conversion JsonNode(bool) will be
called instead of expected JsonNode(std::string)
2024-02-29 17:33:00 +02:00
57eece233b Ignore BOM at the start of json file 2024-02-26 12:55:49 +02:00
f86708bf37 Fix json5 parsing 2024-02-26 12:55:49 +02:00
c90fb47c23 Converted json validator into a class 2024-02-26 12:55:49 +02:00
d2844a5eeb Cleared up code 2024-02-26 12:55:49 +02:00
08deae4186 Moved static methods outside of vcmi namespace 2024-02-26 12:55:49 +02:00
757f77378d Remove unused code 2024-02-26 12:55:49 +02:00
29860848a5 Cleanup 2024-02-26 12:55:49 +02:00
18bbccd167 Unify formatting 2024-02-26 12:55:49 +02:00
2632ab04f5 Partial support for json5 2024-02-26 12:55:49 +02:00
41493d6f67 Implemented 'strict' json support 2024-02-26 12:55:49 +02:00
d1c274f93f Replaced vector of strings with simple bool for flag 2024-02-26 12:55:49 +02:00
922966dcf8 Renamed JsonNode::meta to more logical modScope. Member is now private 2024-02-26 12:55:49 +02:00
e73516b7d1 Simplified template magic in JsonNode 2024-02-26 12:55:49 +02:00
08a27663f9 Reworked JsonNode constructors to more logical form 2024-02-26 12:55:49 +02:00
54796c7c56 Rename toJson to toString/toCompactString for consistency 2024-02-26 12:55:49 +02:00
a2b8eaf7fb Do not escape '/' when writing json 2024-02-26 12:55:49 +02:00
25146bfa93 Replace custom class with string_view 2024-02-26 12:55:49 +02:00
ca9a16e30e Partially updated schema validation to draft v6 2024-02-26 12:55:49 +02:00
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
3740f8b02f Moved bonus parsing to a new file 2024-02-14 15:48:06 +02:00
0b7bf56597 Remove old files 2024-02-14 14:02:41 +02:00
c3957c2c2a Moved json files to new directory, split on per-class basis 2024-02-14 13:08:24 +02:00