summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/battle_pyramid_bag.s40
-rw-r--r--ld_script.txt1
-rw-r--r--src/battle_pyramid_bag.c64
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)