Registrarse

[pokeruby] Pokeruby - Proyecto de Desensamblaje y Decompilación de Pokémon Ruby & Sapphire

Lunos

Enfrentando a La Organización
Miembro insignia
EDITO: En este tema lo que se enseña es a compilar Pokeruby.
Para aprender a compilar Pokeemerald, visiten este tema.
Para aprender a compilar Pokefirered visiten este otro tema.

Holi. Por fin me armé de valor para escribir este pedazo de tema.
Lo cierto es que tras haberlo escrito, me siento un poco nervioso.
Quiero decir, esto es grande y es un tema quizá un tanto pesado.
Pero bueh, en el peor de los casos pasará al fondo de esta sección del foro sin pena ni gloria

El dia de hoy, niños y niñas de todas las edades, quiero hablarles sobre Pokeruby, el proyecto de desensamblaje y decompilación de Pokémon Ruby & Sapphire.



Introducción - ¿Qué es Pokeruby?
¿Qué es Pokeruby?
Pokeruby es el proyecto de desensamblaje y decompilación de los videojuegos Pokémon Ruby y Pokémon Sapphire para la GBA.
Existen equivalentes para otros varios juegos de Pokémon, siendo Pokered y Pokecrystal los mas conocidos.

¿Qué es la decompilación?
Decompilación es el proceso de tomar una pieza de codigo ASM y correrla a traves del compilador original con el fin de obtener el codigo en C que los desarrolladores de Game Freak escribieron.

En este caso, empezando con la tercera generación y hasta la quinta, los juegos de Pokémon fueron escritos en el lenguaje de programación C y fueron compilados en el Lenguaje Ensamblador que puedes apreciar en las distintas ROMs mediante programas como IDA Pro (detalles al respecto en el tutorial escrito por @Sonicarvalho justo aqui).

¿Como sabemos que el compilador utilizado para construir el contenido de Pokeruby es el que fue usado por Game Freak?
Basicamente, al mirar en el Kit de Desarrollo de Software de la GBA, los miembros del Equipo Pret se dieron cuenta al instante que el compilador usado fue uno de codigo abierto y con licencia GPL (especificamente gcc) y este es el motivo por el que ellos pudieron transmitir ese conocimiento sin riesgos legales de ningun tipo.
Asi que, decompilar estos juegos, fue cuestión de probar compiladores hasta encontrar el correcto y encontrar la configuración que Game Freak usó o probablemente usó.

¿Por qué empezar con Rubi y Zafiro?
Game Freak empezó la tercera generación de videojuegos de Pokémon con Rubi y Zafiro, pero internamente, la base usada para crearlos fue modificada constantemente y convertida en nuevos juegos durante el curso de los años en los que la tercera generación estuvo activa.
Especificamente, Rubi y Zafiro fue parcialmente re-escrito y convertido en Pokémon Fire Red & Leaf Green, que luego fue re-convertido otra vez en Pokémon Emerald, ultimo juego principal de la tercera generación.

Debido a esto, hay diferencias muy notables en cuanto a codigo entre las 3 entregas. Especificamente, el sistema que controla las ventanas, menús y textos es extremadamente diferente en R/S, comparado con FR/LG/Em. Resulta que el nuevo sistema usado en estos ultimos es extremadamente complejo de decompilar (para el momento en que este mensaje fue escrito originalmente, 26 de Mayo del 2017, los miembros del Equipo Pret solo habian logrado decompilar el archivo text.c [sistema que maneja los textos] de Emerald, mas no pudieron decompilar el archivo window.c, el sistema que controla las ventanas).

Por este motivo el foco principal fueron Pokémon Ruby and Sapphire, para conseguir la experiencia y conocimiento necesarios sobre la forma en la que Game Freak escribió el codigo que formaron los juegos originalmente, y poder tacklear facilmente a Pokémon Fire Red, Leaf Green & Emerald.

Dicho esto, actualmente Pokeemerald es el foco principal del Equipo Pret y dia a dia hacen importantes avances.
En el momento en el que escribí este post originalmente (26 de Mayo del 2017), Pokeemerald aun no podia compilar una ROM de Pokémon Emerald por si sola.
Las "llamadas a la ROM Base" fueron neutralizadas el 21 de Enero del 2018 y desde entonces, se ha podido compilar una ROM de Pokémon Emerald usando nada mas que Pokeemerald.

¿Por qué utilizar estos proyectos en lugar de las herramientas que usamos hoy en dia?
Bueno, para empezar, editar C es 10 veces mas facil que editar codigo escrito en el lenguaje ensamblador. Puedes implementar sistemas a nivel de codigo de una forma mucho mas eficaz y veloz que con los editores de mapas y scripts estandares.

Tomemos como ejemplo la posibilidad de tener una velocidad de texto instantanea: conseguir que el texto de Pokémon Rubi y Zafiro se muestre instantaneamente en la pantalla probablemente requeriria re-escribir la mayoria de funciones manejadas normalmente por el archivo text.c del juego mediante metodos convencionales, pero teniendo un acceso directo hacia el archivo text.c, hacer esa modificación no toma mas que unas pocas lineas de codigo y a compilar.

Tutorial - Compilando Pokeruby
Bueno, acá es cuando ya me siento mas a gustito.
Volvemos a mi formato tradicional con el que escribo tutoriales, hahaha.

Requisitos:
Paciencia y ganas de aprender.

Instrucciones:
1) Vamos a descargar devkitPro haciendo click aqui.
Ejecutamos devkitProUpdater-3.0.3.exe y procedemos a instalar devkitPro como si fuera un programa cualquiera.
¿A que me refiero con esto? A que clickeen en siguiente, siguiente, siguiente sin tocar nada. Instalenlo en su ruta por defecto.

ATENCIÓN: Si el instalador falla por cualquier motivo, haz click aquí para leer una posible solución.

Por cierto, si quieren guardar un poco de espacio en su disco duro, sugiero unicamente instalar las Herramientas de Desarrollo de GBA a la hora de seleccionar los componentes que van a instalar. Son las unicas que vamos a necesitar, realmente.

2) Habiendo quitado esa roca del camino, descargaremos Cygwin haciendo click aqui.

3) Abrimos el instalador y le damos a Siguiente, Siguiente, Siguiente hasta llegar a esta ventana.


Nota: Sugiero encarecidamente no cambiar el directorio donde Cygwin se instalará.
Dejenlo tranquilito en "C:" al igual que devkitPro, que no molesta y se porta bien.


4) Lo que haremos aqui es cambiar el Modo de Vista de "Pending" a "Full", asi veremos todos los paquetes que Cygwin posee.
Despues de hacer eso, buscaremos y seleccionaremos los paquetes que muestro aqui abajo:


No se preocupen por los 2 que oculté, yo los necesito para compilar Pokecrystal.

5) Tras seleccionarlos a todos, volvemos a clickear Siguiente, Siguiente, Siguiente y esperamos a que el proceso termine normalmente.
Una vez finalizado todo, salimos del instalador normalmente.

6) Vamos a C:\cygwin64, abrimos Cygwin.bat (que por cierto, será la consola de comandos que yo usaré el dia de hoy) y dejamos a que haga su magia semi-instantanea.
Lo que basicamente hará al correrlo por primera vez, es crear archivos y carpetas necesarios dentro de Cygwin.

7) Cerramos cygwin.bat y lo volvemos a abrir. Ahora es cuando nos ponemos serios.
Vamos a escribir y ejecutar los siguientes codigos, uno por uno:
Código:
export DEVKITPRO=/cygdrive/c/devkitPro
echo export DEVKITPRO=$DEVKITPRO >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo export DEVKITARM=$DEVKITARM >> ~/.bashrc

git clone https://github.com/pret/pokeruby
git clone https://github.com/pret/agbcc

cd agbcc
./build.sh
./install.sh ../pokeruby

cd ../pokeruby
Repito, escriben un comando, lo ejecutan presionando Enter, escriben el siguiente, lo ejecutan y asi.
Los que tomarán mas tiempo definitivamente son ./build.sh e ./install.sh ../pokeruby, asi que sean pacientes.

8) Despues del Paso 7, estaremos situados en la carpeta donde tenemos los archivos de Pokeruby, gracias al comando "cd ../pokeruby". Basicamente, dentro de la consola de comandos estaremos en "C:\cygwin64\home\USER\pokeruby".

Estamos ahi, llegando a la linea de meta. Podemos saborear el premio como si fuera nuestro, las ROMs están a un paso de nosotros. Lo siguiente que haremos será tomarlas y llevarnoslas a casa como unos campeones.
¡Usaremos el comando "make" para crear nuestra ROM!
.... Y ya.

No, en serio, escribí "make" y espera un rato hasta que el proceso de compilación finalice con un suculento
Tal que asi:

Extra - Otros Comandos
Bueno, esto es bastante sencillo.
make: Utilizado para compilar una ROM de Pokémon Ruby v1.0
make ruby_rev1: Utilizado para compilar una ROM de Pokémon Ruby v1.1
make ruby_rev2: Utilizado para compilar una ROM de Pokémon Ruby v1.2
make sapphire: Utilizado para compilar una ROM de Pokémon Sapphire v1.0
make sapphire_rev1: Utilizado para compilar una ROM de Pokémon Sapphire v1.1
make sapphire_rev2: Utilizado para compilar una ROM de Pokémon Sapphire v1.2
Como pueden observar, el comando utilizado define la versión del juego que vamos a compilar.
"make" creará una ROM de Pokémon Ruby v1.0, make ruby_rev1 creará una ROM de Pokémon Ruby v1.1, et cetera, et cetera.

Ahora, estos no son los unicos comandos que hay.
make clear: Elimina todos los archivos generados por el compilador, permitiendote compilar una ROM desde 0.
make -j(numero): Asigna hilos de la CPU al proceso de compilación. Entre hilos se asignen, mas rapido se creará la ROM.
nproc: Nos da la cantidad total de hilos que tiene nuestra CPU.
make NODEP=1: Si solo has hecho cambios en archivos .c o .s tras la ultima compilación, puedes usar este comando para aplicarlos casi instantaneamente.
Antes de cerrar esta parte del tema, supongo que dejar un ejemplo de lo recien presentado está bien.
Si por ejemplo tenemos una CPU de 4 nucleos (como un i5 4440) y queremos sacarle ventaja, podemos usar el comando "make -j3 ruby_rev1".
Basicamente es un proceso de compilación para obtener una ROM de Pokémon Ruby v1.1 a la que asignariamos 3 de los 4 nucleos que nuestro i5 posee.
Yo no pondria los 4 por decisión personal, prefiero mantener el SO lo mas estable posible.

Extra 2 - Herramientas como gbagfx en Cygwin.bat o Mintty.exe
Atención: Por como escribí este tutorial y por la manera en la que hago las cosas, no me percaté de que Windows 10 ya no posee la opción "Abrir ventana de comandos aqui", entonces, si por algun motivo necesitan usar las herramientas dentro de pokeruby\tools y no pueden/saben usar el CMD de Windows por X motivo viendose forzados a usar las lineas de comando de Cygwin como lo son Bash (la que utiliza c:\cygwin64\cygwin.bat) o Mintty, muevan su carpeta con Pokeruby a "C:" y cada vez que usen cygwin.bat o Mintty empiecen con "cd C:\pokeruby".

Esto en si no es un problema, a mi parecer. Una minima busqueda en Google mostrará cientos de resultados sobre como reincorporar esa opción que parece haber sido removida en Windows 10, y si no, usar el Command Prompt de Windows no tiene ningun misterio tampoco, es cuestión de usar el comando "cd" seguido por la ruta hacia la herramienta a usar.

Esta advertencia nace de un inconveniente que un usuario tuvo, y pensé que estaria bien mencionarlo.

Y por ahora, yo creo que esto es todo.
Tengo un grupo de pequeños tutoriales escritos por mi que pienso traer y algunos escritos por otras personas tambien.

Antes de partir, quiero abrirme un poco con ustedes sobre todo esto.
Actualmente, como habran podido notar por el hecho de que soy practicamente el unico en esta comunidad que se atreve a hablar fuerte y claro sobre Pokeruby y sus equivalentes, no existe una comunidad solida para estas magnificas obras de arte.
Con el paso del tiempo, eso va a ir cambiando. Varios miembros y ex-miembros de PokeCommunity poquito a poco ya estamos empezando a explorar Pokeruby, nos estamos intentando familiarizar con los nuevos metodos para hacer las cosas, estamos curioseando y probando a cambiar distintas cosas, de hecho ya hay hasta proyectos planificados que pretenden usarlos llegado el momento.

Lo que personas como ProjectRevoTPP, Ax6, ShantyTown, Padz y otros están haciendo es voltear la Comunidad de ROM Hacking Pokémon de pies a cabeza. Sacarnos del agujero negro lleno de herramientas abandonadas y de codigo cerrado, herramientas que funcionan mal o herramientas que rompen nuestras ROMs.

Yo, Lunos, tengo un sueño
.
Ese sueño es que un dia, esta comunidad explore estos proyectos de desensamblaje y/o decompilación, de la misma forma en la que ha estado explorando Rojo Fuego en Español recientemente.
Yo tengo fé ciega en que con estas preciosuras se puede llegar muchisimo mas lejos de lo que el ROM Hacking mediante metodos convencionales jamas podrá llegar, y quiero dar el primer paso hacia ese sueño justo aqui, hoy, porque me sale de las pelotas.

Y eso es todo.​
 
Última edición:

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Desde ya te lo digo: muchísimas gracias por traer esto aquí, te lo acabo de fijar porque este tema es crucial ahora mismo.
Los proyectos de "descompilación" son ahora mismo el futuro del hacking, sin ninguna duda, es pasar de modificar una ROM a crearla tu mismo con las modificaciones ya añadidas, desde el día que vi el proyecto supe que claramente iba a ser el gran salto del hacking, porque después de 15 años está empezando a llegar a un límite que solo esto se puede saltar.

Mira que yo nunca he sido de hacking pero estuve experimentando con esto hace meses y es que de verdad es algo espectacular, con una buena documentación (sobre todo de todas las funciones) se podrían lograr proyectos alucinantes sin salir de Pokémon Ruby.
 

Mikelan98

WaH used to be a bigger place...
Re: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Hace unos meses vi algo similar que querían hacer con Platino (no sé cómo va el proyecto, la verdad), y me sirvió básicamente porque tienen localizadas algunas funciones del arm9 y algunos overlays que luego puedo investigar en HGSS.

Yo creo que en GBA sí, es el futuro, pero en NDS nos puede servir no solo para el desarrollo, sino para la propia investigación, y espero que el desensamblado sea una práctica cada vez mayor entre los ROM hackers. De hecho estoy escribiendo un libro sobre RH, y ten por seguro que a esto le voy a dedicar más de una página ;D
 

Lite Omega

Usuario de oro
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Yo soy un simple spriter, pero me parece un tema interesante. Recuerdo hackear hace tiempo, y dejarlo por la de errores que conllevaba (no tengo mucha paciencia la verdad). Sin conocer mucho sobre hackear y sobre programación, me parece muy interesante, sobre todo por el gran potencial que tiene para romper con las limitaciones tradicionales.

Espero que no caiga en el olvido porque me parece un proyecto muy interesante.

Conoces algún hack nuevo basado en este tipo de sistema?

Un saludo!
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Yo soy un simple spriter, pero me parece un tema interesante. Recuerdo hackear hace tiempo, y dejarlo por la de errores que conllevaba (no tengo mucha paciencia la verdad). Sin conocer mucho sobre hackear y sobre programación, me parece muy interesante, sobre todo por el gran potencial que tiene para romper con las limitaciones tradicionales.

Espero que no caiga en el olvido porque me parece un proyecto muy interesante.

Conoces algún hack nuevo basado en este tipo de sistema?

Un saludo!
Nada grande de momento, por desgracia.
Se lo mencioné a Klein hace un rato, los proyectos que hacen uso de Pokeruby/Pokeemerald que yo conozco son el RS-Speedchoice de ProjectRevoTPP y el Emerald Battle Engine Upgrade que DizzyEgg está recreando usando Pokeemerald.
 
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Me parece muy interesante este tema, y pienso que este es el futuro del hacking, ademas me interesa cada vez mas en ayudar en el proyecto
 

L!no

GBA Developer
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Muy interesante @Lunos !
lo he estad probando, y logre esto:

por si a alguien le interesa, parche aqui.
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Muy interesante @Lunos !
lo he estad probando, y logre esto:

por si a alguien le interesa, parche aqui.
Como dicen, grandes mentes piensan igual. Yo tambien me puse a traducir cosas, jajaja.
Una cosa llevó a la otra, me emocioné con la idea de traducir textos tan sencillamente y sin pensarlo mucho traducí un montón de dialogos en Littleroot Town, el evento inicial en la Ruta 101 y los distintos menús incluyendo el sumario pokémon (dejando de lado los graficos pero, que soy un asco para eso).
Si alguien está interesado: https://github.com/LOuroboros/pokerubi


Hay ciertas cosas que requieren de conocimientos basicos sobre C que yo no poseo.
Por ejemplo, ajustar el tamaño de la font dentro del Menú Opciones tal y como en la traducción oficial, que aparezca la naturaleza despues de la palabra "Naturaleza" misma en lugar de antes, o que aparezca "¡[pokémon] salvaje usó [ataque]!".
 

L!no

GBA Developer
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

no se si esto se habia hecho ya, pero si no:

zelda
 

Jaizu

Usuario mítico
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Reprogramar una ROM sigue estando por encima del conocimiento medio del rom hacker, yo seguiré haciendo mis mapitas vale
 

Mimilena

Mimilena Strike Back
Re: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Que lindo suena "reprogramar una rom" :lovelon:

Y como puedo comprender que este es el futuro de GBA... porque no intentarlo en NDS?
Gracias a esto pude comprender que tan importante puede ser PokePlat (que es basicamente lo mismo pero de Pokemon Platinum, Mikelan hablo de el arriba)
Estoy investigandole para hacer rommaking en esta base tan genial y tan poco explorada en varios aspectos.

Edito: Creo que este es el primer rommake que se a hecho, almenos para DS, denominado en su momento un "homebrew", no se si me equivoco : http://nds.scenebeta.com/noticia/super-smash-bros-crash-ds
 
Última edición:

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Re: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Que lindo suena "reprogramar una rom" :lovelon:

Y como puedo comprender que este es el futuro de GBA... porque no intentarlo en NDS?
Gracias a esto pude comprender que tan importante puede ser PokePlat (que es basicamente lo mismo pero de Pokemon Platinum, Mikelan hablo de el arriba)
Estoy investigandole para hacer rommaking en esta base tan genial y tan poco explorada en varios aspectos.

Edito: Creo que este es el primer rommake que se a hecho, almenos para DS, denominado en su momento un "homebrew", no se si me equivoco : Super Smash Bros Crash! DS | NDS.SceneBeta.com
Ese es un homebrew, es correcto. Una aplicación o videojuego para la NDS, hecho desde cero por un aficionado.
 

Laquin

Usuario mítico
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

¡Muchas gracias por el aporte, @Lunos! (Y también por la ayuda que me has dado por perfil). Es un proyecto realmente interesante, que sin duda alguna va a cambiar todo esto por completo.

Ahora bien, me gustaría aclarar un par de cosas. Algunos, usamos por defecto un disco distinto al C:\ (En mi caso, uso el E:\). Ahora bien, dices que recomiendas encarecidamente dejar cygwin64 en el disco C:\, pero lo que realmente importa es que DevKitPro lo esté. ¿Por qué? Para saberlo, deberíamos primero entender lo que hacemos con esto:
Código:
export DEVKITPRO=/cygdrive/c/devkitpro
Y eso no es más que para decirle al cygwin dónde está nuestro DKP. Podréis observar ese /c/, lo cuál quiere decir que va a buscarlo en el disco C:\.

Claro, en el tutorial dices que dejemos el cygwin64 en ese disco, mas no dices nada acerca de DKP. Como el instalador me lo ponía por defecto en el disco E:\, ahí lo dejé. Y realmente no hay problema con eso, siempre y cuando le avisemos al Cygwin sobre ello.

Así que, como yo quise ponerlo en ese disco E:\, tuve que escribir lo siguiente:
Código:
export DEVKITPRO=/cygdrive/e/devkitpro
¿Y si tuviera el DKP en el escritorio? Pues pondría:
Código:
export DEVKITPRO=/cygdrive/e/desktop/devkitpro
Etc.

Sé que somos una pequeña minoría, pero creo que estaría bien que pusieras en el post principal que recomiendas instalar DKP en el disco C:\, o que deberíamos modificar esa línea con la dirección real de este.

Por lo demás, es muy útil tener estas cosas en el foro. Veremos cómo avanza la cosa. ¡Gracias!
 

Juanjo

Hacker del pasado... Compilador del presente
Miembro insignia
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Reprogramar una ROM sigue estando por encima del conocimiento medio del rom hacker, yo seguiré haciendo mis mapitas vale
Desde que no te pierdas en ellos todo bien :)
----------------

Sobre esto, ¡me parece fascinante!.
Ahora que salga de exámenes me dedicaré de lleno a investigarlo y tratar de hacer cositas (y no me refiero a crear otra @cosarara97, ya tenemos suficiente con una :p). Me encantá C y creo que podría hacer grandes cosas con esta nueva modalidad. Probablemente sea el propio renacer del RH. Muchos entramos siendo simples estudiantes de colegio y hacer un script nos parecía complicado. Sin embargo ahora algunos ya tenemos un background bastante amplio en programación y podríamos dar el siguiente paso.

Saludos a todos
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Reprogramar una ROM sigue estando por encima del conocimiento medio del rom hacker, yo seguiré haciendo mis mapitas vale
Me gustaria aclarar algo, por las dudas: Tú no estás forzado a "reprogramar una ROM".
Esto lo mencioné en el primer post, pero el simple hecho de no tener que lidiar con editores hexadecimales, busqueda de espacio, herramientas con bugs o herramientas que pueden arruinarte la ROM son ventajas mas que suficientes.

El scripting y el mapping funcionan practicamente igual.
Cosas como solucionar errores en tu ROM son muchisimo mas faciles que antes, porque el compilador mismo te informa si algo sale mal, y si pasa, te indica que archivo y que linea en particular está/n causando el problema.
Una vez que mas y mas ROM Hackers peguen el salto y se empieze a formar una comunidad alrededor de estos proyectos, las cosas iran de bien en mejor.

Es exactamente lo mismo que pasa con Pokecrystal, por ejemplo.
Personas como Rangi42, Luna y PiaCarrot constantemente se ayudan en sus ROM Hacks en parte porque comparten un mismo universo en su lore, pero principalmente porque portear cosas de un hack al otro es cuestión de copiar y pegar, compilar y probar, por ejemplo.
Los cambios a nivel de engine ya son algo mas serio, pero si tú quieres hacer algo a la par de lo que crearias hoy en dia, no necesitás ese tipo de conocimientos en lo absoluto.

Despues están cosas como el Emerald Battle Engine Upgrade de DizzyEgg, que como mencioné anteriormente, está siendo recreado para Pokeemerald.
Para quienes no conocen este hermoso proyecto, se encarga de introducir ataques, habilidades y cambios al sistema de combate a la par con los de Pokémon Sol y Luna, excepto por los Movimientos Z.
Con algo como eso, poco mas se necesita.

Lo dicho, yo creo honestamente que este es el futuro del ROM Hacking y es cuestión de tiempo para que la gente lo vea.
PretMap ya está asesinando a sangre fria a Advance Map pasito a pasito, con cada nueva función que es implementada, por ejemplo.
Editar texto es indiscutiblemente mas facil comparado a usar el espantoso Advance Text, o haciendo un repunteo y usando XSE.
Y asi pasará con lo demas. Yo no lo dudo.
 

kakarotto

Leyenda de WaH
Re: Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

Como dicen, grandes mentes piensan igual. Yo tambien me puse a traducir cosas, jajaja.
Una cosa llevó a la otra, me emocioné con la idea de traducir textos tan sencillamente y sin pensarlo mucho traducí un montón de dialogos en Littleroot Town, el evento inicial en la Ruta 101 y los distintos menús incluyendo el sumario pokémon (dejando de lado los graficos pero, que soy un asco para eso).
Si alguien está interesado: https://github.com/LOuroboros/pokerubi


Hay ciertas cosas que requieren de conocimientos basicos sobre C que yo no poseo.
Por ejemplo, ajustar el tamaño de la font dentro del Menú Opciones tal y como en la traducción oficial, que aparezca la naturaleza despues de la palabra "Naturaleza" misma en lugar de antes, o que aparezca "¡[pokémon] salvaje usó [ataque]!".
Te garantizo que no hace falta usar asm ni C ni tener conocimientos de esto para dejarlo correctamente. Si quieres un dia te lo digo (no me refiero tamaño letra)
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Introducción a Pokeruby | Proyecto de Decompilación de Pokémon R/S

^ Supongo que este es un buen momento para mencionar que los cambios hechos por metodos binarios mediante herramientas o editores hexadecimales no sirven a la hora de hacer modificaciones usando los proyectos de decompilación.
Como en ellos, tú estás modificando codigo fuente y compilandolo en la forma de una ROM, los cambios que hagas a la ROM como tal desaparecerán, y tendrias que estar aplicando los cambios que hiciste usando herramientas una y otra vez.

En fin, cambiando un poco de tema, recientemente se hizo otro pequeño hack usando Pokeruby.
ShantyTown, la persona que actualmente está desarrollando PretMap, hizo un hack sencillo en el que unicamente puedes avanzar robandole pokémon a otros entrenadores. Se llama "Pokémon Thief Ruby/Sapphire" y él lo dejó en GitHub, justo aqui.
Pueden encontrar parches .ips justo aqui, por si están interesados en probarlo.

Algunos puntos a destacar son que los pokémon no pueden ganar experiencia ni tampoco subir de nivel, las balls no sirven con pokémon salvajes y los caramelos raros son inutilizables, unicamente se pueden vender.
La idea en si está buena, y es algo que seria muchisimo mas dificil de hacer usando metodos binarios.

Ignoren el "ÁÉ", que poca importancia tiene :p

Antes de retirarme por hoy, me gustaria dejar caer esto que tambien lo hizo ShantyTown hace un huevo de tiempo con Pokeruby y yo me olvidé totalmente de dejarlo en el post principal.
 
Última edición:

FelixTheCat

Profesional de WaH
Respuesta: Introducción | Proyecto de Decompilación de Pokémon R/S

AAHHHHH, estoy por tener PC nuevamente, estoy viendo todo esto de la descompilación, los nuevos subforos y me esta agarrando una emoción tremenda :boogie:

En un futuro cercano quiero meterme con esto, a la par de volver a ROM hackear (lo cual sabiendo esto de lo anteriormente mencionado, lo veo un poco sin sentido, pero todo tiene un fin), con bastante fuerza. Y gracias @Lunos por empezar esto, me compartiste tu emoción con este tema y por ende, la motivación que había perdido <3



Arrivederci~
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Introducción | Proyecto de Decompilación de Pokémon R/S

No se yo si deberia crear un tema para tirar estos videos sobre cosas hechas con Pokeruby, o si deberia seguirlos tirando por aqui xd ...
Bueh, al diablo, que esto está recien salido del horno y lo quiero compartir.

Jackj106, alguien que conozco gracias a Discord, hizo una modificación a Pokeruby gracias a la cual aparecen iconos representando el sexo del Jugador y sus medallas en el menú principal del juego.
 
Última edición:
Arriba