Não consigo achar texto de uma determinada fonte.

Iniciado por Ghunter, Abril 16, 2019, 22:59:30 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Ghunter

To traduzindo uma  rom de SNES, só  que tem palavras que eu não estou conseguindo achar na busca relativa. Eu até encontrei a fonte na rom do jogo pelo tile moleste porém não sei como  passar essa fonte para um table, para pode fazer a tradução. consegui traduzir algumas coisas como a introdução do jogo e duas palavras  que fica na tela do jogo (life e force)
ainda to aprendendo  mas queria saber se é possível passar para uma table achando a fonte do jogo no tile molester.
se alguém puder me ajudar agradeço.

Estou enviando duas fotos: a 1º a fonte do texto que eu traduzi, porém não consegui achar a fonte nos gráfico do jogo(acho que está comprimido). então algumas palavras ficaram sem acento.

Na 2º e na 3º são as fontes que eu achei, porém não consegui achar os textos com a busca relativa.

JOGO: FIRST SAMURAI (USA)
PLATAFORMA: SNES

Lobim

#1
Observe que essa fonte não tem todos os caracteres do alfabeto. Faltam as letras "G", "Q" e "Z", além do número "8". Obviamente, isso impacta diretamente na busca relativa.

Eu já lidei com esse problema e tem algumas técnicas que talvez resolvam o problema, uma vez que possa haver algum encriptação no texto ou, simplesmente, essa fonte não seja a desse trecho (o que invalidaria a minha proposta de busca relativa que exponho a seguir). É importante que entender como funciona uma busca relativa. Não vou me alongar no assunto agora, imagino que tenha tutoriais no Po.B.R.E. e no RHDN que explicitem a questão de forma bem detalhada.

Vamos pegar como exemplo esse texto que postou a imagem com essa fonte: "1730 BATTLEFIELD". Com base nessa fonte, eu pesquisaria de duas formas: "BARRKEFHEKD" (tanto faz se todas as letras estão em maiúsculo ou minúsculo, desde que se mantenha o padrão na palavra inteira: ou todas maiúsculas, ou todas minúsculas) e "B*A*R*R*K*E*F*H*E*K*D" (para caso a fonte esteja em 16 bits). A busca relativa padrão sempre considera o alfabeto completo de 26 letras, enquanto esse tem 23, por isso essas adequações.

A ideia é mais ou menos a seguinte:
B -> OK (não há nenhuma letra na fonte que falta de A a B).
A -> OK.
R -> "Volta" 2 duas letras do alfabeto, porque na ausência de "G" e "Q", o "T" está ocupando na fonte o lugar que normalmente é ocupado pela letra "R".
R -> "Volta" 2 duas letras do alfabeto.
K -> "Volta" 1 letra do alfabeto (por conta da letra "G").
E -> OK.
F -> OK.
H -> "Volta" 1 letra do alfabeto (por conta da letra "G").
E -> OK.
K -> "Volta" 1 letra do alfabeto (por conta da letra "G").
D -> OK.

Você também pode tentar a busca procurando por "1730". Como felizmente o único número faltante é 8, nesse trecho não haveria problemas, exceto se tivesse o número "9" - o que exigiria que, na busca relativa, ao invés de "9", você colocasse "8". Embora, nesse caso, uma busca de só 4 bytes seja muito pouco precisa, mas pode dar certo se tratando de um jogo de Super Nintendo.

Espero que dê certo. Boa sorte e conte-nos se essa "gambiarra" que eu propus deu certo.
Itinerante

Ghunter

#2
Citação de: Lobim online Abril 17, 2019, 17:59:26 PM
Observe que essa fonte não tem todos os caracteres do alfabeto. Faltam as letras "G", "Q" e "Z", além do número "8". Obviamente, isso impacta diretamente na busca relativa.

Eu já lidei com esse problema e tem algumas técnicas que talvez resolvam o problema, uma vez que possa haver algum encriptação no texto ou, simplesmente, essa fonte não seja a desse trecho (o que invalidaria a minha proposta de busca relativa que exponho a seguir). É importante que entender como funciona uma busca relativa. Não vou me alongar no assunto agora, imagino que tenha tutoriais no Po.B.R.E. e no RHDN que explicitem a questão de forma bem detalhada.

Vamos pegar como exemplo esse texto que postou a imagem com essa fonte: "1730 BATTLEFIELD". Com base nessa fonte, eu pesquisaria de duas formas: "BARRKEFHEKD" (tanto faz se todas as letras estão em maiúsculo ou minúsculo, desde que se mantenha o padrão na palavra inteira: ou todas maiúsculas, ou todas minúsculas) e "B*A*R*R*K*E*F*H*E*K*D" (para caso a fonte esteja em 16 bits). A busca relativa padrão sempre considera o alfabeto completo de 26 letras, enquanto esse tem 23, por isso essas adequações.

A ideia é mais ou menos a seguinte:
B -> OK (não há nenhuma letra na fonte que falta de A a B).
A -> OK.
R -> "Volta" 2 duas letras do alfabeto, porque na ausência de "G" e "Q", o "T" está ocupando na fonte o lugar que normalmente é ocupado pela letra "R".
R -> "Volta" 2 duas letras do alfabeto.
K -> "Volta" 1 letra do alfabeto (por conta da letra "G").
E -> OK.
F -> OK.
H -> "Volta" 1 letra do alfabeto (por conta da letra "G").
E -> OK.
K -> "Volta" 1 letra do alfabeto (por conta da letra "G").
D -> OK.

Você também pode tentar a busca procurando por "1730". Como felizmente o único número faltante é 8, nesse trecho não haveria problemas, exceto se tivesse o número "9" - o que exigiria que, na busca relativa, ao invés de "9", você colocasse "8". Embora, nesse caso, uma busca de só 4 bytes seja muito pouco precisa, mas pode dar certo se tratando de um jogo de Super Nintendo.

Espero que dê certo. Boa sorte e conte-nos se essa "gambiarra" que eu propus deu certo.

Infelizmente não obtive sucesso nas técnicas passadas. Tentei com outras palavras mas também não consegui achar nada. Além dessa fonte, existe mais duas, ambas sem nenhum resultado na busca relativa,uma eu achei nos gráficos (embaralhado) e outra não. Então tentei as mesmas técnicas com frases que pertencem a essas fontes , mas tudo em vão.

Eu li alguns tutorias e pelo que me parece a fonte está realmente em 16BITS, então para me fazer uma tabela é mais complicado. Eu poderia fazer pelo método SRAM mas essa rom não me permite fazer pois tem que ser aqueles jogos que você pode nomear seu personagem. Tem outro tutorial que ensina a achar valores 16Bits com o programa BgMapper, mas não consegui rodar no meu pc, ele trava quando arrasto o arquivo zst até ele.

denim

Este texto e os demais que usam a mesma fonte (tela de opções) estão armazenados no formato sem compressão nativo, também conhecido como tilemap.

Em 84F310 inicia o tilemap do "1730 battlefield"...

$29 é o tile de cima do 1 e $39 o tile de baixo. O mesmo vale para as demais letras. Se quiser adicionar mais tiles, não esqueça de escrever o byte $08 do tilemap, que indica os atributos do mesmo.


Ghunter

Citação de: denim online Abril 21, 2019, 16:25:24 PM
Este texto e os demais que usam a mesma fonte (tela de opções) estão armazenados no formato sem compressão nativo, também conhecido como tilemap.

Em 84F310 inicia o tilemap do "1730 battlefield"...

$29 é o tile de cima do 1 e $39 o tile de baixo. O mesmo vale para as demais letras. Se quiser adicionar mais tiles, não esqueça de escrever o byte $08 do tilemap, que indica os atributos do mesmo.
Muito obrigado pela dica. Eu vou dar uma melhor estudada sobre esse tipo de fonte.
infelizmente terei que dar uma parada para estudar para um concurso mas logo volto a fazer essa tradução.

Lobim

Citação de: denim online Abril 21, 2019, 16:25:24 PM
Este texto e os demais que usam a mesma fonte (tela de opções) estão armazenados no formato sem compressão nativo, também conhecido como tilemap.

Em 84F310 inicia o tilemap do "1730 battlefield"...

$29 é o tile de cima do 1 e $39 o tile de baixo. O mesmo vale para as demais letras. Se quiser adicionar mais tiles, não esqueça de escrever o byte $08 do tilemap, que indica os atributos do mesmo.

Em se tratando de tilemap, recomendo este tutorial. Tem outro que fiz sobre o tema no ano passado, mas acredito que nesse caso ajudará muito pouco, porém, pode ser bom para os estudos.
Itinerante