News:

Do you need help?
Simutrans Wiki Manual can help you to play and extend Simutrans. In 9 languages.

[Tutorial] Criando um add-on: noções de como se cria um DAT

Started by IgorEliezer, August 16, 2009, 05:24:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

IgorEliezer

[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 assim. 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. :)

Luan

desculpa ai cara mais tive um problema com o .dat eu coloco la .dat masi fica .dat.txt

ajuda???

vilvoh

Que programa você está usando para criar o arquivo dat? você pode mudar a extensão do arquivo diretamente modificando o nome do arquivo

Escala Real...a blog about Simutrans in Spanish...

Luan


Luan

a mano descobri o problema meu windows ta ruim ¬¬'

vo la na minha tia hehehe faço os pngs aqui e faço os add-ons la ^^

vwl pela suposta ajuda hehhehe

to zuando ajudo pakas

Nicolas Catalani

Na verdade, isso é padrão do bloco de notas para formatos não comuns. Ele simplesmente coloca o .txt no final. Tente desabilitar isso nas preferências, ou use um editor para desenvolvedores, como o Notepad ++.

IgorEliezer

Fiz uma pequena edição no tutorial. Coloquei um link para o WikiManual já que temos várias páginas sobre criação de DAT lá.

Nick

Você tem que fazer as imagens no photofilter e depois salvar em png? E a cor tem que deixar o desenho em branco?

IgorEliezer

Quote from: Nick on February 12, 2011, 03:02:01 PM
Você tem que fazer as imagens no photofilter e depois salvar em png?
Sim. O PhotoFilter tem a opção de salvar em PNG. Na realidade, você pode fazer todo o trabalho em cima do arquivo PNG (sem transparência) e ir salvando.

Quote from: Nick on February 12, 2011, 03:02:01 PM
E a cor tem que deixar o desenho em branco?
Eu acho que você está dizendo "como faz a imagem ter transparência no Simutrans", não é? A parte que tem que ficar transparente, você pintar com aquele azul claro, a cor #E7FFFF.


Nick

para os transportadores(comboios)o preço de cada km q ele faz é de acordo com a velocidade e potência?

An_dz

Não, isso você utiliza o parâmetro runningcost. De uma olhada aqui o artigo ainda não está completo, mas vai lhe ajudar.

Nick

obrigado An_dz agora eu vou fazer um avião q custa cada km 1  ;D

IgorEliezer

^^^ Veículos extremamente desbalanceados não são incluídos nos paksets nem nos sites de add-ons. :D

antonio

depois de criado o add-on há alguma maneira de separar o arquivo dat do arquivo de imagem?