| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705 |
- // This is schema for checking game settings from settings.json
- // Any new settings should be added in this file for correct serialization and initialization
- {
- "type" : "object",
- "$schema" : "http://json-schema.org/draft-04/schema",
- "required" : [ "general", "video", "adventure", "battle", "input", "server", "logging", "launcher", "lobby", "gameTweaks" ],
- "definitions" : {
- "logLevelEnum" : {
- "type" : "string",
- "enum" : [ "trace", "debug", "info", "warn", "error" ]
- }
- },
- "additionalProperties" : false,
- "properties" :
- {
- "general" : {
- "type" : "object",
- "default" : {},
- "additionalProperties" : false,
- "required" : [
- "playerName",
- "music",
- "sound",
- "saveRandomMaps",
- "lastMap",
- "language",
- "gameDataLanguage",
- "lastSave",
- "lastSettingsTab",
- "lastCampaign",
- "lastDifficulty",
- "saveFrequency",
- "notifications",
- "extraDump",
- "userRelativePointer",
- "relativePointerSpeedMultiplier",
- "hapticFeedback",
- "longTouchTimeMilliseconds",
- "autosaveCountLimit",
- "useSavePrefix",
- "savePrefix",
- "startTurnAutosave",
- "enableUiEnhancements",
- "audioMuteFocus"
- ],
- "properties" : {
- "playerName" : {
- "type" : "string",
- "default" : "Player"
- },
- "music" : {
- "type" : "number",
- "default" : 88
- },
- "sound" : {
- "type" : "number",
- "default" : 88
- },
- "saveRandomMaps" : {
- "type" : "boolean",
- "default" : false
- },
- "lastMap" : {
- "type" : "string",
- "default" : "Maps/Arrogance"
- },
- "language" : {
- "type" : "string",
- "enum" : [ "english", "czech", "chinese", "finnish", "french", "german", "hungarian", "italian", "korean", "polish", "portuguese", "russian", "spanish", "swedish", "turkish", "ukrainian", "vietnamese" ],
- "default" : "english"
- },
- "gameDataLanguage" : {
- "type" : "string",
- "enum" : [ "auto", "english", "czech", "chinese", "finnish", "french", "german", "hungarian", "italian", "korean", "polish", "portuguese", "russian", "spanish", "swedish", "turkish", "ukrainian", "vietnamese" ],
- "default" : "auto"
- },
- "lastSave" : {
- "type" : "string",
- "default" : "NEWGAME"
- },
- "lastSettingsTab" : {
- "type" : "number",
- "default" : 0
- },
- "lastCampaign" : {
- "type" : "string",
- "default" : ""
- },
- "lastDifficulty" : {
- "type" : "number",
- "default" : 1
- },
- "saveFrequency" : {
- "type" : "number",
- "default" : 1
- },
- "notifications" : {
- "type" : "boolean",
- "default" : false
- },
- "extraDump" : {
- "type" : "boolean",
- "default" : false
- },
- "userRelativePointer" : {
- "type" : "boolean",
- "default" : false
- },
- "relativePointerSpeedMultiplier" : {
- "type" : "number",
- "default" : 1
- },
- "longTouchTimeMilliseconds" : {
- "type" : "number",
- "default" : 1000
- },
- "hapticFeedback" : {
- "type" : "boolean",
- "default" : true
- },
- "autosaveCountLimit" : {
- "type" : "number",
- "default": 5
- },
- "useSavePrefix" : {
- "type": "boolean",
- "default": true
- },
- "savePrefix" : {
- "type": "string",
- "default": ""
- },
- "startTurnAutosave" : {
- "type": "boolean",
- "default": false
- },
- "enableUiEnhancements" : {
- "type": "boolean",
- "default": true
- },
- "audioMuteFocus" : {
- "type": "boolean",
- "default": false
- }
- }
- },
- "video" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [
- "resolution",
- "reservedWidth",
- "fullscreen",
- "realFullscreen",
- "cursor",
- "showIntro",
- "spellbookAnimation",
- "driver",
- "displayIndex",
- "showfps",
- "targetfps",
- "vsync",
- "scalingMode"
- ],
- "properties" : {
- "resolution" : {
- "type" : "object",
- "additionalProperties" : false,
- "required" : [ "width", "height", "scaling" ],
- "properties" : {
- "width" : { "type" : "number" },
- "height" : { "type" : "number" },
- "scaling" : { "type" : "number" }
- },
- "defaultIOS" : {"width" : 800, "height" : 600, "scaling" : 200 },
- "defaultAndroid" : {"width" : 800, "height" : 600, "scaling" : 200 },
- "default" : {"width" : 800, "height" : 600, "scaling" : 100 }
- },
- "reservedWidth" : {
- "type" : "number",
- "defaultIOS" : 0.1, // iOS camera cutout / notch is excluded from available area by SDL
- "default" : 0
- },
- "fullscreen" : {
- "type" : "boolean",
- "default" : false
- },
- "realFullscreen" : {
- "type" : "boolean",
- "default" : false
- },
- "cursor" : {
- "type" : "string",
- "enum" : [ "hardware", "software" ],
- "default" : "hardware"
- },
- "showIntro" : {
- "type" : "boolean",
- "default" : true
- },
- "spellbookAnimation" : {
- "type" : "boolean",
- "default" : true
- },
- "driver" : {
- "type" : "string",
- "defaultWindows" : "",
- "default" : "opengl",
- "description" : "preferred graphics backend driver name for SDL2"
- },
- "displayIndex" : {
- "type" : "number",
- "default" : 0
- },
- "showfps" : {
- "type" : "boolean",
- "default" : false
- },
- "targetfps" : {
- "type" : "number",
- "default" : 60
- },
- "vsync" : {
- "type" : "boolean",
- "default" : true
- },
- "scalingMode" : {
- "type" : "string",
- "enum" : [ "nearest", "linear", "best" ],
- "default" : "best"
- }
- }
- },
- "input" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [
- "radialWheelGarrisonSwipe",
- "touchToleranceDistance",
- "mouseToleranceDistance",
- "shortcutToleranceDistance",
- "enableMouse",
- "enableTouch",
- "enableController",
- "controllerTriggerTreshold",
- "controllerAxisDeadZone",
- "controllerAxisFullZone",
- "controllerAxisSpeed",
- "controllerAxisScale"
- ],
- "properties" : {
- "radialWheelGarrisonSwipe" : {
- "type" : "boolean",
- "default" : true
- },
- "touchToleranceDistance" : {
- "type" : "number",
- "default" : 20
- },
- "mouseToleranceDistance" : {
- "type" : "number",
- "default" : 0
- },
- "shortcutToleranceDistance" : {
- "type" : "number",
- "default" : 0
- },
- "enableMouse" : {
- "type" : "boolean",
- "default" : true
- },
- "enableTouch" : {
- "type" : "boolean",
- "default" : true
- },
- "enableController" : {
- "type" : "boolean",
- "default" : true
- },
- "controllerTriggerTreshold" : {
- "type" : "number",
- "default" : 0.3
- },
- "controllerAxisDeadZone" : {
- "type" : "number",
- "default" : 0.2
- },
- "controllerAxisFullZone" : {
- "type" : "number",
- "default" : 1.0
- },
- "controllerAxisSpeed" : {
- "type" : "number",
- "default" : 1000
- },
- "controllerAxisScale" : {
- "type" : "number",
- "default" : 2
- }
- }
- },
- "adventure" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [ "heroMoveTime", "enemyMoveTime", "scrollSpeedPixels", "heroReminder", "quickCombat", "objectAnimation", "terrainAnimation", "forceQuickCombat", "borderScroll", "leftButtonDrag", "smoothDragging", "backgroundDimLevel", "hideBackground", "backgroundDimSmallWindows" ],
- "properties" : {
- "heroMoveTime" : {
- "type" : "number",
- "default" : 150
- },
- "enemyMoveTime" : {
- "type" : "number",
- "default" : 150
- },
- "scrollSpeedPixels" : {
- "type" : "number",
- "default" : 800
- },
- "heroReminder" : {
- "type" : "boolean",
- "default" : true
- },
- "quickCombat" : {
- "type" : "boolean",
- "default" : false
- },
- "objectAnimation" : {
- "type" : "boolean",
- "default" : true
- },
- "terrainAnimation" : {
- "type" : "boolean",
- "default" : true
- },
- "forceQuickCombat" : {
- "type" : "boolean",
- "default" : false
- },
- "borderScroll" :
- {
- "type" : "boolean",
- "defaultIOS" : false,
- "defaultAndroid" : false,
- "default" : true
- },
- "leftButtonDrag" : {
- "type" : "boolean",
- "default" : false
- },
- "smoothDragging" : {
- "type" : "boolean",
- "default" : true
- },
- "backgroundDimLevel" : {
- "type" : "number",
- "default" : 128
- },
- "hideBackground" : {
- "type" : "boolean",
- "default" : false
- },
- "backgroundDimSmallWindows" : {
- "type" : "boolean",
- "default" : false
- }
- }
- },
- "battle" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [ "speedFactor", "mouseShadow", "cellBorders", "stackRange", "movementHighlightOnHover", "rangeLimitHighlightOnHover", "showQueue", "swipeAttackDistance", "queueSize", "stickyHeroInfoWindows", "enableAutocombatSpells", "endWithAutocombat", "queueSmallSlots", "queueSmallOutside" ],
- "properties" : {
- "speedFactor" : {
- "type" : "number",
- "default" : 2
- },
- "mouseShadow" : {
- "type" : "boolean",
- "default" : true
- },
- "cellBorders" : {
- "type" : "boolean",
- "default" : false
- },
- "stackRange" : {
- "type" : "boolean",
- "default" : true
- },
- "movementHighlightOnHover" : {
- "type" : "boolean",
- "default" : true
- },
- "rangeLimitHighlightOnHover" : {
- "type" : "boolean",
- "default" : false
- },
- "showQueue" : {
- "type" : "boolean",
- "default" : true
- },
- "swipeAttackDistance" : {
- "type" : "number",
- "default" : 250
- },
- "queueSize" : {
- "type" : "string",
- "default" : "auto",
- "enum" : [ "auto", "small", "big" ]
- },
- "stickyHeroInfoWindows" : {
- "type" : "boolean",
- "default" : true
- },
- "enableAutocombatSpells" : {
- "type": "boolean",
- "default": true
- },
- "endWithAutocombat" : {
- "type": "boolean",
- "default": false
- },
- "queueSmallSlots" : {
- "type": "number",
- "default": 10
- },
- "queueSmallOutside" : {
- "type": "boolean",
- "default": false
- }
- }
- },
- "server" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [ "localHostname", "localPort", "remoteHostname", "remotePort", "playerAI", "alliedAI", "friendlyAI", "neutralAI", "enemyAI" ],
- "properties" : {
- "localHostname" : {
- "type" : "string",
- "default" : "127.0.0.1"
- },
- "localPort" : {
- "type" : "number",
- "default" : 3030
- },
- "remoteHostname" : {
- "type" : "string",
- "default" : ""
- },
- "remotePort" : {
- "type" : "number",
- "default" : 3030
- },
- "playerAI" : {
- "type" : "string",
- "default" : "Nullkiller"
- },
- "alliedAI" : {
- "type" : "string",
- "default" : "Nullkiller"
- },
- "friendlyAI" : {
- "type" : "string",
- "default" : "BattleAI"
- },
- "neutralAI" : {
- "type" : "string",
- "default" : "StupidAI"
- },
- "enemyAI" : {
- "type" : "string",
- "default" : "BattleAI"
- }
- }
- },
- "logging" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [ "console", "file", "loggers" ],
- "properties" : {
- "console" : {
- "type" : "object",
- "default" : {},
- "required" : [ "format", "threshold", "coloredOutputEnabled", "colorMapping" ],
- "properties" : {
- "format" : {
- "type" : "string",
- "default" : "%m"
- },
- "threshold" : {
- "$ref" : "#/definitions/logLevelEnum",
- "default" : "info"
- },
- "coloredOutputEnabled" : {
- "type" : "boolean",
- "default" : true
- },
- "colorMapping" : {
- "type" : "array",
- "default" : [
- { "domain" : "global", "level" : "trace", "color" : "gray"},
- { "domain" : "global", "level" : "debug", "color" : "white"},
- { "domain" : "global", "level" : "info", "color" : "green"},
- { "domain" : "global", "level" : "warn", "color" : "yellow"},
- { "domain" : "global", "level" : "error", "color" : "red"}
- ],
- "items" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [ "domain", "level", "color" ],
- "properties" : {
- "domain" : { "type" : "string" },
- "level" : { "$ref" : "#/definitions/logLevelEnum" },
- "color" : { "type" : "string", "enum" : [ "default", "green", "red", "magenta", "yellow", "white", "gray", "teal" ] }
- }
- }
- }
- }
- },
- "file" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [ "format" ],
- "properties" : {
- "format" : {
- "type" : "string",
- "default" : "[%c] %l [%t] %n - %m"
- }
- }
- },
- "loggers" : {
- "type" : "array",
- "default" : [ { "domain" : "global", "level" : "trace" } ],
- "items" : {
- "type" : "object",
- "additionalProperties" : false,
- "required" : [ "level", "domain" ],
- "properties" : {
- "domain" : { "type" : "string" },
- "level" : { "$ref" : "#/definitions/logLevelEnum" }
- }
- }
- }
- }
- },
- "launcher" : {
- "type" : "object",
- "default" : {},
- "additionalProperties" : false,
- "required" : [
- "setupCompleted",
- "defaultRepositoryEnabled",
- "defaultRepositoryURL",
- "extraRepositoryURL",
- "extraRepositoryEnabled",
- "enableInstalledMods",
- "autoCheckRepositories",
- "ignoreSslErrors",
- "updateOnStartup",
- "updateConfigUrl"
- ],
- "properties" : {
- "defaultRepositoryEnabled" : {
- "type" : "boolean",
- "default" : true,
- },
- "defaultRepositoryURL" : {
- "type" : "string",
- "default" : "https://raw.githubusercontent.com/vcmi/vcmi-mods-repository/develop/vcmi-1.5.json",
- },
- "extraRepositoryEnabled" : {
- "type" : "boolean",
- "default" : false,
- },
- "extraRepositoryURL" : {
- "type" : "string",
- "default" : "",
- },
- "setupCompleted" : {
- "type" : "boolean",
- "default" : false
- },
- "enableInstalledMods" : {
- "type" : "boolean",
- "default" : true
- },
- "ignoreSslErrors" : {
- "type" : "boolean",
- "default" : false
- },
- "autoCheckRepositories" : {
- "type" : "boolean",
- "default" : true
- },
- "updateOnStartup" : {
- "type" : "boolean",
- "default" : true
- },
- "updateConfigUrl" : {
- "type" : "string",
- "default" : "https://raw.githubusercontent.com/vcmi/vcmi-updates/master/vcmi-updates.json"
- }
- }
- },
- "lobby" : {
- "type" : "object",
- "additionalProperties" : false,
- "default" : {},
- "required" : [ "mapPreview", "hostname", "port", "roomPlayerLimit", "roomType", "roomMode" ],
- "properties" : {
- "mapPreview" : {
- "type" : "boolean",
- "default" : true
- },
- "hostname" : {
- "type" : "string",
- "default" : "beholder.vcmi.eu"
- },
- "port" : {
- "type" : "number",
- "default" : 3031
- },
- "roomPlayerLimit" : {
- "type" : "number",
- "default" : 2
- },
- "roomType" : {
- "type" : "number",
- "default" : 0
- },
- "roomMode" : {
- "type" : "number",
- "default" : 0
- }
- }
- },
- "gameTweaks" : {
- "type" : "object",
- "default" : {},
- "additionalProperties" : false,
- "required" : [
- "showGrid",
- "forceMovementInfo",
- "numericCreaturesQuantities",
- "availableCreaturesAsDwellingLabel",
- "compactTownCreatureInfo",
- "infoBarPick",
- "skipBattleIntroMusic",
- "infoBarCreatureManagement",
- "enableLargeSpellbook",
- "skipAdventureMapAnimations"
- ],
- "properties" : {
- "showGrid" : {
- "type" : "boolean",
- "default" : false
- },
- "forceMovementInfo" : {
- "type" : "boolean",
- "default" : false
- },
- "numericCreaturesQuantities" : {
- "type" : "boolean",
- "default" : false
- },
- "availableCreaturesAsDwellingLabel" : {
- "type" : "boolean",
- "default" : false
- },
- "compactTownCreatureInfo" : {
- "type" : "boolean",
- "default" : false
- },
- "infoBarPick" : {
- "type" : "boolean",
- "default" : false
- },
- "skipBattleIntroMusic" : {
- "type" : "boolean",
- "default" : false
- },
- "infoBarCreatureManagement": {
- "type" : "boolean",
- "default" : true
- },
- "enableLargeSpellbook" : {
- "type": "boolean",
- "default": true
- },
- "skipAdventureMapAnimations": {
- "type": "boolean",
- "default": false
- }
- }
- }
- }
- }
|