inv_gba
Thread Id: 24680
Thread Name: Cambiar la paleta del BG de batalla interior en FR [Completada por Arc]
#0
J.com 12785
Esto empezó como duda, pero acabó como investigación:

Bien, Sayer y yo estuvimos investigando cómo editar la paleta del BG de batalla interior en FR y hemos averiguado cómo funciona. Resulta que está dividida por partes, los colores están dispersos, por eso APE no encuentra la paleta. No nos quedó otra que investigar en HEX.

Ahora paso a explicar donde está cada color:

Si en APE os vais al offset 0024DDF5, os saldrá una paleta con 3 colores blancos al principio y unos cuantos negros. Estos 3 blancos (sin contar el de fondo) corresponden a los 3 primeros colores del BG, y el último color de la paleta corresponde al último del BG:



Vale, luego vienen los 3 siguientes colores, los cuales cambié en HEX.
La direccion de estos es 24DDFE. En total podemos cambiar 6 colores sin problema:


(Más el último, que me he olvidado de mencionar)


El problema viene con el color que va detrás de estos 6, pues resulta que comparte sus 2 ultimos bytes con el color anterior. Es decir, de los 6 colores que se acaban de cambiar, el último es (en mi caso, ya que lo he cambiado) 5442 y el que viene después es BD42. El 42 coincide, y si cambio este nº por otro, se cambia en los dos colores.

Si al 5442 lo cambio a 5423, el siguiente color cambia de BD42 a BD23, ¿se me entiende?




Luego, el siguiente color de la paleta es el mismo que el anterior, como si compartiesen offset, si cambio uno se cambia el otro:




Bien, ahora vamos con los 2 colores siguientes (despues de los 2 rojos).
Resulta que estos dos colores que vienen ahora son los mismos que los dos primeros:




Por lo tanto si los cambio, también se cambian los dos primeros.
Hasta ahora hemos cambiado solo los 6 primeros colores y el último, los 4 siguientes son los que dan problemas, ahora vamos con los que restan:

Despues de los 4 colores problemáticos, los siguientes 3 también los encontramos en hex, en el offset 24DE0A, son estos: (en rojo)


Se cambian sin problemas también.

Por último, el penúltimo color.
Está en el offset 24DE10 ¡pero ojo! en ese offset solo se cambian los 2 primeros bytes del color, los otros dosestán en el offset 24DE12, es decir, dos bytes despues:




El 10 que queda en medio de estos no tiene nada que ver con el color.
Como habreis visto en la imagen que e puesto en el post principal, debajo de lapaleta del BG en el pallete view, hay otra paleta muy parecida. Si se cambia ese 10, esta paleta se "estropea" y salen otros colores.

Y bueno, eso es toda la investigación que hemos echo. Si alguien sabe como cambiar esos 4 colores que aporte lo que pueda a la investigación, si no, pues habrá que hacer un BG de batalla de 12 colores xD

Se despide: Jo7a~
#1
cosarara97 12296
Creo que también está bien enlazar esto:
http://www.pokecommunity.com/showthread.php?t=302401
#2
G0LD_ZTHVARD0X! 27515
Se que no deberia hacer esto, pero da igual, es para completar la investigacion de Jo7a.

Pues segun el link que cosarara puso, tenemos que:

"Grupo de fondos multitopo/fondos de interiores. estos tienen 7 punteros asignados al mismo tileset, misma raw, mismas imagenes de entrada, lo unico que no comparten son paletas, aqui la lista

Tileset= 24E858
Raw= 24EB90
Imagen de entrada= 24E410
Tilemap de entrada= 24E490
Paletas =
1. 24E604
2. 24E650
3. 24E6A4
4. 24E6F0
5. 24E740
6. 24E78C
7. 24E7DC

Al insertar la imagen del tileset o el RAW UNLZGBA o NLZGBA nos dira que hay siete punteros para esta imagen (mas tarde subo la direccion de los punteros) pues como sabran, muchos de ustedes quieren BG distintos,pues bien, ayer pase varias horas para esto.

Pues primero apuntamos la direccion de cada puntero, e insertaremos normalmente cada cosa en su lugar, apuntando la direccion donde ponemos cada cosa, solo que al insertar las RAW y tileset debe estar tildado unicamente "Export image" y debe destildarse "Auto abort if new data is bigger, export pallete y automatic fix pointers" con eso insertamos el grafico comprimido, pero sin repuntear nada.

Pues tomando la direccion de cualquiera de los siete punteros del fondo interior a cambiar nos iremos a esa direccion con su editor hex favorito, y repunteamos manualmente (con A-point de scizz puedes calcular punteros facilmente,o si no solo permuta offsets anteponiendo 08, ej. el puntero de $830000 seria $08000083)

Pues haciendo eso y repitiendo el proceso con los raw y los otros restantes podremos hacer los 7 fondos de interiores independientes entre si, al final a mi me quedo asi:

Pues disculpen por el necropost, pero alguien debia terminar la investigacion.
#3
G0LD_ZTHVARD0X! 27515
Siento el doble post, pero ya he terminado la estructura de los fondos de interiores.

Hay 5 fondos que comparten datos, de esos 5 fondos 4 son especiales y son cargados en ocasiones especiales, los cuales son:
9. Multi/Indoor- Blanck & Gris & un poco de amarillo (Usado en batallas contra entrenadores al aire libre)

Lo curioso es que los siguientes 4 usan la misma configuracion que el anterior (tileset, tilemap. etc), y los cuales son:

10. Multi/Indoor- Verde & un poco de amarillo (Batalla contra el Rival en el laboratorio de Oak)
11. Multi/Indoor- Blanco & Gris (Batalla contra el rival en Interiores)
12. Multi/Indoor- Blanco & Gris & algo de color crema (Batalla contra entrenadores de gimnasio (opcion de A-Map))
13. Multi/Indoor- Blanco & Grey & algo de color crema (2) (batalla contra lider de gimnasio (si, los lideres tienen su propio fondo))

Esos 4 anteriores comparten algunas paletas, y ademas para formar sus colores estas paletas estan ubicadas en los slots x02 y x03 de la memoria, las paletas las toman de las siguientes ubicaciones:

1. 24DDF0
2. 24E528
3. 24E56C
4. 24E5B8

Pero si seguimos usando el formato de organizacion de paletas original no lograremos un fondo bien hecho, para eso hacemos lo siguiente.

1. insertaremos un fondo para interiores completo (entiendase tileset, tilemap y paletas) en un espacio vacio y anota donde los anotaste (obvio)

2. ahora haremos un repunteo manual, la tabla de punteros de los fondos se encuentra en 0x24EE34, y siguen este formato (lo menciono por enesima vez)

VV VV VV 08 WW WW WW 08 XX XX XX 08 YY YY YY 08 ZZ ZZ ZZ 08
VV = Offset del fondo
WW = Offset del tilemap
XX = Imagen de entrada
(Ej. la hierba que se mueve cuando iniciamos una batalla en la hierba.)
YY = Tilemap de la imagen de entrada
ZZ = Paleta

siguiendo eso y las ubicaciones que doy aqui en un editor hexadecimal nos desplazaremos a donde estan los punteros de los fondos especiales (para ello solo permuta el offset del tileset), ahi repuntearemos poniendo los punteros de las nuevas ubicaciones.

3. Guarda y listo, si todo quedo bien deberias ver algo asi:

(estoy dentro del laboratorio de Oak)

Con esto doy por terminada la investigacion de [MENTION=12785]Jotta[/MENTION] [MENTION=26309]Tito Sayer301[/MENTION], la investigacion la hice yo solo en base a la documentacion de karatekid552.
#4
Dani_SR_17 28493
Nunca está de más ver una investigación terminada :D

Poco que decir, solo que es una investigación muy útil la verdad. Aunque, después de tu tutorial para añadir tantos fondos de batalla, pues....
#5
RedMort 26611
Bueno, si quieres culminar la investigación con Ruby, he estado un poco indagando ya que cambiaré algún que otro fondo en mi hack, y ya que apenas hay información acerca de esto en Ruby, estaría bien postearlo aquí, por si lo quieres ver más gente:

Para Ruby, buscaremos el offset $00E5E3F1 (la hierba corriente de toda la vida):



El primer código que se ve es el 00D8, del cual sólo se coge el D8 en el círculo. El 00 no puede editarse, tan sólo limitarse a poner, en el lugar del D8, las dos primeras cifras del color que debería ir en ese lugar. Las últimas dos cifras deberás ponerlas en el lugar del 5F.
Así deberás cambiar los 4 colores hasta llegar al 3F. El 20 que sobra, se deja.
Así ya habremos editado 11 colores, que se corresponderían con 13 si contamos el color amarillo como 3.
Los últimos 3 colores serán de la misma forma, pero ojo, aquí empezaremos por el B8 y dejamos fuera el 06, y sé que en la imágen está al revés, pero es un error mio. Continuaremos del mismo modo hasta DA.
De esta forma faltarían por colocar las 2 últimas cifras del último color, de modo que nos iremos al offset $00E5E3F3:

Aquí irán al último color del todo, el 6BF0 para editar el 6B por dichas cifras restantes. El F0 se deja tal cual.

Eso sería todo para editar la paleta principal. Reconozco que no soy muy bueno en este campo y que cabe la posibilidad de que acabes cambiando otra paleta. Yo no lo creo, puesto que el resultado se muestra correctamente en la paleta que deseamos editar, pero bueno, hazlo con cabeza.
Los offsets me los pasó [MENTION=25910]Brock[/MENTION]

Scan que lo demuestra:

#6
G0LD_ZTHVARD0X! 27515
Iniciado por RedMort
Bueno, si quieres culminar la investigación con Ruby, he estado un poco indagando ya que cambiaré algún que otro fondo en mi hack, y ya que apenas hay información acerca de esto en Ruby, estaría bien postearlo aquí, por si lo quieres ver más gente:

Para Ruby, buscaremos el offset $00E5E3F1 (la hierba corriente de toda la vida):


  • El color naranja indica los colores que pueden ser editados libremente.
  • El color amarillo indica un color que se repetirá 3 veces, justo los 3 colores que están antes de los segundos naranjas, de modo que pasen sus fondos de batalla a 14 colores.
  • El color marrón indica los colores que irán mezclados.


El primer código que se ve es el 00D8, del cual sólo se coge el D8 en el círculo. El 00 no puede editarse, tan sólo limitarse a poner, en el lugar del D8, las dos primeras cifras del color que debería ir en ese lugar. Las últimas dos cifras deberás ponerlas en el lugar del 5F.
Así deberás cambiar los 4 colores hasta llegar al 3F. El 20 que sobra, se deja.
Así ya habremos editado 11 colores, que se corresponderían con 13 si contamos el color amarillo como 3.
Los últimos 3 colores serán de la misma forma, pero ojo, aquí empezaremos por el B8 y dejamos fuera el 06, y sé que en la imágen está al revés, pero es un error mio. Continuaremos del mismo modo hasta DA.
De esta forma faltarían por colocar las 2 últimas cifras del último color, de modo que nos iremos al offset $00E5E3F3:

Aquí irán al último color del todo, el 6BF0 para editar el 6B por dichas cifras restantes. El F0 se deja tal cual.

Eso sería todo para editar la paleta principal. Reconozco que no soy muy bueno en este campo y que cabe la posibilidad de que acabes cambiando otra paleta. Yo no lo creo, puesto que el resultado se muestra correctamente en la paleta que deseamos editar, pero bueno, hazlo con cabeza.
Los offsets me los pasó [MENTION=25910]Brock[/MENTION]

Scan que lo demuestra:


¿No es mas fácil insertar nuevos y repuntearlos manualmente como lo hice yo? y ¿has encontrado la tabla de punteros de los fondos? eso es mas factible que hacerte un lio con las paletas
#7
RedMort 26611
Iniciado por Dick Dastardly
¿No es mas fácil insertar nuevos y repuntearlos manualmente como lo hice yo? y ¿has encontrado la tabla de punteros de los fondos? eso es mas factible que hacerte un lio con las paletas


Pues sí, y además más seguro ya que tu entiendes de esto, pero yo no soy muy dado a estas cosas y no me entero del todo bien de tu sistema. Puse esto mayormente para pasar los offsets y otra forma de editarlas.