The International Simutrans Forum

 

Author Topic: [Tutorial] Criando um add-on: noções de como se cria um DAT  (Read 14015 times)

0 Members and 1 Guest are viewing this topic.

Offline IgorEliezer br

  • Devotee
  • Administrator
  • *
  • Posts: 4082
  • Cake recipes are cool... REALLY!
    • Igor Eliezer Architect and Urban Planner/Arquiteto e Urbanista
  • Languages: PT, EN, AutoLISP, Python
[Tutorial] Criando um add-on: noções de como se cria um DAT
« on: August 16, 2009, 05:24:27 AM »
[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:

Code: [Select]
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.

Code: [Select]
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. :)
« Last Edit: April 23, 2013, 03:31:02 PM by IgorEliezer »

Luan

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #1 on: March 19, 2010, 10:37:32 AM »
desculpa ai cara mais tive um problema com o .dat eu coloco la .dat masi fica .dat.txt

ajuda???

Offline vilvoh

  • One of the good guys
  • Administrator (Inactive)
  • *
  • Posts: 4504
  • I'm the constructor, the architect
    • Escala real
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #2 on: March 19, 2010, 12:11:13 PM »
Que programa você está usando para criar o arquivo dat? você pode mudar a extensão do arquivo diretamente modificando o nome do arquivo

Luan

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #3 on: March 19, 2010, 10:00:27 PM »
eu uso o bloco de notas

 algum problema com ele???

Luan

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #4 on: March 21, 2010, 10:47:21 PM »
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

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #5 on: July 16, 2010, 02:52:34 AM »
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 ++.

Offline IgorEliezer br

  • Devotee
  • Administrator
  • *
  • Posts: 4082
  • Cake recipes are cool... REALLY!
    • Igor Eliezer Architect and Urban Planner/Arquiteto e Urbanista
  • Languages: PT, EN, AutoLISP, Python
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #6 on: January 15, 2011, 05:40:50 PM »
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

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #7 on: February 12, 2011, 03:02:01 PM »
Você tem que fazer as imagens no photofilter e depois salvar em png? E a cor tem que deixar o desenho em branco?
« Last Edit: February 12, 2011, 04:21:18 PM by IgorEliezer »

Offline IgorEliezer br

  • Devotee
  • Administrator
  • *
  • Posts: 4082
  • Cake recipes are cool... REALLY!
    • Igor Eliezer Architect and Urban Planner/Arquiteto e Urbanista
  • Languages: PT, EN, AutoLISP, Python
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #8 on: February 12, 2011, 05:21:39 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.

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

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #9 on: February 19, 2011, 12:35:34 PM »
para os transportadores(comboios)o preço de cada km q ele faz é de acordo com a velocidade e potência?

Offline An_dz

  • Web Admin
  • Administrator
  • *
  • Posts: 2836
  • D'oh
    • by An_dz
  • Languages: pt, en, it, (de)
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #10 on: February 19, 2011, 04:25:30 PM »
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

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #11 on: February 19, 2011, 08:00:39 PM »
obrigado An_dz agora eu vou fazer um avião q custa cada km 1  ;D

Offline IgorEliezer br

  • Devotee
  • Administrator
  • *
  • Posts: 4082
  • Cake recipes are cool... REALLY!
    • Igor Eliezer Architect and Urban Planner/Arquiteto e Urbanista
  • Languages: PT, EN, AutoLISP, Python
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #12 on: February 19, 2011, 10:57:48 PM »
^^^ Veículos extremamente desbalanceados não são incluídos nos paksets nem nos sites de add-ons. :D

antonio

  • Guest
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #13 on: June 24, 2012, 03:39:46 PM »
depois de criado o add-on há alguma maneira de separar o arquivo dat do arquivo de imagem?

Offline An_dz

  • Web Admin
  • Administrator
  • *
  • Posts: 2836
  • D'oh
    • by An_dz
  • Languages: pt, en, it, (de)
Re: [Tutorial] Criando um add-on: noções de como se cria um DAT
« Reply #14 on: June 25, 2012, 06:36:19 PM »
Não.