Acimut
Profesional de WaH
¡Que tal!
Mi objetivo en este reto es avanzar en la traducción de scripts de un proyecto que llamaré pokerojofuego, el cual consiste en, más que una traducción de pokefirered, es la obtención de la ROM Rojo Fuego BPRS compilando desde pokefirered.
He avanzado bastante en este proyecto mientras he tenido tiempo, logrando decompilar la mayoría de las funciones principales que diferencia rojo fuego de su versión inglesa fire red, así como varios de los gráficos; pero luego de más de un año de inactividad es hora de terminarlo.
Así que, retomando donde lo dejé, debo continuar con la traducción de scripts, usando los textos originales de pokémon rojo fuego. La cantidad de textos de scripts a traducir no es nada más que 11716 en total, de los cuales ya había traducido 4235 (un poco más de la tercera parte), y para este reto debo traducir tanto como pueda de los 7481 textos de scripts faltantes en estos 30 días!
Estado actual de los Scripts: 36.15%
Según mis cálculos, puedo avanzar entre 50 y 100 scripts al día, y para terminar los scripts al 100% debería tomarme cerca de tres meses, por lo que al final del reto debería terminar cerca del 55%. El trabajo no es difícil, y es más de paciencia y repetir lo mismo cada día mientras se avanza, acompáñenme y vean cómo pierdo la cordura en este reto.
Además, debo instalar todo desde cero para trabajar en este proyecto de decompilación, así que empezaré con ello hoy (Día 1: instalar weas cúanticas para compilar).
Algunas capturas con los gráficos traducidos, para no morir ignorado:
Como pueden ver en las capturas el proyecto no está terminado del todo, pero espero pronto lo esté.
Mi objetivo en este reto es avanzar en la traducción de scripts de un proyecto que llamaré pokerojofuego, el cual consiste en, más que una traducción de pokefirered, es la obtención de la ROM Rojo Fuego BPRS compilando desde pokefirered.
He avanzado bastante en este proyecto mientras he tenido tiempo, logrando decompilar la mayoría de las funciones principales que diferencia rojo fuego de su versión inglesa fire red, así como varios de los gráficos; pero luego de más de un año de inactividad es hora de terminarlo.
Así que, retomando donde lo dejé, debo continuar con la traducción de scripts, usando los textos originales de pokémon rojo fuego. La cantidad de textos de scripts a traducir no es nada más que 11716 en total, de los cuales ya había traducido 4235 (un poco más de la tercera parte), y para este reto debo traducir tanto como pueda de los 7481 textos de scripts faltantes en estos 30 días!
Estado actual de los Scripts: 36.15%
Según mis cálculos, puedo avanzar entre 50 y 100 scripts al día, y para terminar los scripts al 100% debería tomarme cerca de tres meses, por lo que al final del reto debería terminar cerca del 55%. El trabajo no es difícil, y es más de paciencia y repetir lo mismo cada día mientras se avanza, acompáñenme y vean cómo pierdo la cordura en este reto.
Además, debo instalar todo desde cero para trabajar en este proyecto de decompilación, así que empezaré con ello hoy (Día 1: instalar weas cúanticas para compilar).
Algunas capturas con los gráficos traducidos, para no morir ignorado:
Como pueden ver en las capturas el proyecto no está terminado del todo, pero espero pronto lo esté.
Este proyecto lo empecé en enero de 2022 cuando estaba buscando algunos offset equivalentes entre Rojo Fuego BPRS y Fire Red BPRE, y luego de comparar mi base de datos de funciones de la rom española contra la inglesa, llegué a la conclusión de que aparte de los textos y gráficos que siempre cambian entre idiomas, naturalmente la mayoría de las funciones serían las mismas entre ambas rom, al menos más de un 90%.
Entonces pensé que si es posible decompilar (pasar de binario a código en C) todas las funciones que sólo existen en la rom española, además de las diferencias entre funciones, sería posible realizar la decompilación de rojo fuego bprs utilizando el código que que ha decompilado PRET con pokefirered.
Empecé modificando pokefirered, específicamente el makefile y otros archivos para poder mantener la compilación de fire red, por lo que al final se podrá usar el proyecto para hacer hacks que compilen en inglés y español tal como hizo GameFreak.
Un par de semanas desde que inicié esto, y luego de probar algunas cosas obtuve descubrimientos interesantes, como que toda la EWRAM (sección 0x02000000) de rojo fuego y fire red es la misma; y en rojo fuego no se usa AGBASERT. También obtuve los offset de la IWRAM (sección 0x03000000) de rojo fuego.
Luego de esto, pasó algunos meses antes de que tuviera algo de tiempo y pudiera retomar el proyecto. Así, en diciembre de 2022 retomé el proyecto con fuerza. Inspirado en pokeruby, donde es posible compilar la rom en sus diferentes versiones en inglés y alemán, decidí que debía organizar el poco trabajo que tenía adelantado y hacer una rama nueva en el fork de pokefirered que tengo, para poner los avances ahí.
Desde entonces el proyecto ha tomado forma, y entre el trabajo que hice en diciembre 2022 y febrero de 2023 en mi tiempo libre, he logrado llegar a un 20% de coincidencia de offsets (10200/50848 offset).
Actualmente el avance total es un poco más del 34% (última actualización, agosto de 2023).
El proyecto es público, y se puede encontrar en la siguiente rama: https://github.com/Acimut/pokefirered/tree/BPRS
pueden ver los cambios en el siguiente enlace:
Pd: este proyecto lo realizo única y simplemente por interés personal, me vale queso si alguien más ya lo hizo.
Entonces pensé que si es posible decompilar (pasar de binario a código en C) todas las funciones que sólo existen en la rom española, además de las diferencias entre funciones, sería posible realizar la decompilación de rojo fuego bprs utilizando el código que que ha decompilado PRET con pokefirered.
Empecé modificando pokefirered, específicamente el makefile y otros archivos para poder mantener la compilación de fire red, por lo que al final se podrá usar el proyecto para hacer hacks que compilen en inglés y español tal como hizo GameFreak.
Un par de semanas desde que inicié esto, y luego de probar algunas cosas obtuve descubrimientos interesantes, como que toda la EWRAM (sección 0x02000000) de rojo fuego y fire red es la misma; y en rojo fuego no se usa AGBASERT. También obtuve los offset de la IWRAM (sección 0x03000000) de rojo fuego.
Luego de esto, pasó algunos meses antes de que tuviera algo de tiempo y pudiera retomar el proyecto. Así, en diciembre de 2022 retomé el proyecto con fuerza. Inspirado en pokeruby, donde es posible compilar la rom en sus diferentes versiones en inglés y alemán, decidí que debía organizar el poco trabajo que tenía adelantado y hacer una rama nueva en el fork de pokefirered que tengo, para poner los avances ahí.
Desde entonces el proyecto ha tomado forma, y entre el trabajo que hice en diciembre 2022 y febrero de 2023 en mi tiempo libre, he logrado llegar a un 20% de coincidencia de offsets (10200/50848 offset).
Actualmente el avance total es un poco más del 34% (última actualización, agosto de 2023).
El proyecto es público, y se puede encontrar en la siguiente rama: https://github.com/Acimut/pokefirered/tree/BPRS
pueden ver los cambios en el siguiente enlace:
Comparing master...BPRS · Acimut/pokefirered
Decompilation of Pokémon FireRed/LeafGreen. Contribute to Acimut/pokefirered development by creating an account on GitHub.
github.com
Pd: este proyecto lo realizo única y simplemente por interés personal, me vale queso si alguien más ya lo hizo.