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

163 Commits

Author SHA1 Message Date
222b73bbcd Simplify library initialization 2025-03-12 13:33:12 +00:00
35fc7f7f03 Use new URL for 1.7 mods 2025-02-28 14:51:33 +00:00
07a46ed03b Configurable icons for bonuses
It is now possible for mods (e.g. vcmi extras) to provide custom icons
for bonuses subtypes or for custom bonuses values without requiring
hardcoded check in vcmi.

All existing hardcoded checks have been removed.

Bonuses config json from mods is now actually loaded.
2025-02-28 14:51:32 +00:00
8f074490a7 Merge branch 'master' into 'develop' 2025-02-27 21:15:42 +00:00
d1b13a0fe4 Add check for mod compatibilty 2025-02-25 16:19:15 +00:00
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
3d56375ec0 Fix possible crash on loading game with broken mods active 2025-01-18 19:50:25 +00:00
cfac768b6e Fix possible crash on corrupted h3 data / vcmi config 2025-01-07 15:05:57 +00:00
af83a3043e Merge pull request #5148 from Laserlicht/h3c_vcmp_converter
[1.6.x] h3c to vcmp converter
2025-01-04 23:19:25 +02:00
46442fbcca Correctly remove unsupported (e.g. era) mods from active preset 2025-01-01 21:01:46 +00:00
485361939a Added information on mod loading failure to inform player on broken mods 2025-01-01 20:59:32 +00:00
a345517776 h3c converter implementation 2024-12-25 18:40:40 +01:00
8c6208be04 Fixes for crashes discovered via Google Play
- Fix crash on attempt to enable mod with recursive dependencies
- Fix crash on attempt to enable Chronicles after failed install
- Fixed crash on attempt to access non-installed mod when repository
checkout is off
- Show error message on failure to load filesystem instead of crash in
launcher
- Added workaround for crash on attempt to delete nonexisting save/map
- Added logging of mod settings to log file to simplify debugging
2024-12-23 18:00:35 +00:00
e612fbb0c1 Merge pull request #5108 from IvanSavenko/preset_import
[1.6.1?] Mod preset import/export
2024-12-21 15:57:33 +02:00
23f3936739 Correctly disable root mod if it conflicts with mod player is trying to
enable
2024-12-18 22:04:15 +00:00
ba5ed98da5 Automatically install missing mods from preset 2024-12-17 16:37:55 +00:00
a983b5c7d7 It is now possible to export or import mod preset to/from clipboard 2024-12-17 14:38:50 +00:00
50838f24bf Auto-recover from cases when active preset is invalid 2024-12-15 19:43:43 +00:00
4682ae537d Prefer local mod data, unless repository has newer mod 2024-12-10 13:53:49 +00:00
0fde7942d2 Implemented preset management for Start Game tab 2024-12-10 11:29:08 +00:00
21f6815187 Fix loading of 1.5 and older 1.6 saves 2024-12-01 16:00:09 +00:00
3fccd85500 Use mod ID instead of translated mod name for console output 2024-11-27 14:04:03 +00:00
a80f65439b Do not inform of mod update if remote version is older than local 2024-11-26 21:05:18 +00:00
8a0d327ac2 Fix uncaught exception if newly updated mod has removed a submod 2024-11-26 21:04:56 +00:00
eab03c24ee Fix installation of mods with complex dependencies such as H3Evo 2024-11-26 13:56:29 +00:00
1678b137d8 Automatically enable all applicable compatibility patches 2024-11-26 13:55:46 +00:00
6bad88ba99 Fix display of active submods of disabled root mods 2024-11-26 13:55:46 +00:00
4aaa6c1eb4 Fix enabling and disabling of mods 2024-11-26 13:55:46 +00:00
34a59d049b Implement remaining todo's, fix handling of mods with invalid
dependencies
2024-11-26 13:55:46 +00:00
fef19f4846 Fix installation of multiple mods at once 2024-11-26 13:55:46 +00:00
00f97fb8cd Allow mod operations such as install when possible 2024-11-26 13:55:46 +00:00
879eb2184f Implement some TODO's, fix sonar warnings 2024-11-26 13:55:46 +00:00
85ffb449ca Fixes mod install / uninstall / updates 2024-11-26 13:55:46 +00:00
30ed066cea Restored mod uninstall functionality, restored translatable mod fields,
added more fields to translatable list
2024-11-26 13:55:46 +00:00
2fcda48c65 Implemented enabling and disabling of mods with dependencies resolving 2024-11-26 13:55:46 +00:00
37e975036c Restored display of enabled and disabled mods in Launcher 2024-11-26 13:55:46 +00:00
ac3aecba81 Reimplemented computation of installed mod size for Launcher 2024-11-26 13:55:46 +00:00
f72fb53117 Implemented missing mod description fields 2024-11-26 13:55:46 +00:00
41466238fc Cleanup code 2024-11-26 13:55:46 +00:00
87a665fb7f Restored all disabled mod functinality that was used by client 2024-11-26 13:55:46 +00:00
67fdd14dca Cleanup 2024-11-26 13:55:46 +00:00
06ce71087e Restored mod list display functionality in launcher 2024-11-26 13:55:46 +00:00
f8724b9558 Reworked mod handling in Launcher in order to unify code with lib 2024-11-26 13:55:46 +00:00
4945370fe3 Implemented validation of preset - removal of non-existing mods,
addition of newly installed mods
2024-11-26 13:55:46 +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
c57120f0dd Initial support for mod presets system 2024-11-26 13:55:46 +00:00
a2c2b28dfe Merge pull request #4859 from IvanSavenko/map_encoding_fix
Fix selection of encoding from maps
2024-11-06 22:00:59 +02:00
ee88cfa150 Fix selection of encoding from maps
Fixes typo from previous PR
2024-11-01 13:40:29 +00:00
6056d385ed Always load json configs from mod that references it
This should fix rather common problem with mods, where two unrelated mods
accidentally use same file name for a config file, leading to very unclear
conflict since this result in a file override.

Now all config files referenced in mod.json are loaded specifically from
filesystem of mod that referenced it. In other words, it is no longer
possible for one mod to override config from another mod.

As a side effect, this allows mods to use shorter directory layout, e.g.
`config/modName/xxx.json` can now be safely replaced with `config/
xxx.json` without fear of broken mod if there is another mod with same
path to config. Similarly, now all mods can use `config/translation/
language.json` scheme for translation files

Since this is no longer a problem, I've also simplified directory layout
of our built-in 'vcmi' mod, by moving all files from `config/vcmi`
directory directly to `config` directory.

- Overrides for miscellaneous configs like mainmenu.json should works as
before
- Images / animations (png's or def's) work as before (and may still
result in confict)
- Rebalance mods work as before and can modify another mod via standard
`modName:objectName` syntax
2024-10-31 14:49:11 +00:00
e714a02063 Merge pull request #4849 from IvanSavenko/map_encoding
Better handling of encoding detection for maps and campaigns
2024-10-31 15:07:36 +02:00