summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle_ai.h8
-rw-r--r--include/constants/items.h116
-rw-r--r--include/contest.h103
-rwxr-xr-xinclude/contest_ai.h16
-rwxr-xr-xinclude/ewram.h4
-rw-r--r--include/graphics.h604
-rw-r--r--include/pokemon.h4
-rw-r--r--include/save.h83
8 files changed, 760 insertions, 178 deletions
diff --git a/include/battle_ai.h b/include/battle_ai.h
index c22ca8633..fdad0c7e9 100644
--- a/include/battle_ai.h
+++ b/include/battle_ai.h
@@ -10,10 +10,10 @@ enum
// AI states
enum
{
- AIState_SettingUp,
- AIState_Processing,
- AIState_FinishedProcessing,
- AIState_DoNotProcess
+ BATTLEAI_SETTING_UP,
+ BATTLEAI_PROCESSING,
+ BATTLEAI_FINISHED,
+ BATTLEAI_DO_NOT_PROCESS
};
// battle_ai
diff --git a/include/constants/items.h b/include/constants/items.h
index 48fba1427..cde5c7141 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -290,64 +290,64 @@
#define ITEM_ROOT_FOSSIL 286
#define ITEM_CLAW_FOSSIL 287
#define ITEM_DEVON_SCOPE 288
-#define ITEM_TM01 289
-#define ITEM_TM02 290
-#define ITEM_TM03 291
-#define ITEM_TM04 292
-#define ITEM_TM05 293
-#define ITEM_TM06 294
-#define ITEM_TM07 295
-#define ITEM_TM08 296
-#define ITEM_TM09 297
-#define ITEM_TM10 298
-#define ITEM_TM11 299
-#define ITEM_TM12 300
-#define ITEM_TM13 301
-#define ITEM_TM14 302
-#define ITEM_TM15 303
-#define ITEM_TM16 304
-#define ITEM_TM17 305
-#define ITEM_TM18 306
-#define ITEM_TM19 307
-#define ITEM_TM20 308
-#define ITEM_TM21 309
-#define ITEM_TM22 310
-#define ITEM_TM23 311
-#define ITEM_TM24 312
-#define ITEM_TM25 313
-#define ITEM_TM26 314
-#define ITEM_TM27 315
-#define ITEM_TM28 316
-#define ITEM_TM29 317
-#define ITEM_TM30 318
-#define ITEM_TM31 319
-#define ITEM_TM32 320
-#define ITEM_TM33 321
-#define ITEM_TM34 322
-#define ITEM_TM35 323
-#define ITEM_TM36 324
-#define ITEM_TM37 325
-#define ITEM_TM38 326
-#define ITEM_TM39 327
-#define ITEM_TM40 328
-#define ITEM_TM41 329
-#define ITEM_TM42 330
-#define ITEM_TM43 331
-#define ITEM_TM44 332
-#define ITEM_TM45 333
-#define ITEM_TM46 334
-#define ITEM_TM47 335
-#define ITEM_TM48 336
-#define ITEM_TM49 337
-#define ITEM_TM50 338
-#define ITEM_HM01 339
-#define ITEM_HM02 340
-#define ITEM_HM03 341
-#define ITEM_HM04 342
-#define ITEM_HM05 343
-#define ITEM_HM06 344
-#define ITEM_HM07 345
-#define ITEM_HM08 346
+#define ITEM_TM01_FOCUS_PUNCH 289
+#define ITEM_TM02_DRAGON_CLAW 290
+#define ITEM_TM03_WATER_PULSE 291
+#define ITEM_TM04_CALM_MIND 292
+#define ITEM_TM05_ROAR 293
+#define ITEM_TM06_TOXIC 294
+#define ITEM_TM07_HAIL 295
+#define ITEM_TM08_BULK_UP 296
+#define ITEM_TM09_BULLET_SEED 297
+#define ITEM_TM10_HIDDEN_POWER 298
+#define ITEM_TM11_SUNNY_DAY 299
+#define ITEM_TM12_TAUNT 300
+#define ITEM_TM13_ICE_BEAM 301
+#define ITEM_TM14_BLIZZARD 302
+#define ITEM_TM15_HYPER_BEAM 303
+#define ITEM_TM16_LIGHT_SCREEN 304
+#define ITEM_TM17_PROTECT 305
+#define ITEM_TM18_RAIN_DANCE 306
+#define ITEM_TM19_GIGA_DRAIN 307
+#define ITEM_TM20_SAFEGUARD 308
+#define ITEM_TM21_FRUSTRATION 309
+#define ITEM_TM22_SOLARBEAM 310
+#define ITEM_TM23_IRON_TAIL 311
+#define ITEM_TM24_THUNDERBOLT 312
+#define ITEM_TM25_THUNDER 313
+#define ITEM_TM26_EARTHQUAKE 314
+#define ITEM_TM27_RETURN 315
+#define ITEM_TM28_DIG 316
+#define ITEM_TM29_PSYCHIC 317
+#define ITEM_TM30_SHADOW_BALL 318
+#define ITEM_TM31_BRICK_BREAK 319
+#define ITEM_TM32_DOUBLE_TEAM 320
+#define ITEM_TM33_REFLECT 321
+#define ITEM_TM34_SHOCK_WAVE 322
+#define ITEM_TM35_FLAMETHROWER 323
+#define ITEM_TM36_SLUDGE_BOMB 324
+#define ITEM_TM37_SANDSTORM 325
+#define ITEM_TM38_FIRE_BLAST 326
+#define ITEM_TM39_ROCK_TOMB 327
+#define ITEM_TM40_AERIAL_ACE 328
+#define ITEM_TM41_TORMENT 329
+#define ITEM_TM42_FACADE 330
+#define ITEM_TM43_SECRET_POWER 331
+#define ITEM_TM44_REST 332
+#define ITEM_TM45_ATTRACT 333
+#define ITEM_TM46_THIEF 334
+#define ITEM_TM47_STEEL_WING 335
+#define ITEM_TM48_SKILL_SWAP 336
+#define ITEM_TM49_SNATCH 337
+#define ITEM_TM50_OVERHEAT 338
+#define ITEM_HM01_CUT 339
+#define ITEM_HM02_FLY 340
+#define ITEM_HM03_SURF 341
+#define ITEM_HM04_STRENGTH 342
+#define ITEM_HM05_FLASH 343
+#define ITEM_HM06_ROCK_SMASH 344
+#define ITEM_HM07_WATERFALL 345
+#define ITEM_HM08_DIVE 346
#define ITEM_15B 347
#define ITEM_15C 348
diff --git a/include/contest.h b/include/contest.h
index 6e71358a2..6b1f1f520 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -67,6 +67,22 @@ struct ContestPokemon
/*0x3C*/ u32 otId; // otId
}; // wow
+struct ContestAIInfo {
+ /*0x00*/ u8 aiState;
+ /*0x02*/ u16 unk2;
+ /*0x04*/ u8 unk4;
+ /*0x05*/ u8 unk5[4];
+ /*0x09*/ u8 aiAction;
+ /*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here
+ /*0x10*/ u8 unk10;
+ /*0x14*/ u32 flags;
+ /*0x18*/ s16 scriptResult;
+ /*0x1A*/ s16 scriptArr[3];
+ /*0x20*/ u32 stack[8];
+ /*0x40*/ u8 unk40;
+ /*0x41*/ u8 unk41;
+};
+
extern struct ContestPokemon gContestMons[];
extern const struct ContestMove gContestMoves[];
extern const struct ContestEffect gContestEffects[];
@@ -86,6 +102,7 @@ void sub_80B0F28(u8);
bool8 Contest_SaveWinner(u8);
u8 sub_80B2C4C(u8, u8);
void Contest_ResetWinners(void);
+s8 Contest_GetMoveExcitement(u16);
// Contest Shared EWRAM
@@ -135,48 +152,48 @@ struct Contest
struct ContestantStatus
{
- s16 appeal1; // move appeal?
- s16 appeal2; // final appeal after end of turn, maybe?
- s16 unk4;
- u16 currMove;
- u16 prevMove;
- u8 moveCategory;
- u8 unkB_0:2;
- u8 unkB_2:2;
- u8 moveRepeatCount:3;
- u8 unkB_7:1; // used a one-time move?
- u8 unkC_0:1;
- u8 unkC_1:2;
- s8 unkD;
- u8 unkE;
- u8 unkF;
- u8 unk10_0:1;
- u8 unk10_1:1;
- u8 unk10_2:1;
- u8 unk10_3:1;
- u8 unk10_4:2;
- u8 unk10_6:2;
- u8 unk11_0:2;
- u8 unk11_2:1;
- u8 unk11_3:1;
- u8 unk11_4:1;
- u8 unk11_5:1;
- u8 unk12;
- u8 unk13; // status action?
- u8 unk14;
- u8 disappointedRepeat:1;
- u8 unk15_1:1;
- u8 unk15_2:1;
- u8 unk15_3:1;
- u8 unk15_4:1;
- u8 unk15_5:1;
- u8 unk15_6:1;
- u8 unk16;
- u8 unk17;
- u8 unk18;
- u8 unk19; // turn position
- u8 attentionLevel; // How much the Pokemon "stood out"
- u8 unk1B;
+ /*0x00*/ s16 appeal1; // move appeal?
+ /*0x02*/ s16 appeal2; // final appeal after end of turn, maybe?
+ /*0x04*/ s16 unk4;
+ /*0x06*/ u16 currMove;
+ /*0x08*/ u16 prevMove;
+ /*0x0A*/ u8 moveCategory;
+ /*0x0B*/ u8 unkB_0:2;
+ u8 unkB_2:2;
+ u8 moveRepeatCount:3;
+ u8 unkB_7:1; // used a one-time move?
+ /*0x0C*/ u8 unkC_0:1;
+ u8 unkC_1:2;
+ /*0x0D*/ s8 unkD;
+ /*0x0E*/ u8 unkE;
+ /*0x0F*/ u8 unkF;
+ /*0x10*/ u8 unk10_0:1;
+ u8 unk10_1:1;
+ u8 unk10_2:1;
+ u8 unk10_3:1;
+ u8 unk10_4:2;
+ u8 unk10_6:2;
+ /*0x11*/ u8 unk11_0:2;
+ u8 unk11_2:1;
+ u8 unk11_3:1;
+ u8 unk11_4:1;
+ u8 unk11_5:1;
+ /*0x12*/ u8 unk12;
+ /*0x13*/ u8 unk13; // status action?
+ /*0x14*/ u8 unk14;
+ /*0x15*/ u8 disappointedRepeat:1;
+ u8 unk15_1:1;
+ u8 unk15_2:1;
+ u8 unk15_3:1;
+ u8 unk15_4:1;
+ u8 unk15_5:1;
+ u8 unk15_6:1;
+ /*0x16*/ u8 unk16;
+ /*0x17*/ u8 unk17;
+ /*0x18*/ u8 unk18;
+ /*0x19*/ u8 unk19; // turn position
+ /*0x1A*/ u8 attentionLevel; // How much the Pokemon "stood out"
+ /*0x1B*/ u8 unk1B;
};
struct UnknownContestStruct3
@@ -241,6 +258,7 @@ struct UnknownContestStruct6
s32 unkC;
};
+// TODO: Please move these to ewram.h once the defines are settled down and figured out completely.
#define shared15800 (gSharedMem + 0x15800)
#define shared15DE0 (*(struct ContestWinner *)(gSharedMem + 0x15DE0))
#define shared16800 (gSharedMem + 0x16800)
@@ -248,7 +266,6 @@ struct UnknownContestStruct6
#define shared18004 ((u16 *)(gSharedMem + 0x18004))
#define sContest (*(struct Contest *)(gSharedMem + 0x19204))
#define sContestantStatus ((struct ContestantStatus *)(gSharedMem + 0x19260))
-#define shared192D0 (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0))
#define shared192E4 (gSharedMem + 0x192E4)
#define shared19328 (*(struct UnknownContestStruct5 *)(gSharedMem + 0x19328))
#define shared19338 ((struct UnknownContestStruct4 *)(gSharedMem + 0x19338))
diff --git a/include/contest_ai.h b/include/contest_ai.h
new file mode 100755
index 000000000..da143b541
--- /dev/null
+++ b/include/contest_ai.h
@@ -0,0 +1,16 @@
+#ifndef GUARD_CONTESTAI_H
+#define GUARD_CONTESTAI_H
+
+// AI states
+enum
+{
+ CONTESTAI_SETTING_UP,
+ CONTESTAI_PROCESSING,
+ CONTESTAI_FINISHED,
+ CONTESTAI_DO_NOT_PROCESS
+};
+
+void ContestAI_ResetAI(u8);
+u8 ContestAI_GetActionToUse(void);
+
+#endif
diff --git a/include/ewram.h b/include/ewram.h
index 809d4ff66..36081dd2a 100755
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -20,7 +20,7 @@ extern u8 gSharedMem[];
#define eBrendanSprite (gSharedMem + 0x0)
#define ewram0_6 (u32)(&gSharedMem[0])
#define ewram0_7 (&gSharedMem[0])
-#define eSaveSection (struct SaveSection *)(gSharedMem + 0x0)
+#define eSaveSection (struct SaveSector *)(gSharedMem + 0x0)
#define ewram0arr ((u8 (*)[32])gSharedMem)
#define eVoidSharedArr (void *)(ewram_addr + 0x0)
#define eVoidSharedArr2 (u32)(ewram_addr) // ew(ram)
@@ -234,6 +234,8 @@ extern u8 gSharedMem[];
#define eCableCar2 ((struct CableCarEwramStruct2 *)(gSharedMem + 0x19000))
#define ePokedexView3 (struct PokedexView *)(gSharedMem + 0x19000)
#define eRoulette ((struct Roulette *)(gSharedMem + 0x19000))
+#define shared192D0 (*(struct UnknownContestStruct7 *)(gSharedMem + 0x192D0))
+#define eContestAI ((struct ContestAIInfo *)(gSharedMem + 0x192E4))
#define EWRAM_19348 (*(u16 *)(gSharedMem + 0x19348))
#define ewram19800 (&gSharedMem[0x19800])
#define ePokedexView4 (struct PokedexView *)(gSharedMem + 0x19800)
diff --git a/include/graphics.h b/include/graphics.h
index 00a210350..76a45f6f6 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -51,11 +51,7 @@ extern const u8 gMonFootprint_QuestionMark[];
extern const u8 gContestNextTurnGfx[];
extern const u8 gContestNextTurnNumbersGfx[];
extern const u8 gContestNextTurnRandomGfx[];
-extern const u8 gBattleAnimSpriteSheet_264[];
-extern const u8 gBattleAnimSpritePalette_264[];
-extern const u8 gBattleAnimSpritePalette_265[];
-extern const u8 gBattleAnimSpritePalette_067[];
-extern const u8 gBattleAnimSpritePalette_068[];
+// extern const u8 gBattleAnimSpriteSheet_264[];
extern const u8 gContestApplauseGfx[];
extern const u8 gContestApplauseMeterGfx[];
extern const u16 gContestPal[];
@@ -2743,4 +2739,602 @@ extern const u16 gCableCar_Pal[];
extern const u16 gCableCarBG_Pal[];
extern const u8 gCableCarBG_Gfx[];
+// data/graphics.s
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_000;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_001;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_002;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_003;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_004;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_005;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_006;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_007;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_008;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_009;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_010;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_011;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_012;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_013;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_014;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_015;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_016;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_017;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_018;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_019;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_020;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_021;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_021;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_023;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_024;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_025;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_026;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_027;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_028;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_029;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_030;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_031;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_032;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_033;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_034;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_035;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_036;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_037;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_038;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_039;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_040;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_041;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_042;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_043;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_044;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_045;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_046;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_046;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_048;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_048;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_050;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_051;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_052;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_053;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_054;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_055;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_056;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_057;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_058;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_059;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_060;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_061;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_062;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_063;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_064;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_065;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_066;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_070;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_071;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_072;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_073;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_074;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_075;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_076;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_077;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_078;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_079;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_080;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_081;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_082;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_083;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_084;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_085;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_086;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_087;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_088;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_089;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_090;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_091;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_092;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_093;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_094;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_095;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_096;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_097;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_098;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_099;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_100;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_101;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_102;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_103;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_104;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_105;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_106;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_107;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_108;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_109;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_110;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_111;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_112;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_113;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_114;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_115;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_116;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_117;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_118;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_119;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_120;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_121;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_122;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_123;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_124;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_125;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_126;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_127;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_128;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_129;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_130;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_131;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_132;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_133;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_134;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_135;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_136;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_137;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_138;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_139;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_140;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_141;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_142;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_143;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_144;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_145;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_146;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_147;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_148;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_149;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_150;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_151;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_152;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_153;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_154;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_155;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_156;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_157;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_158;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_159;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_160;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_161;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_162;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_163;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_166;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_171;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_173;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_174;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_175;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_176;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_177;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_178;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_179;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_180;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_181;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_182;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_183;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_184;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_185;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_186;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_187;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_188;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_189;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_190;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_191;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_192;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_193;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_194;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_195;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_196;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_197;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_198;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_199;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_200;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_201;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_202;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_203;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_204;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_205;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_206;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_207;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_208;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_209;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_210;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_211;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_212;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_213;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_214;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_215;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_210;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_217;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_218;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_210;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_220;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_221;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_222;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_223;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_224;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_225;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_226;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_227;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_228;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_229;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_230;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_231;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_232;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_233;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_234;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_235;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_235;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_235;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_238;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_239;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_240;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_241;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_242;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_243;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_244;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_245;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_246;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_247;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_248;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_249;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_250;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_251;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_252;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_253;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_254;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_255;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_256;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_257;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_258;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_260;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_261;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_262;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_263;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_264;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_266;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_269;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_270;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_271;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_272;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_273;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_274;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_275;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_276;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_277;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_278;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_279;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_280;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_281;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_282;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_283;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_284;
+extern struct CompressedSpriteSheet gBattleAnimSpriteSheet_285;
+
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_000;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_001;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_002;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_003;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_004;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_005;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_006;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_007;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_008;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_009;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_010;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_011;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_012;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_013;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_014;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_015;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_016;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_016;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_018;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_019;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_020;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_021;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_022;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_023;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_024;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_025;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_026;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_027;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_028;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_029;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_030;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_031;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_032;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_033;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_033;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_033;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_036;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_036;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_038;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_039;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_038;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_038;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_042;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_043;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_044;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_045;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_046;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_047;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_048;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_049;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_050;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_050;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_050;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_026;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_054;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_050;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_056;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_057;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_058;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_059;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_060;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_061;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_062;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_063;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_064;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_065;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_066;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_067;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_068;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_065;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_070;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_070;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_072;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_073;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_074;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_075;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_076;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_076;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_078;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_078;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_080;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_081;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_082;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_083;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_084;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_085;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_086;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_087;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_088;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_089;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_090;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_091;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_092;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_093;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_094;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_095;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_096;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_097;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_094;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_099;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_100;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_101;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_101;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_103;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_104;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_105;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_105;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_107;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_107;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_109;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_109;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_111;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_112;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_113;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_114;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_115;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_116;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_117;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_118;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_119;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_120;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_121;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_122;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_122;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_124;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_125;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_126;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_127;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_128;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_128;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_130;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_130;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_132;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_133;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_133;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_135;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_136;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_135;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_135;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_139;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_140;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_141;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_141;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_143;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_144;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_139;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_115;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_147;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_148;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_148;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_150;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_150;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_152;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_153;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_154;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_155;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_156;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_157;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_158;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_159;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_160;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_161;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_162;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_163;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_164;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_165;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_166;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_167;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_168;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_169;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_170;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_171;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_172;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_174;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_175;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_176;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_177;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_178;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_179;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_182;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_183;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_184;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_185;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_186;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_187;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_188;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_189;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_190;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_191;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_192;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_193;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_194;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_195;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_196;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_197;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_198;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_199;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_200;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_201;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_202;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_203;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_204;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_205;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_206;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_207;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_209;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_210;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_211;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_215;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_216;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_217;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_218;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_219;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_220;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_221;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_222;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_223;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_224;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_225;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_226;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_228;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_229;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_230;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_231;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_233;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_234;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_235;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_236;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_237;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_238;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_239;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_240;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_241;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_242;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_243;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_244;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_245;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_248;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_249;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_251;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_252;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_253;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_254;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_255;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_256;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_257;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_258;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_259;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_260;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_261;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_262;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_263;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_264;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_265;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_266;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_267;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_268;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_269;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_270;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_271;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_272;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_274;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_277;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_278;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_279;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_280;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_281;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_282;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_283;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_284;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_285;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_286;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_287;
+extern struct CompressedSpritePalette gBattleAnimSpritePalette_288;
+
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_00;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_02;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_03;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_04;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_07;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_09;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_11;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_12;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_15;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_16;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_17;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_20;
+extern struct BattleAnimBackground gBattleAnimBackgroundImage_21;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_00;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_02;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_03;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_04;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_07;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_09;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_11;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_12;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_15;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_16;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_17;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_18;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_20;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_21;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_22;
+extern struct BattleAnimBackground gBattleAnimBackgroundPalette_24;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_00;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_02;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_03;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_04;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_05;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_06;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_07;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_08;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_09;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_10;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_11;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_12;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_13;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_14;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_15;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_16;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_17;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_20;
+extern struct BattleAnimBackground gBattleAnimBackgroundTilemap_21;
+
#endif // GUARD_GRAPHICS_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 71b35e65c..539323bdb 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -502,8 +502,8 @@ extern struct Pokemon gEnemyParty[PARTY_SIZE];
extern const u8 *const gItemEffectTable[];
extern const struct BaseStats gBaseStats[];
extern const u32 gExperienceTables[][101];
-extern const u16 *const gLevelUpLearnsets[];
-extern const struct EvolutionData gEvolutionTable[];
+extern const u16 *gLevelUpLearnsets[];
+extern struct Evolution gEvolutionTable[][5];
extern struct PokemonStorage gPokemonStorage;
void ZeroBoxMonData(struct BoxPokemon *boxMon);
diff --git a/include/save.h b/include/save.h
index c35ad547a..13e07d06a 100644
--- a/include/save.h
+++ b/include/save.h
@@ -1,85 +1,38 @@
#ifndef GUARD_SAVE_H
#define GUARD_SAVE_H
-struct SaveSectionLocation
-{
- u8 *data;
- u16 size;
-};
-
-struct SaveSection
-{
- u8 data[0xFF4];
- u16 id;
- u16 checksum;
- u32 security;
- u32 counter;
-}; // size is 0x1000
-
-// headless save section?
-struct UnkSaveSection
-{
- u8 data[0xFF4];
- u32 security;
-}; // size is 0xFF8
-
// Ruby/Sapphire's save data is Flash 128K, which is 32 save sectors.
#define NUM_SECTORS 32 // defined in agb_flash but not in a header
-#define UNKNOWN_CHECK_VALUE 0x8012025
+#define SAVE_STATUS_EMPTY 0
+#define SAVE_STATUS_OK 1
+#define SAVE_STATUS_NO_FLASH 4
+#define SAVE_STATUS_ERROR 0xFF
-// SetDamagedSectorBits states
-enum
-{
- ENABLE,
- DISABLE,
- CHECK // unused
-};
+extern u16 gSaveFileStatus;
+
+void Save_EraseAllData(void);
+void Save_ResetSaveCounters(void);
-// Do save types
enum
{
- NORMAL_SAVE,
- LINK_SAVE,
- EREADER_SAVE, // mossdeep event
- HOF_SAVE,
- DIFFERENT_FILE_SAVE,
- HOF_DELETE_SAVE // unused
+ SAVE_NORMAL,
+ SAVE_LINK,
+ SAVE_EREADER,
+ SAVE_HALL_OF_FAME,
+ SAVE_OVERWRITE_DIFFERENT_FILE,
+ SAVE_HALL_OF_FAME_ERASE_BEFORE, // unused
};
-void ClearSaveData(void);
-void ResetSaveCounters(void);
-bool32 ManipulateSectorBits(u8 op, u8 bit);
-u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *a2);
-u8 HandleWriteSector(u16, const struct SaveSectionLocation *);
-u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size);
-u8 TryWriteSector(u8, u8 *);
-u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location);
-u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location);
-u8 sub_812550C(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_812556C(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_81255B8(u16, const struct SaveSectionLocation *location);
-u8 sub_8125758(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_81257F0(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_812587C(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_81258BC(u16, const struct SaveSectionLocation *location);
-u8 GetSaveValidStatus(const struct SaveSectionLocation *location);
-u8 sub_8125B88(u8 a1, u8 *data, u16 size);
-u8 DoReadFlashWholeSection(u8, struct SaveSection *);
-u16 CalculateChecksum(void *, u16);
-u8 HandleSavingData(u8 saveType);
-u8 TrySavingData(u8 saveType);
+u8 Save_WriteDataInternal(u8 saveType);
+u8 Save_WriteData(u8 saveType);
+
u8 sub_8125D80(void);
bool8 sub_8125DA8(void);
u8 sub_8125DDC(void);
u8 sub_8125E04(void);
u8 sub_8125E2C(void);
bool8 sub_8125E6C(void);
-u8 sub_8125EC8(u8 a1);
-bool8 unref_sub_8125F4C(struct UnkSaveSection *a1);
-u8 unref_sub_8125FA0(void);
-u8 unref_sub_8125FF0(u8 *data, u16 size);
-u8 unref_sub_8126068(u8 sector, u8 *data, u32 size);
-u8 unref_sub_8126080(u8 sector, u8 *data);
+u8 Save_LoadGameData(u8 a1);
#endif // GUARD_SAVE_H