Modding changelog
From VCMI Project Wiki
This page lists changes in modding format between various versions of vcmi
Contents
0.95 -> 0.next
This section describes changes made since latest release ad not yet available to modders
Mod file format
- New fields to indicate license used by mod: "licenseURL" and "licenseName".
- Launcher can now display mod changelog from field "changelog" in mod format.
- Launcher will now download and display screenshots from a mod. Screenshots must be listed under "screenshots" field in repository
- New field in mod format: "keepDisabled". Mods with this field set to true will not be automatically enabled on install
0.94 -> 0.95
General
- VCMI now supports Unicode. All json files that contain non-English data must be converted to UTF-8 encoding.
- Json validation has been improved. VCMI will now detect any missing files on startup.
- All translatable strings are now in file config/translate.json. Mods may replace this file in order to provide translation for vcmi.
Map
- It is possible to replace win/loss conditions from map or campaign using subset of map header format (see Map format). To do this mod must contain file "config/mapOverrides.json" using same format as file with such name in vcmi.
Faction
- New field for hero class and town formats: "defaultTavern". This property will determine chance of hero class to appear in tavern if such value was not found in "tavern" fields.
- Support for extended building requirements.
- Detailed description: http://wiki.vcmi.eu/index.php?title=Town_Format#Building_node
- Example mod that creates alternative dwelling for Tower: https://dl.dropboxusercontent.com/u/22372764/vcmi/mods/townTests.zip
- String identifiers for buildings are now actually used in:
- Town hall buildings list
- Town buliding property "upgrades"
- Town structure property "builds"
- Town structure property "id" is no longer used and has been removed
- Property "commander" has been moved to hero class
Hero class
- New field for hero class and town formats: "defaultTavern". This property will determine chance of hero class to appear in tavern if such value was not found in "tavern" fields.
- New field: affinity (might or magic)
- Property "commander" has been moved to hero class
Creature
- New field: "idle" that indicates speed of idle animation.
0.93 -> 0.94
General
- All mods must already be compatible with vcmi 0.93. This can be checked bu running mod with 0.93 installed: any error messages printed in console log on start must be fixed.
- Zip support. Mods may use zip archives for their data. This is optional but recommended for performance reasons.
- To use zip archives: create archive with files from Content directory in it and place it in mod directory with name Content.zip
- Note: if both archive and directory are present files in directory will override files in archive.
- See update cove mod for example: https://dl.dropboxusercontent.com/u/22372764/vcmi/mods/cove.zip
- For music mods should use Ogg/Vorbis format instead of Mp3. This is necessary but not enforced due to lack of mp3 support on some platforms as well as legal issues from mp3 patents.
Mod file format
- New required fields: "version", "author", "contact" and "modType".
Towns
- property "town/siege/shooterHeight" has been removed
0.92 -> 0.93
General
- Identifiers resolution system. Same string identifiers from different mods will no longer conflict. Side effect: mod can access identifiers only from mods that are explicitly marked as required. This causes issue with current way to add new towns via 3 mods. There are two ways to fix this:
- Merge 3 mods into one.
- Move all creatures and hero classes into "neutral" faction and add proper overrides into town mod. See Cove for example.
Town
- Icons use path to icon instead of image indexes:
"village" : {
"normal" : {
"small" : "modname/icons/hall-small.bmp",
"large" : "modname/icons/hall-big.bmp"
},
"built" : {
"small" : "modname/icons/hall-builded-small.bmp",
"large" : "modname/icons/hall-builded-big.bmp"
}
},
"fort" : {
"normal" : {
"small" : "modname/icons/fort-small.bmp",
"large" : "modname/icons/fort-big.bmp"
},
"built" : {
"small" : "modname/icons/fort-builded-small.bmp",
"large" : "modname/icons/fort-builded-big.bmp"
}
}
- Buildings and structures use string identifiers instead of list
"buildings" :
{
"building1" : { <Building format> },
...
}
Creature
- Field graphics/iconIndex removed in favor of paths to two icons:
"graphics" :
{
"iconSmall" : "modname/icons/iconSmall.png",
"iconLarge" : "modname/icons/iconLarge.png"
}
- Abilities use string identifiers instead of list
"ability" :
{
"ability" : { <Bonus format> },
...
}
- Field graphics/attackClimaxFrame was moved into missile description
- Field graphics/missile/spinning is now removed.
Artifact
- Field iconIndex removed in favor of path to icon
Hero
- Field iconIndex removed in favor of path to icons
- Spellbook description now uses string ID's for spells instead of numeric indexes:
"spellbook" :
[
"magicArrow",
...
]
Main articles | |||
---|---|---|---|
Modding changelog | Modding guidelines | How to create a town mod | Mod Handler |
Formats | ||
---|---|---|
Mod file Format | ||
Town Format | Creature Format | Hero Classes Format |
Artifact Format | Animation Format | Hero Format |
Bonus Format | Object Format | Spell Format |
Work-in-progress formats | ||
---|---|---|
Building bonuses | Map format | |
Bonus Type Format | Random map template |
Outdated pages | ||
---|---|---|
Mod system proposal |