Jaizu
Usuario mítico
¿Qué necesitamos?
- Una ROM de Emerald
- Nuestro BG adaptado a las paletas de Emerald(algunos libres aquí)
- HxD
- NLZ-GBA
- VBA
- NSE 1.7
- CMP
Datos de los backgrounds
En primer lugar tenemos que pensar qué background vamos a cambiar. En mi caso será el de los exteriores, es decir, este- Grass 1 (Normal Grass)
--- D77D68 (image) - pointer 68 7D D7 08 at 31ABA8
--- D75008 (image tilemap) - pointer 08 50 D7 08 at 31ABAC
--- D7E280 (entry image) - pointer 80 E2 D7 08 at 31ABB0
--- D7E808 (entry image tilemap) - pointer 08 E8 D7 08 at 31ABB4
--- D78318 (image palette) - pointer 18 83 D7 08 at 31ABB8
- Grass 2 (Tall Grass)
--- D78600 (image) - pointer 00 86 D7 08 at 31ABBC
--- D78CB8 (image tilemap) - pointer B8 8C D7 08 at 31ABC0
--- D7E9C4 (entry image) - pointer C4 E9 D7 08 at 31ABC4
--- D7F0D4 (entry image tilemap) - pointer D4 F0 D7 08 at 31ABC8
--- D78C78 (image palette) - pointer 78 8C D7 08 at 31ABCC
- Sand
--- D78F68 (image) - pointer 68 8F D7 08 at 31ABD0
--- D795A8 (image tilemap) - pointer A8 95 D7 08 at 31ABD4
--- D7F3C0 (entry image) - pointer C0 F3 D7 08 at 31ABD8
--- D7F850 (entry image tilemap) - pointer 50 F8 D7 08 at 31ABDC
--- D79560 (image palette) - pointer 60 95 D7 08 at 31ABE0
- Dive
--- D79858 (image) - pointer 58 98 D7 08 at 31ABE4
--- D79E58 (image tilemap) - pointer 58 9E D7 08 at 31ABE8
--- D7F9F8 (entry image) - pointer F8 F9 D7 08 at 31ABEC
--- D7FEC4 (entry image tilemap) - pointer C4 FE D7 08 at 31ABF0
--- D79E10 (image palette) - pointer 10 9E D7 08 at 31ABF4
- Sea
--- D7A108 (image) - pointer 08 A1 D7 08 at 31ABF8
--- D7A720 (image tilemap) - pointer 20 A7 D7 08 at 31ABFC
--- D80054 (entry image) - pointer 54 00 D8 08 at 31AC00
--- D80660 (entry image tilemap) - pointer 60 06 D8 08 at 31AC04
--- D7A6DC (image palette) - pointer DC A6 D7 08 at 31AC08
- Pond
--- D7A9D0 (image) - pointer D0 A9 D7 08 at 31AC0C
--- D7AFB8 (image tilemap) - pointer B8 AF D7 08 at 31AC10
--- D80804 (entry image) - pointer 04 08 D8 08 at 31AC14
--- D80D50 (entry image tilemap) - pointer 50 0D D8 08 at 31AC18
--- D7AF78 (image palette) - pointer 78 AF D7 08 at 31AC1C
- Craggy
--- D7B268 (image) - pointer 68 B2 D7 08 at 31AC20
--- D7B864 (image tilemap) - pointer 64 B8 D7 08 at 31AC24
--- D80E9C (entry image) - pointer 9C 0E D8 08 at 31AC28
--- D8147C (entry image tilemap) - pointer 7C 14 D8 08 at 31AC2C
--- D7B828 (image palette) - pointer 28 B8 D7 08 at 31AC30
- Cave
--- D7BB14 (image) - pointer 14 BB D7 08 at 31AC34
--- D7C154 (image tilemap) - pointer 54 C1 D7 08 at 31AC38
--- D81610 (entry image) - pointer 10 16 D8 08 at 31AC3C
--- D81E2C (entry image tilemap) - pointer 2C 1E D8 08 at 31AC40
--- D7C10C (image palette) - pointer 0C C1 D7 08 at 31AC44
- Trainer Battles (Indoor)
--- D7C440 (image) - pointer 40 C4 D7 08 at 31AC48
--- D7CA28 (image tilemap) - pointer 28 CA D7 08 at 31AC4C
--- D820D4 (entry image) - pointer D4 20 D8 08 at 31AC50
--- D824E4 (entry image tilemap) - pointer E4 24 D8 08 at 31AC54
--- D7DEB4 (image palette) - pointer B4 DE D7 08 at 31AC58
* Noted that the Trainer Battles for Indoor and Outdoor are sharing the same except for the image palette. Trainer Battles for Indoors contains white-ish and dark-brown-ish palette while Trainer Battles for Outdoors contains yellow-green-ish and light-brown-ish palette.
- Trainer Battles (Outdoor) "almost going to be called as the outdoor field"
--- D7C440 (image) - pointer 40 C4 D7 08 at 31AC5C
--- D7CA28 (image tilemap) - pointer 28 CA D7 08 at 31AC60
--- D820D4 (entry image) - pointer D4 20 D8 08 at 31AC64
--- D824E4 (entry image tilemap) - pointer E4 24 D8 08 at 31AC68
--- D7C404 (image palette) - pointer 04 C4 D7 08 at 31AC6C
* Noted that the Trainer Battles for Indoor and Outdoor are sharing the same except for the image palette. Trainer Battles for Indoors contains white-ish and dark-brown-ish palette while Trainer Battles for Outdoors contains yellow-green-ish and light-brown-ish palette.
Los buscamos en la lista de arriba, y creo que es "Trainer Battles (Outdoor) "almost going to be called as the outdoor field""
Abrimos nuestra rom con NLZ-GBA para comprobarlo, yendo al offset IMAGE, es decir, al D7C440.
Miramos si es el mismo, y lo confirmamos.
Buscamos espacio libre en nuestra ROM con un editor HEX.
Apuntamos la dirección, en mi caso: DE4050
Cerramos nuestro editor HEX y volvemos al NLZ-GBA.
Le damos a Import a bitmap y cargamos nuestro background. Ponemos nuestro offset del espacio libre que encontramos con HXD, lo ponemos y marcamos las dos primeras opciones.
Saldrá que encontró X amount of pointers, le damos a Aceptar, a Write to ROM y nuevamente a Aceptar.
Una vez hecho esto abrimos nuestra rom para ver que todo está correctamente.
Si no se ve bien es que el espacio libre no es suficiente o vuestra imagen no está montada correctamente, aunque eso ya es cosa vuestra.
Cambiando las paletas
Ahora viene la parte difícil, por así decirlo.
Para montar nuestro BG debemos respetar las paletas de Emerald, así que no contaremos con 15 si no con unas pocas menos.
Aquí os muestro cómo están mostradas las paletas en mi BG y en el Palette Viewer, en el menú de VBA > Tools.
Volvemos a los datos de los backgrounds, y en este caso cogeremos los datos de la paleta, en mi caso estos
Cita7C404 (image palette) - pointer 04 C4 D7 08 at 31AC6C
Nos quedamos con el primer offset, es decir: D7C404Abrimos HxD y cargamos nuestra ROM(recomiendo cerrar el editor y volver a abrir una vez cambiada la imagen) y vamos a la dirección.
También abrimos VBA en un punto del juego donde salga nuestro background.
En mi dirección de las paletas, en HEX, me salen estos datos:
Código:
10 60 00 00 00 00 00 FD 73 93 4F 9C 4B 00 BC 53 97 4B DC 5B 99 57 00 B5 57 00 00 00 00 74 7B 00 96 73 B8 6F DA 6B FC 67 C0 F0 1F D0 1F E9 22 95 57 2D 2F 0C 50 3B 53 4B 10 19 D0 01 10 00 20 00 30 00 00 F0 01 90 01 11 11 11 11 30 FF FF 70 01 40 0F 6F FF FF 46 04 33 FF 34 33 33 C0 1F 6F 11 18 66 44 33 00 16 10 01 73 33 33 22 55 22 70 1F 66 44 46 40 18 33 01 33 77 55 57 25 22 22 10 01 B1 20 1F 6F 00 34 50 1A 73 57 55 40 1A 91 40 1F 66 66 60 36 33 77 77 90 1B 88 10 01 66 44 44 60 3B 55 55 55 56 55 40 16 88 40 03 22 00 1E F0 1F 88 FB 40 01 F0 1F 50 3F 60 01 00 1E 66 F0 1F 40 01 01 82 28 82 66 66 11 11 00 1A 4A 43 30 9D 33 33 00 15 52 50 1E 28 21 82 28 20 DF 44 66 F6 FF 60 43 31 75 37 A0 23 51 1F 44 66 FF
Vamos al VBA, le damos a Tools > Palette Viewer, y damos click al primer color de nuestro Background.
Si os fijais, abajo a la izquierda pone Value: 0x73FD. Eso es el color en HEX permutado.
Partimos ese valor en dos: 73 FD
Y ahora le damos la vuelta: FD 73
Volvemos al editor HEX, y miramos que nos salía algo así:
Código:
10 60 00 00 00 00 00 FD 73 93 4F 9C 4B 00 BC 53 97 4B DC 5B 99 57 00 B5 57 00 00 00 00 74 7B 00 96 73 B8 6F DA 6B FC 67 C0 F0 1F D0 1F E9 22 95 57 2D 2F 0C 50 3B 53 4B 10 19 D0 01
Simplemente tenemos que cambiar ese color por el nuestro.
¿Cómo sabemos cual es nuestro color en HEX? Pues simplemente abrimos NSE 1.7, con cualquier rom, y mismo en el prota de la rom pulsamos Control + P y nos saldrá el editor de la paleta, con un precioso cuentagotas.
Usamos ese cuentagotas para coger el color de nuestra imagen, abierta en el CMP
Y así tenemos nuestros valores, en mi caso 5D5B.
Bien, volvemos a nuestor editor HEX y cambiamos los valores del primer color, en mi caso FD 73 y pegamos los nuestros por encima, usando Control+B.
Guardamos nuestra ROM y probamos in-game si se cambió correctamente.
Bien, repetimos el proceso con cada color.
Advertencia: Los colores no están seguidos, es decir, puede haber 00 antes de estos o 00 medio de los colores, tan solo tenéis que respetarlos.
Así me fue quedando a mí
Guardamos, abrimos la ROM y vemos el resultado.