Dragonite
But where's your heart
Bueno, este tutorial es breve y sencillo, la idea es que se puedan insertar las portadas que quieran, sin limitación de colores (hasta 256) ni tiles (es decir, puedes insertar la imagen entera y no pasará nada)
Yo por ejemplo voy a insertar esta imagen (es de mi proyecto actual. es privada, así que no se puede usar.)
![](https://i.imgur.com/wYglZbK.png)
Lo que debemos hacer primero que nada es con Graphics Gale (por comodidad, ya verán luego) agregar 16 pixeles a la derecha de la imagen que vamos a usar de portada.
Esto se hace yendo a "All Frames -> Enlarge Canvas"
Debe quedar tal que así:
![](https://i.imgur.com/kR30Rom.png)
Una vez hecho esto, asegúrense de que el primer color es uno que no usemos (yo personalmente usé el típico verde chillón) y con eso rellenamos el espacio que acabamos de dejar. Lo podemos hacer con la herramienta de bote de pintura.
![](https://i.imgur.com/vVLJkBa.png)
También deben guardar la paleta y guardarla en la misma carpeta con el nombre pokemon_logo.pal
Cuando terminemos, le pondremos de nombre pokemon_logo.png y lo guardaremos en graphics/title_screen. Cuando nos pregunte si queremos reemplazar el archivo original, le ponemos que sí!
Muy bien, ahora falta el tilemap - antes no había herramientas para modificar o crear tilempas, pero ahora está el Tilemap Studio, que es excelente. De todas formas, no hace falta que lo uses para este tutorial, simplemente descarga este archivo y insértalo en graphics/title_screen reemplazando el original (es decir, si te pregunta si quieres reemplazar dale que sí!)
http://www.mediafire.com/file/8exp8msksb3304h/title_screen2.bin/file
Ahora sólo falta hacer unas pequeñas modificaciones al archivo title_screen.c ubicado en la carpeta /src.
Buscamos una línea que empiece así:
Y la reemplazamos con la siguiente línea.
(esta modificación mueve la imagen en la RAM para que no colisione con otras)
Nos vamos dos líneas más abajo, y comentamos (es decir, ponemos // al principio de la línea) esa línea y las dos subsecuentes. Deberían quedar así:
(comentar esto desactiva el "Pokémon Emerald", las nubes y la portada de Rayquaza)
Buscamos una línea que empiece con esto:
Y la reemplazamos con esto:
(esta línea modifica la ubicación en la RAM también para que no colisione con otras imágenes.)
Ahora hay que buscar todas las piezas de código que tengan esto:
Y reemplazamos el número 1 por un 0. Al día de la fecha hay 3 piezas de código que tengan esto.
Por último, debemos ir a graphics_file_rules.mk y buscar una línea que tiene el siguiente parámetro:
Y reemplazaremos el 224 por 256, tal que así:
¡Y YA ESTÁ! Ahora toca disfrutar nuestra bella portada.
Así debería quedar:
![](https://i.imgur.com/b73feLK.png)
PD: Si necesitas cambiar la portada una segunda vez, sólo necesitarás cambiar la imagen y la paleta. El tilemap será siempre el mismo y las modificaciones sólo las necesitas aplicar una vez.
Gracias a Diegoisawesome por ayudarme con varias cosas: sin él esto no sería posible.
¡Hasta otra!
PD: Si por alguna cuestión ves que los gráficos no cambian cuando los sobreescribes, prueba borrando pokemon_logo.gbapal, pokemon_logo.8bpp y pokemon_logo.8bpp.lz.
Yo por ejemplo voy a insertar esta imagen (es de mi proyecto actual. es privada, así que no se puede usar.)
![](https://i.imgur.com/wYglZbK.png)
Lo que debemos hacer primero que nada es con Graphics Gale (por comodidad, ya verán luego) agregar 16 pixeles a la derecha de la imagen que vamos a usar de portada.
Esto se hace yendo a "All Frames -> Enlarge Canvas"
Debe quedar tal que así:
![](https://i.imgur.com/kR30Rom.png)
Una vez hecho esto, asegúrense de que el primer color es uno que no usemos (yo personalmente usé el típico verde chillón) y con eso rellenamos el espacio que acabamos de dejar. Lo podemos hacer con la herramienta de bote de pintura.
![](https://i.imgur.com/vVLJkBa.png)
También deben guardar la paleta y guardarla en la misma carpeta con el nombre pokemon_logo.pal
Cuando terminemos, le pondremos de nombre pokemon_logo.png y lo guardaremos en graphics/title_screen. Cuando nos pregunte si queremos reemplazar el archivo original, le ponemos que sí!
Muy bien, ahora falta el tilemap - antes no había herramientas para modificar o crear tilempas, pero ahora está el Tilemap Studio, que es excelente. De todas formas, no hace falta que lo uses para este tutorial, simplemente descarga este archivo y insértalo en graphics/title_screen reemplazando el original (es decir, si te pregunta si quieres reemplazar dale que sí!)
http://www.mediafire.com/file/8exp8msksb3304h/title_screen2.bin/file
Ahora sólo falta hacer unas pequeñas modificaciones al archivo title_screen.c ubicado en la carpeta /src.
Buscamos una línea que empiece así:
Código:
LZ77UnCompVram(gUnknown_08DE0644...
(esta modificación mueve la imagen en la RAM para que no colisione con otras)
Código:
LZ77UnCompVram(gUnknown_08DE0644, (void *)(VRAM + 0xA000));
(comentar esto desactiva el "Pokémon Emerald", las nubes y la portada de Rayquaza)
Código:
//LZ77UnCompVram(sTitleScreenRayquazaGfx, (void *)(BG_CHAR_ADDR(2)));
//LZ77UnCompVram(sTitleScreenRayquazaTilemap, (void *)(BG_SCREEN_ADDR(26)));
//LZ77UnCompVram(sTitleScreenCloudsGfx, (void *)(BG_CHAR_ADDR(3)));
Código:
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(0)...
(esta línea modifica la ubicación en la RAM también para que no colisione con otras imágenes.)
Código:
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(20) | BGCNT_256COLOR | BGCNT_AFF256x256);
Código:
DISPCNT_MODE_1
Por último, debemos ir a graphics_file_rules.mk y buscar una línea que tiene el siguiente parámetro:
Código:
-num_colors 224
Código:
-num_colors 256
Así debería quedar:
![](https://i.imgur.com/b73feLK.png)
PD: Si necesitas cambiar la portada una segunda vez, sólo necesitarás cambiar la imagen y la paleta. El tilemap será siempre el mismo y las modificaciones sólo las necesitas aplicar una vez.
Gracias a Diegoisawesome por ayudarme con varias cosas: sin él esto no sería posible.
¡Hasta otra!
PD: Si por alguna cuestión ves que los gráficos no cambian cuando los sobreescribes, prueba borrando pokemon_logo.gbapal, pokemon_logo.8bpp y pokemon_logo.8bpp.lz.
Última edición: