Merge pull request #607 from Phlosioneer/contest-data

Contest data
This commit is contained in:
huderlem 2019-04-01 07:37:15 -05:00 committed by GitHub
commit 1e8e5af033
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 4121 additions and 2647 deletions

View File

@ -1,412 +0,0 @@
#include "constants/species.h"
#include "constants/moves.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
gUnknown_08587A6C:: @ 8587A6C
.byte 0x24, 0x4c, 0x74, 0x9c
gUnknown_08587A70:: @ 8587A70
.byte 0x24, 0x4c, 0x74, 0x9c
.align 2
gUnknown_08587A74:: @ 8587A74
obj_tiles gTiles_8C19450, 0x0020, 0x4e20
.align 2
gOamData_8587A7C:: @ 8587A7C
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.align 2
gSpriteAffineAnim_8587A84:: @ 8587A84
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
obj_rot_scal_anim_end
.align 2
gSpriteAffineAnim_8587A94:: @ 8587A94
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20
obj_rot_scal_anim_end
.align 2
gSpriteAffineAnim_8587AAC:: @ 8587AAC
obj_rot_scal_anim_frame 0x38, 0x38, 0, 0
obj_rot_scal_anim_frame 0xA, 0xA, 20, 20
obj_rot_scal_anim_end
.align 2
gSpriteAffineAnimTable_8587AC4:: @ 8587AC4
.4byte gSpriteAffineAnim_8587A84
.4byte gSpriteAffineAnim_8587A94
.4byte gSpriteAffineAnim_8587AAC
.align 2
gSpriteTemplate_8587AD0:: @ 8587AD0
spr_template 0x4e20, 0xabe0, gOamData_8587A7C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8587AC4, SpriteCallbackDummy
.align 2
gUnknown_08587AE8:: @ 8587AE8
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e22
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e23
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e24
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e25
.align 2
gUnknown_08587B08:: @ 8587B08
obj_pal gContestPal, 0x4e22
.align 2
gOamData_8587B10:: @ 8587B10
.2byte 0x4000
.2byte 0x4000
.2byte 0x0000
.align 2
gSpriteTemplate_8587B18:: @ 8587B18
spr_template 0x4e22, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
spr_template 0x4e23, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
spr_template 0x4e24, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
spr_template 0x4e25, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gSubspriteTable_8587B78:: @ 8587B78
subsprite -28, -4, 0, 0, 32x8
subsprite 4, -4, 0, 4, 32x8
.align 2
gSubspriteTables_8587B80:: @ 8587B80
.4byte 2, gSubspriteTable_8587B78
.align 2
gUnknown_08587B88:: @ 8587B88
obj_tiles gUnknown_08C19168, 0x0180, 0xabe1
.align 2
gOamData_8587B90:: @ 8587B90
.2byte 0x0000
.2byte 0x4000
.2byte 0x0000
.align 2
gSpriteTemplate_8587B98:: @ 8587B98
spr_template 0xabe1, 0xabe0, gOamData_8587B90, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_08587BB0:: @ 8587BB0
obj_tiles gContestApplauseGfx, 0x0400, 0xabe2
.align 2
gUnknown_08587BB8:: @ 8587BB8
obj_pal gContestPal, 0xabe2
.align 2
gOamData_8587BC0:: @ 8587BC0
.2byte 0x4000
.2byte 0xC000
.2byte 0x0000
.align 2
gSpriteTemplate_8587BC8:: @ 8587BC8
spr_template 0xabe2, 0xabe2, gOamData_8587BC0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gOamData_8587BE0:: @ 8587BE0
.2byte 0x0000
.2byte 0xC000
.2byte 0x2C00
.align 2
gSpriteTemplate_8587BE8:: @ 8587BE8
spr_template 0x4e21, 0x4e21, gOamData_8587BE0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_08587C00:: @ 8587C00
obj_tiles gContestJudgeGfx, 0x0800, 0x4e21
.align 2
gUnknown_08587C08:: @ 8587C08
obj_tiles gContestJudgeSymbolsGfx, 0x0380, 0xabe0
.align 2
gUnknown_08587C10:: @ 8587C10
obj_pal gContest3Pal, 0xabe0
.align 2
gSpriteTemplate_8587C18:: @ 8587C18
spr_template 0xabe0, 0xabe0, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_08587C30:: @ 8587C30
.incbin "graphics/unknown/unknown_587C30.gbapal"
@ 8587C50
.include "data/text/contest_text_pointers.inc"
.align 2
gUnknown_08587D5C:: @ 8587D5C
.4byte gText_0827D5C1
.4byte gText_0827D5DC
.4byte gText_0827D600
.4byte gText_0827D612
.4byte gText_0827D612
.4byte gText_0827D62D
.4byte gText_0827D654
.4byte gText_0827D67E
.4byte gText_0827D69C
.4byte gText_0827D6BA
.4byte gText_0827D6E5
.4byte gText_0827D706
.4byte gText_0827D71D
.align 2
gUnknown_08587D90:: @ 8587D90
.4byte gText_0827D743
.4byte gText_0827D764
.4byte gText_0827D785
.4byte gText_0827D7A5
.4byte gText_0827D7C8
.4byte gText_0827D7E8
.4byte gText_0827D831
.4byte gText_0827D855
.4byte gText_0827D830
.4byte gText_0827D872
.4byte gText_0827D88F
.4byte gText_0827D8B5
.4byte gText_0827D8E4
.4byte gText_0827D8FE
.4byte gText_0827D926
.4byte gText_0827D947
.4byte gText_0827D961
.4byte gText_0827D986
.4byte gText_0827D9B1
.4byte gText_0827D9D9
.4byte gText_0827DA03
.4byte gText_0827DA31
.4byte gText_0827DA5B
.4byte gText_0827DA85
.4byte gText_0827DAB2
.4byte gText_0827DADA
.4byte gText_0827DB03
.4byte gText_0827D830
.4byte gText_0827D830
.4byte gText_0827D830
.4byte gText_0827DB1F
.4byte gText_0827DB4E
.align 2
gUnknown_08587E10:: @ 8587E10
.4byte gText_827DB75
.4byte gText_827DBB0
.4byte gText_827DBE0
.4byte gText_827DC0F
.4byte gText_827DC45
.4byte gText_827DC7C
.4byte gText_827DCB4
.4byte gText_827DCE7
.4byte gText_827DD12
.4byte gText_827DD3D
.4byte gText_827DD6F
.4byte gText_827DD8E
.4byte gText_827DDC7
.4byte gText_827DDF2
.4byte gText_827DE14
.4byte gText_827DE44
.4byte gText_827DE73
.4byte gText_827DEA5
.4byte gText_827DED9
.4byte gText_827DF02
.4byte gText_827DF3A
.4byte gText_827DF63
.4byte gText_827DF8C
.4byte gText_827DFB8
.4byte gText_827DFE2
.4byte gText_827E00C
.4byte gText_827E02F
.4byte gText_827E05F
.4byte gText_827E08B
.4byte gText_827E0B5
.4byte gText_827E0DD
.4byte gText_827E107
.4byte gText_827E143
.4byte gText_827E17F
.4byte gText_827E1BB
.4byte gText_827E1F3
.4byte gText_827E220
.4byte gText_827E254
.4byte gText_827E289
.4byte gText_827E2C5
.4byte gText_0827E2FE
.4byte gText_0827E32E
.4byte gText_0827E35B
.4byte gText_0827E38D
.4byte gText_0827E3C1
.4byte gText_0827E3EB
.4byte gText_0827E416
.4byte gText_0827E448
.4byte gText_0827E473
.4byte gText_0827E4A6
.4byte gText_0827E4D5
.4byte gText_0827E504
.4byte gText_0827E531
.4byte gText_0827E55A
.4byte gText_0827E5B2
.4byte gText_0827E5D0
.4byte gText_0827E606
.4byte gText_0827E638
.4byte gText_0827E658
.4byte gText_0827E68B
.4byte gText_0827E6C4
.4byte gText_0827E7BA
.align 2
gUnknown_08587F08:: @ 8587F08
.4byte gText_0827E85F
.4byte gText_0827E868
.4byte gText_0827E86F
.4byte gText_0827E878
.4byte gText_0827E882
.align 2
gUnknown_08587F1C:: @ 8587F1C
.4byte gText_0827E894
.4byte gText_0827E89E
.4byte gText_0827E8AA
.4byte gText_0827E8B4
.4byte gText_0827E8BF
.4byte gText_0827E8CA
.align 2
gUnknown_08587F34:: @ 8587F34
.4byte 0x00000580, 0x000015e9, 0x000005c2, 0x000031a3
.align 2
gUnknown_08587F44:: @ 8587F44
window_template 0x00, 0x12, 0x00, 0x0c, 0x02, 0x0f, 0x0200
window_template 0x00, 0x12, 0x05, 0x0c, 0x02, 0x0f, 0x0218
window_template 0x00, 0x12, 0x0a, 0x0c, 0x02, 0x0f, 0x0230
window_template 0x00, 0x12, 0x0f, 0x0c, 0x02, 0x0f, 0x0248
window_template 0x00, 0x01, 0x0f, 0x11, 0x04, 0x0f, 0x0260
window_template 0x00, 0x01, 0x1f, 0x09, 0x02, 0x0f, 0x02a4
window_template 0x00, 0x01, 0x21, 0x09, 0x02, 0x0f, 0x02b6
window_template 0x00, 0x01, 0x23, 0x09, 0x02, 0x0f, 0x02c8
window_template 0x00, 0x01, 0x25, 0x09, 0x02, 0x0f, 0x02da
window_template 0x00, 0x10, 0x1f, 0x01, 0x02, 0x0f, 0x02ec
window_template 0x00, 0x0b, 0x23, 0x12, 0x04, 0x0f, 0x02ee
null_window_template
.align 2
gUnknown_08587FA4:: @ 8587FA4
.4byte NULL, 0xFFFF
.2byte SPECIES_ELECTRIKE
.byte 2
.string "ELECTER$", 11
.string "EZRA$", 8
.2byte 0
.4byte NULL, 0xFFFF
.2byte SPECIES_TROPIUS
.byte 0
.string "TROPO$", 11
.string "ALLAN$", 8
.2byte 2
.4byte NULL, 0xFFFF
.2byte SPECIES_XATU
.byte 1
.string "TUXA$", 11
.string "JULIET$", 8
.2byte 0
.4byte NULL, 0xFFFF
.2byte SPECIES_PLUSLE
.byte 4
.string "PULSE$", 11
.string "BAILY$", 8
.2byte 3
.4byte NULL, 0xFFFF
.2byte SPECIES_SHUPPET
.byte 3
.string "SHUPUP$", 11
.string "MELANY$", 8
.2byte 1
.4byte NULL, 0xFFFF
.2byte SPECIES_ZANGOOSE
.byte 0
.string "GOOZAN$", 11
.string "HANA$", 8
.2byte 2
.4byte NULL, 0xFFFF
.2byte SPECIES_LOUDRED
.byte 1
.string "LOUDED$", 11
.string "BRYANT$", 8
.2byte 2
.4byte NULL, 0xFFFF
.2byte SPECIES_DELCATTY
.byte 2
.string "KITSY$", 11
.string "OMAR$", 8
.2byte 3
.align 2
gContestOpponents:: @ 85880A4
.include "data/contest_opponents.inc"
gUnknown_085898A4:: @ 85898A4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
.byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
.align 2
gUnknown_08589904:: @ 8589904
obj_tiles gBlankGfxCompressed, 0x1000, 0x80e8
obj_tiles gBlankGfxCompressed, 0x1000, 0x80e9
obj_tiles gBlankGfxCompressed, 0x1000, 0x80ea
obj_tiles gBlankGfxCompressed, 0x1000, 0x80eb
.align 2
gUnknown_08589924:: @ 8589924 Yup this is super dangerous but that's how it is here
obj_pal gHeap + 0x1A0A4, 0x80e8
obj_pal gHeap + 0x1A0C4, 0x80e9
obj_pal gHeap + 0x1A0E4, 0x80ea
obj_pal gHeap + 0x1A104, 0x80eb
.align 2
gOamData_8589944:: @ 8589944
.2byte 0x0700
.2byte 0xC000
.2byte 0x0000
.align 2
gSpriteAffineAnim_858994C:: @ 858994C
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
obj_rot_scal_anim_end
.align 2
gSpriteAffineAnim_858995C:: @ 858995C
obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
obj_rot_scal_anim_end
.align 2
gSpriteAffineAnimTable_8589984:: @ 8589984
.4byte gSpriteAffineAnim_858994C
.4byte gSpriteAffineAnim_858995C
.align 2
gSpriteTemplate_858998C:: @ 858998C
spr_template 0x80e8, 0x80e8, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
spr_template 0x80e9, 0x80e9, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
spr_template 0x80ea, 0x80ea, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
spr_template 0x80eb, 0x80eb, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
.align 2
gContestExcitementTable:: @ 85899EC
.2byte 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x00ff, 0x0001, 0xffff, 0x00ff, 0x0001, 0xff00, 0x00ff, 0x0001, 0x0000

File diff suppressed because it is too large Load Diff

View File

@ -59,4 +59,4 @@
],
"coord_events": [],
"bg_events": []
}
}

View File

@ -1,78 +0,0 @@
.align 2
gContestEffectDescriptionPointers:: @ 8587C50
.4byte gContestEffect00hDescription
.4byte gContestEffect01hDescription
.4byte gContestEffect02hDescription
.4byte gContestEffect03hDescription
.4byte gContestEffect04hDescription
.4byte gContestEffect05hDescription
.4byte gContestEffect06hDescription
.4byte gContestEffect07hDescription
.4byte gContestEffect08hDescription
.4byte gContestEffect09hDescription
.4byte gContestEffect0AhDescription
.4byte gContestEffect0BhDescription
.4byte gContestEffect0ChDescription
.4byte gContestEffect0DhDescription
.4byte gContestEffect0EhDescription
.4byte gContestEffect0FhDescription
.4byte gContestEffect10hDescription
.4byte gContestEffect11hDescription
.4byte gContestEffect12hDescription
.4byte gContestEffect13hDescription
.4byte gContestEffect14hDescription
.4byte gContestEffect15hDescription
.4byte gContestEffect16hDescription
.4byte gContestEffect17hDescription
.4byte gContestEffect18hDescription
.4byte gContestEffect19hDescription
.4byte gContestEffect1AhDescription
.4byte gContestEffect1BhDescription
.4byte gContestEffect1ChDescription
.4byte gContestEffect1DhDescription
.4byte gContestEffect1EhDescription
.4byte gContestEffect1FhDescription
.4byte gContestEffect20hDescription
.4byte gContestEffect21hDescription
.4byte gContestEffect22hDescription
.4byte gContestEffect23hDescription
.4byte gContestEffect24hDescription
.4byte gContestEffect25hDescription
.4byte gContestEffect26hDescription
.4byte gContestEffect27hDescription
.4byte gContestEffect28hDescription
.4byte gContestEffect29hDescription
.4byte gContestEffect2AhDescription
.4byte gContestEffect2BhDescription
.4byte gContestEffect2ChDescription
.4byte gContestEffect2DhDescription
.4byte gContestEffect2EhDescription
.4byte gContestEffect2FhDescription
@ 8587D10
@ Unreferenced array of pointers to move names.
@ All of the moves except Conversion are combo starters, so this may have
@ been an early list of combo starters.
.align 2
.4byte gUnusedContestMoveName0
.4byte gUnusedContestMoveName0
.4byte gUnusedContestMoveName1
.4byte gUnusedContestMoveName2
.4byte gUnusedContestMoveName3
.4byte gUnusedContestMoveName4
.4byte gUnusedContestMoveName5
.4byte gUnusedContestMoveName6
.4byte gUnusedContestMoveName7
.4byte gUnusedContestMoveName8
.4byte gUnusedContestMoveName9
.4byte gUnusedContestMoveName10
.4byte gUnusedContestMoveName11
.4byte gUnusedContestMoveName12
.align 2
gContestMoveTypeTextPointers:: @ 8587D48
.4byte gContestMoveTypeCoolText
.4byte gContestMoveTypeBeautyText
.4byte gContestMoveTypeCuteText
.4byte gContestMoveTypeSmartText
.4byte gContestMoveTypeToughText

View File

@ -196,19 +196,33 @@ enum
CONTEST_STRING_NONE = 255
};
enum {
CONTEST_RANK_NORMAL,
CONTEST_RANK_SUPER,
CONTEST_RANK_HYPER,
CONTEST_RANK_MASTER,
CONTEST_RANK_LINK
};
enum {
CONTEST_FILTER_NONE,
CONTEST_FILTER_NO_POSTGAME,
CONTEST_FILTER_ONLY_POSTGAME
};
struct ContestPokemon
{
/*0x00*/ u16 species;
/*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
/*0x0D*/ u8 trainerName[8];
/*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1];
/*0x15*/ u8 trainerGfxId;
/*0x18*/ u32 flags;
/*0x1C*/ u8 whichRank:2;
u8 aiPool_Cool:1;
u8 aiPool_Beauty:1;
u8 aiPool_Cute:1;
u8 aiPool_Smart:1;
u8 aiPool_Tough:1;
/*0x1C*/ u8 whichRank:2; // 0x1 0x2
u8 aiPool_Cool:1; // 0x4
u8 aiPool_Beauty:1; // 0x8
u8 aiPool_Cute:1; // 0x10
u8 aiPool_Smart:1; // 0x20
u8 aiPool_Tough:1; // 0x40
/*0x1E*/ u16 moves[4]; // moves
/*0x26*/ u8 cool; // cool
/*0x27*/ u8 beauty; // beauty
@ -219,7 +233,7 @@ struct ContestPokemon
/*0x2C*/ u8 unk2C[12];
/*0x38*/ u32 personality; // personality
/*0x3C*/ u32 otId; // otId
}; // wow
};
struct Shared18000
{

View File

@ -4765,6 +4765,14 @@ extern const u32 gUnknown_08C16FA8[];
extern const u32 gUnknown_08C16E90[];
extern const u32 gUnknown_08C17170[];
extern const u32 gUnknown_08C17980[];
extern const u32 gTiles_8C19450[];
extern const u32 gContestNextTurnGfx[];
extern const u16 gContestPal[];
extern const u32 gUnknown_08C19168[];
extern const u32 gContestApplauseGfx[];
extern const u32 gContestJudgeGfx[];
extern const u32 gContestJudgeSymbolsGfx[];
extern const u32 gContest3Pal[];
extern const u32 gUnknown_08D95E00[];
extern const u32 gUnknown_08D960D0[];

View File

@ -486,7 +486,7 @@ SECTIONS {
src/item_menu_icons.o(.rodata);
src/battle_anim_mon_movement.o(.rodata);
src/item.o(.rodata);
data/contest.o(.rodata);
src/contest.o(.rodata);
src/shop.o(.rodata);
src/fldeff_escalator.o(.rodata);
src/berry.o(.rodata);

View File

@ -218,12 +218,6 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0;
// IWRAM common vars.
u32 gContestRngValue;
extern const u16 gUnknown_08587C30[];
extern const struct BgTemplate gUnknown_08587F34[4];
extern const struct WindowTemplate gUnknown_08587F44[];
extern const u8 *const gUnknown_08587D90[];
extern const u8 *const gUnknown_08587F08[];
extern const u8 *const gUnknown_08587F1C[];
extern const u8 *const gUnknown_0827E8DA[];
extern const u8 gText_0827D55A[];
extern const u8 gText_0827E793[];
@ -248,33 +242,615 @@ extern const u8 gText_Contest_Fear[];
extern const u8 gText_BDot[];
extern const u8 gText_CDot[];
extern const u8 *const gUnknown_08587E10[];
extern const struct ContestPokemon gContestOpponents[96];
extern const u8 gUnknown_085898A4[96];
extern const struct CompressedSpriteSheet gUnknown_08587C00;
extern const struct SpriteTemplate gSpriteTemplate_8587BE8;
extern const struct CompressedSpriteSheet gUnknown_08587C08;
extern const struct CompressedSpritePalette gUnknown_08587C10;
extern const struct SpriteTemplate gSpriteTemplate_8587C18;
extern const union AffineAnimCmd *const gUnknown_082FF6C0[];
extern const union AffineAnimCmd *const gUnknown_082FF694[];
extern const u8 *const gContestEffectDescriptionPointers[];
extern const struct SpriteSheet gUnknown_08587A74;
extern const u8 gUnknown_08587A6C[];
extern const struct SpriteTemplate gSpriteTemplate_8587AD0;
extern const struct SpritePalette gUnknown_08587B08;
extern const struct CompressedSpriteSheet gUnknown_08587AE8[];
extern const struct SpriteTemplate gSpriteTemplate_8587B18[];
extern const u8 gUnknown_08587A70[];
extern const struct SubspriteTable gSubspriteTables_8587B80[];
extern const struct CompressedSpriteSheet gUnknown_08587BB0;
extern const struct SpritePalette gUnknown_08587BB8;
extern const struct SpriteTemplate gSpriteTemplate_8587BC8;
extern void (*const gContestEffectFuncs[])(void);
extern const s8 gContestExcitementTable[][5];
extern const struct ContestWinner gUnknown_08587FA4[];
extern const struct CompressedSpriteSheet gUnknown_08589904[];
extern const struct SpritePalette gUnknown_08589924[];
extern const struct SpriteTemplate gSpriteTemplate_858998C[];
static const u8 gUnknown_08587A6C[] =
{
0x24, 0x4C, 0x74, 0x9C
};
static const u8 gUnknown_08587A70[] =
{
0x24, 0x4C, 0x74, 0x9C
};
static const struct SpriteSheet gUnknown_08587A74 =
{
.data = gTiles_8C19450,
.size = 0x20,
.tag = 0x4E20
};
static const struct OamData gOamData_8587A7C =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
.size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0
};
static const union AffineAnimCmd gSpriteAffineAnim_8587A84[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_8587A94[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, -20, 20),
AFFINEANIMCMD_END
};
static const union AffineAnimCmd gSpriteAffineAnim_8587AAC[] =
{
AFFINEANIMCMD_FRAME(0x38, 0x38, 0, 0),
AFFINEANIMCMD_FRAME(10, 10, 20, 20),
AFFINEANIMCMD_END
};
static const union AffineAnimCmd* const gSpriteAffineAnimTable_8587AC4[] =
{
gSpriteAffineAnim_8587A84,
gSpriteAffineAnim_8587A94,
gSpriteAffineAnim_8587AAC
};
static const struct SpriteTemplate gSpriteTemplate_8587AD0 =
{
.tileTag = 0x4E20,
.paletteTag = 0xABE0,
.oam = &gOamData_8587A7C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_8587AC4,
.callback = SpriteCallbackDummy
};
static const struct CompressedSpriteSheet gUnknown_08587AE8[] =
{
{
.data = gContestNextTurnGfx,
.size = 0x100,
.tag = 0x4E22
},
{
.data = gContestNextTurnGfx,
.size = 0x100,
.tag = 0x4E23
},
{
.data = gContestNextTurnGfx,
.size = 0x100,
.tag = 0x4E24
},
{
.data = gContestNextTurnGfx,
.size = 0x100,
.tag = 0x4E25
}
};
static const struct SpritePalette gUnknown_08587B08 =
{
.data = gContestPal,
.tag = 0x4E22
};
static const struct OamData gOamData_8587B10 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
.size = SPRITE_SIZE(32x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0
};
static const struct SpriteTemplate gSpriteTemplate_8587B18[] =
{
{
.tileTag = 0x4E22,
.paletteTag = 0x4E22,
.oam = &gOamData_8587B10,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = 0x4E23,
.paletteTag = 0x4E22,
.oam = &gOamData_8587B10,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = 0x4E24,
.paletteTag = 0x4E22,
.oam = &gOamData_8587B10,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
},
{
.tileTag = 0x4E25,
.paletteTag = 0x4E22,
.oam = &gOamData_8587B10,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
}
};
const struct Subsprite gSubspriteTable_8587B78[] =
{
{
.x = -28,
.y = -4,
.shape = ST_OAM_H_RECTANGLE,
.size = 1,
.tileOffset = 0,
.priority = 0
},
{
.x = 4,
.y = -4,
.shape = ST_OAM_H_RECTANGLE,
.size = 1,
.tileOffset = 4,
.priority = 0
}
};
const struct SubspriteTable gSubspriteTables_8587B80[] =
{
{
.subspriteCount = 2,
.subsprites = gSubspriteTable_8587B78
}
};
const struct CompressedSpriteSheet gUnknown_08587B88 =
{
.data = gUnknown_08C19168,
.size = 0x180,
.tag = 0xABE1
};
const struct OamData gOamData_8587B90 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
.size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0
};
const struct SpriteTemplate gSpriteTemplate_8587B98 =
{
.tileTag = 0xABE1,
.paletteTag = 0xABE0,
.oam = &gOamData_8587B90,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const struct CompressedSpriteSheet gUnknown_08587BB0 =
{
.data = gContestApplauseGfx,
.size = 0x400,
.tag = 0xABE2
};
const struct SpritePalette gUnknown_08587BB8 =
{
.data = gContestPal,
.tag = 0xABE2
};
const struct OamData gOamData_8587BC0 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
.size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0
};
const struct SpriteTemplate gSpriteTemplate_8587BC8 =
{
.tileTag = 0xABE2,
.paletteTag = 0xABE2,
.oam = &gOamData_8587BC0,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const struct OamData gOamData_8587BE0 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
.size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 3,
.paletteNum = 2,
.affineParam = 0
};
const struct SpriteTemplate gSpriteTemplate_8587BE8 =
{
.tileTag = 0x4E21,
.paletteTag = 0x4E21,
.oam = &gOamData_8587BE0,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const struct CompressedSpriteSheet gUnknown_08587C00 =
{
.data = gContestJudgeGfx,
.size = 0x800,
.tag = 0x4E21
};
const struct CompressedSpriteSheet gUnknown_08587C08 =
{
.data = gContestJudgeSymbolsGfx,
.size = 0x380,
.tag = 0xABE0
};
const struct CompressedSpritePalette gUnknown_08587C10 =
{
.data = gContest3Pal,
.tag = 0xABE0
};
const struct SpriteTemplate gSpriteTemplate_8587C18 =
{
.tileTag = 0xABE0,
.paletteTag = 0xABE0,
.oam = &gUnknown_0852490C,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const u16 gUnknown_08587C30[] = INCBIN_U16("graphics/unknown/unknown_587C30.gbapal");
#include "data/contest_text_tables.h"
const struct BgTemplate gUnknown_08587F34[] =
{
{
.bg = 0,
.charBaseIndex = 0,
.mapBaseIndex = 0x18,
.screenSize = 2,
.paletteMode = 0,
.priority = 0,
.baseTile = 0
},
{
.bg = 1,
.charBaseIndex = 2,
.mapBaseIndex = 0x1E,
.screenSize = 2,
.paletteMode = 0,
.priority = 1,
.baseTile = 0
},
{
.bg = 2,
.charBaseIndex = 0,
.mapBaseIndex = 0x1C,
.screenSize = 2,
.paletteMode = 0,
.priority = 0,
.baseTile = 0
},
{
.bg = 3,
.charBaseIndex = 0,
.mapBaseIndex = 0x1A,
.screenSize = 0,
.paletteMode = 0,
.priority = 3,
.baseTile = 0
}
};
const struct WindowTemplate gUnknown_08587F44[] =
{
{
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 0,
.width = 12,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x200
},
{
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 5,
.width = 12,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x218
},
{
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 10,
.width = 12,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x230
},
{
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 15,
.width = 12,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x248
},
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 15,
.width = 17,
.height = 4,
.paletteNum = 0xF,
.baseBlock = 0x260
},
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 0x1F,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2A4
},
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 0x21,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2B6
},
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 0x23,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2C8
},
{
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 0x25,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2DA
},
{
.bg = 0,
.tilemapLeft = 16,
.tilemapTop = 0x1F,
.width = 1,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2EC
},
{
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 0x23,
.width = 18,
.height = 4,
.paletteNum = 0xF,
.baseBlock = 0x2EE
},
DUMMY_WIN_TEMPLATE
};
#include "data/contest_opponents.h"
static const struct CompressedSpriteSheet sUnknown_08589904[] =
{
{
.data = gBlankGfxCompressed,
.size = 0x1000,
.tag = 0x80E8
},
{
.data = gBlankGfxCompressed,
.size = 0x1000,
.tag = 0x80E9
},
{
.data = gBlankGfxCompressed,
.size = 0x1000,
.tag = 0x80EA
},
{
.data = gBlankGfxCompressed,
.size = 0x1000,
.tag = 0x80EB
}
};
// Yup this is super dangerous but that's how it is here
static const struct SpritePalette sUnknown_08589924[] =
{
{
.data = (u16*)(gHeap + 0x1A0A4),
.tag = 0x80E8
},
{
.data = (u16*)(gHeap + 0x1A0C4),
.tag = 0x80E9
},
{
.data = (u16*)(gHeap + 0x1A0E4),
.tag = 0x80EA
},
{
.data = (u16*)(gHeap + 0x1A104),
.tag = 0x80EB
}
};
const struct OamData gOamData_8589944 =
{
.y = 0,
.affineMode = 3,
.objMode = 1,
.mosaic = 0,
.bpp = 0,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
.size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0
};
const union AffineAnimCmd gSpriteAffineAnim_858994C[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END
};
const union AffineAnimCmd gSpriteAffineAnim_858995C[] =
{
AFFINEANIMCMD_FRAME(3, 3, 0, 15),
AFFINEANIMCMD_FRAME(-3, -3, 0, 15),
AFFINEANIMCMD_FRAME(3, 3, 0, 15),
AFFINEANIMCMD_FRAME(-3, -3, 0, 15),
AFFINEANIMCMD_END
};
const union AffineAnimCmd *const gSpriteAffineAnimTable_8589984[] =
{
gSpriteAffineAnim_858994C,
gSpriteAffineAnim_858995C
};
const struct SpriteTemplate gSpriteTemplate_858998C[] =
{
{
.tileTag = 0x80E8,
.paletteTag = 0x80E8,
.oam = &gOamData_8589944,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_8589984,
.callback = SpriteCallbackDummy
},
{
.tileTag = 0x80E9,
.paletteTag = 0x80E9,
.oam = &gOamData_8589944,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_8589984,
.callback = SpriteCallbackDummy
},
{
.tileTag = 0x80EA,
.paletteTag = 0x80EA,
.oam = &gOamData_8589944,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_8589984,
.callback = SpriteCallbackDummy
},
{
.tileTag = 0x80EB,
.paletteTag = 0x80EB,
.oam = &gOamData_8589944,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_8589984,
.callback = SpriteCallbackDummy
}
};
const s8 gContestExcitementTable[][5] =
{
{ 1, 0, -1, -1, 0},
{ 0, 1, 0, -1, -1},
{-1, 0, 1, 0, -1},
{-1, -1, 0, 1, 0},
{ 0, -1, -1, 0, 1}
};
static void TaskDummy1(u8 taskId)
{
@ -2118,7 +2694,7 @@ void sub_80DAB8C(u8 contestType, u8 rank)
r7 = TRUE;
// Find all suitable opponents
r3 = gUnknown_085898A4;
r3 = gPostgameContestOpponentFilter;
for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++)
{
if (rank == gContestOpponents[i].whichRank)
@ -2178,12 +2754,12 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
if (isPostgame == TRUE)
{
if (gUnknown_085898A4[i] == 1)
if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_NO_POSTGAME)
continue;
}
else
{
if (gUnknown_085898A4[i] == 2)
if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_ONLY_POSTGAME)
continue;
}
if ((contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool)
@ -3317,8 +3893,8 @@ static u8 sub_80DC9EC(u8 a)
u8 spriteId1, spriteId2;
u8 x = gUnknown_02039F26[a] * 40 + 32;
LoadCompressedSpriteSheet(&gUnknown_08589904[a]);
LoadSpritePalette(&gUnknown_08589924[a]);
LoadCompressedSpriteSheet(&sUnknown_08589904[a]);
LoadSpritePalette(&sUnknown_08589924[a]);
spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29);
spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29);
gSprites[spriteId2].oam.tileNum += 64;

3066
src/data/contest_opponents.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,414 @@
#include "global.h"
extern const u8 gContestEffect00hDescription[];
extern const u8 gContestEffect01hDescription[];
extern const u8 gContestEffect02hDescription[];
extern const u8 gContestEffect03hDescription[];
extern const u8 gContestEffect04hDescription[];
extern const u8 gContestEffect05hDescription[];
extern const u8 gContestEffect06hDescription[];
extern const u8 gContestEffect07hDescription[];
extern const u8 gContestEffect08hDescription[];
extern const u8 gContestEffect09hDescription[];
extern const u8 gContestEffect0AhDescription[];
extern const u8 gContestEffect0BhDescription[];
extern const u8 gContestEffect0ChDescription[];
extern const u8 gContestEffect0DhDescription[];
extern const u8 gContestEffect0EhDescription[];
extern const u8 gContestEffect0FhDescription[];
extern const u8 gContestEffect10hDescription[];
extern const u8 gContestEffect11hDescription[];
extern const u8 gContestEffect12hDescription[];
extern const u8 gContestEffect13hDescription[];
extern const u8 gContestEffect14hDescription[];
extern const u8 gContestEffect15hDescription[];
extern const u8 gContestEffect16hDescription[];
extern const u8 gContestEffect17hDescription[];
extern const u8 gContestEffect18hDescription[];
extern const u8 gContestEffect19hDescription[];
extern const u8 gContestEffect1AhDescription[];
extern const u8 gContestEffect1BhDescription[];
extern const u8 gContestEffect1ChDescription[];
extern const u8 gContestEffect1DhDescription[];
extern const u8 gContestEffect1EhDescription[];
extern const u8 gContestEffect1FhDescription[];
extern const u8 gContestEffect20hDescription[];
extern const u8 gContestEffect21hDescription[];
extern const u8 gContestEffect22hDescription[];
extern const u8 gContestEffect23hDescription[];
extern const u8 gContestEffect24hDescription[];
extern const u8 gContestEffect25hDescription[];
extern const u8 gContestEffect26hDescription[];
extern const u8 gContestEffect27hDescription[];
extern const u8 gContestEffect28hDescription[];
extern const u8 gContestEffect29hDescription[];
extern const u8 gContestEffect2AhDescription[];
extern const u8 gContestEffect2BhDescription[];
extern const u8 gContestEffect2ChDescription[];
extern const u8 gContestEffect2DhDescription[];
extern const u8 gContestEffect2EhDescription[];
extern const u8 gContestEffect2FhDescription[];
extern const u8 gUnusedContestMoveName0[];
extern const u8 gUnusedContestMoveName1[];
extern const u8 gUnusedContestMoveName2[];
extern const u8 gUnusedContestMoveName3[];
extern const u8 gUnusedContestMoveName4[];
extern const u8 gUnusedContestMoveName5[];
extern const u8 gUnusedContestMoveName6[];
extern const u8 gUnusedContestMoveName7[];
extern const u8 gUnusedContestMoveName8[];
extern const u8 gUnusedContestMoveName9[];
extern const u8 gUnusedContestMoveName10[];
extern const u8 gUnusedContestMoveName11[];
extern const u8 gUnusedContestMoveName12[];
extern const u8 gContestMoveTypeCoolText[];
extern const u8 gContestMoveTypeBeautyText[];
extern const u8 gContestMoveTypeCuteText[];
extern const u8 gContestMoveTypeSmartText[];
extern const u8 gContestMoveTypeToughText[];
extern const u8 gText_0827D5C1[];
extern const u8 gText_0827D5DC[];
extern const u8 gText_0827D600[];
extern const u8 gText_0827D612[];
extern const u8 gText_0827D612[];
extern const u8 gText_0827D62D[];
extern const u8 gText_0827D654[];
extern const u8 gText_0827D67E[];
extern const u8 gText_0827D69C[];
extern const u8 gText_0827D6BA[];
extern const u8 gText_0827D6E5[];
extern const u8 gText_0827D706[];
extern const u8 gText_0827D71D[];
extern const u8 gText_0827D743[];
extern const u8 gText_0827D764[];
extern const u8 gText_0827D785[];
extern const u8 gText_0827D7A5[];
extern const u8 gText_0827D7C8[];
extern const u8 gText_0827D7E8[];
extern const u8 gText_0827D831[];
extern const u8 gText_0827D855[];
extern const u8 gText_0827D830[];
extern const u8 gText_0827D872[];
extern const u8 gText_0827D88F[];
extern const u8 gText_0827D8B5[];
extern const u8 gText_0827D8E4[];
extern const u8 gText_0827D8FE[];
extern const u8 gText_0827D926[];
extern const u8 gText_0827D947[];
extern const u8 gText_0827D961[];
extern const u8 gText_0827D986[];
extern const u8 gText_0827D9B1[];
extern const u8 gText_0827D9D9[];
extern const u8 gText_0827DA03[];
extern const u8 gText_0827DA31[];
extern const u8 gText_0827DA5B[];
extern const u8 gText_0827DA85[];
extern const u8 gText_0827DAB2[];
extern const u8 gText_0827DADA[];
extern const u8 gText_0827DB03[];
extern const u8 gText_0827D830[];
extern const u8 gText_0827D830[];
extern const u8 gText_0827D830[];
extern const u8 gText_0827DB1F[];
extern const u8 gText_0827DB4E[];
extern const u8 gText_827DB75[];
extern const u8 gText_827DBB0[];
extern const u8 gText_827DBE0[];
extern const u8 gText_827DC0F[];
extern const u8 gText_827DC45[];
extern const u8 gText_827DC7C[];
extern const u8 gText_827DCB4[];
extern const u8 gText_827DCE7[];
extern const u8 gText_827DD12[];
extern const u8 gText_827DD3D[];
extern const u8 gText_827DD6F[];
extern const u8 gText_827DD8E[];
extern const u8 gText_827DDC7[];
extern const u8 gText_827DDF2[];
extern const u8 gText_827DE14[];
extern const u8 gText_827DE44[];
extern const u8 gText_827DE73[];
extern const u8 gText_827DEA5[];
extern const u8 gText_827DED9[];
extern const u8 gText_827DF02[];
extern const u8 gText_827DF3A[];
extern const u8 gText_827DF63[];
extern const u8 gText_827DF8C[];
extern const u8 gText_827DFB8[];
extern const u8 gText_827DFE2[];
extern const u8 gText_827E00C[];
extern const u8 gText_827E02F[];
extern const u8 gText_827E05F[];
extern const u8 gText_827E08B[];
extern const u8 gText_827E0B5[];
extern const u8 gText_827E0DD[];
extern const u8 gText_827E107[];
extern const u8 gText_827E143[];
extern const u8 gText_827E17F[];
extern const u8 gText_827E1BB[];
extern const u8 gText_827E1F3[];
extern const u8 gText_827E220[];
extern const u8 gText_827E254[];
extern const u8 gText_827E289[];
extern const u8 gText_827E2C5[];
extern const u8 gText_0827E2FE[];
extern const u8 gText_0827E32E[];
extern const u8 gText_0827E35B[];
extern const u8 gText_0827E38D[];
extern const u8 gText_0827E3C1[];
extern const u8 gText_0827E3EB[];
extern const u8 gText_0827E416[];
extern const u8 gText_0827E448[];
extern const u8 gText_0827E473[];
extern const u8 gText_0827E4A6[];
extern const u8 gText_0827E4D5[];
extern const u8 gText_0827E504[];
extern const u8 gText_0827E531[];
extern const u8 gText_0827E55A[];
extern const u8 gText_0827E5B2[];
extern const u8 gText_0827E5D0[];
extern const u8 gText_0827E606[];
extern const u8 gText_0827E638[];
extern const u8 gText_0827E658[];
extern const u8 gText_0827E68B[];
extern const u8 gText_0827E6C4[];
extern const u8 gText_0827E7BA[];
extern const u8 gText_0827E85F[];
extern const u8 gText_0827E868[];
extern const u8 gText_0827E86F[];
extern const u8 gText_0827E878[];
extern const u8 gText_0827E882[];
extern const u8 gText_0827E894[];
extern const u8 gText_0827E89E[];
extern const u8 gText_0827E8AA[];
extern const u8 gText_0827E8B4[];
extern const u8 gText_0827E8BF[];
extern const u8 gText_0827E8CA[];
const u8 *const gContestEffectDescriptionPointers[] =
{
gContestEffect00hDescription,
gContestEffect01hDescription,
gContestEffect02hDescription,
gContestEffect03hDescription,
gContestEffect04hDescription,
gContestEffect05hDescription,
gContestEffect06hDescription,
gContestEffect07hDescription,
gContestEffect08hDescription,
gContestEffect09hDescription,
gContestEffect0AhDescription,
gContestEffect0BhDescription,
gContestEffect0ChDescription,
gContestEffect0DhDescription,
gContestEffect0EhDescription,
gContestEffect0FhDescription,
gContestEffect10hDescription,
gContestEffect11hDescription,
gContestEffect12hDescription,
gContestEffect13hDescription,
gContestEffect14hDescription,
gContestEffect15hDescription,
gContestEffect16hDescription,
gContestEffect17hDescription,
gContestEffect18hDescription,
gContestEffect19hDescription,
gContestEffect1AhDescription,
gContestEffect1BhDescription,
gContestEffect1ChDescription,
gContestEffect1DhDescription,
gContestEffect1EhDescription,
gContestEffect1FhDescription,
gContestEffect20hDescription,
gContestEffect21hDescription,
gContestEffect22hDescription,
gContestEffect23hDescription,
gContestEffect24hDescription,
gContestEffect25hDescription,
gContestEffect26hDescription,
gContestEffect27hDescription,
gContestEffect28hDescription,
gContestEffect29hDescription,
gContestEffect2AhDescription,
gContestEffect2BhDescription,
gContestEffect2ChDescription,
gContestEffect2DhDescription,
gContestEffect2EhDescription,
gContestEffect2FhDescription
};
// Unreferenced array of pointers to move names.
// All of the moves except Conversion are combo starters, so this may have
// been an early list of combo starters.
const u8 *const gUnknown_8587D10[] =
{
gUnusedContestMoveName0,
gUnusedContestMoveName0,
gUnusedContestMoveName1,
gUnusedContestMoveName2,
gUnusedContestMoveName3,
gUnusedContestMoveName4,
gUnusedContestMoveName5,
gUnusedContestMoveName6,
gUnusedContestMoveName7,
gUnusedContestMoveName8,
gUnusedContestMoveName9,
gUnusedContestMoveName10,
gUnusedContestMoveName11,
gUnusedContestMoveName12
};
const u8 *const gContestMoveTypeTextPointers[] =
{
gContestMoveTypeCoolText,
gContestMoveTypeBeautyText,
gContestMoveTypeCuteText,
gContestMoveTypeSmartText,
gContestMoveTypeToughText
};
const u8 *const gUnknown_08587D5C[] =
{
gText_0827D5C1,
gText_0827D5DC,
gText_0827D600,
gText_0827D612,
gText_0827D612,
gText_0827D62D,
gText_0827D654,
gText_0827D67E,
gText_0827D69C,
gText_0827D6BA,
gText_0827D6E5,
gText_0827D706,
gText_0827D71D
};
const u8 *const gUnknown_08587D90[] =
{
gText_0827D743,
gText_0827D764,
gText_0827D785,
gText_0827D7A5,
gText_0827D7C8,
gText_0827D7E8,
gText_0827D831,
gText_0827D855,
gText_0827D830,
gText_0827D872,
gText_0827D88F,
gText_0827D8B5,
gText_0827D8E4,
gText_0827D8FE,
gText_0827D926,
gText_0827D947,
gText_0827D961,
gText_0827D986,
gText_0827D9B1,
gText_0827D9D9,
gText_0827DA03,
gText_0827DA31,
gText_0827DA5B,
gText_0827DA85,
gText_0827DAB2,
gText_0827DADA,
gText_0827DB03,
gText_0827D830,
gText_0827D830,
gText_0827D830,
gText_0827DB1F,
gText_0827DB4E
};
const u8 *const gUnknown_08587E10[] =
{
gText_827DB75,
gText_827DBB0,
gText_827DBE0,
gText_827DC0F,
gText_827DC45,
gText_827DC7C,
gText_827DCB4,
gText_827DCE7,
gText_827DD12,
gText_827DD3D,
gText_827DD6F,
gText_827DD8E,
gText_827DDC7,
gText_827DDF2,
gText_827DE14,
gText_827DE44,
gText_827DE73,
gText_827DEA5,
gText_827DED9,
gText_827DF02,
gText_827DF3A,
gText_827DF63,
gText_827DF8C,
gText_827DFB8,
gText_827DFE2,
gText_827E00C,
gText_827E02F,
gText_827E05F,
gText_827E08B,
gText_827E0B5,
gText_827E0DD,
gText_827E107,
gText_827E143,
gText_827E17F,
gText_827E1BB,
gText_827E1F3,
gText_827E220,
gText_827E254,
gText_827E289,
gText_827E2C5,
gText_0827E2FE,
gText_0827E32E,
gText_0827E35B,
gText_0827E38D,
gText_0827E3C1,
gText_0827E3EB,
gText_0827E416,
gText_0827E448,
gText_0827E473,
gText_0827E4A6,
gText_0827E4D5,
gText_0827E504,
gText_0827E531,
gText_0827E55A,
gText_0827E5B2,
gText_0827E5D0,
gText_0827E606,
gText_0827E638,
gText_0827E658,
gText_0827E68B,
gText_0827E6C4,
gText_0827E7BA
};
const u8 *const gUnknown_08587F08[] =
{
gText_0827E85F,
gText_0827E868,
gText_0827E86F,
gText_0827E878,
gText_0827E882
};
const u8 *const gUnknown_08587F1C[] =
{
gText_0827E894,
gText_0827E89E,
gText_0827E8AA,
gText_0827E8B4,
gText_0827E8BF,
gText_0827E8CA
};