-
Notifications
You must be signed in to change notification settings - Fork 4
Configurações
Configurações na YGOFabrica são uma forma de personalizar as funcionalidades de forma persistente. Ou seja, uma vez escrito o jeito como você pretende que uma funcionalidade se comporte, os comandos agirão de acordo. Isso é feito criando e editando um arquivo chamado config.toml
.
Apesar dessa sua extensão diferenciada, .toml
, esse arquivo ainda é apenas um arquivo de texto, e portanto pode ser editado com qualquer editor de texto, como o bloco de notas do Windows ou o gedit. O que essa extensão significa é que o conteúdo desse arquivo é escrito em TOML, uma linguagem simples que lembra Lua em alguns aspectos, então deve ser intuitiva de usar. Você pode conferir sua descrição completa, ou ler o guia simplificado da própria página com o básico que você precisa saber. Ambos os links estão em inglês, mas um Google Tradutor já deve resolver.
"Certo, mas onde eu ponho esse arquivo config.toml
?" Na verdade, assim que você cria um novo projeto, a YGOFabrica coloca esse arquivo dentro da pasta do projeto. É aí que o config.toml
deve ficar. Assim, o que você especificar ali será usado nos comandos executados naquele projeto. Essas são configurações locais, pois são válidas apenas em um projeto.
Além disso, você pode especificar configurações válidas para todos os projetos, são as chamadas configurações globais. Ao instalar a YGOFabrica, um único config.toml
é criado em um local específico do seu computador (veja a tabela abaixo). O que for escrito ali, se torna válido para todos os projetos, a menos que uma configuração local especifique a mesma coisa com valores diferentes, sobrepondo-se à global.
Sistema | Caminho para a pasta de configurações |
---|---|
Linux | ~/.config/ygofab/config.toml |
Windows | %APPDATA%\YGOFabrica\config.toml |
Existem configurações indivuais que ficam no topo do arquivo config.toml
, e configurações "agrupadas". Das individuais, atualmente existe apenas a configuração de localização/idioma. Para mudar o idioma da interface do programa para, por exemplo, português, deve-se colocar a seguinte linha antes das configurações "agrupadas":
locale = 'pt'
Os idiomas oferecidos até então são apenas português (pt
) e inglês (en
). No entanto, você pode adicionar idiomas também, se você criar uma pasta chamada locale
dentro da já mencionada pasta de configurações, e colocar um arquivo .lua
adequado nela. Copie este arquivo e troque seus valores pelo texto no idioma de sua preferência. Se você fizer isso, seria de grande ajuda se você postasse esse novo arquivo aqui nos issues, para que ele pudesse ser incluído em futuras versões e disponibilizado para os demais usuários ;)
Já dos "grupos" de configuração, você pode configurar gamedir
s, expansion
s e picset
s. Cada um desses tipos de configuração segue o padrão:
[<tipo>.<id>]
chave1 = 'valor'
chave2 = "valor"
# ... e por aí vai (esta linha com # é um comentário, aliás)
onde <tipo>
corresponde a um dos tipos mencionados, <id>
é um nome identificador para aquele grupo, e cada um dos pares chave-valor definem o grupo em si. Cada grupo de configuração aceita também uma chave chamada default
(padrão), cujo valor pode ser true
(verdadeiro), false
(falso), ou omitido - o que é o mesmo que definir em false
. Em geral, se um grupo de configuração é definido como padrão, ele será usado num comando relacionado caso nenhum outro grupo seja especificado.
Não se preocupe, exemplos concretos serão mostrados a seguir.
Um gamedir
descreve um diretório onde o jogo EDOPro está instalado, sendo usado para sincronizar seu projeto com o jogo. Esta provavelmente se tornará uma configuração global, já que o local de instalação do jogo provavelmente será o mesmo independente do projeto. Além do default
, aqui entra apenas o par chave-valor path
, que indica o caminho em si onde o jogo está.
[gamedir.principal]
path = '''/home/username/edopro'''
default = true
# Omitir `default` é o mesmo que definir para `false`
[gamedir.teste]
path = '''/home/username/Downloads/edopro-beta'''
[gamedir.windows]
path = '''C:\ProjectIgnis'''
Uma expansion
descreve o nome de um arquivo .cdb
e um conjunto de arquivos usado pelo comando ygofab make para gerar esse arquivo .cdb
. Além do default
, aqui entra uma configuração de idioma (locale
) e o par chave-valor recipe
(receita). A ideia da recipe
é de ser uma lista de caminhos para arquivos - os colchetes denotam uma lista -, mas ela pode ser deixada vazia a princípio. Depois dê uma olhada no link previamente citado para entender o que essa recipe
significa.
[expansion.vazia]
recipe = []
[expansion.clear-en-us]
recipe = ["clear.toml", "clear-en-us.toml"]
locale = 'en'
default = true
[expansion.clear-pt-br]
recipe = ["clear.toml", "clear-pt-br.toml"]
locale = 'pt'
Um picset
descreve como um conjunto de imagens de carta serão geradas pelo comando ygofab compose. Por exemplo, você pode querer ter um picset para cartas menores usadas dentro do jogo, e também um outro picset HD pronto para impressão. Um picset aceita muitas opções além do default
: mode
, locale
, size
, ext
, artsize
, year
, author
, field
, color-normal
, color-effect
, color-spell
, color-trap
, color-ritual
, color-fusion
, color-synchro
, color-xyz
e color-link
. mode
é o único par obrigatório.
Os significados dessas configurações são explicados em detalhe aqui.
[picset.normal]
mode = 'proxy'
size = '256x'
ext = 'png'
artsize = 'cover'
default = true
field = true
locale = 'en'
[picset.hd]
locale = 'pt'
mode = 'proxy'
year = 2020
author = 'PIFACE'
color-effect = '#ffffff'
[picset.anime]
mode = 'anime'
locale = 'pt'
Depois de escrever suas configurações específicas, há um comando conveniente para checar que está tudo ok:
$ ygofab config
Exibe todas as configurações válidas no diretório atual, agrupadas por escopo e tipo.
Perceba que esse comando - assim como todos os outros comandos da YGOFabrica - levam em conta o escopo das configurações. Ele vai te mostrar exatamente quais configurações são globais e quais são locais. No entanto, nos outros comandos, se você está executando-os dentro de um projeto, as configurações locais tomarão precedência sobre as configurações globais. Com a informação deste comando, se torna fácil conferir se uma configuração global poderia estar sendo sobreposta por uma local, por exemplo.