Registrarse

[pokeemerald] Cambiar el backsprite del jugador

Samu

Miembro insignia
Miembro insignia
Hace un mes publiqué un par de comandos para cambiar el npc que usa el avatar del jugador, ahora hago lo mismo con un par de comandos que permiten cambiar el backsprite del jugador que se cargará al comienzo de los combates.

El sistema puede usarse en conjunto o de forma independiente a los comandos que te permiten cambiar el npc que mostré aquí.

Para instalar los comandos que permiten cambiar el backsprite podéis ver los cambios en el este commit. A continuación os explico como usarlos, aunque es bastante sencillo.

Tendréis hacer uso del comando setbacksprite [id], que establecerá el backsprite que seleccionéis como backsprite de vuestro avatar durante los combates.
Código:
setbacksprite  3     @ Setea el backsprite de la protagonista femenina de Fred
Este cambio será permanente, hasta que hagáis un setbacksprite diferente, o hasta que hagáis un "resetbacksprite"
El comando resetbacksprite desactivará el sistema, haciendo que el backsprite sea el asignado por defecto al jugador.
Código:
resetbacksprite
Toda la información relacionada con los backsprites de los entrenadores se encuentra en el fichero "src/data/trainer_graphics/back_pic_tables.h".

Aquí tenéis 3 tablas, una para los gráficos de los backsprites
Código:
const struct CompressedSpriteSheet gTrainerBackPicTable[] =
{
    TRAINER_BACK_SPRITE(BRENDAN, gTrainerBackPic_Brendan, 0x2000),
    TRAINER_BACK_SPRITE(MAY, gTrainerBackPic_May, 0x2000),
    TRAINER_BACK_SPRITE(RED, gTrainerBackPic_Red, 0x2800),
    TRAINER_BACK_SPRITE(LEAF, gTrainerBackPic_Leaf, 0x2800),
    TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_BRENDAN, gTrainerBackPic_RubySapphireBrendan, 0x2000),
    TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_MAY, gTrainerBackPic_RubySapphireMay, 0x2000),
    TRAINER_BACK_SPRITE(WALLY, gTrainerBackPic_Wally, 0x2000),
    TRAINER_BACK_SPRITE(STEVEN, gTrainerBackPic_Steven, 0x2000),
};
Otra para las paletas de los backsprites
Código:
const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
{
    TRAINER_BACK_PAL(BRENDAN, gTrainerPalette_Brendan),
    TRAINER_BACK_PAL(MAY, gTrainerPalette_May),
    TRAINER_BACK_PAL(RED, gTrainerBackPicPalette_Red),
    TRAINER_BACK_PAL(LEAF, gTrainerBackPicPalette_Leaf),
    TRAINER_BACK_PAL(RUBY_SAPPHIRE_BRENDAN, gTrainerPalette_RubySapphireBrendan),
    TRAINER_BACK_PAL(RUBY_SAPPHIRE_MAY, gTrainerPalette_RubySapphireMay),
    TRAINER_BACK_PAL(WALLY, gTrainerPalette_Wally),
    TRAINER_BACK_PAL(STEVEN, gTrainerPalette_Steven),
};
y la última para las coordenadas x/y de los backsprites
Código:
const struct MonCoords gTrainerBackPicCoords[] =
{
    [TRAINER_BACK_PIC_BRENDAN] = {.size = 8, .y_offset = 4},
    [TRAINER_BACK_PIC_MAY] = {.size = 8, .y_offset = 4},
    [TRAINER_BACK_PIC_RED] = {.size = 8, .y_offset = 5},
    [TRAINER_BACK_PIC_LEAF] = {.size = 8, .y_offset = 5},
    [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = {.size = 8, .y_offset = 4},
    [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = {.size = 8, .y_offset = 4},
    [TRAINER_BACK_PIC_WALLY] = {.size = 8, .y_offset = 4},
    [TRAINER_BACK_PIC_STEVEN] = {.size = 8, .y_offset = 4},
};

Edit: btw, se lo podéis agradecer a Howdy por pedírmelo, si es por vosotros gusanos, no lo hago.
 
Última edición:

Kaktus

Miembro insignia
Miembro insignia
Buen aporte brother. A ver si alguien lo implementa y se anima a pasar un gif del funcionamiento o algo, aunque está bien darle actividad al foro con este tipo de mini aportes.
 
Arriba