*FAÇA SEMPRE UMA CÓPIA (BACKUP) DO SEU TRABALHO!!!*
4.0.0)A seção que todos vão chegar em alguns dias...Maravilha, vamos pegar uma ROM qualquer... Comece com uma de NES/Famicom ou Game Boy (nem Color, nem Super), que não seja japônes !! Vamos abrí-la num desses emuladores!! Veja o diálogo e preceba como ele aparece (quantos caracteres por linha, como acontece os pulos de linha, se usa efeitos etc), aproveite para tirar umas capturas (geralmente no F12)... Primeiro de tudo, vamos ver se o jogo usa o ANSI!! Pegue a tabela ANSI, que vem com o Thingy 32 ou este documento, e abra a ROM num daqueles editores hexadecimais bacanas... Procure a fala do jogo que você viu e espere (tente sem colocar acentos, pontuação ou espaço também), se ele não achar, ainda tente rodar a ROM toda atrás de algum diálogo... Caso não tenha sucesso, vamos abrir o nosso primeiro destino, o Pesquisador Relativo! Pegue uma fala do jogo, que não contenha acentos, de preferência... Digite ela no procurador e ENTER! Vai aparecer uma série de resultados prováveis, onde ele vai informar qual código hexadecimal é o "A" (A=xx , pena que alguns não salvam em texto)... Anote todos os resultados prováveis e, vamos ao teste!!! Lembre-se : tente achar a maior fala possível, durante a busca relativa, para diminuir o número de resultados e poupar trabalho! Vamos dar um pouco de trabalho ao Table Manager :D... Abra ele e clique no primeiro valor hexadecimal do "A", acusado pela pesquisa... Clique com o botão direito e peça para que ele preencha de A-z, esteja certo que era necessário prestar atenção na pesquisa relativa e os BYTEs que ela dava pois, o a-z pode vir antes do A-Z e/ou pode sair desordenado (não exatamente depois do A-Z mas, sim, alguns BYTEs depois)... Se for paranóico, use um editor de textos (Notepad - Bloco de Notas) para fazer a tabela manualmente! Pronto, preenchendo corretamente a sua tabelinha (lembre-se que você não pode digitar caracteres que não tem na tabela :D), vamos abrir o editor hexadecimal! Agora você vai ter que se virar um pouco, não posso dizer exatamente onde que acontece em cada programa mas, no ThingyV 2.0, aparece um menu, logo após selecionar o arquivo, para selecionar a primeira e, depois, uma tabela alternativa (caso queira)... Você está vendo apenas as letras e o resto é um bando de caracteres igüais? Então está tudo aplicado corretamente :D... Agora, é preciso terminar a tabela de caracteres!!! Pesquise um diálogo no editor, caso você não ache, vamos rodar pela ROM! Traláláláaa... Terminou? Não achou algo? Que pena :/ , vá tentando outros resultados da busca relativa até conseguir!! Já tentou todos e não achou? Então, meu caro, seu problema é cerebral... Não posso lhe ajudar! Quem sabe tenha um profissional dessa área interessado na sua dislexia >:D!! Agora, se achou, parabéns ^^ !! Falta completar a tabela com os caracteres restantes! Vá pegando os diálogos do jogo e procurando por novos caracteres (anote o espaço e a pontuação, antes de tudo, pra facilitar), capture a imagem e vá procurar colocando as palavras secas do diálogo! Continue anotando todos os caracteres que for encontrando e, anote, pelo menos, os códigos dos ponteiros que dividem o diálogo (abrem e fecham). PIMBA, passamos dessa primeira parte!! Depois vamos revisar umas pedras no nosso caminho :D!!
4.1.0)Completei a tabela do jogo... Mas, como faço se a ROM não tem nossos caracteres :/ ?Está na hora de você aprender a artistar (e começar a testar sua paciência, em alguns casos)... Pegue seu Editor de Tiles preferencial. Vamos por em prática tudo que foi aprendido nas brincadeiras com o Paint Brush. Não vou explicar como as ferramentas funcionam, vá no Paint Brush e veja você mesmo, é igüal!! Abra a ROM, se você sempre seguir meus conselhos, vai ver que ele seleciona o modo dos tiles automaticamente... Maravilha, como ainda não ensinarei um jeito de achar o endereço exato dos Tiles (ainda não interessa, você pode fazer isso tranqüilamente numa ROM pequena), se vire >:D! Rodou o jogo todinho e não achou nem gráficos? Então vamos fazer a primeira alternativa : diminua o modo de exibição dos Tiles (Exemplo : como estamos mexendo com NES e GB, que são 2BPP ambos, vamos tentar APENAS com o 1BPP!)... Rodou, virou, girou novamente e não achou? Então só pode ser compressão... Neste caso, tente outra ROM! Conseguiu achar a fonte? Então vá em frente e substitua os caracteres inúteis (dê uma boa olhada no jogo para saber bem qüando eles forem utilizados) por caracteres acentuados, pequena dica : faça sempre o "á","é","í","ó","ú" primeiro; depois faça os tils "ã" e "õ"; finalmente, faça os circunflexos "â","ê","ô" e, se o jogo exigir, faça uns acentuados maiúsculos (não é recomendado mas, se você não quiser alterar a ordem das frases)! Pronto, terminando a grafitagem, falta apenas substituir esses caracteres alterados na TABELA (crie outra, preserve a original, logicamente :D)... Durante essa substituição, vou chamar sua grandiosa atenção para o detalhe dos caracteres usados entre WIN/DOS : caso você use um editor que tenha por base o DOS (Thingy e seus hacks), não coloque as letras acentuadas na TABELA ("á","ã" desse modo)! Invente uma modinha ;D! Eu faço assim : "a'" para representar "á", "a~" para "ã" e assim em diante... Nos feitos para windows, pode se usar SIM os acentos junto às letras... Maravilha, feito tudo direitinho, podemos começar com a parte mais trabalhoso : os textos!!
4.2.0)Vamos às malícias! Eu quero as malícias dos super hackers já! Edição de textos...Malícia de super hacker é mania de informação, estamos compreendidos ;D ? Bem, até aqui foi fácil... Fazer sua tabelinha simples e tals, maior moleza! Editar gráficos, então, é um prazer... Agora, digitar rápido não é para qüalquer pessoa :D... Você vai precisar, se quiser que o seu RPG saia traduzido em menos de 2 semanas... Existem dois métodos simples para editar textos (os complicados você que invente :D), como vamos ver agora...
4.2.1)O primeiro jeito de traduzir... É o mais fácil... Precisamos driblar os PONTEIROS :D...Bem, sabe aquele editor hexadecimal bacana? Nessa hora que ele vai entrar... Pegue ele, abra sua ROM modificada, coloque as duas tabelas para facilitar e vamos traduzir... Vá abaixando até achar o primeiro diálogo... Caso queira evitar a fadiga, sempre salve nos bookmarks os endereços! Atente para o primeiro detalhe : caso ache algo relacionado ao DEBUG ou ao programa do jogo (Sound FX, Graphics MODE balbalbal...), não edite! Em alguns casos, a edição desses trecos pode dar pane no jogo :/... É claro que não estou me referindo às opções mas, basta ter boa vontade para diferenciar :P... Enfim, ache o primeiro bloco de diálogo, e comece a edição :D... Lembre-se que, qüando for colocar os ponteiros na tabela, não enfie 10 caracteres por ponteiro! Simplifique e, de preferência, faça um outro arquivo de texto explicando pra quê serve x ponteiro... Bem, continue traduzindo :D... Lálálá.. OPA! Surgiu uma limitação e, como você não quer traduzir abreviando/sinonimando (utilizando sinônimos da tradução direta), precisa "aumentar" este espaço!!! Simples, apenas modifique o lugar dos ponteiros, ao longo do caminho e, caso o ponteiro exija, na sua respectiva TABELA DE PONTEIROS para arrastar o início/fim dos diálogos!
4.2.2)Eu quero ser um tradutor de script :D!! É meu sonho!!Antes de reapontar a ROM, vamos aos scripts :D... A vantagem de traduzir em Scripts, é o fato de você não ficar paranóico com acentos e/ou DTEs/MTEs (graças às limitações de exibição dos editores :D)... Bem, precisamos de uma tabela pronta com a representação de BeginString e/ou EndString (como você já deve ter visto, depende do caso), segundo pede o extrator... Agora, perca algum tempo lendo e aprendendo como funciona o seu extrator/insertor! Finalmente, extraía o Script e POU! Já pode ir traduzindo :D! Lembre-se de estudar como a ROM limita o texto, se ela tem algum espaço sobrando, se existe alguns dados importantes no script (dados do jogo) e, principalmente, como ficará o script na hora de inserí-lo na ROM (veja se o tamanho é maior e, caso seja, se vai ultrapassar dados importantes! Por isso que essa modalidade é mais utilizado por programadores : eles fazem um um extrator/insertor de acordo com o jogo trabalhado :D!!
4.2.3)Modificando Ponteiros de acordo com nossa vontade mas, nem sempre :D!Primeiro, esse é o ÚLTIMO PASSO de uma tradução e uma explicação simples de como fazer isso rapidamente... Não vou entrar em discussão semi-inútil aqui sobre como achar tabelas de ponteiros somando, multiplicando, dividindo ou subtraindo o cabeçalho pois, ele não é de suma relevância para a ROM (são piratas)... Agora, simplesmente entre num editor hexadecimal normal, inverta o endereço onde está o ponteiro, pesquise o VALOR DO ENDEREÇO invertido e faça a modificação desse valor na tabela de ponteiros (em hexadecimal)... Resumindo e exemplificando... Digamos que o seu ponteiro tenha o valor hexadecimal EF e o endereço EXATO onde ele está é 0x0FED21, você só precisa retirar os BYTEs irrelevantes de endereço (para os sistemas que estamos trabalhando aqui, ou seja, NES e GB) até ficar, apenas, 2 BYTEs :D! Trocando em miúdos, com este endereço acima, ficaria apenas 0xED21!! Agora nós invertemos este valor do endereço, vai ficar 0x21ED!! Finalmente, vamos procurar esse valor, num editor hexadecimal, para achar a TABELA DE PONTEIROS!! Bem, achando a tabela correta, você verá um bando de valores em uma certa sequência, sempre somando ou subtraindo alguns BYTEs. Ah e o seu valor lá... Agora, tudo fica simples : só substituir aquele velho valor (original da ROM) pelo novo que você vai determinar, digitando o ponteiro em outro lugar! Exemplificando de novo, usando o valor acima XD... Vamos dizer que o ponteiro passou uns 5 BYTEs na frente, o antigo endereço era 0x0FED21 e na tabela ficava 0x21ED. Agora, o novo endereço será 0x0FED26 e o valor antigo terá que ser substituído por 0x26ED !!! Uff, puff, compreendido? E sim, você vai ter que fazer isso com todos os ponteiros que forem alterados de lugar, caso o jogo exija :P!! Se o seu jogo não estiver com ponteiros (muito cuidado nessa hora), tente procurar algo parecendo uma tabela e veja se ela contem os endereços de abertura/fechamento dos diálogos... Caso não consiga, esta ROM é imprópria para iniciantes... Só aprendendo coisa mais pesada! É chato dizer isso, agora que estava tão perto mas, tente outra vez XD... Ah, cuidado com os ponteiros que podem representar o valor de caixas de diálogos!! Estes, na maioria das vezes, vem com indicadores de abertura/finalização da caixa e, o valor no meio deles, representa a variação horizontal e vertical da caixa! Se você não quiser ter o saco de reapontar a ROM todinha, existem reapontadores mas, só fazem serviço simples : a tabela de ponteiros precisa estar acima ou abaixo do bloco de diálogos!
4.3.0)Concluindo a seção básica.Conseguiu com todas essas informações? Então você vai rumo ao sucesso 8)!! Não conseguiu e ainda me xinga por não explicar como se usa as ferramentas? Não chegue perto de mim, sua ameba >:P! Você é uma peste que deve ser exterminada! O melhor que você faz é ir pegar mulher na praia e deixar o computador pra quem quer!! Bem, vamos voltar ao assunto!! Apesar de eu ter aconselhado ROMs de NES e GB, isso é o que todos os romhackers acham mais fácil fazer... O problema é que, com ROMs de 16MB+ e ISOs do tamanho do mundo usando 3 tabelas desorganizadas de 16 BITs, não é interessante fazer o método manual! Ninguém gostaria de pesquisar uma ISO de DVD, que tivesse os dados necessitados lá no final... Agora, está na hora de partimos para o próximo nível onde, nem sempre tem todas as ferramentas desejadas (emu bom de PSX com DEBUGGER, nem pensar :P)!
------------------------------------------------------------------------------