Merge pull request #482 from camthesaxman/fldeff_data

convert fldeff data to C
This commit is contained in:
Cameron Hall
2017-11-27 23:45:29 -06:00
committed by GitHub
9 changed files with 299 additions and 291 deletions
-31
View File
@@ -1,31 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gOamData_CutGrass:: @ 83C15DC
.2byte 0
.2byte 0
.2byte 0x1401
.align 2
gSpriteAnim_CutGrass:: @ 83C15E4
obj_image_anim_frame 0, 30
obj_image_anim_jump 0
.align 2
gSpriteAnimTable_CutGrass:: @ 83C15EC
.4byte gSpriteAnim_CutGrass
.align 2
gSpriteImageTable_CutGrass:: @ 83C15F0
obj_frame_tiles gFieldEffectPic_CutGrass, 0x20
.align 2
gFieldEffectObjectPaletteInfo6:: @ 83C15F8
obj_pal gFieldEffectObjectPalette6, 0x1000
.align 2
gSpriteTemplate_CutGrass:: @ 83C1600
spr_template 0xFFFF, 0x1000, gOamData_CutGrass, gSpriteAnimTable_CutGrass, gSpriteImageTable_CutGrass, gDummySpriteAffineAnimTable, sub_80A2A48
-36
View File
@@ -1,36 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gOamData_83D266C:: @ 83D266C
.2byte 0x8000
.2byte 0x8000
.2byte 0x0800
.align 2
gSpriteAnim_83D2674:: @ 83D2674
obj_image_anim_frame 0, 6
obj_image_anim_frame 1, 6
obj_image_anim_frame 2, 6
obj_image_anim_end
.align 2
gSpriteAnimTable_83D2684:: @ 83D2684
.4byte gSpriteAnim_83D2674
.align 2
gSpriteImageTable_83D2688:: @ 83D2688
obj_frame_tiles gSpriteImage_83D21EC, 0x100
obj_frame_tiles gSpriteImage_83D22EC, 0x100
obj_frame_tiles gSpriteImage_83D23EC, 0x100
.align 2
gSpriteTemplate_83D26A0:: @ 83D26A0
spr_template 0xFFFF, 4110, gOamData_83D266C, gSpriteAnimTable_83D2684, gSpriteImageTable_83D2688, gDummySpriteAffineAnimTable, SpriteCB_SandPillar_0
@ This uses one of the secret base palettes, so there is no "09.pal" file.
.align 2
gFieldEffectObjectPaletteInfo9:: @ 83D26B8
obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E
-208
View File
@@ -1,208 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gSpriteImage_83D198C:: @ 83D198C
.incbin "graphics/unknown_sprites/83D259C/0.4bpp"
.align 2
gSpriteImage_83D1A0C:: @ 83D1A0C
.incbin "graphics/unknown_sprites/83D259C/1.4bpp"
.align 2
gSpriteImage_83D1A8C:: @ 83D1A8C
.incbin "graphics/unknown_sprites/83D259C/2.4bpp"
.align 2
gSpriteImage_83D1B0C:: @ 83D1B0C
.incbin "graphics/unknown_sprites/83D259C/3.4bpp"
.align 2
gSpriteImage_83D1B8C:: @ 83D1B8C
.incbin "graphics/unknown_sprites/83D259C/4.4bpp"
.space 32
.align 2
gFieldEffectObjectPalette7: @ 83D1C2C
.incbin "graphics/field_effect_objects/palettes/07.gbapal"
.align 2
gSpriteImage_83D1C4C:: @ 83D1C4C
.incbin "graphics/unknown_sprites/83D25EC/0.4bpp"
.align 2
gSpriteImage_83D1CCC:: @ 83D1CCC
.incbin "graphics/unknown_sprites/83D25EC/1.4bpp"
.align 2
gSpriteImage_83D1D4C:: @ 83D1D4C
.incbin "graphics/unknown_sprites/83D25EC/2.4bpp"
.align 2
gSpriteImage_83D1DCC:: @ 83D1DCC
.incbin "graphics/unknown_sprites/83D25EC/3.4bpp"
.align 2
gSpriteImage_83D1E4C:: @ 83D1E4C
.incbin "graphics/unknown_sprites/83D25EC/4.4bpp"
.align 2
gSpriteImage_83D1ECC:: @ 83D1ECC
.incbin "graphics/unknown_sprites/83D25C4/0.4bpp"
.align 2
gSpriteImage_83D1F4C:: @ 83D1F4C
.incbin "graphics/unknown_sprites/83D25C4/1.4bpp"
.align 2
gSpriteImage_83D1FCC:: @ 83D1FCC
.incbin "graphics/unknown_sprites/83D25C4/2.4bpp"
.align 2
gSpriteImage_83D204C:: @ 83D204C
.incbin "graphics/unknown_sprites/83D25C4/3.4bpp"
.align 2
gSpriteImage_83D20CC:: @ 83D20CC
.incbin "graphics/unknown_sprites/83D25C4/4.4bpp"
.align 2
.incbin "graphics/unknown_sprites/83D25C4/5.4bpp"
.align 2
gFieldEffectObjectPalette8: @ 83D21CC
.incbin "graphics/field_effect_objects/palettes/08.gbapal"
.align 2
gSpriteImage_83D21EC:: @ 83D21EC
.incbin "graphics/unknown_sprites/83D2688/0.4bpp"
.align 2
gSpriteImage_83D22EC:: @ 83D22EC
.incbin "graphics/unknown_sprites/83D2688/1.4bpp"
.align 2
gSpriteImage_83D23EC:: @ 83D23EC
.incbin "graphics/unknown_sprites/83D2688/2.4bpp"
.align 2
gOamData_83D24EC:: @ 83D24EC
.2byte 0x0000
.2byte 0x4000
.2byte 0x0800
.align 2
gSpriteAnim_83D24F4:: @ 83D24F4
obj_image_anim_frame 0, 8
obj_image_anim_frame 1, 8
obj_image_anim_frame 2, 8
obj_image_anim_frame 3, 8
obj_image_anim_frame 4, 8
obj_image_anim_end
.align 2
gSpriteAnim_83D250C:: @ 83D250C
obj_image_anim_frame 0, 8
obj_image_anim_frame 1, 8
obj_image_anim_frame 2, 8
obj_image_anim_frame 3, 8
obj_image_anim_frame 4, 8
obj_image_anim_end
.align 2
gSpriteAnim_83D2524:: @ 83D2524
obj_image_anim_frame 4, 8
obj_image_anim_frame 3, 8
obj_image_anim_frame 2, 8
obj_image_anim_frame 1, 8
obj_image_anim_frame 0, 8
obj_image_anim_end
.align 2
gSpriteAnim_83D253C:: @ 83D253C
obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_end
.align 2
gSpriteAnim_83D2554:: @ 83D2554
obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP
obj_image_anim_end
.align 2
gSpriteAnim_83D256C:: @ 83D256C
obj_image_anim_frame 0, 8
obj_image_anim_frame 1, 8
obj_image_anim_frame 2, 8
obj_image_anim_frame 3, 8
obj_image_anim_frame 4, 8
obj_image_anim_end
.align 2
gSpriteAnimTable_83D2584:: @ 83D2584
.4byte gSpriteAnim_83D24F4
.align 2
gSpriteAnimTable_83D2588:: @ 83D2588
.4byte gSpriteAnim_83D250C
.4byte gSpriteAnim_83D2524
.4byte gSpriteAnim_83D253C
.4byte gSpriteAnim_83D2554
.align 2
gSpriteAnimTable_83D2598:: @ 83D2598
.4byte gSpriteAnim_83D256C
.align 2
gSpriteImageTable_83D259C:: @ 83D259C
obj_frame_tiles gSpriteImage_83D198C, 0x80
obj_frame_tiles gSpriteImage_83D1A0C, 0x80
obj_frame_tiles gSpriteImage_83D1A8C, 0x80
obj_frame_tiles gSpriteImage_83D1B0C, 0x80
obj_frame_tiles gSpriteImage_83D1B8C, 0x80
.align 2
gSpriteImageTable_83D25C4:: @ 83D25C4
obj_frame_tiles gSpriteImage_83D1ECC, 0x80
obj_frame_tiles gSpriteImage_83D1F4C, 0x80
obj_frame_tiles gSpriteImage_83D1FCC, 0x80
obj_frame_tiles gSpriteImage_83D204C, 0x80
obj_frame_tiles gSpriteImage_83D20CC, 0x80
.align 2
gSpriteImageTable_83D25EC:: @ 83D25EC
obj_frame_tiles gSpriteImage_83D1C4C, 0x80
obj_frame_tiles gSpriteImage_83D1CCC, 0x80
obj_frame_tiles gSpriteImage_83D1D4C, 0x80
obj_frame_tiles gSpriteImage_83D1DCC, 0x80
obj_frame_tiles gSpriteImage_83D1E4C, 0x80
.align 2
gSpriteTemplate_83D2614:: @ 83D2614
spr_template 0xFFFF, 4099, gOamData_83D24EC, gSpriteAnimTable_83D2584, gSpriteImageTable_83D259C, gDummySpriteAffineAnimTable, sub_80C644C
.align 2
gSpriteTemplate_83D262C:: @ 83D262C
spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2588, gSpriteImageTable_83D25C4, gDummySpriteAffineAnimTable, sub_80C6598
.align 2
gSpriteTemplate_83D2644:: @ 83D2644
spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2598, gSpriteImageTable_83D25EC, gDummySpriteAffineAnimTable, sub_80C66BC
.align 2
gFieldEffectObjectPaletteInfo7:: @ 83D265C
obj_pal gFieldEffectObjectPalette7, 0x1003
.align 2
gFieldEffectObjectPaletteInfo8:: @ 83D2664
obj_pal gFieldEffectObjectPalette8, 0x1008
+3
View File
@@ -38,6 +38,9 @@ extern const u16 gMapObjectPalette19[];
extern const u32 gMapObjectPic_MovingBox[32];
extern const struct SpriteFrameImage gMapObjectPicTable_PechaBerryTree[];
extern const u8 gFieldEffectPic_CutGrass[];
extern const u16 gFieldEffectObjectPalette6[];
void sub_805C058(struct MapObject *mapObject, s16 a, s16 b);
void FieldObjectSetDirection(struct MapObject *pObject, u8 unk_18);
void MoveCoords(u8 direction, s16 *x, s16 *y);
+3 -3
View File
@@ -513,7 +513,7 @@ SECTIONS {
data/pokemon_storage_system.o(.rodata);
src/pokemon/pokemon_icon.o(.rodata);
src/pokemon/pokemon_summary_screen.o(.rodata);
data/fldeff_cut.o(.rodata);
src/field/fldeff_cut.o(.rodata);
src/field/item_menu.o(.rodata);
data/battle_anim_80A7E7C.o(.rodata);
src/field/item.o(.rodata);
@@ -535,8 +535,8 @@ SECTIONS {
src/pokemon/pokemon_size_record.o(.rodata);
src/field/pc_screen_effect.o(.rodata);
data/pc_screen_effect.o(.rodata);
data/fldeff_secretpower.o(.rodata);
data/fldeff_decoration.o(.rodata);
src/field/fldeff_secretpower.o(.rodata);
src/field/fldeff_decoration.o(.rodata);
src/field/fldeff_recordmixing.o(.rodata);
src/field/field_special_scene.o(.rodata);
src/field/rotating_gate.o(.rodata);
+1 -1
View File
@@ -1354,7 +1354,7 @@ const u32 gFieldEffectPic_ShadowMedium[] = INCBIN_U32("graphics/field_effect_obj
const u32 gFieldEffectPic_ShadowLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_large.4bpp");
const u32 gFieldEffectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_extra_large.4bpp");
const u32 filler_8368A08[0x48] = {};
const u32 gFieldEffectPic_CutGrass[] = INCBIN_U32("graphics/field_effect_objects/pics/cut_grass.4bpp");
const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/field_effect_objects/pics/cut_grass.4bpp");
const u32 FieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/field_effect_objects/pics/cut_grass.4bpp");
const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/field_effect_objects/palettes/06.gbapal");
const u32 gFieldEffectPic_Ripple_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/0.4bpp");
+50 -5
View File
@@ -2,6 +2,7 @@
#include "fldeff_cut.h"
#include "field_camera.h"
#include "field_effect.h"
#include "field_map_obj.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "map_obj_lock.h"
@@ -20,12 +21,56 @@
extern void (*gFieldCallback)(void);
extern void (*gUnknown_03005CE4)(void);
extern struct SpriteTemplate gSpriteTemplate_CutGrass;
extern u8 gLastFieldPokeMenuOpened;
extern u8 S_UseCut[];
extern const u8 S_UseCut[];
const struct OamData gOamData_CutGrass =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 0,
.tileNum = 1,
.priority = 1,
.paletteNum = 1,
.affineParam = 0,
};
const union AnimCmd gSpriteAnim_CutGrass[] =
{
ANIMCMD_FRAME(0, 30),
ANIMCMD_JUMP(0),
};
const union AnimCmd *const gSpriteAnimTable_CutGrass[] =
{
gSpriteAnim_CutGrass,
};
const struct SpriteFrameImage gSpriteImageTable_CutGrass[] =
{
{gFieldEffectPic_CutGrass, 0x20},
};
const struct SpritePalette gFieldEffectObjectPaletteInfo6 = {gFieldEffectObjectPalette6, 0x1000};
static void sub_80A2A48(struct Sprite *);
static const struct SpriteTemplate gSpriteTemplate_CutGrass =
{
.tileTag = 0xFFFF,
.paletteTag = 0x1000,
.oam = &gOamData_CutGrass,
.anims = gSpriteAnimTable_CutGrass,
.images = gSpriteImageTable_CutGrass,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A2A48,
};
bool8 SetUpFieldMove_Cut(void)
{
@@ -238,7 +283,7 @@ void sub_80A28F4(s16 x, s16 y)
}
}
void sub_80A2A48(struct Sprite *sprite)
static void sub_80A2A48(struct Sprite *sprite)
{
sprite->data[0] = 8;
sprite->data[1] = 0;
+59 -4
View File
@@ -13,14 +13,69 @@
#include "task.h"
#include "text.h"
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[36];
extern const struct SpriteTemplate gSpriteTemplate_83D26A0;
extern const u8 gSpriteImage_83D21EC[];
extern const u8 gSpriteImage_83D22EC[];
extern const u8 gSpriteImage_83D23EC[];
extern const u16 gTilesetPalettes_SecretBase[][16];
const struct OamData gOamData_83D266C =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 2,
.x = 0,
.matrixNum = 0,
.size = 2,
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
.affineParam = 0,
};
const union AnimCmd gSpriteAnim_83D2674[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
ANIMCMD_FRAME(2, 6),
ANIMCMD_END,
};
const union AnimCmd *const gSpriteAnimTable_83D2684[] =
{
gSpriteAnim_83D2674,
};
const struct SpriteFrameImage gSpriteImageTable_83D2688[] =
{
{gSpriteImage_83D21EC, 0x100},
{gSpriteImage_83D22EC, 0x100},
{gSpriteImage_83D23EC, 0x100},
};
static void sub_80C68EC(u8);
static void DoBalloonSoundEffect(s16);
void SpriteCB_SandPillar_0(struct Sprite *);
void SpriteCB_SandPillar_1(struct Sprite *);
void SpriteCB_SandPillar_2(struct Sprite *);
const struct SpriteTemplate gSpriteTemplate_83D26A0 =
{
.tileTag = 0xFFFF,
.paletteTag = 4110,
.oam = &gOamData_83D266C,
.anims = gSpriteAnimTable_83D2684,
.images = gSpriteImageTable_83D2688,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_SandPillar_0,
};
// This uses one of the secret base palettes, so there is no "09.pal" file.
const struct SpritePalette gFieldEffectObjectPaletteInfo9 = {gTilesetPalettes_SecretBase[5], 0x100E};
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[36];
static void sub_80C68EC(u8);
static void DoBalloonSoundEffect(s16);
void sub_80C68A4(s16 metatileId, s16 x, s16 y)
{
+183 -3
View File
@@ -17,9 +17,189 @@ extern u8 gUnknown_081A2CE6[];
extern u8 gUnknown_081A2D3E[];
extern u8 gUnknown_081A2D96[];
extern struct SpriteTemplate gSpriteTemplate_83D2614;
extern struct SpriteTemplate gSpriteTemplate_83D262C;
extern struct SpriteTemplate gSpriteTemplate_83D2644;
const u8 gSpriteImage_83D198C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/0.4bpp");
const u8 gSpriteImage_83D1A0C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/1.4bpp");
const u8 gSpriteImage_83D1A8C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/2.4bpp");
const u8 gSpriteImage_83D1B0C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/3.4bpp");
const u8 gSpriteImage_83D1B8C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/4.4bpp");
const u8 gUnusedEmptySpace_83D1C0C[32] = {0};
const u16 gFieldEffectObjectPalette7[] = INCBIN_U16("graphics/field_effect_objects/palettes/07.gbapal");
const u8 gSpriteImage_83D1C4C[] = INCBIN_U8("graphics/unknown_sprites/83D25EC/0.4bpp");
const u8 gSpriteImage_83D1CCC[] = INCBIN_U8("graphics/unknown_sprites/83D25EC/1.4bpp");
const u8 gSpriteImage_83D1D4C[] = INCBIN_U8("graphics/unknown_sprites/83D25EC/2.4bpp");
const u8 gSpriteImage_83D1DCC[] = INCBIN_U8("graphics/unknown_sprites/83D25EC/3.4bpp");
const u8 gSpriteImage_83D1E4C[] = INCBIN_U8("graphics/unknown_sprites/83D25EC/4.4bpp");
const u8 gSpriteImage_83D1ECC[] = INCBIN_U8("graphics/unknown_sprites/83D25C4/0.4bpp");
const u8 gSpriteImage_83D1F4C[] = INCBIN_U8("graphics/unknown_sprites/83D25C4/1.4bpp");
const u8 gSpriteImage_83D1FCC[] = INCBIN_U8("graphics/unknown_sprites/83D25C4/2.4bpp");
const u8 gSpriteImage_83D204C[] = INCBIN_U8("graphics/unknown_sprites/83D25C4/3.4bpp");
const u8 gSpriteImage_83D20CC[] = INCBIN_U8("graphics/unknown_sprites/83D25C4/4.4bpp");
const u8 gSpriteImage_83D214C[] = INCBIN_U8("graphics/unknown_sprites/83D25C4/5.4bpp"); // unused
const u16 gFieldEffectObjectPalette8[] = INCBIN_U16("graphics/field_effect_objects/palettes/08.gbapal");
const u8 gSpriteImage_83D21EC[] = INCBIN_U8("graphics/unknown_sprites/83D2688/0.4bpp");
const u8 gSpriteImage_83D22EC[] = INCBIN_U8("graphics/unknown_sprites/83D2688/1.4bpp");
const u8 gSpriteImage_83D23EC[] = INCBIN_U8("graphics/unknown_sprites/83D2688/2.4bpp");
const struct OamData gOamData_83D24EC =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 1,
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
.affineParam = 0,
};
const union AnimCmd gSpriteAnim_83D24F4[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_FRAME(4, 8),
ANIMCMD_END,
};
const union AnimCmd gSpriteAnim_83D250C[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_FRAME(4, 8),
ANIMCMD_END,
};
const union AnimCmd gSpriteAnim_83D2524[] =
{
ANIMCMD_FRAME(4, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(0, 8),
ANIMCMD_END,
};
const union AnimCmd gSpriteAnim_83D253C[] =
{
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
ANIMCMD_FRAME(2, 8, .hFlip = TRUE),
ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
ANIMCMD_FRAME(4, 8, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd gSpriteAnim_83D2554[] =
{
ANIMCMD_FRAME(4, 8, .hFlip = TRUE),
ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
ANIMCMD_FRAME(2, 8, .hFlip = TRUE),
ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
ANIMCMD_END,
};
const union AnimCmd gSpriteAnim_83D256C[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
ANIMCMD_FRAME(2, 8),
ANIMCMD_FRAME(3, 8),
ANIMCMD_FRAME(4, 8),
ANIMCMD_END,
};
const union AnimCmd *const gSpriteAnimTable_83D2584[] =
{
gSpriteAnim_83D24F4,
};
const union AnimCmd *const gSpriteAnimTable_83D2588[] =
{
gSpriteAnim_83D250C,
gSpriteAnim_83D2524,
gSpriteAnim_83D253C,
gSpriteAnim_83D2554,
};
const union AnimCmd *const gSpriteAnimTable_83D2598[] =
{
gSpriteAnim_83D256C,
};
const struct SpriteFrameImage gSpriteImageTable_83D259C[] =
{
{gSpriteImage_83D198C, 0x80},
{gSpriteImage_83D1A0C, 0x80},
{gSpriteImage_83D1A8C, 0x80},
{gSpriteImage_83D1B0C, 0x80},
{gSpriteImage_83D1B8C, 0x80},
};
const struct SpriteFrameImage gSpriteImageTable_83D25C4[] =
{
{gSpriteImage_83D1ECC, 0x80},
{gSpriteImage_83D1F4C, 0x80},
{gSpriteImage_83D1FCC, 0x80},
{gSpriteImage_83D204C, 0x80},
{gSpriteImage_83D20CC, 0x80},
};
const struct SpriteFrameImage gSpriteImageTable_83D25EC[] =
{
{gSpriteImage_83D1C4C, 0x80},
{gSpriteImage_83D1CCC, 0x80},
{gSpriteImage_83D1D4C, 0x80},
{gSpriteImage_83D1DCC, 0x80},
{gSpriteImage_83D1E4C, 0x80},
};
void sub_80C644C(struct Sprite *);
const struct SpriteTemplate gSpriteTemplate_83D2614 =
{
.tileTag = 0xFFFF,
.paletteTag = 4099,
.oam = &gOamData_83D24EC,
.anims = gSpriteAnimTable_83D2584,
.images = gSpriteImageTable_83D259C,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80C644C,
};
void sub_80C6598(struct Sprite *);
const struct SpriteTemplate gSpriteTemplate_83D262C =
{
.tileTag = 0xFFFF,
.paletteTag = 4104,
.oam = &gOamData_83D24EC,
.anims = gSpriteAnimTable_83D2588,
.images = gSpriteImageTable_83D25C4,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80C6598,
};
void sub_80C66BC(struct Sprite *);
const struct SpriteTemplate gSpriteTemplate_83D2644 =
{
.tileTag = 0xFFFF,
.paletteTag = 4104,
.oam = &gOamData_83D24EC,
.anims = gSpriteAnimTable_83D2598,
.images = gSpriteImageTable_83D25EC,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80C66BC,
};
const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003};
const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008};
void sub_80C639C(void);
void sub_80C63E8(void);