Kaiser de Emperana
Called in hand
Bueno Básicamente lo que está en el título. Me entraron ganas de hacer algo nuevo y me puse a hackear un poco el Mystery Dungeon Red Rescue Team (USA) , código B24E.
¿Por qué no la versión española dirán? Porque no hay. La única versión española que pude encontrar es multi-lenguaje y creo que prefiero tener más espacio libre a tener textos en español, que en principio la idea sería cambiar la mayoría.
¿Por qué no los juegos de ds? Porque me da pereza. No conozco nada la consola y no hay que buscar más motivaciones para dejar el proyecto, que soy bastante de ésto xD
Por lo que me puse a ver, parece que nadie se puso a investigar esta rom. Así que estoy empezando desde cero.
La verdad es que lo que tengo en estos momentos tiende a nada, pero como suelo dejar mis proyectos antes de siquiera llegar a mostrar algo, esta vez voy a intentar postear cualquier pequeño avance que logre.
Además así, en una de esas engancho a alguien.
Como dije, voy a ir dejando las cosas que vaya haciendo:
Ya iré trayendo alguna que otra cosa más.
Saludos
¿Por qué no la versión española dirán? Porque no hay. La única versión española que pude encontrar es multi-lenguaje y creo que prefiero tener más espacio libre a tener textos en español, que en principio la idea sería cambiar la mayoría.
¿Por qué no los juegos de ds? Porque me da pereza. No conozco nada la consola y no hay que buscar más motivaciones para dejar el proyecto, que soy bastante de ésto xD
Por lo que me puse a ver, parece que nadie se puso a investigar esta rom. Así que estoy empezando desde cero.
La verdad es que lo que tengo en estos momentos tiende a nada, pero como suelo dejar mis proyectos antes de siquiera llegar a mostrar algo, esta vez voy a intentar postear cualquier pequeño avance que logre.
Además así, en una de esas engancho a alguien.
Como dije, voy a ir dejando las cosas que vaya haciendo:
¿Por qué investigué esto?
Porque supuse que las paletas tendrían en general el mismo sistema de encriptación, pero parece que elegí un mal gráfico modelo para hacer la investigación xD
Pero bueno, ya encontraré como modificar las demás paletas. Y menos mal que no usan este sistema, porque es de las cosas más ineficientes que he visto en mi vida...
Ah y para los que les interese, la rutina de "encriptación" está en 0x0800472c (en realidad empieza antes, pero esta es la parte importante)
--------------------
Para encontrar la paleta en el rom primero necesito tener la paleta desencriptada, así que vamos hasta un momento en que aparezca el portait de Squirtle y abrimos el Map viewer del VBA para ver que paleta está usando.
Y con el Palette y el Memory Viewer guardo la paleta desencriptada.
Abrimos la paleta con algún editor hexadecimal y la copiamos.
La paleta del portait de Squirtle es:
Ahora lo que necesitamos es el script de python que dejé adjunto en el tema. Lo ejecutamos, seleccionamos Encrypt palette y pegamos los bytes de la paleta. Apretamos enter y el programa hará lo suyo.
Abrimos el archivo "encrypted_palette.out" que acaba de ser creado, con el editor hexadecimal. Y copiamos la paleta encryptada.
En mi caso:
Todo lo que acabamos de hacer es para encontrar la dirección de la paleta en la rom. Por lo que abrimos nuestro rom con un editor hexadecimal, seleccionamos para realizar una busqueda y buscamos los bytes de la paleta encryptada.
Así encontramos el offset de la paleta. En mi caso 0x16857f8. Anotamos el offset y seguimos.
Ahora lo que necesitamos es la paleta que queremos insertar. Ya cuando vea como cambiar el resto de las paletas voy a hacer una forma un poco mejor de cargarlas. En estos momentos el script que dejo sólo acepta las paletas con el formato anterior. Así que básicamente necesitaríamos los bytes de la paleta como si ya estuviera en el rom. Pueden insertarlas con APE a un rom cualquiera y copiar los bytes, no se, hagan como quieran.
Por ejemplo, yo voy a cambiar la paleta de Squirtle por la siguiente:
Usamos nuevamente la función Encrypt del script de python. Y obtenemos la paleta a insertar, encriptada (nuevamente guardada en el archivo "encrypted_palette.out").
Que contiene en mi caso:
Copiamos los bytes y nos dirigimos al rom de vuelta.
Vamos al offset 0x16857f8 y pegamos la paleta. Guardamos y...
*Ya se que los colores son horribles, no era mi objetivo hacer que se viera bien
Pero ahí está. ¡Cambiamos una mísera paleta!
Porque supuse que las paletas tendrían en general el mismo sistema de encriptación, pero parece que elegí un mal gráfico modelo para hacer la investigación xD
Pero bueno, ya encontraré como modificar las demás paletas. Y menos mal que no usan este sistema, porque es de las cosas más ineficientes que he visto en mi vida...
Ah y para los que les interese, la rutina de "encriptación" está en 0x0800472c (en realidad empieza antes, pero esta es la parte importante)
--------------------
Y ahora vamos con como cambiar las paletas. Yo voy a cambiar el portait de Squirtle.¿Qué necesito? dijo:
Para encontrar la paleta en el rom primero necesito tener la paleta desencriptada, así que vamos hasta un momento en que aparezca el portait de Squirtle y abrimos el Map viewer del VBA para ver que paleta está usando.
Y con el Palette y el Memory Viewer guardo la paleta desencriptada.
Abrimos la paleta con algún editor hexadecimal y la copiamos.
La paleta del portait de Squirtle es:
Código:
00 00 E5 20 50 2D A9 41 D0 39 2B 52 35 42 8D 5E 98 4A 0F 6B 11 6F 52 7B 56 5B 95 7F 9B 5F DC 5F
Abrimos el archivo "encrypted_palette.out" que acaba de ser creado, con el editor hexadecimal. Y copiamos la paleta encryptada.
En mi caso:
Código:
00 00 00 80 2F 3F 47 80 87 57 5F 80 4F 6F 87 80 87 77 77 80 5F 8F A7 80 AF 8F 87 80 6F A7 BF 80 C7 A7 97 80 7F C7 D7 80 8F C7 DF 80 97 D7 F7 80 B7 D7 B7 80 AF E7 FF 80 DF E7 BF 80 E7 F7 BF 80
Así encontramos el offset de la paleta. En mi caso 0x16857f8. Anotamos el offset y seguimos.
Ahora lo que necesitamos es la paleta que queremos insertar. Ya cuando vea como cambiar el resto de las paletas voy a hacer una forma un poco mejor de cargarlas. En estos momentos el script que dejo sólo acepta las paletas con el formato anterior. Así que básicamente necesitaríamos los bytes de la paleta como si ya estuviera en el rom. Pueden insertarlas con APE a un rom cualquiera y copiar los bytes, no se, hagan como quieran.
Por ejemplo, yo voy a cambiar la paleta de Squirtle por la siguiente:
Código:
00 00 0A 0C 50 2D F0 20 D0 39 98 30 35 42 BC 28 98 4A 9D 18 FE 20 3E 29 1C 19 7E 31 7B 29 FB 25
Que contiene en mi caso:
Código:
00 00 00 80 57 07 1F 80 87 57 5F 80 87 3F 47 80 87 77 77 80 C7 27 67 80 AF 8F 87 80 E7 2F 57 80 C7 A7 97 80 EF 27 37 80 F7 3F 47 80 F7 4F 57 80 E7 47 37 80 F7 5F 67 80 DF 5F 57 80 DF 7F 4F 80
Vamos al offset 0x16857f8 y pegamos la paleta. Guardamos y...
*Ya se que los colores son horribles, no era mi objetivo hacer que se viera bien
Pero ahí está. ¡Cambiamos una mísera paleta!
Ya iré trayendo alguna que otra cosa más.
Saludos