Como o seu mod é lido
As estruturas de pasta que o SCS IntelliSense entende, e o que ele consegue e não consegue enxergar.
O jogo monta todos os arquivos compactados (os dele, os das DLCs e os de cada mod)
numa única pasta virtual, /. Um caminho como "/vehicle/truck/cabin.pmd" começa
ali. O SCS IntelliSense descobre onde fica esse / no seu disco olhando as pastas em
volta do arquivo que você está editando.
Estruturas suportadas
A pasta que tem o manifest.sii é o / do mod:
my_mod/
manifest.sii
def/
vehicle/
vehicle/
truck/
cabin.pmd
my_mod/vehicle/truck/cabin.pmd é escrito "/vehicle/truck/cabin.pmd".
Um caminho relativo (@include "parts/cabin.sui") começa na pasta do arquivo que o
escreve. Se o arquivo não estiver ali, a extensão também procura na mesma pasta das
outras partes do seu mod, como o jogo faz.
Várias pastas abertas ao mesmo tempo (um workspace do VS Code) também funcionam: cada arquivo usa o mod ao qual pertence.
Arquivos do jogo
O seu mod pode usar as units e os arquivos do jogo: um ponteiro para uma unit do jogo, um caminho para um modelo dele. A extensão não lê os arquivos compactados do jogo, então:
- esses nomes e caminhos não têm definição para onde pular, e isso é esperado;
- eles nunca são apontados como erro: um caminho que a extensão não encontra pode muito bem estar no jogo.
É por isso que não existe um aviso de "arquivo não encontrado": quase todo mod aponta para arquivos do jogo em algum lugar, e todos esses caminhos seriam marcados.
Os arquivos do jogo, extraídos
Se você extraiu os arquivos compactados do jogo para estudá-los, também pode abrir
essa pasta. Extraia uma pasta por arquivo compactado, lado a lado, e a extensão os lê
como o jogo: todos fazem parte do mesmo /.
ATS_extracted/
base/
def/
dlc_kenworth_w900/
dlc_oversize/
Fragmentos .sui
Um arquivo .sui pode ter uma unit inteira, ou só uma lista de atributos que o
@include cola dentro de uma unit escrita em outro arquivo:
accessory_engine_data : my_engine.engine {
@include "engine_common.sui"
price: 18000
}
E o fragmento, ao lado dele:
torque: 2400
volume: 15
A extensão descobre quem inclui o fragmento e trata os atributos dele como parte daquela unit: eles ganham autocompletar, hover e as mesmas verificações. Um fragmento que nada nas pastas abertas inclui ganha só as verificações básicas.
Pastas grandes
Quando uma pasta é aberta, a extensão lê todos os arquivos .sii, .sui, .mat e
.tobj dela em segundo plano. Um mod comum leva alguns segundos. Você pode continuar
trabalhando enquanto isso: a navegação e a atualização de caminhos se acertam assim
que a leitura termina.