Jaizu
Usuario mítico
Aviso: Las imágenes no están redimensionadas. Para verlas en tamaño completo copiar la dirección la imagen o pusla Click Derecho > Ver imagen. Se autoajustan al diseño del foro para que no se deforme el tema.
Créditos a MrDollSteak por todos los datos y tutorial original, el cual podéis encontrar aquí.
Os recomiendo leeros el tutorial entero aunque useis otra base o no lo vayáis a usar, porque os ayudará a entender más como funciona esa rom que tanto adoramos rom hackear.Cosas necesarias
- Una rom de Emerald
- Un editor HEX, muy recomendablemente HxD
- unLZ-GBA
- NSE 2.X
- Paint XP
Parte 1 - Editando el Icono y las Paletas
Abrimos el NSE 2.x y vamosa la función Navigate. A diferencia de RUBY y FR la tabla de tipos no está en los bookmarks. Para abrirla ponemos el offset D971B0 en dónde pone Offsets > Image. Hacemos que el width sea 4 y no ponemos nada en Offsets > palette.
Lo siguiente será exportar la imagen, que no es bastante sencillo
Bien, ahora solo queda añadir nuestro tipo a la imagen. Recomiendo usar la imagen que está adjuta al final del Tema. ¿Por qué? Pues porque tiene el tamaño exacto y las paletas ajustadas. Recomiendo usarla y editarla a vuestro gusto una vez completado el tutorial.
Ahora abriremos unlz-gba y cargaremos nuestra ROM. En la primera imagen mismo le daremos a Import image y dejaremos marcadas estas casillas. Necesitamos buscar espacio libre para nuestra imagen, en esta caso usamos el 9C0B20, aunque yo recomiendo usar del E00000 hacia arriba.
Cerramos el UNL-GBA, apuntamos nuestra dirección de la imagen en cualquier lado, teniendo cuidado de no perderla.
Abrimos nuestra ROM con un editor HEX, muy recomendado usar HxD.
Solo hay un puntero para la imagen, lo cual nos facilita mucho las cosas. Nos vamos a la dirección 61CFBC y cambiamos el puntero.
Los punteros se muestran de la siguiente manera:
XX YY ZZ
Y nuestro offset está mostrado así:
ZZ YY XX
Como nuestro offset usado era 9C0B20, nuestro puntero será 20 0B 9C 08.
Lo escribimos en HxD y listo, quedaría tal que así:
Nuestro siguiente paso será expandir y repuntear la tabla que define la posición de los iconos. Los datos que necesitamos están en la dirección 61CF60. Navegamos hacia ella y seleccionamos 5C bloques(en HEX) y luego lo insertamos en cualquier espacio libre. Se recomienda ponerlas al final de los datos de nuestra imagen. Si estás usando la misma dirección dada en el tutorial debería ser la dirección 9C1558.
Al final de la nueva tabla, es decir, de los datos que acabamos de copiar y pegar en un espacio libre, pegamos esto(recordad siempre pegar escribiendo, es decir, Control + B) 60 CF 61 08.
Al igual que en los datos de la tabla de la imagen, solo hay un puntero a la tabla que especifica cómo se muestran los iconos de los tipos. Está almacenada en 61CFCC. Simplemente cambiamos el puntero a la nueva tabla que pegamos al final de la imagen(que no a la imagen).
Ahora vamos al offset 61CF60 y lo llenamos de FF, tal y como se muestra en la imagen. Si solo queremos añadir un tipo bastará con escribir B8 00 00 00 FF FF 00 00. Para cada tipo adicional que queramos añadir solo tenemos que sumar 08 al primer byte, siendo C0, C8 etc.
Para finalizar el tener nuestro tipo tenemos que desactivar el limitador de tipos. Es decir, que nuestro juego entienda que ahora tenemos más tipos, pues solo carga el número por defecto, como es obvio.
El limitador está en la dirección 61CFC1. En vez de adaptar nuestro limitador a nuestro número de tipos lo haremos un poco más "universal". Haremos que nuestra ROM cargue hasta 47 tipos, cosa que dudo que lleguemos a usar nunca. Para cambiarlo simplemente vamos a la dirección que os acabo de dar y cambiamos el tipo por un 30.
Ahora ajustaremos nuestra paleta a nuestro nuevo tipo. Están localizados en la dirección D97B84. Como podéis observar no tenemos más colores libres, así que tendremos que usar las paletas usadas por defecto. La imagen del tipo hada usa colores del tipo Psíquico y Veneno. En vez de rehacerlos los tipos editaremos un poco las paletas para que estas estén acomodadas a todos los tipos. Simplemente cambiamos en la dirección D97BC1 los bytes por FF 66 y en la dirección D97BC8 ponemos 3D 66.
Si tu intención es añadir otro tipo distinto tendrás que editar la imagen tú mismo y usar paletas de otros tipos.
Lo siguiente será exportar la imagen, que no es bastante sencillo
Bien, ahora solo queda añadir nuestro tipo a la imagen. Recomiendo usar la imagen que está adjuta al final del Tema. ¿Por qué? Pues porque tiene el tamaño exacto y las paletas ajustadas. Recomiendo usarla y editarla a vuestro gusto una vez completado el tutorial.
Ahora abriremos unlz-gba y cargaremos nuestra ROM. En la primera imagen mismo le daremos a Import image y dejaremos marcadas estas casillas. Necesitamos buscar espacio libre para nuestra imagen, en esta caso usamos el 9C0B20, aunque yo recomiendo usar del E00000 hacia arriba.
Cerramos el UNL-GBA, apuntamos nuestra dirección de la imagen en cualquier lado, teniendo cuidado de no perderla.
Abrimos nuestra ROM con un editor HEX, muy recomendado usar HxD.
Solo hay un puntero para la imagen, lo cual nos facilita mucho las cosas. Nos vamos a la dirección 61CFBC y cambiamos el puntero.
Los punteros se muestran de la siguiente manera:
XX YY ZZ
Y nuestro offset está mostrado así:
ZZ YY XX
Como nuestro offset usado era 9C0B20, nuestro puntero será 20 0B 9C 08.
Lo escribimos en HxD y listo, quedaría tal que así:
Nuestro siguiente paso será expandir y repuntear la tabla que define la posición de los iconos. Los datos que necesitamos están en la dirección 61CF60. Navegamos hacia ella y seleccionamos 5C bloques(en HEX) y luego lo insertamos en cualquier espacio libre. Se recomienda ponerlas al final de los datos de nuestra imagen. Si estás usando la misma dirección dada en el tutorial debería ser la dirección 9C1558.
Al final de la nueva tabla, es decir, de los datos que acabamos de copiar y pegar en un espacio libre, pegamos esto(recordad siempre pegar escribiendo, es decir, Control + B) 60 CF 61 08.
Al igual que en los datos de la tabla de la imagen, solo hay un puntero a la tabla que especifica cómo se muestran los iconos de los tipos. Está almacenada en 61CFCC. Simplemente cambiamos el puntero a la nueva tabla que pegamos al final de la imagen(que no a la imagen).
Ahora vamos al offset 61CF60 y lo llenamos de FF, tal y como se muestra en la imagen. Si solo queremos añadir un tipo bastará con escribir B8 00 00 00 FF FF 00 00. Para cada tipo adicional que queramos añadir solo tenemos que sumar 08 al primer byte, siendo C0, C8 etc.
Para finalizar el tener nuestro tipo tenemos que desactivar el limitador de tipos. Es decir, que nuestro juego entienda que ahora tenemos más tipos, pues solo carga el número por defecto, como es obvio.
El limitador está en la dirección 61CFC1. En vez de adaptar nuestro limitador a nuestro número de tipos lo haremos un poco más "universal". Haremos que nuestra ROM cargue hasta 47 tipos, cosa que dudo que lleguemos a usar nunca. Para cambiarlo simplemente vamos a la dirección que os acabo de dar y cambiamos el tipo por un 30.
Ahora ajustaremos nuestra paleta a nuestro nuevo tipo. Están localizados en la dirección D97B84. Como podéis observar no tenemos más colores libres, así que tendremos que usar las paletas usadas por defecto. La imagen del tipo hada usa colores del tipo Psíquico y Veneno. En vez de rehacerlos los tipos editaremos un poco las paletas para que estas estén acomodadas a todos los tipos. Simplemente cambiamos en la dirección D97BC1 los bytes por FF 66 y en la dirección D97BC8 ponemos 3D 66.
Si tu intención es añadir otro tipo distinto tendrás que editar la imagen tú mismo y usar paletas de otros tipos.
Parte 2 - Editando la efectividad del tipo
Lo que haremos será copiar la tabla actual que especifica las efectividades de los tipos y la pegaremos en un nuevo espacio para expandirla. Luego cambiaremos el offset.
Para empezar con ello vamos a la dirección 31ACE8 y seleccionamos 150 bloques(en HEX). Luego los pegamos en espacio libre. Es recomendable pegarlos después de la tabla de la posición de los iconos.
Bien, esto puede ser un poco confuso. A mí lo menos me llevó su tiempo pensarlo, porque en el tutorial original es algo complicado de entender.
En primer lugar copiaremos estos bytes del final de nuestra tabla.
Lo pegamos en un bloc de notas o en algún lado, donde no los perdamos.
Bien, cada 3 bloques representa una efectividad.
Se efectúan de la siguiente manera:
TIPO A X TIPO B X MULTIPLICADOR
Cada tipo tiene una ID, los cuales desconozco actualmente(espero poder actualizar pronto con estes, por si queréis agregar uno que no sea el tipo hada)
Estos son los multiplicadores:
00 = Inmune
05 = Poco efectivo
14 = Muy efectivo
Por ejemplo, para que el tipo hada sea muy efectivo contra el tipo siniestro(Id 11) tendremos que poner los siguientes bytes:
17 11 4
Los nuevos tipos empiezan en el 17 y se van sumando de 1 en 1, es decir; 17, 18, 19, 1A etc.
Una vez terminada nuestra tabla de efectividad tendremos que pegar los datos que antes copiamos al final de nuestras efectividades. Aquí os dejo la tabla de cómo sería el tipo Hada
Ahora que ya tenemos nuestras efectividades listas solo nos queda repuntear las tablas originales a la nuestra. Para ello pulsaremos Control + R. En buscar pondremos el puntero original, que es E8 AC 31 08 y en Reemplazar por pondremos BC 15 9C 08 si estamos usando el offset del tutorial, y si no nuestro puntero, que sería, permutado: 56 34 12 08 (en caso de que fuese 12 34 56). Le damos a buscar en toda nuestra ROM y pulsamos Reemplazar Todo
Para empezar con ello vamos a la dirección 31ACE8 y seleccionamos 150 bloques(en HEX). Luego los pegamos en espacio libre. Es recomendable pegarlos después de la tabla de la posición de los iconos.
Bien, esto puede ser un poco confuso. A mí lo menos me llevó su tiempo pensarlo, porque en el tutorial original es algo complicado de entender.
En primer lugar copiaremos estos bytes del final de nuestra tabla.
Código:
FE FE 00 00 07 00 01 07 00 FF FF 00
Bien, cada 3 bloques representa una efectividad.
Se efectúan de la siguiente manera:
TIPO A X TIPO B X MULTIPLICADOR
Cada tipo tiene una ID, los cuales desconozco actualmente(espero poder actualizar pronto con estes, por si queréis agregar uno que no sea el tipo hada)
Estos son los multiplicadores:
00 = Inmune
05 = Poco efectivo
14 = Muy efectivo
Por ejemplo, para que el tipo hada sea muy efectivo contra el tipo siniestro(Id 11) tendremos que poner los siguientes bytes:
17 11 4
Los nuevos tipos empiezan en el 17 y se van sumando de 1 en 1, es decir; 17, 18, 19, 1A etc.
Una vez terminada nuestra tabla de efectividad tendremos que pegar los datos que antes copiamos al final de nuestras efectividades. Aquí os dejo la tabla de cómo sería el tipo Hada
Ahora que ya tenemos nuestras efectividades listas solo nos queda repuntear las tablas originales a la nuestra. Para ello pulsaremos Control + R. En buscar pondremos el puntero original, que es E8 AC 31 08 y en Reemplazar por pondremos BC 15 9C 08 si estamos usando el offset del tutorial, y si no nuestro puntero, que sería, permutado: 56 34 12 08 (en caso de que fuese 12 34 56). Le damos a buscar en toda nuestra ROM y pulsamos Reemplazar Todo
Parte 3 - Editando el nombre del tipo
Pues lo mismo de siempre; copiaremos la tabla, la expandiremos y la repuntearemos.
Vamos a la dirección 31AE38 y seleccionamos 80 bloques(en HEX). Copiamos y los pegamos en una nueva dirección HEX.
Ahora entenderemos lo que acabamos de pegar.
Cada nombre tiene 7 bloques de longitud. Tendremos que crear nuestro nombre con estas letras
El último tipo es el 11 y los nuevos empiezan en el 17, así que debemos crear un par de entradas vacías. Aquí os dejo imagen de cómo queda el nombre FAIRY, intentaré traerlo en español pronto.
Ahora le daremos a Reemplazar, reemplazaremos 38 AE 31 08 por nuestro puntero a la nueva tabla y dejamos la opciones que se muestran en la imagen
Ahora ya casi lo tenemos. Hay dos tablas más que llaman a los nombres de los tipos, así que tenemos que repuntear.. otra vez :_D
Vamos al offset 2F029C y seleccionamos 90 bloques(en HEX) y lo pegamos en espacio libre. En mi caso pondré cada tabla después de la anterior, así que usaré el offset 9C17D8.
Ahora necesitamos añadir una entrada más por cada tipo añadido. Es muy simple.
Esta es nuestra tabla
Y si la separamos en bloques, siguen esta estructura:
Los cuatro primeros bloques son el puntero hacia nuestro nombre, el 0A es la ID del tipo y el resto son simples 00 que tenemos que respetar.
Así que al final de nuestra tabla añadiríamos esto
Donde pone 56 34 12 es nuestro puntero al nombre FAIRY(o el que hayáis puesto), que si no recordais el offset simplemente podéis buscar el texto con Thingy32.
Una vez que tenemos nuestra tabla simplemente la repunteamos y listo
Ahora tendremos que repuntear otra tabla.
Esta está localizada en el offset 56EF14. Seleccionamos 90 bloque(en HEX)
Esta es nuestra tabla
Al final de esta añadimos esto
En donde 56 34 12 es el puntero a nuestro nombre del tipo.
Una vez más repunteamos, al igual que hicimos en todos lo pasos anteriores.
Por último tenemos que hacer que el tipo HADA se vea en la Pokédex vamos al offset 56EFC6 y cambiamos el 00 por un 17, que es la ID de nuestro tipo. Si quieres añadir más tendrás que repuntear esta tabla.
Finalmente vamos a las direcciones 56EFDE y 56EFE6. En ellas encontrarás un 12, cámbialo por un 13 si solo añadiste un tipo, si no simplemente súmale a 12 el número de tipos añadidos(en HEX).
Vamos a la dirección 31AE38 y seleccionamos 80 bloques(en HEX). Copiamos y los pegamos en una nueva dirección HEX.
Ahora entenderemos lo que acabamos de pegar.
Cada nombre tiene 7 bloques de longitud. Tendremos que crear nuestro nombre con estas letras
00=
01=À
02=Á
03=Â
04=Ç
05=È
06=É
07=Ê
08=Ë
09=Ì
0B=Î
0C=Ï
0D=Ò
0E=Ó
0F=Ô
10=Æ
11=Ù
12=Ú
13=Û
14=Ñ
15=ß
16=à
17=á
19=ç
1A=è
1B=é
1C=ê
1D=ë
1E=ì
20=î
21=ï
22=ò
23=ó
24=ô
25=æ
26=ù
27=ú
28=û
29=ñ
2A=º
2B=ª
2C=·
2D=&
2E=+
34=[Lv]
35==
36=;
51=¿
52=¡
53=[PK]
54=[MN]
55=[PO]
56=[Ke]
57=[BL]
58=[OC]
59=[K]
5A=Í
5B=%
5C=(
5D=)
68=â
6F=í
79=
7A=[D]
7B=[L]
7C=[R]
A1=0
A2=1
A3=2
A4=3
A5=4
A6=5
A7=6
A8=7
A9=8
AA=9
AB=!
AC=?
AD=.
AE=-
AF=·
B0=[...]
B1="
B2=["]
B3='
B4=[']
B5=[m]
B6=[f]
B7=$
B8=,
B9=[x]
BA=/
BB=A
BC=B
BD=C
BE=D
BF=E
C0=F
C1=G
C2=H
C3=I
C4=J
C5=K
C6=L
C7=M
C8=N
C9=O
CA=P
CB=Q
CC=R
CD=S
CE=T
CF=U
D0=V
D1=W
D2=X
D3=Y
D4=Z
D5=a
D6=b
D7=c
D8=d
D9=e
DA=f
DB=g
DC=h
DD=i
DE=j
DF=k
E0=l
E1=m
E2=n
E3=o
E4=p
E5=q
E6=r
E7=s
E8=t
E9=u
EA=v
EB=w
EC=x
ED=y
EE=z
EF=[>]
F0=:
F1=Ä
F2=Ö
F3=Ü
F4=ä
F5=ö
F6=ü
F7=
F8=[d]
F9=[l]
FA=\l
FB=\p
FC=\c
FD=\v
FE=\n
FF=\x
01=À
02=Á
03=Â
04=Ç
05=È
06=É
07=Ê
08=Ë
09=Ì
0B=Î
0C=Ï
0D=Ò
0E=Ó
0F=Ô
10=Æ
11=Ù
12=Ú
13=Û
14=Ñ
15=ß
16=à
17=á
19=ç
1A=è
1B=é
1C=ê
1D=ë
1E=ì
20=î
21=ï
22=ò
23=ó
24=ô
25=æ
26=ù
27=ú
28=û
29=ñ
2A=º
2B=ª
2C=·
2D=&
2E=+
34=[Lv]
35==
36=;
51=¿
52=¡
53=[PK]
54=[MN]
55=[PO]
56=[Ke]
57=[BL]
58=[OC]
59=[K]
5A=Í
5B=%
5C=(
5D=)
68=â
6F=í
79=
7A=[D]
7B=[L]
7C=[R]
A1=0
A2=1
A3=2
A4=3
A5=4
A6=5
A7=6
A8=7
A9=8
AA=9
AB=!
AC=?
AD=.
AE=-
AF=·
B0=[...]
B1="
B2=["]
B3='
B4=[']
B5=[m]
B6=[f]
B7=$
B8=,
B9=[x]
BA=/
BB=A
BC=B
BD=C
BE=D
BF=E
C0=F
C1=G
C2=H
C3=I
C4=J
C5=K
C6=L
C7=M
C8=N
C9=O
CA=P
CB=Q
CC=R
CD=S
CE=T
CF=U
D0=V
D1=W
D2=X
D3=Y
D4=Z
D5=a
D6=b
D7=c
D8=d
D9=e
DA=f
DB=g
DC=h
DD=i
DE=j
DF=k
E0=l
E1=m
E2=n
E3=o
E4=p
E5=q
E6=r
E7=s
E8=t
E9=u
EA=v
EB=w
EC=x
ED=y
EE=z
EF=[>]
F0=:
F1=Ä
F2=Ö
F3=Ü
F4=ä
F5=ö
F6=ü
F7=
F8=[d]
F9=[l]
FA=\l
FB=\p
FC=\c
FD=\v
FE=\n
FF=\x
El último tipo es el 11 y los nuevos empiezan en el 17, así que debemos crear un par de entradas vacías. Aquí os dejo imagen de cómo queda el nombre FAIRY, intentaré traerlo en español pronto.
Ahora le daremos a Reemplazar, reemplazaremos 38 AE 31 08 por nuestro puntero a la nueva tabla y dejamos la opciones que se muestran en la imagen
Ahora ya casi lo tenemos. Hay dos tablas más que llaman a los nombres de los tipos, así que tenemos que repuntear.. otra vez :_D
Vamos al offset 2F029C y seleccionamos 90 bloques(en HEX) y lo pegamos en espacio libre. En mi caso pondré cada tabla después de la anterior, así que usaré el offset 9C17D8.
Ahora necesitamos añadir una entrada más por cada tipo añadido. Es muy simple.
Esta es nuestra tabla
Código:
38 AE 31 08 00 00 00 00 7E AE 31 08 0A 00 00 00 85 AE 31 08 0B 00 00 00 93 AE 31 08 0D 00 00 00 8C AE 31 08 0C 00 00 00 8A D8 E5 08 0F 00 00 00 54 AE 31 08 04 00 00 00 5B AE 31 08 05 00 00 00 46 AE 31 08 02 00 00 00 9A AE 31 08 0E 00 00 00 3F AE 31 08 01 00 00 00 4D AE 31 08 03 00 00 00 62 AE 31 08 06 00 00 00 69 AE 31 08 07 00 00 00 A8 AE 31 08 10 00 00 00 70 AE 31 08 08 00 00 00 90 D8 E5 08 11 00 00 00 7C FD 2E 08 12 00 00 00
Código:
7E AE 31 08 0A 00 00 00
Así que al final de nuestra tabla añadiríamos esto
Código:
56 34 12 08 17 00 00 00
Una vez que tenemos nuestra tabla simplemente la repunteamos y listo
Ahora tendremos que repuntear otra tabla.
Esta está localizada en el offset 56EF14. Seleccionamos 90 bloque(en HEX)
Esta es nuestra tabla
Código:
25 8B 5E 08 35 8B 5E 08 25 8B 5E 08 38 AE 31 08 25 8B 5E 08 3F AE 31 08 25 8B 5E 08 46 AE 31 08 25 8B 5E 08 4D AE 31 08 25 8B 5E 08 54 AE 31 08 25 8B 5E 08 5B AE 31 08 25 8B 5E 08 62 AE 31 08 25 8B 5E 08 69 AE 31 08 25 8B 5E 08 70 AE 31 08 25 8B 5E 08 7E AE 31 08 25 8B 5E 08 85 AE 31 08 25 8B 5E 08 8C AE 31 08 25 8B 5E 08 93 AE 31 08 25 8B 5E 08 9A AE 31 08 25 8B 5E 08 A8 D8 E5 08 25 8B 5E 08 A8 AE 31 08 25 8B 5E 08 AF AE 31 08
Código:
25 8B 5E 08 56 34 12 08
Una vez más repunteamos, al igual que hicimos en todos lo pasos anteriores.
Por último tenemos que hacer que el tipo HADA se vea en la Pokédex vamos al offset 56EFC6 y cambiamos el 00 por un 17, que es la ID de nuestro tipo. Si quieres añadir más tendrás que repuntear esta tabla.
Finalmente vamos a las direcciones 56EFDE y 56EFE6. En ellas encontrarás un 12, cámbialo por un 13 si solo añadiste un tipo, si no simplemente súmale a 12 el número de tipos añadidos(en HEX).
Con eso ya estaría todo listo, olé tu arte si lograste seguir el tutorial hasta aquí. Sé que no es un tutorial básico o algo que se haga a la primera, así que no te estreses si no lo logras hacer a la primera.
¡Recuerda hacer muchas copias de seguridad!
PD: Para editar el tipo de los Pokémon o los Ataques tendrás que editar las .ini del Gen3 Suite, y te quedará tal que así:
Última edición: