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.)
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í:
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.
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:
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.)
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í:
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.
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:
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: