Alterando uma VWF (Variable width font), por Knolan Cross ___________ __ \____ __/ \ \ / / _____ _____ \ \ __ __ ______ / / / __ \ / \ / \ / / \ \ /__ / / / / / \_\ / /\ \ / /\ \ / / / / / / / / / / \ \/ /\ \ \ \/ / \ \__/ / / /__ /__/ /__/ \___/ \_\ \__/ \____/ /_____/ 1)Introdução. 2)O que é uma VWF? 3)Como alterar. 4)Exemplo. 5)Créditos. 6)Agradecimentos. 1)Introdução: Neste texto procurarei ensinar como alterar uma VWF sem u- tilizar ASM ou qualquer outro tipo de programação, somente com um editor de tiles e um editor hexadecimal e obviamen- te a rom e o emulador do jogo que você quer alterar. ***IMPORTANTE*** ESSE MÉTODO -NÃO- FUNCIONA EM TODOS OS JOGOS -PRINCIPALMENTE- NOS QUE FORAM TRADUZIDOS POR FÃS, MAS FUNCIONARAM EM TODOS OS JOGOS TRADUZIDOS PELA SQUARE QUE EU TESTEI!!!!*** 2)O que é uma VWF? Quer dizer Variable Width Font, ou seja uma fonte de tama- nho variável, são aquelas fontes onde o "a" tem 7 pixels e o "i" tem 3, por exemplo. Mas qual o problema com elas? Simples, em muitos jogos quando você tenta usar o espaço li- vre após a fonte, ou substituir um simbolo por um acento, ao ver no jogo a letra que você fez trava o jogo, fica com um espaço sobrando após a letra ou então ela fica "em cima" da próxima letra, isso porque o seu tamanho foi definido pra ser o do simbolo, ou no caso do espaço vazio, zero. 3)Como alterar: É muito simples, você tem que encontrar o lugar do jogo que define o tamanho de cada letra. Entre no jogo e veja quantos pixels tem cada letra (eu reco- mendo alterar uma linha para "abcdefghijklm") e contar o ta- manho das letra, pegue um papel e anote o tamanho de cada le- tra, agora organize em ordem alfabética, e procure a string no seu editor hexadecimal e altere o tamanho da letra que desejar, agora basta rezar pra que funcione... Se funcionou, parabéns, você acaba de achar a tabela que de- termina o tamanho das letra na rom, basta dominá-la, se não entendeu, leia o exemplo. 4)Exemplo: Não entendeu? Bem, eu já esperava por isso, então aqui vai um exemplo, a rom do Final Fantasy 3 (6J) americana, traduzida -PELA SQUARE- altere uma linha para "abcdefgghijklm". Agora anote o tamanho de cada letra (por pixels). O resultado deve ser (lembre-se que eh em hexadecimal): a = 0x08 b = 0x08 c = 0x07 d = 0x08 e = 0x08 f = 0x07 g = 0x08 h = 0x08 i = 0x04 j = 0x07 k = 0x08 l = 0x04 m = 0x0C <- NÃO ESQUEÇA: USE HEXADECIMAL!!!!! (8, 9, 0A, 0B) Agora, abra seu editor hexadecimal e ponha pra procurar por nu- meros, escreva 0808070808070808040708040C (nem precisa de tanto, se quiser ir ateh o 04 chega, se não me engano) você chegará nu- ma tabela com os números de cada letra ela começa em 0x491E0*. *Maiúsculas, basta seguir a ordem agora. 5)Creditos: ***Todos os direitos autoriais desse tuturial são meus, já que desenvolvi esse método sozinho, por dedução e por ter sempre a teoria: "tudo tem que estar definido em algum lugar." por isso não copie nada, e se quiser uma explicação sobre isso no seu site POR FAVOR dê meus creditos, pois eu podia ter simplesmente guardado este conhecimento para mim.*** 6)Agredecimentos: sl0wy - sempre me ajudando com todas minhas duvidas de programação Keldon - outro que me ajuda muito com programação, principalmente porque é meu irmão e está sempre por perto pra me ajudar. Lynx - grande amigo e que sempre me deu espaço quando precisei. Skamoondog - outro que me ajudou muito com programação. Toda a galera do #romhacking - por toda a ajuda que me deram, e por me aturar também :D E finalmente agredeço a todos que já me ajudaram em qualquer dos meus trabalhos e psicologicamente também, assim como por me dar espaço na internet.