Buenas, este tutorial es una traducción al español, desde el idioma inglés, que hice porque vi que lo pedían en el tema de petición de tutoriales.
---------------------------------------------------------------------------------------------------------------------
Herramientas necesarias para el tutorial
- Rom de Pokemon Fire Red (Dos; uno solo parcheado).
- Pokemon Fire Red Hacked Engine.
- Editor Hexadecimal. Para este tutorial se usará el Translhextion.
- Free Space Finder.
- Overworld Editor.
- Nameless Sprite Editor.
- Lunar IPS.
- Estos últimas herramientas pueden encontrarlas en la sección de "Herramientas" de la web.
Primer paso – Aplicando el parche: Hacked Engine
No voy a explicar esto, por el simple motivo de que ya hay un tutorial muy fácil de entender, que puedes ver en la wiki, justo aquí.
Segundo paso – Entendiendo la data
Como JPAN sostiene en su guía, el pointer de una paleta está formado de la siguiente manera:
Cuando trabajamos con punteros, debemos dividir el offset en tres bloques de dos números cada uno y ordenarlos de la siguiente manera: 80 00 00 --> 00 00 80 08
20 es 32 en hexadecimal, así que asegúrate de convertir tu número decimal a hexadecimal. Pueden usar la calculadora de Windows, eso sí, en modo programador, la calculadora del XSE, o la que gusten.
Paso 3 – Encontrando el espacio libre
En el rom parcheado, la tabla de las paletas se encuentra en el offset 0x1A2400, lo que significa que tienen lugar para 256 pointers, así que, en teoría, eso debería bastar.Iba a hacer un chiste, pero era muy malo, así que mejor lo dejamos para otro día
Cada paleta usa 64 bytes, entonces, si insertan más de una paleta, simplemente multiplican la cantidad de paletas a insertar por 64. Ese resultado será la cantidad de bytes que necesitarán.
El offset usado será el 0x800000
Paso 4 – Editando las paletas
Lo primero es abrir el rom virgen con el NSE (Nameless Sprite Editor), buscar cuál paleta quieren cambiar, y editarla a su gusto.
En la imagen pueden ver cómo se editó la paleta del mini del protagonista.
Una vez que terminen, podemos empezar con… ¡La edición hexadecimal!
Tomen nota del offset de la paleta, en este caso es “$H35B968”, o bien “0xH35B968”
Paso 5 – Editando el rom de forma hexadecimal
Abrimos nuestro rom modificado en un editor hexadecimal, y vamos directamente al offset 0x1A2400 (así es, el de la tabla de las paletas).
Ahora vamos al final de la tabla e insertamos nuestro puntero (el que buscamos con el Free Space Finder), justo antes del “00000000 FF110000”, así como se ve en la imagen. Recuerden que, si lo borran, deben escribirlo de nuevo, ya que si la tabla NO termina con eso, NO va a funcionar.
Guardamos el rom, pero no cerramos el editor.
Bien, abrimos el rom no modificado, vamos al offset de la paleta, y copiamos 64 bytes.
Volvemos al rom modificado, saltamos al 0x800000 y pegamos.
Guardamos de nuevo.
Paso 6 – Editando los sprites
Primero, vemos cuál es el offset del sprite en el NSE, y lo anotamos, o lo recordamos. En este caso es el “0x3A3C64”.
Vamos a ese address en el rom modificado. El número de la paleta es el tercer byte, así que lo reemplazamos por el número de la paleta (en hexadecimal). En el tutorial se usa el 20, hexadecimal para 32, paleta elegida al inicio.
Guardamos.
Abrimos el archivo “sprites.ini” del Overworld Editor; buscamos donde dice “English Fire Red” y cambiamos el pointer de “SpritePaletteHeader” por el “1A2400”.
Guardamos.
Después abrimos nuestro rom en el Overworld Editor y vamos al sprite que queremos cambiar, en este caso el del protagonista. Como podemos ver, ahora el número de la paleta es el 32.
Editamos el sprite a nuestro gusto.
Paso 7 – Arreglando un glitch
Para que este tutorial funcione, deben entrar al editor hexadecimal y reemplazar los siguientes valores:
Desde el “0x5E5E0”, ponen “70 88 09 07 09 0f 00 29 01 d0 05 e0”.
Después, en el “0x5e5f8”, ponen “03 e0”.
Otro problema surge del efecto de la niebla, ya que el palette slot 0x1, del 0x6 al 0x9 y el 0xb, están “reservados” por ese efecto.
Así que, si no van a usarlos en su hack-rom y necesitan las paletas extra, pueden usarlas luego de desactivar el efecto.
En el offset 0x5f680, ponen 22 e0 (para los palette slots del 0x6 al 0x9 y para el 0xb).
En el 0x5f60c ponen 20 e0 (para el palette slot 0x1, el mist slot del player)
Ahora debería funcionar bien, si siguieron todos los pasos correctamente.
Aquí una muestra del resultado final.
Créditos
-Quickster, de PokéCommunity, por el tutorial original (incluidas las imágenes).
-Los creadores de las herramientas utilizadas.
-Quienquiera que creó la imagen que estoy usando de background.
---------------------------------------------------------------------------------------------------------------------
Herramientas necesarias para el tutorial
- Rom de Pokemon Fire Red (Dos; uno solo parcheado).
- Pokemon Fire Red Hacked Engine.
- Editor Hexadecimal. Para este tutorial se usará el Translhextion.
- Free Space Finder.
- Overworld Editor.
- Nameless Sprite Editor.
- Lunar IPS.
- Estos últimas herramientas pueden encontrarlas en la sección de "Herramientas" de la web.
Primer paso – Aplicando el parche: Hacked Engine
No voy a explicar esto, por el simple motivo de que ya hay un tutorial muy fácil de entender, que puedes ver en la wiki, justo aquí.
Segundo paso – Entendiendo la data
Como JPAN sostiene en su guía, el pointer de una paleta está formado de la siguiente manera:
Por ejemplo, si quisiéramos poner un pointer a una paleta que se encuentre en el 0x800000, cuyo número es el 32, quedaría así: 00008008 20110000PPPPPPPP nn110000
P = Pointer de la paleta
n = Número de la paleta
Cuando trabajamos con punteros, debemos dividir el offset en tres bloques de dos números cada uno y ordenarlos de la siguiente manera: 80 00 00 --> 00 00 80 08
20 es 32 en hexadecimal, así que asegúrate de convertir tu número decimal a hexadecimal. Pueden usar la calculadora de Windows, eso sí, en modo programador, la calculadora del XSE, o la que gusten.
Paso 3 – Encontrando el espacio libre
En el rom parcheado, la tabla de las paletas se encuentra en el offset 0x1A2400, lo que significa que tienen lugar para 256 pointers, así que, en teoría, eso debería bastar.
Cada paleta usa 64 bytes, entonces, si insertan más de una paleta, simplemente multiplican la cantidad de paletas a insertar por 64. Ese resultado será la cantidad de bytes que necesitarán.
Entonces, para insertar 12 paletas, son necesarios 768 bytes, pero, por una cuestión de facilidad y simplicidad, en este tutorial se mostrará el procedimiento con una sola paleta.Ejemplo dijo:64 x 12 = 768
Nota: En el ejemplo, “12” es la cantidad de paletas a insertar.
El offset usado será el 0x800000
Paso 4 – Editando las paletas
Lo primero es abrir el rom virgen con el NSE (Nameless Sprite Editor), buscar cuál paleta quieren cambiar, y editarla a su gusto.
En la imagen pueden ver cómo se editó la paleta del mini del protagonista.
Una vez que terminen, podemos empezar con… ¡La edición hexadecimal!
Tomen nota del offset de la paleta, en este caso es “$H35B968”, o bien “0xH35B968”
Paso 5 – Editando el rom de forma hexadecimal
Abrimos nuestro rom modificado en un editor hexadecimal, y vamos directamente al offset 0x1A2400 (así es, el de la tabla de las paletas).
Ahora vamos al final de la tabla e insertamos nuestro puntero (el que buscamos con el Free Space Finder), justo antes del “00000000 FF110000”, así como se ve en la imagen. Recuerden que, si lo borran, deben escribirlo de nuevo, ya que si la tabla NO termina con eso, NO va a funcionar.
Guardamos el rom, pero no cerramos el editor.
Bien, abrimos el rom no modificado, vamos al offset de la paleta, y copiamos 64 bytes.
Volvemos al rom modificado, saltamos al 0x800000 y pegamos.
Guardamos de nuevo.
Paso 6 – Editando los sprites
Primero, vemos cuál es el offset del sprite en el NSE, y lo anotamos, o lo recordamos. En este caso es el “0x3A3C64”.
Vamos a ese address en el rom modificado. El número de la paleta es el tercer byte, así que lo reemplazamos por el número de la paleta (en hexadecimal). En el tutorial se usa el 20, hexadecimal para 32, paleta elegida al inicio.
Guardamos.
Abrimos el archivo “sprites.ini” del Overworld Editor; buscamos donde dice “English Fire Red” y cambiamos el pointer de “SpritePaletteHeader” por el “1A2400”.
Guardamos.
Después abrimos nuestro rom en el Overworld Editor y vamos al sprite que queremos cambiar, en este caso el del protagonista. Como podemos ver, ahora el número de la paleta es el 32.
Editamos el sprite a nuestro gusto.
Paso 7 – Arreglando un glitch
Para que este tutorial funcione, deben entrar al editor hexadecimal y reemplazar los siguientes valores:
Desde el “0x5E5E0”, ponen “70 88 09 07 09 0f 00 29 01 d0 05 e0”.
Después, en el “0x5e5f8”, ponen “03 e0”.
Otro problema surge del efecto de la niebla, ya que el palette slot 0x1, del 0x6 al 0x9 y el 0xb, están “reservados” por ese efecto.
Así que, si no van a usarlos en su hack-rom y necesitan las paletas extra, pueden usarlas luego de desactivar el efecto.
En el offset 0x5f680, ponen 22 e0 (para los palette slots del 0x6 al 0x9 y para el 0xb).
En el 0x5f60c ponen 20 e0 (para el palette slot 0x1, el mist slot del player)
Ahora debería funcionar bien, si siguieron todos los pasos correctamente.
Aquí una muestra del resultado final.
Créditos
-Quickster, de PokéCommunity, por el tutorial original (incluidas las imágenes).
-Los creadores de las herramientas utilizadas.
-Quienquiera que creó la imagen que estoy usando de background.
Última edición: