1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00
Commit Graph

174 Commits

Author SHA1 Message Date
Ivan Savenko
f58d08e563 Support for banned game entities in random map templates
The following entities can now be banned in a random map template
definition:
- Hero
- Artifact
- Spell
- Secondary skill

The ban follows the same rules as banning via the map settings in the
map editor.

It is also now possible to bypass dependencies and access identifiers
from mods that are not dependencies when defining:
- Banned entities in random map templates
- the chance of a hero class appearing in a tavern of a specific faction
- the chance of a spell appearing in a mage guild of a specific faction
- the chance of a hero class receiving a secondary skill

For this to work, the identifier must be specified in full, e.g.
`modName:objectName`. If the specified mod is not active, the game will
silently ignore this entry.

This behaviour is not affected by mod load order. It is possible to use
this format to access a mod that has not yet been loaded.
2025-07-14 00:18:11 +03:00
Ivan Savenko
9d2cf288fb Fix possible crash on accessing no longer existing submod 2025-07-01 17:49:43 +03:00
Ivan Savenko
5456e245a3 Add mod version validation 2025-06-18 09:39:22 +03:00
Ivan Savenko
a842dfb3c4 Support for defining new campaign regions in mods, for hota h3c 2025-06-15 17:01:29 +03:00
Ivan Savenko
2b43d415a9 Fix docs, update spell immunity usage of addinfo, fix sonar 2025-06-15 14:37:18 +03:00
Ivan Savenko
f5c037137b Fix translations, fix Sonar 2025-06-15 14:37:17 +03:00
Ivan Savenko
bc48337445 Implement async requests for bonus types 2025-06-15 14:36:29 +03:00
Ivan Savenko
4e47894e7a Somewhat configurable spell schools 2025-06-15 14:36:29 +03:00
Ivan Savenko
ac26b3ed9b Merge pull request #5658 from IvanSavenko/memleak_fix
Fix discovered memory leaks & reduce usage of raw pointers
2025-04-30 13:38:37 +03:00
Ivan Savenko
f70ad2c15b Reorganized artifact-related classes
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes

No changes to functionality
2025-04-29 13:29:08 +03:00
Ivan Savenko
4bafab9ad4 Fix possible leak due to usage of raw pointers in filesystem 2025-04-29 12:11:10 +03:00
Ivan Savenko
222b73bbcd Simplify library initialization 2025-03-12 13:33:12 +00:00
Ivan Savenko
35fc7f7f03 Use new URL for 1.7 mods 2025-02-28 14:51:33 +00:00
Ivan Savenko
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
Ivan Savenko
8f074490a7 Merge branch 'master' into 'develop' 2025-02-27 21:15:42 +00:00
Ivan Savenko
d1b13a0fe4 Add check for mod compatibilty 2025-02-25 16:19:15 +00:00
Ivan Savenko
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko
3d56375ec0 Fix possible crash on loading game with broken mods active 2025-01-18 19:50:25 +00:00
Ivan Savenko
cfac768b6e Fix possible crash on corrupted h3 data / vcmi config 2025-01-07 15:05:57 +00:00
Ivan Savenko
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
Ivan Savenko
46442fbcca Correctly remove unsupported (e.g. era) mods from active preset 2025-01-01 21:01:46 +00:00
Ivan Savenko
485361939a Added information on mod loading failure to inform player on broken mods 2025-01-01 20:59:32 +00:00
Laserlicht
a345517776 h3c converter implementation 2024-12-25 18:40:40 +01:00
Ivan Savenko
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
Ivan Savenko
e612fbb0c1 Merge pull request #5108 from IvanSavenko/preset_import
[1.6.1?] Mod preset import/export
2024-12-21 15:57:33 +02:00
Ivan Savenko
23f3936739 Correctly disable root mod if it conflicts with mod player is trying to
enable
2024-12-18 22:04:15 +00:00
Ivan Savenko
ba5ed98da5 Automatically install missing mods from preset 2024-12-17 16:37:55 +00:00
Ivan Savenko
a983b5c7d7 It is now possible to export or import mod preset to/from clipboard 2024-12-17 14:38:50 +00:00
Ivan Savenko
50838f24bf Auto-recover from cases when active preset is invalid 2024-12-15 19:43:43 +00:00
Ivan Savenko
4682ae537d Prefer local mod data, unless repository has newer mod 2024-12-10 13:53:49 +00:00
Ivan Savenko
0fde7942d2 Implemented preset management for Start Game tab 2024-12-10 11:29:08 +00:00
Ivan Savenko
21f6815187 Fix loading of 1.5 and older 1.6 saves 2024-12-01 16:00:09 +00:00
Ivan Savenko
3fccd85500 Use mod ID instead of translated mod name for console output 2024-11-27 14:04:03 +00:00
Ivan Savenko
a80f65439b Do not inform of mod update if remote version is older than local 2024-11-26 21:05:18 +00:00
Ivan Savenko
8a0d327ac2 Fix uncaught exception if newly updated mod has removed a submod 2024-11-26 21:04:56 +00:00
Ivan Savenko
eab03c24ee Fix installation of mods with complex dependencies such as H3Evo 2024-11-26 13:56:29 +00:00
Ivan Savenko
1678b137d8 Automatically enable all applicable compatibility patches 2024-11-26 13:55:46 +00:00
Ivan Savenko
6bad88ba99 Fix display of active submods of disabled root mods 2024-11-26 13:55:46 +00:00
Ivan Savenko
4aaa6c1eb4 Fix enabling and disabling of mods 2024-11-26 13:55:46 +00:00
Ivan Savenko
34a59d049b Implement remaining todo's, fix handling of mods with invalid
dependencies
2024-11-26 13:55:46 +00:00
Ivan Savenko
fef19f4846 Fix installation of multiple mods at once 2024-11-26 13:55:46 +00:00
Ivan Savenko
00f97fb8cd Allow mod operations such as install when possible 2024-11-26 13:55:46 +00:00
Ivan Savenko
879eb2184f Implement some TODO's, fix sonar warnings 2024-11-26 13:55:46 +00:00
Ivan Savenko
85ffb449ca Fixes mod install / uninstall / updates 2024-11-26 13:55:46 +00:00
Ivan Savenko
30ed066cea Restored mod uninstall functionality, restored translatable mod fields,
added more fields to translatable list
2024-11-26 13:55:46 +00:00
Ivan Savenko
2fcda48c65 Implemented enabling and disabling of mods with dependencies resolving 2024-11-26 13:55:46 +00:00
Ivan Savenko
37e975036c Restored display of enabled and disabled mods in Launcher 2024-11-26 13:55:46 +00:00
Ivan Savenko
ac3aecba81 Reimplemented computation of installed mod size for Launcher 2024-11-26 13:55:46 +00:00
Ivan Savenko
f72fb53117 Implemented missing mod description fields 2024-11-26 13:55:46 +00:00
Ivan Savenko
41466238fc Cleanup code 2024-11-26 13:55:46 +00:00