diff options
| -rw-r--r-- | data/battle_pyramid_bag.s | 40 | ||||
| -rw-r--r-- | ld_script.txt | 1 | ||||
| -rw-r--r-- | src/battle_pyramid_bag.c | 64 | 
3 files changed, 62 insertions, 43 deletions
| diff --git a/data/battle_pyramid_bag.s b/data/battle_pyramid_bag.s deleted file mode 100644 index de459075f..000000000 --- a/data/battle_pyramid_bag.s +++ /dev/null @@ -1,40 +0,0 @@ -	.include "asm/macros.inc" -	.include "constants/constants.inc" - -	.section .rodata - - -	.align 2 -gOamData_861F378:: @ 861F378 -	.2byte 0x0100, 0xc000, 0x0400, 0x0000 - -	.align 2 -gSpriteAnim_861F380:: @ 861F380 -	.2byte 0x0000, 0x0004, 0xffff, 0x0000 - -	.align 2 -gSpriteAnimTable_861F388:: @ 861F388 -	.4byte gSpriteAnim_861F380 - -	.align 2 -gSpriteAffineAnim_861F38C:: @ 861F38C -	.2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - -	.align 2 -gSpriteAffineAnim_861F39C:: @ 861F39C -	.2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 -	.2byte 0x7fff, 0x0000, 0x0000, 0x0000 - -	.align 2 -gSpriteAffineAnimTable_861F3C4:: @ 861F3C4 -	.4byte gSpriteAffineAnim_861F38C -	.4byte gSpriteAffineAnim_861F39C - -	.align 2 -gUnknown_0861F3CC:: @ 861F3CC -	obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024 - -	.align 2 -gUnknown_0861F3D4:: @ 861F3D4 -	spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy - diff --git a/ld_script.txt b/ld_script.txt index 94e7f7580..f3573fd21 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -545,7 +545,6 @@ SECTIONS {          src/pokemon_summary_screen.o(.rodata);          src/unk_pokedex_area_screen_helper.o(.rodata);          src/battle_pyramid_bag.o(.rodata); -        data/battle_pyramid_bag.o(.rodata);          data/pokenav.o(.rodata);          src/match_call.o(.rodata);          data/pokenav.o(.rodata.after.match.call); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 6629e6a0a..bc2821d16 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -42,6 +42,7 @@ extern const u8 gUnknown_08D9ADD0[];  extern const u8 gUnknown_08D9AE04[];  extern const u8 gUnknown_08D9AF44[];  extern const u16 gUnknown_0860F074[]; +extern const u8 gBattleFrontierGfx_PyramidBag[];  // This file's functions.  static void Task_HandlePyramidBagInput(u8 taskId); @@ -281,8 +282,67 @@ static const struct WindowTemplate gUnknown_0861F350[] =      },  }; -extern const struct CompressedSpriteSheet gUnknown_0861F3CC; -extern const struct SpriteTemplate gUnknown_0861F3D4; +static const struct OamData gOamData_861F378 = +{ +    .y = 0, +    .affineMode = 1, +    .objMode = 0, +    .mosaic = 0, +    .bpp = 0, +    .shape = 0, +    .x = 0, +    .matrixNum = 0, +    .size = 3, +    .tileNum = 0, +    .priority = 1, +    .paletteNum = 0, +    .affineParam = 0, +}; + +static const union AnimCmd gSpriteAnim_861F380[] = +{ +    ANIMCMD_FRAME(0, 4), +    ANIMCMD_END, +}; + +static const union AnimCmd * const gSpriteAnimTable_861F388[] = +{ +    gSpriteAnim_861F380, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_861F38C[] = +{ +    AFFINEANIMCMD_FRAME(256, 256, 0, 0), +    AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_861F39C[] = +{ +    AFFINEANIMCMD_FRAME(0, 0, 254, 2), +    AFFINEANIMCMD_FRAME(0, 0, 2, 4), +    AFFINEANIMCMD_FRAME(0, 0, 254, 4), +    AFFINEANIMCMD_FRAME(0, 0, 2, 2), +    AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd * const gSpriteAffineAnimTable_861F3C4[] = +{ +    gSpriteAffineAnim_861F38C, +    gSpriteAffineAnim_861F39C, +}; + +static const struct CompressedSpriteSheet gUnknown_0861F3CC = {gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024}; + +static const struct SpriteTemplate gUnknown_0861F3D4 = +{ +    .tileTag = 0x1024, +    .paletteTag = 0x1024, +    .oam = &gOamData_861F378, +    .anims = gSpriteAnimTable_861F388, +    .images = NULL, +    .affineAnims = gSpriteAffineAnimTable_861F3C4, +    .callback = SpriteCallbackDummy +};  // code  void sub_81C4EEC(void) | 
