1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Open-source engine for Heroes of Might and Magic III
Go to file
Ivan Savenko 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
.github Use msvc build for daily Windows builds 2024-10-30 14:39:56 +00:00
AI Merge pull request #4763 from IvanSavenko/herohandler_split 2024-10-14 19:05:48 +03:00
android Update release date to monday 2024-08-25 19:42:25 +00:00
CI Changes according to review 2024-10-27 19:37:04 +00:00
client Merge branch 'develop' into mechanical_bonus 2024-10-31 15:14:51 +02:00
clientapp Merge pull request #4588 from Laserlicht/intro_video_rework 2024-09-19 16:18:31 +03:00
cmake_modules Preparation for release 1.5.7 2024-08-22 13:27:25 +00:00
config Merge branch 'develop' into mechanical_bonus 2024-10-31 15:14:51 +02:00
debian Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
docs Always load json configs from mod that references it 2024-10-31 14:49:11 +00:00
include Reduce usage of pointers to VLC entities 2024-10-10 12:28:08 +00:00
ios [launcher] show button to copy existing data on iOS >= 13 2024-06-09 18:20:39 +03:00
launcher Merge pull request #4779 from altiereslima/develop 2024-10-30 13:27:15 +02:00
lib Always load json configs from mod that references it 2024-10-31 14:49:11 +00:00
lobby Split CGeneralTextHandler file into 1 file per class form 2024-07-20 12:55:17 +00:00
mapeditor another attempt of using CGHeroInstance::NO_PATROLLING in map editor 2024-10-29 21:41:42 +01:00
Mods/vcmi Always load json configs from mod that references it 2024-10-31 14:49:11 +00:00
osx [launcher] build for Android 2024-06-08 00:09:04 +03:00
rpm Update RPM spec 2020-05-05 18:44:42 +10:00
scripting Reduce usage of pointers to VLC entities 2024-10-10 12:28:08 +00:00
scripts/lib Fix typos using https://github.com/crate-ci/typos 2024-06-24 03:47:19 +02:00
server Merge pull request #4790 from kodobi/bugfix/fix-incorrect-battlefield-while-attacking-town-without-fort 2024-10-28 08:38:14 +01:00
serverapp Bind server to a randomly assigned port 2024-07-12 01:06:36 +03:00
test Merge pull request #4763 from IvanSavenko/herohandler_split 2024-10-14 19:05:48 +03:00
vcmiqt Fix static linking 2024-10-09 11:27:43 +03:00
win Update vcpkg, fix QT paths 2022-09-24 10:53:09 +03:00
xcode Move ccache wrappers for macOS and iOS builds to apple/ dir 2023-10-06 21:08:45 +02:00
.gitattributes Fix links 2023-09-07 11:04:01 +03:00
.gitignore Add .directory files to .gitignore 2024-07-15 20:32:16 +02:00
.gitmodules Update googletest submodule 2024-08-02 15:09:48 +00:00
.travis.yml remove slack 2024-07-10 12:49:53 +02:00
AUTHORS.h add support for soft dependencies 2024-10-26 19:15:12 +08:00
CCallback.cpp Split CHeroHandler.cpp/.h into 1 file per class 2024-10-13 14:01:09 +00:00
CCallback.h Implemented serialization of local player state in json form 2024-10-08 20:04:32 +00:00
ChangeLog.md Added all 1.6 changes so far to ChangeLog.md 2024-10-30 13:28:34 +00:00
CMakeLists.txt Cleanup 2024-10-24 19:28:21 -07:00
CMakePresets.json Add support for Win7 and 32-bit msvc+vcpkg builds 2024-10-27 09:32:30 +00:00
conanfile.py Changes according to review 2024-10-14 13:23:48 +00:00
fuzzylite.pc.in
Global.h Add support for Win7 and 32-bit msvc+vcpkg builds 2024-10-27 09:32:30 +00:00
license.txt convert line endings from CRLF (Windows) to LF (Linux/Unix) 2023-10-19 16:23:21 +02:00
vcmibuilder [vcmibuilder] fix default destination directory on macOS 2023-04-01 14:25:26 +03:00
Version.cpp.in wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined 2022-09-24 15:55:21 +03:00
Version.h fix MXE build 2022-09-24 15:55:25 +03:00

VCMI Github Downloads Github Downloads Github Downloads Github Downloads

VCMI Project

VCMI is an open-source recreation of Heroes of Might & Magic III engine, giving it new and extended possibilities.

Vanilla town siege in extended window Vanilla town view with radial menu for touchscreen devices Large Spellbook with German translation New widget for Hero selection, featuring Pavillon Town

Latest release

Latest release can be found in Github Releases page. As of right now we plan to have major releases around 3 times per year. Daily builds are still available at builds.vcmi.download but they are not guaranteed to be stable. So we encourage everybody to use them and report found bugs so that we can fix them. Loading saves made with different major version of VCMI is usually not supported, so you may want to finish your ongoing games before updating. Please see corresponding installation guide articles for details for your platform.

Installation guides

Forge Town in battle Asylum town with new creature dialog Ruins town siege Map editor

Documentation and guidelines for players

Documentation and guidelines for translators

Documentation and guidelines for game modders

Documentation and guidelines for developers

Development environment setup instructions:

Engine documentation: (NOTE: may be outdated)

Documentation and guidelines for maintainers

VCMI Project source code is licensed under GPL version 2 or later. VCMI Project assets are licensed under CC-BY-SA 4.0. Assets sources and information about contributors are available under following link: https://github.com/vcmi/vcmi-assets

Copyright (C) 2007-2024 VCMI Team (check AUTHORS file for the contributors list)