642
src/contest.c
642
src/contest.c
@@ -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
3066
src/data/contest_opponents.h
Normal file
File diff suppressed because it is too large
Load Diff
414
src/data/contest_text_tables.h
Normal file
414
src/data/contest_text_tables.h
Normal 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
|
||||
};
|
||||
Reference in New Issue
Block a user