Menu

Mostrar postagens

Esta seção permite que você visualize todas as postagens feitas por este membro. Observe que você só pode ver postagens feitas em áreas às quais tem acesso atualmente.

Menu Mostrar postagens

Mensagens - D!sturbed

#1
Legal, eu tinha pensado em traduzir esse, mas a quantidade de diálogos me desanimou... Se me permite uma sugestão... Ordem do Céu Norte fica muito estranho... Isso é uma tradução literal de Hokuten Kishidan do japonês para inglês... Recomendo o uso de Ordem Setentrional, que inclusive se encaixa bem na linguagem utilizada na tradução. Daí pode usar Ordem Meridional quando for traduzir Nanten Kishidan (Order of the Southern Sky). Isso corrige a falha da tradução literal do japonês para o inglês e ainda deixa "mais bonito". No mais, boa tradução!
#2
Lançamentos / Res: [GBA] Castlevania - Aria of Sorrow
Setembro 28, 2025, 00:29:59 AM
Wow, esse patch 2.4 parece estar muito bom, faz um tempo que joguei Aria of Sorrow, acho que vou dar uma conferida nele no decorrer da semana!

Se permite uma sugestão, Ária da Melancolia não soa mais poético que Ária da Tristeza? O que combinaria com a atmosfera dos títulos da série, que meio que tentam transmitir uma mensagem cultural e instigar o conhecimento em outras áreas. Harmony of Dissonance, por exemplo, é quase que uma peça da dialética de Hegel, com inúmeras metáforas. Já Aria of Sorrow tem muitos paralelos com Paradise Lost (John Milton)... Mas é só uma sugestão, vou parar com a viagem aqui!!
#3
Show de buela!!

Esse game é uma joia do SNES, vou baixar e colocar na fila aqui. Obrigado pelo seu trabalho e esforço!
#4
Guia Básico de uso do GitHub para Iniciantes

Neste guia, você aprenderá os passos essenciais para começar a usar o GitHub, incluindo:

    • Criar um repositório
    • Linkar uma pasta local a um repositório
    • Adicionar e commitar alterações
    • Criar um pull request

Esse tutorial visa cobrir apenas o uso mais básico do git, não tendo a pretensão de ensinar comandos avançados ou automatização, se quiserem saber mais, acessem: https://docs.github.com/pt/get-started/start-your-journey/git-and-github-learning-resources.

1. Criar um Repositório no GitHub

    • Acesse github.com e faça login.
    • Clique no botão "+" no canto superior direito e selecione "New repository".
    • Dê um nome ao repositório, ex: meu-projeto
    • Escolha se será público (visível a todos) ou privado (somente você e colaboradores).
    • Marque "Add a README file" (opcional, mas recomendado).
    • Clique em "Create repository".

Pronto! Seu repositório está criado.

2. Linkar uma Pasta Local ao Repositório

Se você já tem um projeto na sua máquina e quer conectá-lo ao GitHub:

Opção A: Clonar o Repositório (se ainda não tem os arquivos localmente)

    • No seu repositório no GitHub, clique em "Code" e copie o link (HTTPS ou SSH).
    • Abra o terminal (Git Bash, Command Prompt, etc.) e execute:
      git clone https://github.com/seu-usuario/meu-projeto.git
    • Entre na pasta do projeto:
      cd meu-projeto

Opção B: Inicializar Git em uma Pasta Existente

    • Abra o terminal na pasta do seu projeto.
    • Execute:
      git init
      git remote add origin https://github.com/seu-usuario/meu-projeto.git
      git pull origin main # Sincroniza com o repositório remoto

3. Adicionar e Commitar Alterações

Sempre que você modificar arquivos, siga estes passos para salvar as mudanças:

    • Verifique as alterações feitas:
      git status
    • Adicione os arquivos modificados ao staging area (preparação para commit):
      git add . # Adiciona todos os arquivos alterados
      ou
      git add arquivo.md # Adiciona um arquivo específico
    • Faça um commit (registro das alterações):
      git commit -m "Descrição das mudanças"
    • Envie as alterações para o GitHub:
      git push origin main # Se sua branch principal for "main"

4. Criar um Pull Request (Contribuição em Projetos)

Um pull request (PR) é usado para propor mudanças em um repositório (principalmente em projetos colaborativos).
Passos para Criar um PR:

    • Faça um fork do repositório original (no GitHub, clique em "Fork").
    • Clone o seu fork para sua máquina:
      git clone https://github.com/seu-usuario/repositorio-forkado.git
    • Crie uma nova branch para suas alterações:
      git checkout -b minha-feature
    • Faça as alterações, commit e push:
      git add .
      git commit -m "Minha contribuição"
      git push origin minha-feature
    • No GitHub, vá até o repositório original e clique em "Pull Request".
    • Descreva suas alterações e envie o PR para revisão.


No que isso pode ser útil para romhacking?

Além de manter seus arquivos salvos remotamente, evitando perdas, vocês podem criar projetos inteiros com os scripts e tools para serem traduzidos em grupo. Postei esse tutorial porque notei que não havia nada semelhante aqui no fórum, espero que seja útil.
#5
Tutoriais e Documentos / Tutoriais de Debugging
Junho 09, 2025, 17:00:51 PM
Esse assunto não tem uma cobertura muito ampla e é uma parte mais avançada da engenharia reversa, mas acho válido compartilhar conhecimento, até porque, é um assunto bem relevante ao romhacking.

Abaixo seguem alguns tutoriais (a maioria em inglês) que encontrei sobre o assunto e que acabaram me ensinando algumas coisas.

[GBA] - Reverse Engineering a GBA Game

Vai um pouco além de debugar uma ROM e ensina inclusive a configurar e usar o Ghidra (Software da NSA para engenharia reversa). Utiliza a Rom Pokémon Mystery Dungeon Red Rescue Team para explicar como encontrar valores e modificá-los através do mGBA.

https://www.starcubelabs.com/reverse-engineering-gba/
[GBA] - GDB Debugging with mGBA

Ensina como configurar o debugger GDB no VSCode para depurar ROMs de Game Boy Advance usando o emulador mGBA.

https://felixjones.co.uk/mgba_gdb/vscode.html
[GBA] - Whirlwind Tour of ARM Assembly

Um bom conteúdo de ASM. Inclusive esse é um tópico de um guia para programação de jogos de GBA (TONC).

https://www.coranac.com/tonc/text/asm.htm
[NDS] - Reverse Engineering a NDS Game

Dos mesmos autores do Reverse Engineering a GBA Game, confesso que não li, pois NDS não é do meu interesse no momento, mas parece tão completo e interessante quanto o de GBA, com a diferença que usa o Desmune como emulador.

https://www.starcubelabs.com/reverse-engineering-ds/
[SNES] - Curso de Assembly com SNES e Mega Drive
[SMD] - Curso de Assembly com SNES e Mega Drive

Uma playlist muito boa que ensina bastante sobre hardware de SNES e SMD, depois ensina a configurar um ambiente e, por fim, debugging e assembly, em português:

https://www.youtube.com/playlist?list=PLLFRf_pkM7b6Vi0ehPPovl1gQ5ubHTy5P
--

Achei relevante criar o tópico, pois os motores de busca hoje em dia estão bem ineficientes devido a práticas abusivas de SEO, entre outras coisas... Se tiverem mais tutoriais/material relacionado podem postar aqui.

Um addemdum: Essas técnicas não se aprendem de um dia para o outro, então, não se sintam frustrados se não captarem o conteúdo logo de cara, é natural.
#6
Liguei meu switch para ver se estava tudo bem com ele e tinha uma atualização para ser feita. Daí lembrei que estava prevista para amanhã a tradução oficial em PT-BR do BotW e fui testar o jogo, baixei uma atualização para ele (manualmente) e descobri que já tá online e disponível a tradução oficial... Bom para quem tem um Switch Bloqueado (meu caso)... Enfim, essa é a notícia, quem estava esperando, não precisa esperar mais.

Como eu não tenho o TotK, não posso afirmar com certeza de que também esteja disponível, mas é provável estar sim.

#7
Sem problemas!

A maior dificuldade de implementar a tool é a tabela mista, tentei contornar isso criando um buffer, mas acaba dando na mesma, quando ele bate em bytes que coincidem com os de 8 bits ele extrai como se fossem 16bits, daí gera uma anomalia na extração e acabo tendo uma saída assim:

414D63
[LEFT_IMG][ATENDENTE_1B]Good afternoon.[NEXTLINE]Did you come by to see[MAIN_CHAR_04]r.[MAIN_CHAR_01]ki again?[END_BOX][RIGHT_IMG][MAIN_CHAR_04]Yup![END_BOX][LEFT_IMG][ATENDENTE_1B]Well, then you should go check his[NEXTLINE]office all the way in the back.[END_BOX][RIGHT_IMG][MAIN_CHAR_01]Okay, thanks [ATENDENTE_1B]lot![ENDBLOCK]

quando a saída correta deveria ser assim:

414D63
[LEFT_IMG][ATENDENTE_1B]Good afternoon.[NEXTLINE]Did you come by to see Dr. Aki again?[END_BOX][RIGHT_IMG][MAIN_CHAR_04]Yup![END_BOX][LEFT_IMG][ATENDENTE_1B]Well, then you should go check his[NEXTLINE]office all the way in the back.[END_BOX][RIGHT_IMG][MAIN_CHAR_01]Okay, thanks a lot![ENDBLOCK]

Dá para modificar um pouco a lógica e extrair de outra maneira e depois passar por outro programa para normalizar o script (por exemplo, eu fingiria que os 4 bytes de instrução formam uma cadeia de 32bits, apenas com o intuito de não quebrar muito a cabeça pensando em como tratar isso, e depois de extrair tudo passaria por outro programa que pegaria esse dump e normalizaria ele, quebrando esses 32bits fake em 1 par de 16bits, fazendo o inserter funcionar corretamente... mas de qualquer forma, eu precisaria da tabela completa para fazer isso...) Se precisar, só falar!
#8
Dei uma olhada aqui agora de tarde e infelizmente minha ferramenta não é compatível, por um detalhe... A ROM em questão utiliza uma tabela mista de 8 e 16 bits, o que acaba extraindo os textos de forma errada com minha ferramenta do jeito que está:



O que acarretaria inserir de forma errada também...

Eu precisaria reprogramar uma parte dela para identificar o início do bloco de instrução, extrair os bytes de instrução em 16bits (posição e avatar), depois trabalhar com a extração dos textos em 8bits, e depois fazer o processo inverso na ferramenta de inserção, para que tudo funcione como deve... Não é exatamente de alta complexidade, mas levaria um tempinho.

Teria problema para você trabalhar com uma tabela com configuração diferente da que você me passou?



Se você concordar, posso fazer os ajustes na tool aqui, daí enquanto isso, você vai terminando a tabela, para que quando a tool estiver pronta, possamos testar.

Edit: Esqueci de anexar a tabela...
#9
Vou dar uma olhada aqui, ver o que preciso adaptar, segunda ou terça te dou um retorno, blz?
#10
Essa ROM parece trabalhar com ponteiros normais de GBA. Talvez a tool que desenvolvi para extrair os scripts do Metroid Fusion que estou traduzindo seja compatível... isso significa que já tenho uma tool para inserir os textos também, trabalhando com os ponteiros... Se tiver a tabela completa do jogo e quiser me enviar, faço os testes aqui e se funcionar, te passo acesso a tool
#11
Hummm... Dificilmente os 3 bytes representam algo desse tipo, é muito byte (24 bits) para esse tipo de informação...

Provavelmente um deles deve representar alguma outra coisa... Dei uma olhada rápida aqui, aparentemente o terceiro byte representa o lado da tela que irá aparecer o avatar... por exemplo, editei aqui em 0x414DA7 de 00 para 01 e o resultado foi que o avatar do personagem passou da direita para a esquerda... depois mudei os 2 endereços logo em seguida para 0004 e troquei o avatar do personagem, ou seja, apenas os bytes 00 04 formam o avatar, sendo o byte antecessor responsável por outra coisa (no caso aqui, a posição do avatar, mas como não conheço o jogo nem me aprofundei na rom, não posso dizer que será assim o tempo todo).


#12
Projetos / Res: [GBA] Metroid Fusion (J)
Maio 30, 2025, 23:37:14 PM
Opa, obrigado pelo comentário e pelas sugestões, Solid_One, e a sua tradução do Metroid Fusion está ótima!!

Não tive problemas com a extração/inserção de textos e cálculo de ponteiros. Para falar a verdade, essa parte foi bem simples até e já tenho tudo preparado aqui, faltando apenas traduzir, revisar, reinserir e testar os textos in-game. A Rom também é bem generosa em questão de espaço e, se faltar, tem pelo menos 4 idiomas inteiros para matar e obter espaço, apesar de eu acreditar que não seja necessário tomar tal medida. Mas vou dar uma olhada no código, sim, de repente consigo aproveitar para alguma coisa que ainda não me veio a cabeça!

Único ponto que eu tenho indefinição mesmo é a questão de lançar com 2 idiomas e a ordem desses idiomas, visto que isso vai acabar impactando na experiência de quem quiser desbloquear a galeria inteira.

Eu dei uma olhada na ROM americana e Europeia para ver as diferenças, elas são todas bem similares, só mudam os ponteiros e blocos de texto de lugar, até os textos em japonês estão presentes nelas, assim como os textos dos lançamentos ocidentais estão presentes na ROM japonesa... O que inclusive me fez pensar porque diabos a Nintendo atrasou em 3 meses o lançamento do jogo no Japão, visto que já estava pronto...
#13
Projetos / [GBA] Metroid Fusion (J)
Maio 30, 2025, 19:56:59 PM
--sobre o jogo--

Nome: Metroid Fusion (J)
Plataforma: Gameboy Advance
Gênero: Metroidvania, Plataforma, Ação.

--sobre a tradução--

Responsável: D!sturbed
Grupo: Freelancer
Andamento:
    -Acentos: 100%
    -Hacking: 100%
    -Textos: 100%
    -Revisão Gramatical: 100%.
    -Revisão de coerência: 0%.
    -Inserção dos scripts: 0%.
    -Testes: Não iniciados.

Ferramentas: Alguns scripts em C e Javascript de autoria própria*.

Olá pessoas tradutoras.

Primeiramente, o objetivo da abertura desse tópico não é de divulgação, mas sim de consulta. Metroid Fusion está facilmente entre meus 10 jogos preferidos e, apesar de já possuir uma ótima tradução da versão americana, decidi traduzir a versão japonesa, pois essa tem algumas coisas que não estão disponíveis na versão ocidental, como, por exemplo, seleção de dificuldade (que incluí um modo Hard) e algumas imagens extras para a galeria, que são liberadas dependendo do modo de jogo (adulto [textos com kanji] ou infantil [textos em hiragana]), da sua progressão percentual e tempo de jogo final.

--indefinições removidas--

Já decidi como vou lançar o patch de tradução.

--atualizações--

Esses últimos dias estava meio devagar com a tradução... caí de pegar os scripts de mensagens e localizações para traduzir e essas informações são centralizadas na tela, mas a indentação é manual... Após editar alguns manualmente e ficar com uma preguiça danada de continuar, criei uma ferramenta para calcular a indentação e manter o texto centralizado. Também fiz alguns testes com algumas fontes diferentes, acabei encontrando uma que me agradou.

  -- Atualização (08/07/2025):

A tradução dos textos foi finalizada. Como eu traduzi por blocos e não por sequência, e como fiz isso em dias diferentes, estou revisando para ver se está tudo coerente, pois pode ser que eu tenha usado um ou outro termo com o mesmo significado, mas com a transcrição diferente. Acredito que isso não leve muito tempo. Vou aproveitar para ver se todas as "TAGS" do script estão com fechamento correto (principalmente as de alteração de cor dos textos), antes de inserir, para que o processo de testes seja prazeroso, não tortuoso 🙏

Uma coisa que me atrasou um pouco foi tentar modificar uma rotina do jogo, que serve para exibir mensagens de itens coletados e algumas outras informações na tela, eu peguei uns 3 ou 4 scripts seguidos que a tradução ocupava 3 linhas ao invés das 2 convencionais (e eu não queria seguir pelo caminho de diminuir o tamanho da fonte) , isso me chateou um pouco e fui fuçar a ROM para quebrar isso e me dar uma linha adicional... depois de uns 15 dias entendendo como aquilo funcionava, consegui mudar, o problema é que eram apenas esses 3 ou 4 scripts e depois, testando in game, achei que ficou bem podre com 3 linhas... daí resolvi gastar um pouco o português até fazer aquelas 3 linhas daqueles 4 scripts caberem em duas sem soar estranho, robótico ou inumano, acabou que gostei mais do resultado no final :)

--imagens--



--nova fonte--



--changelog--

2025-30-05 - Adicionadas imagens da tradução preliminar.
2025-04-06 - Atualização sobre o andamento
2025-07-06 - Atualizado progresso da tradução, adicionadas imagens da nova fonte, removidas as indefinições.
2025-23-06 - Atualização do progresso da tradução
2025-29-06 - Atualização do progresso da tradução
2025-05-07 - Atualização do progresso da tradução
2025-08-07 - Textos finalizados, início do processo de revisão off game