Tutorial Dumper/Inserter Crystalis GBC

Iniciado por kuroi, Setembro 27, 2018, 10:19:48 AM

tópico anterior - próximo tópico

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

kuroi

Atendendo a pedidos, eu resolvi fazer um tópico específico para "divulgar melhor" o meu tutorial feito para ensinar o pessoal que está começando no Romhacking a fazer um Dumper/Inserter em linguagem C.
O jogo que eu usei como demonstração foi a rom do Crystalis, jogo lançado para Game Boy Color.

O tutorial ficou um pouco "pequenininho" (112 páginas), mas eu acho que ficou beeeem explicadinho...
Qualquer coisa é só comentar aqui embaixo que eu ajudo no que for possível!

Até mais!!
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

Kamppello

Grande iniciativa, kuroi.

Com certeza vai ajudar muitas pessoas. Eu já havia tentado criar uma ferramenta nessa linguagem, mas achei muito trabalhosa, além de me faltar conhecimento. Tentarei criar minha próxima ferramenta a partir do seu tutorial.

Parabéns!

Rafael Quinalha

Excelente Kuroi, multiplicar conhecimento é sempre bom, principalmente na área de programação, onde nossa comunidade carece muito. :parabens:
Projeto Atual: Xenosaga 3
Projetos Concluídos: [PSX] Parasite Eve, [PS2] Xenosaga, [PSP] Final Fantasy Tactics, [PS2] Xenosaga 2, [PSX] Fear Effect 1
Projeto Cancelado: [PSX] Xenogears

Snow

Excelente o material, reacendeu minha vontade de programar de tão bem explicado. Espero conseguir criar minha primeira ferramenta pra um projeto de tradução.

Gutembergh

Grande Kuroi!
Agora sim o tuto está mais visível. Mais uma vez, parabéns por esse trabalho tão bonito. Além de disponibilizar todo o código, comentou ele todo, explicando extremante tudo!  Agora só falta o "Manual do RomHacking", que deve tá mais foda ainda! Espero ansioso por ele.  :parabens:
Um dia chegaremos lá!

kamui

há um problema ao inserir bibliotecas e funções, por conta das posições, tem como postar o script.

kuroi

Boa noite!
Não entendi direito a dúvida...
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

kamui

Por exemplo, com o script será possível seguir o manual, porque as funções como Dumper não aparece no print que está no pdf, outro
seria a biblioteca do mkdir por exemplo, que você diz que seia <system.h>, mas seria <sys/stat.h> com <unistd.h>, entende, gera uma
confusão, por isso que gostaria que você postasse o script para melhor compreensão do seu pdf, você pode postar?

kuroi

Opa! Vamos ver se eu entendi as dúvidas...

1- A questão de rodar o software desenvolvido em um Sistema Operacional diferente do Windows não está sendo explicada e não é o objetivo do manual, portanto, para que você possa desenvolver o Dumper/Inserter em Linux, por exemplo, você terá que adaptar;

2- Sobre as bibliotecas utilizadas no projeto: Ao desenvolver essa ferramenta para Windows, em alguns projetos eu utilizei a biblioteca <system.h> para chamar comandos de dentro do próprio sistema em que o sofware está rodando (no caso o Windows) como o exemplo a seguir:

system("mkdir Teste");

Porém, para este projeto em específico desenvolvido para Windows, eu optei por usar a função mkdir() que já vem dentro do pacote do MinGW para Windows, portanto não precisei declarar nenhuma biblioteca para chamar o mesmo. Estou escrevendo uma nova versão deste manual e lançarei em breve aqui no Forum.
Seguem bibliotecas que foram usadas:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

Lembando que você também pode vê-las diretamente no código, acessando a minha postagem original do lançamento do Crystalis de 2017:

http://www.romhacking.net.br/index.php?topic=271.0

3- Sobre o Script completo "não estar sendo exibido" no manual, basta olhar as páginas:

21 (para a função Main)
41 (para a função Dumper)
76, 77, 78 (para a função Inserter)
84 (para a função Tamanho)
111, 112 (para a função Calcula_ponteiro)

Nestas páginas explicadas acima você encontrará todos os Scripts completos de cada função desenvolvida. Eu os disponibilizei assim, para que após a leitura do algoritmo e o detalhamento de cada passo, o leitor consiga ver a função por completo e a implementação da mesma.
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

kamui