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

143 Commits

Author SHA1 Message Date
Ivan Savenko
4aa73b40c9 Split CTownHandler into smaller chunks 2024-07-21 18:21:48 +00:00
Ivan Savenko
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
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
4e9feca8d4 Validate mod.json as json5 instead of strict json since Android launcher
no longer exists
2024-06-19 19:59:06 +00:00
Ivan Savenko
b4c6906471 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-06-11 19:22:23 +00:00
Ivan Savenko
9de6023224 Removed no longer needed pseudo-languages 2024-06-08 15:31:40 +00:00
Ivan Savenko
df83fa33a1 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-31 09:34:21 +00:00
Ivan Savenko
5d6470e527
Merge pull request #4025 from IvanSavenko/shared_ptr_lib
[1.6] Use shared_ptr for library entities
2024-05-30 19:14:06 +03:00
Ivan Savenko
7461df161c lib now uses shared_ptr for entities. Removed manual memory management. 2024-05-17 15:04:05 +00:00
Ivan Savenko
65f63e862c Tweaks to modding docs & error reporting based on discovered issues 2024-05-16 15:14:36 +00:00
Ivan Savenko
30e0a16ee9 Fix some 'new' issues reported by Sonar Cloud 2024-05-06 15:33:30 +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
Andrii Danylchenko
39e19f79f4 Fix #3754, #2316 2024-04-27 13:57:50 +03:00
Ivan Savenko
3e23a55c66 Fix build 2024-04-23 17:15:59 +03:00
Ivan Savenko
1840666327 Implemented join room dialog 2024-04-23 17:15:59 +03:00
Ivan Savenko
e5f8cefa7f Store and send mod list and game version for game rooms 2024-04-23 17:15:59 +03:00
Ivan Savenko
6ba6e0d55b Moved serialization of ModCompatibilityInfo from MapFormat 2024-04-23 17:15:59 +03:00
Ivan Savenko
6af2609e0f Do not write mods that do not affect gameplay to saved games 2024-04-18 19:13:02 +03:00
Ivan Savenko
ecc88fabc1 Disable translation validation due to too many false positives 2024-04-18 19:12:39 +03:00
Ivan Savenko
ea48976fba Disable failing assertion 2024-04-16 18:54:25 +03:00
Tomasz Zieliński
3e3959d360 Move all OH3 objects and obstacle sets to a mod 2024-04-08 12:50:41 +02:00
Evgeny Malygin
25125f96da
Fix: licenses, pragma guards, StdInc 2024-03-29 07:48:52 +02:00
godric3
acceca0139 map editor: Allow to customize hero spells 2024-03-24 10:01:20 +01:00
Ivan Savenko
29860848a5 Cleanup 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
54796c7c56 Rename toJson to toString/toCompactString for consistency 2024-02-26 12:55:49 +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
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
e50f586d8b Stabilization 2024-01-19 14:21:13 +02:00
Ivan Savenko
9af7c63a26 Fix build 2024-01-19 13:56:05 +02:00
Ivan Savenko
d5c4478816 Remove most of non-const access to VLC entities 2024-01-19 13:54:49 +02:00
Ivan Savenko
bd5682ecc3 Merge remote-tracking branch 'vcmi/master' into develop 2024-01-19 13:49:54 +02:00
Ivan Savenko
bb670cfb82 Merged accurate shot bonus into death stare bonus 2024-01-13 15:55:07 +02:00
Alexander Wilms
f3277b7953 Define each identifier in a dedicated statement 2024-01-10 00:22:23 +00:00
Ivan Savenko
6c8a587ac9 Better diagnostics of ID requests that require type, such as addInfo 2024-01-08 21:32:10 +02:00
Ivan Savenko
18227cba00 Implemented better error-reporting for issues commonly encountered by
modders
2024-01-07 22:35:22 +02:00
Ivan Savenko
2d8692c142 Throw "resource not found" instead of crashing on invalid query 2024-01-04 23:58:28 +02:00
Ivan Savenko
3b66701ffe Ignore illegal 'index' entries in mods 2024-01-04 23:52:01 +02:00
Ivan Savenko
ef5686634d Removed no longer used code 2024-01-04 23:48:58 +02:00
Ivan Savenko
bb6179d05e
Merge pull request #3391 from vcmi/master
Merge master -> develop
2023-12-25 13:00:17 +02:00
Ivan Savenko
6a357aaea6 Fix empty names for mods without set name (e.g. core mod) 2023-12-17 19:44:45 +02:00
kirby1
5888a20920 Add OpenBSD defines 2023-12-14 10:29:42 +03:00
Ivan Savenko
c0572b061a Fix compile on FreeBSD 2023-12-10 19:17:24 +02:00
Ivan Savenko
c717bb5504 Always convert mod ID to lower case before using it 2023-11-19 20:44:28 +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
d1a4e84255 Show message about mods that failed to load on opening main menu 2023-11-15 17:57:40 +02:00
Ivan Savenko
13763cad8e Remove few more implicit conversions 2023-11-15 15:55:19 +02:00
Ivan Savenko
eb167d94a6 Mod compatibility check is now in a separate class and not part of
ModHandler
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
3016014543
Merge pull request #3110 from IvanSavenko/mod_compat_fix
Mod compatibility fixes
2023-10-29 14:30:04 +02:00
Ivan Savenko
feae8b6ae4 Do not allow loading new objects into another mod namespace 2023-10-26 15:32:46 +03:00
Ivan Savenko
c202f58a15 Account for conflicts (and reverse-conflicts) when loading mods 2023-10-24 14:01:20 +03:00
Ivan Savenko
3880ea58b9 Merge branch 'josch/dos2unix' into develop 2023-10-22 18:39:03 +03:00
Ivan Savenko
3867e512f7
Merge pull request #3064 from IvanSavenko/bonus_metaidentifier
Type-safe bonus system
2023-10-22 18:34:12 +03:00
Ivan Savenko
b0a67a66e4
Merge pull request #3092 from IvanSavenko/compatibility_mods
Better support for compatibility mods
2023-10-22 18:02:45 +03:00
Ivan Savenko
31cf3442af Update docs 2023-10-22 16:55:19 +03:00
Ivan Savenko
36a1d6c415 Removed remaining integer bonus subtypes from configs 2023-10-22 16:55:19 +03:00
Ivan Savenko
910ad50417 Fix client & server compilation 2023-10-22 16:54:48 +03:00
Ivan Savenko
7e034814c1 Partially revert "Translation" type changes to avoid breaking mods 2023-10-22 16:51:08 +03:00
Ivan Savenko
adf58fa834 Hide not installed translation mods to languages other than selected one 2023-10-22 00:07:21 +03:00
Ivan Savenko
b50ebba1ba Added mod type "Compatibility" that is hidden in launcher 2023-10-21 23:55:20 +03:00
Ivan Savenko
b2c336de0d JsonNode now uses std::variant internally. Fixes crash on deserialize 2023-10-21 20:41:58 +03:00
Johannes Schauer Marin Rodrigues
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
nordsoft
98fde9ab1d Add string IDs in map editor 2023-09-28 14:38:31 +02:00
Nordsoft91
c803b57c33
Merge pull request #2889 from Nordsoft91/mod-compatibility-check
Proper mod compatibility check logic
2023-09-26 19:29:46 +02:00
Ivan Savenko
8210a2cafd Added list of all identifiers from base game 2023-09-26 15:55:27 +03:00
nordsoft
2a3e371caf Remove any modification of enabled mods during game loading 2023-09-24 23:34:46 +02:00
nordsoft
61141a0406 Fix gcc compiling 2023-09-23 01:10:45 +02:00
nordsoft
dce1ac1538 Redesign mod incompatibility message 2023-09-23 00:32:48 +02:00
nordsoft
4691907f9c Show root mods only 2023-09-21 22:28:29 +02:00
nordsoft
a05f8339ae Proper mod compatibility check system 2023-09-21 04:31:08 +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
12c4f8d18c Fixed serialization of PlayerColor in json 2023-09-04 22:22:24 +03:00
Ivan Savenko
7e27ac7073 IdentifierStorage is now separate handler in VLC 2023-09-04 18:56:16 +03:00
Ivan Savenko
c8a6cd74cc Additional checks for invalid access to IdentifierStorage 2023-09-04 18:56:16 +03:00
Ivan Savenko
6a260a60cf Fix resource creation 2023-09-04 18:22:34 +03:00
Ivan Savenko
0f88b8969b Removed some usages of std string as resource path 2023-09-04 18:22:34 +03:00
Ivan Savenko
6f0108e462 Use ResourcePath for referencing texts and json's 2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07 Always use ResourcePath for referencing images and animations 2023-09-04 18:22:34 +03:00
nordsoft
8040cafb3d Code review tweaks 2023-09-01 15:17:46 +04:00
nordsoft
15037b782f Fix assert 2023-09-01 04:39:32 +04:00
nordsoft
e9ba1d73d1 Support partial versions 2023-09-01 04:36:53 +04:00
nordsoft
ea7ab9d5ed Migrate launcher to vcmi versions 2023-09-01 04:12:41 +04:00
nordsoft
93f14c984d Fix compatibility check with patch version 2023-08-28 17:49:13 +04:00
nordsoft
925bde68ff Fix compatibility check with game version 2023-08-28 17:43:33 +04:00
nordsoft
0a6ea63b09 Revert "Add compatibility with minor version"
This reverts commit 6e7b13fcbe.
2023-08-28 17:41:00 +04:00
nordsoft
6e7b13fcbe Add compatibility with minor version 2023-08-28 16:21:46 +04: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
Ivan Savenko
d0b3319f6a Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-18 15:08:23 +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
8ea7e91189 moved mod-related files to new directory 2023-07-30 20:38:32 +03:00