[Tutorial] Começando a traduzir parte 2

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Começando a traduzir parte 2

Mensagem  Fou-Lu em Seg 16 Abr 2012, 09:12

Tutorial feito por Zy®e.

DETALHES:
Autor: Zy®e
Grupo: Masters Games
Site: http://www.mastersgames.com.br
Lançamento: 13/03/2009
Idioma: Português brasileiro
Categoria: Edição de textos
Nà­vel: Médio
Sistema: Vários

DESCRIÇÃO:
Este
tutorial é a segunda versão de "Começando a Traduzir", então é muito
importante que você tenha lido e entendido o tutorial "Começando a
Traduzir parte 1" para prosseguir com a parte 2.
Este tutorial irá ensinar à
encontrar os textos de jogos que não possuem uma tabela ASCII, criar
uma tabela, DTE e MTE, retirar o texto da rom (.txt) e aplicá-lo
novamente.


Programas necessários:
Translhextion
Table Manager BR
Monkey Moore
Gens (Emulador de Mega Drive)
Bloco de Notas

Jogo utilizado:
Flintstones, The (U) [c][!].bin

Iniciando:
Com todos os programas e o jogo em mãos, iremos começar utilizando o programa Monkey Moore para fazer uma busca nos textos "ocultos".
Mas antes irei explicar porque utilizar a busca com o programa.
No
tutorial (1), foi ensinado a abrir o jogo no editor hexadecimal e
procurar por textos no jogo através dele. Mas nem todos os jogos você
encontrará o texto, isso porque em muitos casos, a tabela utilizada não é
ASCII.

O que é uma tabela ASCII?
http://pt.wikipedia.org/wiki/ASCII

Mão na massa:
Inicie o emulador e procure por uma palavra de no mà­nimo 7 caracteres que contêm no jogo, como exemplo vou utilizar a palavra "EVERYWHERE".



Abra o programa Monkey Moore. Nele abra a rom "Flintstones, The (U) [c][!].bin" e procure pela palavra "EVERYWHERE".
Você irá encontrar o seguinte resultado.
0x4113 = offset
A=0B = valor de A
a=2B = valor de a

Como o jogo não possue letras minúsculas, iremos criar uma tabela apenas com letras maiúsculas.

Trabalhando com a tabela:
A
tabela serve para indicar os valores de cada caractere do jogo. Como
disse acima, quando você abre o jogo no editor hexadecimal, ele
automaticamente inicia com uma tabela ASCII.
Mas no caso do "The Flintstones" é diferente.
O jogo não usa esse tipo de tabela, dificultando encontrar os textos.
Os valores encontrados pelo programa Monkey Moore é que vão indicar o que cada hexadecimal do jogo representa.
Abra o Table Manager BR e encontre a cominação 0B, então clique no botão direito do mouse e selecione "Maiúsculas (A-Z)".

Salve a tabela.
Mas e os números, pontuações, etc?
Agora é que entra seu raciocí­nio.
Pegando como base a caixa de diálogo:

Lucida Console:FRED: NO, I HAVEN'T.
HAVE YOU LOOKED EVERYWHERE?

Abra a rom no editor hexadecimal Translhextion e clique em "Script -> Open Thingy Table".
Essa opção irá inserir uma tabela diferente na edição da rom, então escolha a tabela criada pelo Table Manager BR.
Logo após a seleção da tabela, irá aparecer uma pequena janela no editor, marque a 1ª opção (Thingy View Active) para ativar a visualização da tabela.
Após isso, vamos encontrar aquela palavra que você procurou no Monkey Moore, lembra? Hummm... a palavra é "EVERYWHERE".
Use ALT+F para fazer uma busca na rom utilizando a tabela selecionada, e então digite a palavra e clique em OK.
Logo você irá se deparar com isso:

Encontramos o texto!

Usando a raciocí­nio:
Após encontrar o texto do jogo, você percebeu que ele não está totalmente visà­vel. Existem muitos # que são códigos não definidos na tabela.
Vamos ver como este texto está no jogo para descobrir o que representa cada # e então poder defini-los para melhor visualização do texto no editor.

Texto no jogo:
Lucida Console:FRED: NO, I HAVEN'T.
HAVE YOU LOOKED EVERYWHERE?

Texto no editor:
Lucida Console:#NO##I#HAVEN#T##HAVE#YOU#LOOKED#EVEREWHERE#

Humm... alguém descobriu o que significa o # entre a palavra YOU e LOOKED?
Quem disse "espaço", acertou!
E o que é o # depois da palavra NO e da palavra HAVEN#T?
Isso mesmo, a ví­rgula e o ponto final respectivamente.
O # entre HAVEN e T é o ' e o # depois de EVEREWHERE é o ?
E o # antes da palavra HAVE? Quebra de linha.
Eae... pegou o 'espà­rito da coisa'?

Agora, como vamos inserir eles na tabela para que ela me mostre esses caracteres que encontrei?
Simples.
Clique sobre o # que você marcou como "espaço", no lado esquerdo da tela (usando as teclas de direção), você verá o código hexadecimal dele, veja:


Faça o mesmo com os outros caracteres.
Então:
00= (espaço após o igual)
25=.
29=,
2B='
2F=?

E assim por diante. Tente colocar todas as pontuações possà­veis.

Com a tabela aberta no Table Manager BR, iremos colocar os caracteres encontrados em seus devidos lugares.
Veja:
Agora você fará isso com os outros caracteres restantes, como ! ? ( ) etc.

Depois de ter completado sua tabela, vamos inserir a quebra de linha.
Quebra de linha é quando a frase passa para linha de baixo.
Para inserir a quebra de linha usaremos outro método.
Salve a tabela no Table Manager BR alterada e abra ela no Bloco de Notas.
Ela ficará asssim:
0B=A
0C=B
0D=C
0E=D
0F=E
10=F
11=G
12=H
13=I

etc.

Já na primeira linha e insira *XX
XX
é o código hexadecimal da quebra de linha do jogo. Para localizá-la,
basta ir à primeira letra da linha de baixo e olhar o código
hexadecimal do # que está antes dela.
No caso do The Flintstones, a quebra de linha é 81.
Obs.: * faz com que o editor hexadecimal reconheça a quebra de linha e XX os códigos hexadecimais que você encontrou para ela.
Então insira na primeira linha o *81.

Iremos também encontrar o "ending" da tabela.
O "ending", como o próprio nome diz, é aonde termina o texto da caixa de diálogo.
Por exemplo, em:
Lucida Console:|------------------------------------|
|FRED: NO, I HAVEN'T. |
| HAVE YOU LOOKED EVERYWHERE?#|
|------------------------------------|

O # depois do ? é o ending, pois é ele que termina o texto da caixa de diálogo.
Então usaremos o mesmo método da quebra de linha, mas ao invés de *, colocamos /
No caso do The Flintstones, ending é 80.
Sua tabela ficará assim:
*81
/80

0B=A
0C=B
0D=C
0E=D
0F=E
10=F
etc.

Salve a tabela e re-abra ela no editor hexadecimal, juntamente com a rom do jogo.
Procure novamente pela palavra que você encontrou com o Monkey Moore.


Aew... agora o texto está bem melhor visualizado.
Mas ainda podemos melhorar. hehe

Repare que logo no inà­cio de cada frase tem um #.
Agora iremos descobrir o que significa dele.

DTE e MTE:
Nem
todos os pares hexadecimais precisam indicar apenas um caractere dentro
do jogo. Há jogos em que alguns códigos hexadecimais representam dois
ou mais caracteres em um só par hexadecimal, chamamos isso de compressão
DTE e MTE.

DTE é uma abreviação de Double Tile Encoding, é um tipo de compressão utilizado para economizar espaço no jogo.
Por exemplo:
Uma tabela sem DTE ficaria assim:
0B=A
0C=B
0D=C
0E=D

etc.

Uma tabela com DTE ficaria assim:
0B=th
0C=is
0D=or
0E=of

etc.

Ou seja, cada código hexadecimal representa duas letras, ao invés de uma.
Isso é usado para que os textos dos jogos fiquem menores.
Um texto de um jogo sem DTE ficaria assim:

Lucida Console:He is the best of world.

Utilizando o DTE com a tabela criada acima como exemplo:
Obs.: Cada # representa um código hex. com DTE.

Lucida Console:He # #e best # w#ld.

1° # = is
2° # = th
3° # = of
4° # = or

Comparando:
[font=Lucida Console:He is the best of world.
[font=Lucida Console:He # #e best # w#ld.

Ficou bem menor a frase, economizando espaço.

MTE (Multiple Tile Encoding) não é muito diferente disso, a diferença é que no MTE podemos usar mais de 2 caracteres em cada código hexadecimal.
Por exemplo:

0B=the
0C=best
0D=orld
etc.

[font=Lucida Console:He is the best of world.
[font=Lucida Console:He is # # of w#.

1° # = the
2° # = best
3° # = orld


Mas, para que estou explicando isso?
Simples. A rom que estamos usando como exemplo possue o tipo de compressão MTE.

Não sei se você reparou, mas o nome de quem fala na caixa de diálogo não apareceu no editor hexadecimal.
Como:
FRED :
WILMA :

etc

Repare que antes de cada inà­cio de diálogo, há dois códigos hex. desconhecidos.
Um deles significa inà­cio de caixa de diálogo e o outro o nome do personagem.
[font=Lucida Console:|---------------------------|
|##NO, I HAVEN'T. |
|HAVE YOU LOOKED EVERYWHERE?|
|---------------------------|

O dono dessa fala é o FRED, mas o nome não aparece no editor. Ao invés do nome, aparecem dois valores hexadecimais (##).
O valor do primeiro # é 83 e do segundo é 90.
(imagem05)

Olhando na fala da WILMA, o valor do primeiro # é 83 e do segundo é 91.
Como o primeiro # significa inà­cio de caixa de diálogo, iremos defini-lo como |

Então adicione na tabela:
83=|
90=FRED :
91=WILMA :


E assim por diante com os outros personagens.
Depois do término, salve a tabela e a reabra no editor hexadecimal.

Retirando e Inserindo os textos no jogo:
Após deixar sua tabela toda completa, abra o jogo e a tabela no editor hexadecimal.

Então você verá o texto bem mais nà­tido comparado ao visto pela primeira vez.

Faça o seguinte:
Vá até a primeira letra da primeira palavra do texto do jogo e decore offset dela.
x40A9

Agora vá até a última letra da última palavra do jogo.
x4C1B

Marcamos o inicio e o fim do jogo, agora vamos retirar esse texto.

Clique em "Script -> Dump Script".
Aparecerá uma nova janela com algumas opções.
Em "Start dumping at offset" você coloca o offset inicial, ou seja, x40A9.
Em "Dump up to and including offset" você coloca o offset final, ou seja, x4C1B.

Desmarque a última opção da janela, "Separed-byte format", clique em OK e selecione um nome para o novo arquivo de texto.

Pronto! O texto foi retirado.

Antes de qualquer coisa, recomendo fazer um backup do jogo original e do arquivo de texto dumpado.
Após isso vamos seguir as "regrinhas" de tradução.

Abra o arquivo .txt e não altere nada ainda.
Faça a contagem de caracteres do arquivo dando CTRL+A para selecionar tudo, copie e cole nesse contador:
http://sojogos.prohosts.org/contador.html

O
número gerado pelo contador é a quantidade exata de caracteres
existentes no arquivo de texto, então depois de traduzir o arquivo você
deve adaptar a tradução para que ela tenha o mesmo tanto de caracteres.

[font=Lucida Console:WILMA : FRED! OH,FRED!{END}

|FRED : WHAT IS IT , WILMA?{END}

|WILMA : FRED!
HAVE YOU SEEN MY NECKLACE?{END}

|FRED : NO, I HAVEN'T.
HAVE YOU LOOKED EVERYWHERE?{END}

|WILMA : YES, AND I STILL HAVEN'T
FOUND IT!{END}

|WILMA : OH, AND ANOTHER THING,{END}

Este é o inà­cio do arquivo.
Cada caixa de diálogo deve ter o mesmo número de caracteres da original e a estrutura do texto não pode ser alterada.

[font=Lucida Console:WILMA : FRED! OH,FRED!{END}

Toda caixa de diálogo termina com {END} e deve ter obrigatoriamente um espaço entra a próxima caixa.
Não iremos traduzir a 1ª porque não há o que traduzir.

[font=Lucida Console:|FRED : WHAT IS IT , WILMA?{END}

Segunda caixa de diálogo.
Caracteres: 32 (contando com END).

Tradução:

[font=Lucida Console:|FRED : O QUE FOI , WILMA?{END}

Caracteres: 31 (contando com END).
Deve ter a mesma quantidade, então inserimos um espaço depois da pontuação.

[font=Lucida Console:|FRED : O QUE FOI , WILMA? {END}

Comparando:
[font=Lucida Console:|FRED : WHAT IS IT , WILMA?{END}
|FRED : O QUE FOI , WILMA? {END}

Tudo certo agora. Continue fazendo isso com o restante do texto.
Quando tudo estiver traduzido e com a mesma quantidade de caracteres do original, vamos inserir o texto no jogo.

Abra o editor hexadecimal e nele abra o jogo juntamente com a tabela.
Vá em "Script -> Replace Script".
Faça o mesmo que você fez na hora de retirar o texto e não se esqueça de desmarcar a última opção.

Após inserir o texto, salve a alteração e teste o jogo.
Se
tudo funcionar bem é poque você fez tudo certo. Se der algum erro,
verifique se o arquivo de texto está de acordo com as regras e tente
novamente.

___________________________________________________________________________________________________________________________________________________
avatar
Fou-Lu
Membro NBR Veterano
Membro NBR Veterano

Masculino Mensagens : 118
Membro desde : 13/01/2012
Idade : 23
Cidade : Teresina
Brasil


Voltar ao Topo Ir em baixo

Re: [Tutorial] Começando a traduzir parte 2

Mensagem  DorzeR em Seg 16 Abr 2012, 09:51

Fou-Lu ou alguém será que seria possivel criar um tutorial sobre tiles e imagens com o Tile Molester ou outro do tipo, estou pedindo isso por que até hoje so consigo ver borões no Tile Molester.

___________________________________________________________________________________________________________________________________________________
avatar
DorzeR
Moderador NBR
Moderador NBR

Masculino Mensagens : 250
Membro desde : 25/03/2012
Idade : 22
Cidade : Colinas do Tocantins
Brasil


Voltar ao Topo Ir em baixo

Tile Molester - Básico

Mensagem  Fou-Lu em Seg 16 Abr 2012, 09:58

Fou-Lu ou alguém será que seria possivel criar um
tutorial sobre tiles e imagens com o Tile Molester ou outro do tipo,
estou pedindo isso por que até hoje so consigo ver borões no Tile
Molester.

Atualização do ótimo tutorial ilustrado feito por
Welblade, que explica as funções do editor de tiles Tile Molester e dá
várias dicas para que se possa tirar um bom proveito desse ótimo
programa.

Download


Vídeo-tutorial que mostra como editar gráficos usando o editor Tile Molester.

Download

___________________________________________________________________________________________________________________________________________________
avatar
Fou-Lu
Membro NBR Veterano
Membro NBR Veterano

Masculino Mensagens : 118
Membro desde : 13/01/2012
Idade : 23
Cidade : Teresina
Brasil


Voltar ao Topo Ir em baixo

Re: [Tutorial] Começando a traduzir parte 2

Mensagem  DorzeR em Seg 16 Abr 2012, 10:58

Vlw agora vou estudar e ver se consigo encontrar algo '-'

___________________________________________________________________________________________________________________________________________________
avatar
DorzeR
Moderador NBR
Moderador NBR

Masculino Mensagens : 250
Membro desde : 25/03/2012
Idade : 22
Cidade : Colinas do Tocantins
Brasil


Voltar ao Topo Ir em baixo

Re: [Tutorial] Começando a traduzir parte 2

Mensagem  Quil em Seg 16 Abr 2012, 21:50

DorzeR escreveu:Fou-Lu ou alguém será que seria possivel criar um tutorial sobre tiles e imagens com o Tile Molester ou outro do tipo, estou pedindo isso por que até hoje so consigo ver borões no Tile Molester.

Da uma olhada aqui nesse tutorial que mostra como editar gráficos usando o Tile Molester feito pelo "Samus" um membro do"Monkeys"
http://www.romhackers.org/modules/PDdownloads1/singlefile.php?cid=45&lid=313

___________________________________________________________________________________________________________________________________________________
LANÇAMENTOS:
[NDS] Digimon Dawn
Se quiser saber como vão as coisas...


PROJETOS:
[NDS] Medarot DS

[NDS]Black Sigil

-->E mais algumas coisinhas...

avatar
Quil
Moderador NBR
Moderador NBR

Masculino Mensagens : 425
Membro desde : 06/12/2010
Cidade : At World's End.
Brasil


Voltar ao Topo Ir em baixo

Re: [Tutorial] Começando a traduzir parte 2

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum