Teoría Gráfica

Editar sprites y otros gráficos

Podemos diferenciar entre 3 tipos de gráficos:16 colores no-comprimido, 16 colores comprimido y los de 256 colores, que casi siempre, por no decir siempre, están comprimidos.

Los gráficos del ROM tienen una paleta que va ligada a la imagen. Dicha paleta tiene uno índices preestablecidos, por lo que para editar imágenes debemos utilizar un programa de diseño gráfico que maneje paletas y ya puestos que acepte archivos de extensión PAL. Hay muchos, yo recomendaría el Photo Shop o el Paint shop Pro, pero para conseguirlo (legalmente) hay que pagar.

Decir que el Paint que viene gratuito con Windows no nos sirve para mucho: nos cambiaría los colores de la paleta. Además personalmente recomiendo el emulador Visual boy advance, puesto que necesitamos alguna de sus opciones. Recordad que las imágenes son combinación de colores, así que cuanto más ajustados sean los colores que usemos, mejor será el resultado.

Sustituir un gráfico de 256 colores

Los gráficos de 256 colores suelen estar comprimidos. Por lo tanto, necesitaremos un programa para gráficos compresos, como UNLZ-GBA.

Una vez encontrado el gráfico en el UNLZ-GBA (modo de 256 colores!), tenemos que buscarlo en el juego. Pongamos por ejemplo que queremos editar el logotipo de la versión de Pokémon Ruby.

    Seguiremos estes pasos.
  1. En VBA, vamos a TOOLS / LOGGING y activamos SWI.
  2. Iniciamos el juego y vamos a donde está el logo, que es en la pantalla de inicio.
  3. Abrimos el OAM VIEWER desde TOOLS y exportamos los dos OAM que corresponden al logo. Luego los juntamos en una sola imagen para que quede como la que vemos en el UNLZ-GBA. Para algunos gráficos (como el logotipo de Pokémon) necesitamos el TILE VIEWER de TOOLS
  4. Abrimos el PALLETE VIEWER de TOOLS y exportamos la paleta que queremos. En este caso tanto la de Sprites como la de Background son prácticamente iguales, así que podemos exportar cualquiera de las dos teniendo en cuenta que los colores de más abajo pueden ser los de la otra. Entonces le damos a Save OBJ (paleta Sprites) o Save BG (background) y guardaremos un archivo PAL de paleta.
  5. Abrimos el programa de dibujo, y en él abrimos la combinación de los OAM o el TILE según el caso. Entonces aplicamos la PAL a esa imagen. En Paint Shop Pro es en Colors/Load pallete (shift+O).  Si estás usando otro programa, usa la ayuda si tienes problemas (que para eso está)
  6. Ahora deberíamos tener una imagen igual a la que se muestra en UNL-GBA pero con los colores que se muestran en el juego. Además esa paleta tiene índices, es decir, cada color de la paleta está numerado. Ahora es el turno de tu vena artística para dibujar. Ten en cuenta que puede serte mucho más fácil si desmontas los OAM y los vuelves a montar luego.
  7. Una vez creado tu gráfico, ve al UNLZGBA y guardalo (Write to ROM) donde corresponda. Activa las casillas Export Image y Auto abort if... (Consulta el apartado de UNLZ-GBA para solucionar problemas)

Sustituir un gráfico comprimido de 16 colores

16 colores comprimido es la característica más presente en las imágenes de Pokémon de GBA. Esto es debido a que es la usada para entrenadores y Pokémon. Normalmente estas suelen tener una paleta ligada que se muestra en UNLZ-GBA, pero a veces esto no es así. Cuando sucede, es muy fácil cambiar, además, la paleta. Pongamos por caso que queremos editar a CASTFORM, que en mi ROM es el gráfico número 1178 (este número varía en cada ROM, porque UNLGBA busca archivos comprimidos y puede saltarse alguno)

    Seguiremos estes pasos:
  1. Exportamos la imagen de Castform de UNLZGBA. Observamos que en UNLZ-GBA no tiene su paleta ligada porque es un gráfico no-entero (cuando se carga solo se carga una parte de él)
  2. Necesitamos obtener la paleta de Castform. Para ello EXPORTAMOS una imagen del Pokepic y al mirar su paleta con el programa de dibujo hacemos una captura de la pantalla (no recomiendo usar este programa para guardar cosas en el ROM, puede fastidiarte si utilizas parches ips para distribuír tu ROM), o con el PALLETE VIEWER en TOOLS de Visual Boy Advance hacemos una captura del apartado donde estén los colores que buscamos cuando aparezca CASTFORM. En este caso recomiendo la primera opción, porque es más rápida, pero si quieres por ejemplo editar los tiles del mapa recomiendo la segunda.
  3. Traspasamos la paleta de 16 colores a la imagen del unlzgba. Para ello, en Paint Shop Pro le damos a shift+P o colors/edit pallete y hacemos doble clic en cada color, luego movemos el cursor hacia el color de la paleta que queremos que ocupa el mismo lugar (si en la 1ª le dimos al primero, en la 2ª se damos también al primero) para copiar ese color, y hacemos así con todos los colores (consulta la ayuda si utilizas otro programa). Como esta imagen carga diferentes paletas, tendrás que repetir este paso varias veces.
  4. Ahora debemos tener una imagen con los colores de una de sus partes. Podemos editar ESA parte. Repite el paso 3 para poder editar las demás.
  5. Una vez acabado, vamos al UNLZGBA y la guardamos (write to ROM) donde corresponda. Consulta el apartado de UNLZGBA si tienes problemas

Sustituir un gráfico no-comprimido de 16 colores

Estos son quizás los gráficos más asequibles a la hora de editarlos, pero si queremos un buen resultado se convertirán en los más cansinos, puesto que tendremos que copiar una paleta. Este tipo de gráficos son los que se utilizan para los sprites pequeñitos (los del campo, cuando te puedes mover) y para otras cosas como las medallas, la animación de las flores o las puertas en el mapa, etc. Para estos solemos utilizar TLP o tilemolester. Recomiendo este último y es el que voy a usar yo para explicaros. ¡ADEMÁS CUANDO LO USES ACUERDATE DE USAR LAS OPCIONES ADD TO BOOKMARCKS Y ADD TO PALLETES!

    Imaginemos que queremos editar al primer Líder de gimnasio. Seguiremos estes pasos.
  1. Buscamos el gráfico. Los de sprites están todos juntos, pero has de tener en cuenta que los bytes no están alineados. Una vez encontrado algo que sospechas que es lo que buscas, dale a Byte back/forward (el + y el – con los dos puntitos que están a la derecha de la barra de herramientas) hasta que creas que se ve bien definido. Luego busca una combinación de bloques. Para ello, ve a View/Block size/custom... y escribe las columnas o filas que deseas. Para ayudarte, te comento que la mayoría de estos sprites tienen 2 columnas y 4 filas.
  2. Dale a View/Block grid y luego usa los botones byte/tile/row/page back/forward para encuadrar bien los sprites.
  3. ¡Obten la paleta! Para ello puedes hacer una captura del pallete viewer de tools en VBA cuando aparezca la imagen, o por ejemplo una captura del Spread. (Por cierto, podrías usar este programa para editar esto, pero Tilemolester es mucho más fiel y dará un mejor resultado. Es tu decisión) A partir de esa captura puedes obtener el código de RGB de cada color (tiene que aparecer por algún lado, hasta PAINT creo que lo tiene). (Por ejemplo, casi todas usan un blanco que es R248 G248 B248, y un negro que es R0 G0 B0) Y escribimos ese cogido para cada color. Para ello haz doble clic en el color de la paleta de abajo y ve a la pestaña RGB. Recuerda que siempre que guardas una paleta en tilemolester (add to palletes) cualquier cambio que hagas se guardará automáticamente, así que no te toree, dale a las flechas de junto la paleta para cambiar de ídem.
  4. Editalo y dale a guardar.

Editar una paleta

Necestas saber la dirección de la paleta, y una imagen con paleta de índices con los colores que necesitas. Ve a unlzgba, importa la imagen y dale a "write to ROM". Es importante que solo tengas activada la opción export pallete y no la de export image ( a no ser que tambien vayas a exportar una imagen.) Además debes escribir en la casilla pallete offset la dirección de la paleta que quieres sustituír

UNLZ-GBA para principiantes.

Potente herramienta para gráficos comprimidos de 16 y 256 colores. Usa los botones NEXT y PREVIOUS para moverte atrás o adelante en los gráficos, o en las casillas con números escribe el número de gráfico al lago de GOTO y pulsa GOTO. Lo propio añadiendo PAL para las paletas. + y – alinean los tiles de la imagen. Save as... exporta la imagen e import la carga al programa (no al juego) RawDump es algo que solo complica las cosas si no sabes manejarlo, y write to ROM guarda la imagen al juego. Dentro de esta opción hay 4 opciones, de las que nos interesan EXPORT IMAGE, que guarda la imagen; EXPORT PALLETE, que guarda la paleta de la imagen; AUTO ABORT..., opción de seguridad para no estropear el ROM. Además hay dos casilleros para introducir manualmente las direcciones de la imagen y la paleta.

¿Qué hacer si la imagen es muy grande?

Debes tener en cuenta que los ROMS no son infinitos. Tienen un tamaño limitado y hay que respetarlo. Aunque tienen espacio libre donde puedes intentar exportar y luego repuntear la imagen (no lo he probado todavía).

    Si tu imagen es muy grande puedes hacer lo siguiente:
  1. Probar en un ROM aparte si la imagen cabe en su sitio sin estropear el gráfico siguiente y funcionan ambos en el juego quitando el Auto abort. Si es así debería hacer lo mismo en el ROM de tu hack, aunque recomiendo hacer copias de seguridad “a lo loco”.
  2. Reducir el peso de la imagen. Los CAMBIOS DE COLOR aumentan su peso y los COLORES UNIFORMES son más ligeros. Los bytes se comprimen horizontalmente, así que ten en cuenta que los cambios de color se tienen que hacer menos horizontalmente.