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