[Tutorial] Criando um add-on: noções de como se cria um DAT
[Tutorial] Criando um add-on: noções de como se cria um DAT
Autor: IgorEliezer
Área: desenvolvimento
Nível: médio
Resumo: Ensina como criar o arquivo DAT, que irá fazer funcionar as imagens do arquivo png.
Documentação mais extensa sobre arquivos DAT: http://www.simutrans-germany.com/wiki/wiki/tiki-index.php?page=pt_dat-Files
Nota: Não cometa plágio. Ao usar material nosso, cite a autoria e o link de onde você tirou o material. Respeite o nosso trabalho.
Nota2: Este tutorial está incompleto, é uma versão vinda do antigo fórum, melhorada e expandida.
1.Introdução
Primeiramente, precisamos definir em qual modo do Simutrans você está querendo inserir um add-on, ou seja, com que tipo de tamanho gráfico você está querendo mexer. Existem vários tamanhos gráficos no Simutrans: 64x64pixels, 92x92pixels, 128x128pixels (não confunda tamanho gráfico com pakset).
É importante saber disso, pois disso depende a montagem do PAK.
Vamos supor que você vai mexer com o modo 64x64. Isso quer dizer que cada uma das figuras que você for colocar no png tem que ser dispostas em campos de 64x64pixels que compõe uma grade de linhas e colunas no arquivo de imagem png, do contrário, vai embaralhar as imagens no jogo.
2. Um exemplo
Vamos supor que você queira fazer um veículo para o pak64. Abaixo temos uma imagem de um veículo. É de um arquivo PNG formado por uma linha e oito colunas. Perceba que cada campo de 64x64pixels existe uma face do veículo. :exclaim: Importante: veja que o veículo está num fundo azul claro (a cor RGB #E7FFFF). Essa cor é a cor de transparência para que somente o seu veículo apareça no jogo, sem aparecer a cor do fundo.
Bom, já temos a imagem PNG (que é a parte mais trabalhosa), agora precisamos instruir o Simutrans dizendo que aquela imagem PNG é de um veículo, dizer quais são as características do veículo e precisamos fazer que o jogo "leia" cada campo conforme desejamos, ou seja, conforme muda a direção do carro será exibida dentro do jogo uma determinada figura de um dos campos. Para isso existe o DAT.
3. O DAT
3.1. O que é um DAT e como é formado
O arquivo DAT nada mais é que um arquivo txt que você renomeia sua extensão para dat.
Exemplo:
meucarro.txt :arrow: remova o txt e coloque dat :arrow: meucarro.dat
Podemos dividir o DAT em duas partes: o cabeçalho e o corpo.
Cabeçalho: são as primeiras linhas do DAT que diz ao Simutrans que tipo de objeto você está criando e quais suas características como velocidade, valores, pesos, etc.
Corpo: são as demais linhas que manipulam a imagem PNG, instruindo o Simutrans como, quando e quais delas vão aparecer no jogo.
Obviamente, o cabeçalho e o corpo vão no mesmo arquivo DAT.
3.2. O cabeçalho
Um exemplo de cabeçalho:
Obj=citycar
Name=meu_carro
DistributionWeight=10
intro_year = 1926
retire_year = 1952
speed = 60
Obj=citycar : diz que o objeto é um citycar.
Name=meu_carro : o nome do objeto sem espaços. Se tiver espaços, o add-on vai até funcionar no jogo, mas não será incapaz de ser traduzido para outras línguas.
DistributionWeight=10 : define a probabilidade deste objeto de aparecer no jogo.
intro_year = 1926 : o objeto só vai parecer depois de 1926
retire_year = 1952 : o objeto não vai mais parecer depois de 1952
speed = 60 : velocidade de 60 km/h
Mas o DAT não está pronto. Falta a parte que trata da imagem PNG.
3.3. O corpo
Abaixo vemos a parte do DAT que fará as imagens do exemplo acima aparecerem no jogo.
Image[S]=meucarro.0.0
Image[N]=meucarro.0.1
Image[E]=meucarro.0.2
Image[W]=meucarro.0.3
Image[SE]=meucarro.0.4
Image[NW]=meucarro.0.5
Image[NE]=meucarro.0.6
Image[SW]=meucarro.0.7
O que significa, por exemplo, "Image[SE]=meucarro.0.4"? Veja a sintaxe abaixo:
Image["direção do veículo"]="nome do arquivo imagem sem o png"."número de linha da png"."número de coluna png"
No caso "Image[SE]=meucarro.0.4":
SE = direção sudeste, esta é uma das direções. É quando o carro está indo para o sudeste.
meucarro = nome do arquivo png sem a extensão ".png". Você tem que escrever isto para determinar em qual arquivo png estão as imagens que serão lidas.
0 = linha 0 do arquivo png. A numeração de linhas começa do zero e é de cima para baixo.
4 = coluna 4 do arquivo png. A numeração de colunas começa do zero e é da esquerda para direita.
Caso queira entender melhor como são numeradas cada campo conforme sua posição de linha e coluna, abaixo está uma figura de 3x3 campos mostrando melhor isso.Fazendo o dat e a imagem png corretamente, poderemos gerar o nosso arquivo pak. Então agora é só rodar o MakeObj.
( :idea: leia o tutorial: [Tutorial] Criando um add-on: usando o MakeObj)
Lógico que essa explicação é bem simplória. Tem mais coisa e outros segredos para fazer coisas mais elaboradas, principalmente quando se tratar de criar um add-on de ponte, edifício ou coisas ****im. Mas para fazer veículos já é o bastante.
Agora, se você quiser, nós temos uma documentação mais extensa sobre criação de add-ons:
Criando um Addons: http://www.simutrans-germany.com/wiki/wiki/tiki-index.php?page=pt_AddonsOverview
Criando o Arquivo DAT com lista de objetos e seus parâmetros: http://www.simutrans-germany.com/wiki/wiki/tiki-index.php?page=pt_dat-Files
Caso ainda tenha necessidade de mais algum esclarecimento é só postar aqui.
Até a próxima.