Document pokedex.c, 1

This commit is contained in:
PikalaxALT 2021-06-24 16:25:50 -04:00
parent 57f52e8fae
commit 1138ab2c44
39 changed files with 864 additions and 855 deletions

View File

@ -10,8 +10,10 @@ void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *s
void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src);
void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *src, void *buffer);
void DecompressPicFromTable_2(const struct CompressedSpriteSheet *a, u8 coords, u8 y_offset, void *d, void *dest, s32 species);
void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *spriteSheet, u32 coords, u32 y_offset, u32 d, void *dest, s32 species, u32 pid);
void LoadSpecialPokePic(const struct CompressedSpriteSheet *spriteSheet, u32 coords, u32 y_offset, u32 d, void *dest, s32 species, u32 pid, u32 frontOrBack);
void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, u32 coords, u32 y_offset,
void *decompBuf, void *dest, s32 species, u32 pid);
void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, u32 b, u32 c,
void *decompBuffer, void *dest, s32 species, u32 pid, u32 frontOrBack);
void Unused_LZDecompressWramIndirect(const void **src, void *dest);
#endif // GUARD_DECOMPRESS_H

View File

@ -2,7 +2,7 @@
#define GUARD_EWRAM_H
extern u8 gSharedMem[];
#define ewram_addr 0x02000000 // used in gSharedMem addr hacks
#define ewram_addr EWRAM // used in gSharedMem addr hacks
// Note: we have duplicate ewram labels because its clear some memory
// regions overlap others but have different definitions. Until some
@ -22,11 +22,9 @@ extern u8 gSharedMem[];
#define eSaveSection (struct SaveSector *)(gSharedMem + 0x0)
#define ewram0arr ((u8 (*)[32])gSharedMem)
#define eVoidSharedArr (void *)(ewram_addr + 0x0)
#define eVoidSharedArr2 (u32)(ewram_addr) // ew(ram)
#define eSlotMachine ((struct SlotMachineEwramStruct *)(gSharedMem + 0x0))
#define ewram0_9(i) (u8 *)(ewram_addr + (i * 0x20))
#define ePokemonStorageSystem (*(struct PokemonStorageSystemData *)(gSharedMem + 0))
#define ewram4 (*(struct UnknownStruct8 *)(gSharedMem + 0x4))
#define ewram520 ((struct UnknownStruct7 *)(gSharedMem + 0x00520))
#define ewram520_2 (u8 *)(ewram_addr + 0x520)
#define eMaySprite (gSharedMem + 0x800)
@ -41,8 +39,10 @@ extern u8 gSharedMem[];
#define ARRAY_2007800 ((struct EasyChatPair *)(gSharedMem + 0x7800))
#define ARRAY_2007900 ((struct EasyChatPair *)(gSharedMem + 0x7900))
#define ewram_2008000 (*(struct PlayerRecords *)(gSharedMem + 0x08000))
// pokedex.c
#define ePokedexGraphicsBuffer ((void *)&gSharedMem[0x8000])
#define ewram8000 (&gSharedMem[0x8000])
#define ePokedexPalAddr1 (void *)(gSharedMem + 0x8000)
#define ewram8800 (&gSharedMem[0x8800])
#define ewram9000 (&gSharedMem[0x9000])
#define ewram9000_hack (void *)(ewram_addr + 0x9000) // TODO: Fix this.
@ -53,7 +53,6 @@ extern u8 gSharedMem[];
#define ewramB800 (&gSharedMem[0xB800])
#define TRANSITION_STRUCT (*(struct TransitionData *) (gSharedMem + 0xC000))
#define ewramC000 (&gSharedMem[0xC000])
#define ePokedexPalAddr2 (void *)(gSharedMem + 0xC000)
#define ewramC03C (&gSharedMem[0xC03C])
#define ewramC800 (&gSharedMem[0xC800])
#define ewramD000 (&gSharedMem[0xD000])
@ -65,18 +64,13 @@ extern u8 gSharedMem[];
#define ewram_2010000 (*(struct TradeEwramStruct *)(gSharedMem + 0x10000))
#define ewram10000 (&gSharedMem[0x10000])
#define eSlotMachineGfxBuffer (void *)(gSharedMem + 0x10000) // slot machine
#define ePokedexPalAddr3 (void *)(gSharedMem + 0x10000)
#define ewram10800 (&gSharedMem[0x10800])
#define ewram11000 (&gSharedMem[0x11000])
#define ewram11800 (&gSharedMem[0x11800])
#define ewram12000 (&gSharedMem[0x12000])
#define ewram12800 (&gSharedMem[0x12800])
#define ewram13000 (&gSharedMem[0x13000])
#define eSlotMachineReelTimeGfxBuffer (&gSharedMem[0x13200])
#define ewram13800 (&gSharedMem[0x13800])
#define EWRAM_14000 ((u8 *)(gSharedMem + 0x14000))
#define ewram14000 (&gSharedMem[0x14000])
#define ePokedexPalAddr4 (void *)(gSharedMem + 0x14000)
#define ewram14000arr(i, data) (gSharedMem[0x14000 + i + data])
#define ewram14004arr(i, data) (gSharedMem[0x14004 + i + data])
#define ewram14008arr(i, data) (gSharedMem[0x14008 + data + i])
@ -87,8 +81,6 @@ extern u8 gSharedMem[];
#define ewram15000 (&gSharedMem[0x15000])
#define ewram15000arr(i, data) (gSharedMem[0x15000 + data + i])
#define ewram16000_2 (&gSharedMem[0x16000])
// Contest
#define eUnzippedContestAudience_Gfx (&gSharedMem[0x15800]) // overlaps other contest vars
#define eCurContestWinnerSaveIdx (gSharedMem[0x15DDE])
@ -108,7 +100,6 @@ extern u8 gSharedMem[];
// Battle Struct
// For matching purposes, the struct is placed at 0x02000000 and
// there's a ton of filler.
#define ewram16000 (gSharedMem[0x16000])
#define ewram16003 (gSharedMem[0x16003])
#define ewram16004arr(i, battler) (gSharedMem[0x16004 + i + battler * 2])
#define ewram16010arr(battler) (gSharedMem[0x16010 + battler])
@ -182,7 +173,6 @@ extern u8 gSharedMem[];
#define eMoveTutorMenu (struct MoveTutorMenu *)(gSharedMem + 0x17000)
#define eCableCar1 ((struct CableCarEwramStruct1 *)(gSharedMem + 0x17000))
#define gBattleSpriteInfo ((struct BattleSpriteInfo *) (gSharedMem + 0x17800))
#define ewram17800_2 (&gSharedMem[0x17800])
#define EWRAM_17800 ((struct UnknownStruct1 *)(gSharedMem + 0x17800))
#define eTransformStatuses ((struct TransformStatus *)(gSharedMem + 0x17800))
#define ewram17810 ((struct Struct2017810 *) (gSharedMem + 0x17810))
@ -214,13 +204,10 @@ extern u8 gSharedMem[];
#define ewram19800 (&gSharedMem[0x19800])
#define ePokedexView4 (struct PokedexView *)(gSharedMem + 0x19800)
#define ewram1A000 (&gSharedMem[0x1A000])
#define ewram1A800 (&gSharedMem[0x1A800])
#define ewram1B000 (*(struct Unk201B000 *)(gSharedMem + 0x1B000))
#define ewram1B000_alt (*(struct Struct201B000 *)(gSharedMem + 0x1B000))
#define EWRAM_1B000 ewram1B000_alt // FIXME
#define EWRAM_1B000_2 (*(struct Struct201B000 *)(gSharedMem + 0x1B000))
#define ewram1B000_2 (&gSharedMem[0x1B000])
#define ewram1B800 (&gSharedMem[0x1B800])
#define EWRAM_1C000 (*(struct Struct201C000 *)(gSharedMem + 0x1C000))
#define ewram1C000 (*(struct Unk201C000 *)(gSharedMem + 0x1C000))
#define ewram1c000 (*(struct Unk201C000 *)(gSharedMem + 0x1C000)) // FIXME, names too similar

View File

@ -9,7 +9,7 @@ extern const struct SpritePalette gUnknown_0839F114;
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[2];
extern const struct SpriteTemplate gSpriteTemplate_839F128;
extern const struct OamData gOamData_839F0F4;
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u8 gLastFieldPokeMenuOpened;

View File

@ -758,7 +758,7 @@ struct Time
struct Pokedex
{
/*0x00*/ u8 order;
/*0x01*/ u8 unknown1;
/*0x01*/ u8 mode;
/*0x02*/ u8 nationalMagic; // must equal 0xDA in order to have National mode
/*0x03*/ u8 unknown2;
/*0x04*/ u32 unownPersonality; // set when you first see Unown

View File

@ -46,9 +46,9 @@ struct PokedexEntry
extern const struct PokedexEntry gPokedexEntries[];
u16 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum);
u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum);
u16 CreateSizeScreenTrainerPic(u16 gender, s16 x, s16 y, u16 paletteNum);
u16 CreateMonSpriteFromNationalDexNumber(u16 num, s16 x, s16 y, u16 paletteNum);
void sub_8091738(u16, u16, u16);
void PrintFootprint(u16 num, u16 b, u16 c);
#endif // GUARD_POKEDEX_H

View File

@ -46,7 +46,7 @@ extern bool8 gDoingBattleAnim;
extern u8 gBattleOutcome;
extern u16 gIntroSlideFlags;
extern u8 gUnknown_02024E68[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u8 gAnimMoveTurn;
extern struct Window gWindowTemplate_Contest_MoveDescription;
extern u8 gUnknown_0300434C[];
@ -1148,7 +1148,7 @@ void LinkOpponentHandleLoadPokeSprite(void)
BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
sub_8077F68(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
@ -1178,7 +1178,7 @@ void sub_8039430(u8 a, u8 b)
BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a);
GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a));
gBattlerSpriteIds[a] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(a, 2),
sub_8077F68(a),
GetBattlerSubpriority(a));
@ -1250,7 +1250,7 @@ void LinkOpponentHandleTrainerThrow(void)
sub_8031A6C(gender, gActiveBattler);
GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
176 + xOffset, 40 + 4 * (8 - gTrainerFrontPicCoords[gender].coords),
GetBattlerSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;

View File

@ -42,7 +42,7 @@ extern u16 gIntroSlideFlags;
extern u8 gUnknown_02024E68[];
extern u8 gDoingBattleAnim;
extern u32 gTransformedPersonalities[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern s32 gAnimMoveDmg;
extern u16 gAnimMovePower;
extern u8 gAnimFriendship;
@ -1088,7 +1088,7 @@ void LinkPartnerHandleLoadPokeSprite(void)
GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES),
GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
sub_8077F68(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
@ -1118,7 +1118,7 @@ void sub_811F864(u8 a, u8 b)
gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0);
GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a));
gBattlerSpriteIds[a] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(a, 2),
sub_8077F68(a),
GetBattlerSubpriority(a));
@ -1189,7 +1189,7 @@ void LinkPartnerHandleTrainerThrow(void)
LoadPlayerTrainerBankSprite(gender, gActiveBattler);
GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords),
GetBattlerSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;

View File

@ -39,7 +39,7 @@ extern u8 gBattleBufferA[][0x200];
extern u16 gBattlerPartyIndexes[];
extern u8 gBattlerSpriteIds[];
extern u8 gBattleMonForms[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern void (*gBattlerControllerFuncs[])(void);
extern u8 gUnknown_0300434C[];
extern u8 gHealthboxSpriteIds[];
@ -1119,7 +1119,7 @@ void OpponentHandleLoadPokeSprite(void)
BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
sub_8077F68(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
@ -1151,7 +1151,7 @@ void sub_803495C(u8 a, u8 b)
BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a);
GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a));
gBattlerSpriteIds[a] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(a, 2),
sub_8077F68(a),
GetBattlerSubpriority(a));
@ -1227,7 +1227,7 @@ void OpponentHandleTrainerThrow(void)
sub_8031A6C(trainerPicIndex, gActiveBattler);
GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
0xB0,
40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords),
GetBattlerSubpriority(gActiveBattler));
@ -1257,7 +1257,7 @@ void OpponentHandleTrainerSlide(void)
sub_8031A6C(trainerPicIndex, gActiveBattler);
GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
0xB0,
40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords),
0x1E);

View File

@ -66,7 +66,7 @@ extern u32 gTransformedPersonalities[];
extern u8 gBattleMonForms[];
extern u16 gIntroSlideFlags;
extern u8 gUnknown_02024E68[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u8 gAnimMoveTurn;
extern u8 gUnknown_02038470[];
extern u8 gUnknown_03004344;
@ -2351,7 +2351,7 @@ void sub_802F934(u8 bank, u8 b)
gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0);
GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank));
gBattlerSpriteIds[bank] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(bank, 2),
sub_8077F68(bank),
GetBattlerSubpriority(bank));
@ -2418,7 +2418,7 @@ void PlayerHandleTrainerThrow(void)
LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler);
GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
r7 + 80,
(8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80,
GetBattlerSubpriority(gActiveBattler));
@ -2434,7 +2434,7 @@ void PlayerHandleTrainerSlide(void)
LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler);
GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
80,
(8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80,
30);

View File

@ -27,7 +27,7 @@ extern void *gBattlerControllerFuncs[];
extern u8 gBattleBufferA[][0x200];
extern bool8 gDoingBattleAnim;
extern u8 gBattlerSpriteIds[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u16 gBattleTypeFlags;
extern u32 gBattleControllerExecFlags;
extern u16 gSpecialVar_ItemId;
@ -396,7 +396,7 @@ void SafariHandleTrainerThrow(void)
LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler);
GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
80,
(8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80,
30);

View File

@ -51,7 +51,7 @@ extern u8 gBattleMonForms[];
extern u8 gBattleOutcome;
extern u16 gIntroSlideFlags;
extern u8 gUnknown_02024E68[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u8 gAnimMoveTurn;
extern struct Window gWindowTemplate_Contest_MoveDescription;
extern u8 gUnknown_0300434C[];
@ -1098,7 +1098,7 @@ void WallyHandleTrainerThrow(void)
LoadPlayerTrainerBankSprite(2, gActiveBattler);
GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords),
30);
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
@ -1113,7 +1113,7 @@ void WallyHandleTrainerSlide(void)
LoadPlayerTrainerBankSprite(2, gActiveBattler);
GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords),
30);
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
@ -1503,7 +1503,7 @@ void sub_81398BC(u8 bank)
gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0);
GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank));
gBattlerSpriteIds[bank] = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
GetBattlerSpriteCoord(bank, 2),
sub_8077F68(bank),
GetBattlerSubpriority(bank));

View File

@ -312,7 +312,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
eVoidSharedArr2,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[var],
species,
r7);
@ -364,7 +364,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
eVoidSharedArr2,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[var],
species,
r7);
@ -661,7 +661,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
eVoidSharedArr2,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[0],
species,
gContestResources__moveAnim.unk10);
@ -681,7 +681,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
eVoidSharedArr2,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[r10],
species,
gTransformedPersonalities[a]);
@ -694,7 +694,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
eVoidSharedArr2,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[r10],
species,
gTransformedPersonalities[a]);

View File

@ -66,7 +66,7 @@ struct UnknownStruct8
extern void sub_802BBD4();
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern const u8 Str_821F7B8[];
extern u8 gUnknown_02023A14_50;
extern const u16 gBattleTextboxPalette[];
@ -2627,7 +2627,7 @@ void debug_sub_8012688(void)
gCurrentMove);
LoadCompressedPalette(gMonPaletteTable[gCurrentMove].data, 272, 32);
GetMonSpriteTemplate_803C56C(gCurrentMove, 1);
spriteId = CreateSprite(&gUnknown_02024E8C, 176, 40 + gMonFrontPicCoords[gCurrentMove].y_offset, 40);
spriteId = CreateSprite(&gCreatingSpriteTemplate, 176, 40 + gMonFrontPicCoords[gCurrentMove].y_offset, 40);
gSprites[spriteId].callback = nullsub_37;
gSprites[spriteId].oam.paletteNum = 1;
REG_DISPCNT = 0x1F40;

View File

@ -38,7 +38,7 @@ extern u8 gDisplayedStringBattle[];
extern u8 gBattlerTarget;
extern u8 gBattlerSpriteIds[];
extern struct Window gWindowTemplate_Contest_MoveDescription;
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern void (*const gContestEffectFuncs[])(void);
#include "data/contest_opponents.h"
@ -1026,7 +1026,7 @@ u8 unref_sub_80AE908(void)
LoadCompressedPalette(gMonPaletteTable[species].data, 0x110, 32);
GetMonSpriteTemplate_803C56C(gContestMons[gContestPlayerMonIndex].species, 1);
spriteId = CreateSprite(
&gUnknown_02024E8C,
&gCreatingSpriteTemplate,
112, 80 + (8 - gMonFrontPicCoords[gContestMons[gContestPlayerMonIndex].species].coords) * 4,
30);
gSprites[spriteId].oam.paletteNum = 1;
@ -1046,14 +1046,14 @@ u8 CreateContestantSprite(u16 species, u32 otId, u32 personality)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
EWRAM,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[0],
species,
personality);
lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personality);
LoadCompressedPalette(lzPaletteData, 0x120, 32);
GetMonSpriteTemplate_803C56C(species, 0);
spriteId = CreateSprite(&gUnknown_02024E8C, 112, GetBattlerSpriteFinal_Y(2, species, 0), 30);
spriteId = CreateSprite(&gCreatingSpriteTemplate, 112, GetBattlerSpriteFinal_Y(2, species, 0), 30);
gSprites[spriteId].oam.paletteNum = 2;
gSprites[spriteId].oam.priority = 2;
gSprites[spriteId].subpriority = GetBattlerSubpriority(2);

View File

@ -610,12 +610,12 @@ static void sub_80C2A8C(u8 taskId)
species = gContestMons[i].species;
personality = gContestMons[i].personality;
otId = gContestMons[i].otId;
HandleLoadSpecialPokePic(gMonFrontPicTable + species, gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (intptr_t)gSharedMem, gMonSpriteGfx_Sprite_ptr[1], species, personality);
HandleLoadSpecialPokePic(gMonFrontPicTable + species, gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (void *)gSharedMem, gMonSpriteGfx_Sprite_ptr[1], species, personality);
monPal = GetMonSpritePalStructFromOtIdPersonality(species, otId, personality);
LoadCompressedObjectPalette(monPal);
GetMonSpriteTemplate_803C56C(species, 1);
gUnknown_02024E8C.paletteTag = monPal->tag;
spriteId = CreateSprite(&gUnknown_02024E8C, 0x110, 0x50, 10);
gCreatingSpriteTemplate.paletteTag = monPal->tag;
spriteId = CreateSprite(&gCreatingSpriteTemplate, 0x110, 0x50, 10);
gSprites[spriteId].data[1] = species;
gSprites[spriteId].oam.priority = 0;
gSprites[spriteId].callback = sub_80C3C44;

View File

@ -326,7 +326,7 @@ static void InitContestMonPixels(u16 species, u8 arg1)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
EWRAM,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[1],
species,
(u32)gContestPaintingWinner->personality
@ -339,7 +339,7 @@ static void InitContestMonPixels(u16 species, u8 arg1)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
EWRAM,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[0],
species,
(u32)gContestPaintingWinner->personality

View File

@ -27,7 +27,7 @@
#define CONTEST_ENTRY_PIC_LEFT 10
#define CONTEST_ENTRY_PIC_TOP 3
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u8 gSelectedOrderFromParty[];
@ -295,15 +295,15 @@ void ShowContestEntryMonPic(void)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
(u32)gMonSpriteGfx_Sprite_ptr[0],
gMonSpriteGfx_Sprite_ptr[0],
gMonSpriteGfx_Sprite_ptr[1],
species,
var1);
palette = GetMonSpritePalStructFromOtIdPersonality(species, var2, var1);
LoadCompressedObjectPalette(palette);
GetMonSpriteTemplate_803C56C(species, 1);
gUnknown_02024E8C.paletteTag = palette->tag;
spriteId = CreateSprite(&gUnknown_02024E8C, 0x78, 0x40, 0);
gCreatingSpriteTemplate.paletteTag = palette->tag;
spriteId = CreateSprite(&gCreatingSpriteTemplate, 0x78, 0x40, 0);
gTasks[taskId].data[2] = spriteId;
gTasks[taskId].data[3] = left;
gTasks[taskId].data[4] = top;

View File

@ -166,7 +166,7 @@ struct CreditsEntry
extern u8 unk_201e800[0x800];
extern u8 unk_201f000[0x800];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u16 gUnknown_02039358;
extern s16 gUnknown_0203935A;
@ -1561,7 +1561,7 @@ static u8 sub_81456B4(u16 species, u16 x, u16 y, u16 position)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
EWRAM,
(void *)EWRAM,
gUnknown_0840B5A0[position],
species,
personality,
@ -1572,7 +1572,7 @@ static u8 sub_81456B4(u16 species, u16 x, u16 y, u16 position)
LoadCompressedPalette(lzPaletteData, 0x100 + (position * 16), 0x20);
sub_8143648(position, position);
spriteId = CreateSprite(&gUnknown_02024E8C, x, y, 0);
spriteId = CreateSprite(&gCreatingSpriteTemplate, x, y, 0);
gSprites[spriteId].oam.paletteNum = position;
gSprites[spriteId].oam.priority = 1;
gSprites[spriteId].data[1] = position + 1;

View File

@ -1188,7 +1188,7 @@ const u8 gUnknown_08E96994[] = INCBIN_U8("graphics/pokedex/pokedex_listing_menu.
const u8 gUnknown_08E96ACC[] = INCBIN_U8("graphics/pokedex/pokedex_navbar.bin.lz");
const u8 gUnknown_08E96B58[] = INCBIN_U8("graphics/pokedex/pokedex_navbar_3.bin.lz");
const u8 gUnknown_08E96BD4[] = INCBIN_U8("graphics/pokedex/pokedex_detail_layout.bin.lz");
const u8 gUnknown_08E96D2C[] = INCBIN_U8("graphics/unknown/unknown_E96D2C.bin.lz");
const u8 gPokedexMenuSearch_Tilemap[] = INCBIN_U8("graphics/unknown/unknown_E96D2C.bin.lz");
const u8 gBagScreenLabels_Tilemap[] = INCBIN_U8("graphics/interface/bag_screen_labels.bin");

View File

@ -446,7 +446,7 @@ void debug_80C3A50(u8 taskId)
debug_80C3800(species, 18, 17);
spriteId = sub_8091A4C(saveBlock2->playerGender, 0x98, 0x28, 0);
spriteId = CreateSizeScreenTrainerPic(saveBlock2->playerGender, 0x98, 0x28, 0);
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 2;
gSprites[spriteId].oam.priority = 0;
@ -458,7 +458,7 @@ void debug_80C3A50(u8 taskId)
gTasks[taskId].data[4] = gPokedexEntries[natDexNum].trainerOffset;
gTasks[taskId].data[6] = gPokedexEntries[natDexNum].trainerScale;
spriteId2 = sub_80918EC(natDexNum, 0x58, 0x28, 1);
spriteId2 = CreateMonSpriteFromNationalDexNumber(natDexNum, 0x58, 0x28, 1);
gSprites[spriteId2].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId2].oam.matrixNum = 1;
gSprites[spriteId2].oam.priority = 0;
@ -601,7 +601,7 @@ NAKED void debug_80C3A50(u8 taskId)
"\tmov\tr1, #0x98\n"
"\tmov\tr2, #0x28\n"
"\tmov\tr3, #0x0\n"
"\tbl\tsub_8091A4C\n"
"\tbl\tCreateSizeScreenTrainerPic\n"
"\tmov\tr2, sp\n"
"\tstrh\tr0, [r2, #0x10]\n"
"\tadd\tr3, r0, #0\n"
@ -668,7 +668,7 @@ NAKED void debug_80C3A50(u8 taskId)
"\tmov\tr1, #0x58\n"
"\tmov\tr2, #0x28\n"
"\tmov\tr3, #0x1\n"
"\tbl\tsub_80918EC\n"
"\tbl\tCreateMonSpriteFromNationalDexNumber\n"
"\tmov\tr3, sp\n"
"\tstrh\tr0, [r3, #0x1c]\n"
"\tlsl\tr0, r0, #0x10\n"
@ -2673,20 +2673,20 @@ void debug_80C6CB8(u8 taskId)
DecompressPicFromTable_2(gMonFrontPicTable + gUnknown_Debug_2038A20->totalPoints, gMonFrontPicCoords[gUnknown_Debug_2038A20->totalPoints].coords, gMonFrontPicCoords[gUnknown_Debug_2038A20->totalPoints].y_offset, gMonSpriteGfx_Sprite_ptr[0], gMonSpriteGfx_Sprite_ptr[1], gUnknown_Debug_2038A20->totalPoints);
LoadCompressedObjectPalette(gMonPaletteTable + gUnknown_Debug_2038A20->totalPoints);
GetMonSpriteTemplate_803C56C(gUnknown_Debug_2038A20->totalPoints, 1);
gUnknown_Debug_2038A20->excitementAppealBonus = CreateSprite(&gUnknown_02024E8C, 0x28, 0x28, 0);
gUnknown_Debug_2038A20->excitementAppealBonus = CreateSprite(&gCreatingSpriteTemplate, 0x28, 0x28, 0);
gSprites[gUnknown_Debug_2038A20->excitementAppealBonus].callback = debug_69;
gSprites[gUnknown_Debug_2038A20->excitementAppealBonus].oam.priority = 0;
DecompressPicFromTable_2(gMonBackPicTable + gUnknown_Debug_2038A20->totalPoints, gMonBackPicCoords[gUnknown_Debug_2038A20->totalPoints].coords, gMonBackPicCoords[gUnknown_Debug_2038A20->totalPoints].y_offset, gMonSpriteGfx_Sprite_ptr[0], gMonSpriteGfx_Sprite_ptr[2], gUnknown_Debug_2038A20->totalPoints);
LoadCompressedObjectPalette(gMonPaletteTable + gUnknown_Debug_2038A20->totalPoints);
GetMonSpriteTemplate_803C56C(gUnknown_Debug_2038A20->totalPoints, 2);
gUnknown_Debug_2038A20->unk3 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x78, 0);
gUnknown_Debug_2038A20->unk3 = CreateSprite(&gCreatingSpriteTemplate, 0x28, 0x78, 0);
gSprites[gUnknown_Debug_2038A20->unk3].callback = debug_69;
gSprites[gUnknown_Debug_2038A20->unk3].oam.priority = 0;
gUnknown_Debug_2038A20->round1Points = CreateMonIcon(gUnknown_Debug_2038A20->totalPoints, sub_809D62C, 0x68, 0x2C, 0, 0);
sub_8091738(SpeciesToNationalPokedexNum(gUnknown_Debug_2038A20->totalPoints), 2, 0x3fc);
PrintFootprint(SpeciesToNationalPokedexNum(gUnknown_Debug_2038A20->totalPoints), 2, 0x3fc);
((u16 *)(VRAM + 0xF858))[0] = 0xF3FC;
((u16 *)(VRAM + 0xF858))[1] = 0xF3FD;
@ -3300,7 +3300,7 @@ void debug_80C7934(u8 taskId)
DecompressPicFromTable_2(gTrainerFrontPicTable + gUnknown_Debug_2038A20->totalPoints, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->totalPoints].coords, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->totalPoints].y_offset, gMonSpriteGfx_Sprite_ptr[0], gMonSpriteGfx_Sprite_ptr[1], gUnknown_Debug_2038A20->totalPoints);
LoadCompressedObjectPalette(gTrainerFrontPicPaletteTable + gUnknown_Debug_2038A20->totalPoints);
GetMonSpriteTemplate_803C5A0(gUnknown_Debug_2038A20->totalPoints, 1);
gUnknown_Debug_2038A20->excitementAppealBonus = CreateSprite(&gUnknown_02024E8C, 0x28, 0x28, 0);
gUnknown_Debug_2038A20->excitementAppealBonus = CreateSprite(&gCreatingSpriteTemplate, 0x28, 0x28, 0);
gSprites[gUnknown_Debug_2038A20->excitementAppealBonus].callback = debug_69;
gSprites[gUnknown_Debug_2038A20->excitementAppealBonus].oam.priority = 0;

View File

@ -67,7 +67,8 @@ void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, u8 coords
LZ77UnCompWram(src->data, dest);
}
void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, u32 coords, u32 y_offset, u32 d, void *dest, s32 species, u32 pid)
void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, u32 coords, u32 y_offset,
void *decompBuf, void *dest, s32 species, u32 pid)
{
u32 frontOrBack;
@ -77,10 +78,11 @@ void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, u32 coord
else
frontOrBack = 1; // frontPic
LoadSpecialPokePic(src, coords, y_offset, d, dest, species, pid, frontOrBack);
LoadSpecialPokePic(src, coords, y_offset, decompBuf, dest, species, pid, frontOrBack);
}
void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, u32 b, u32 c, u32 d, void *dest, s32 species, u32 pid, u32 frontOrBack)
void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, u32 b, u32 c,
void *decompBuffer, void *dest, s32 species, u32 pid, u32 frontOrBack)
{
u8 frontOrBack8 = frontOrBack;

View File

@ -24,7 +24,7 @@
#include "trig.h"
#include "trade.h"
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
struct EggHatchData
{
@ -356,13 +356,13 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES);
u32 pid = GetMonData(mon, MON_DATA_PERSONALITY);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, ewram0_6, gMonSpriteGfx_Sprite_ptr[2 * a0 + 1], species, pid);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, gSharedMem, gMonSpriteGfx_Sprite_ptr[2 * a0 + 1], species, pid);
LoadCompressedObjectPalette(GetMonSpritePalStruct(mon));
}
break;
case 1:
GetMonSpriteTemplate_803C56C(GetMonSpritePalStruct(mon)->tag, r5);
spriteID = CreateSprite(&gUnknown_02024E8C, 120, 70, 6);
spriteID = CreateSprite(&gCreatingSpriteTemplate, 120, 70, 6);
gSprites[spriteID].invisible = TRUE;
gSprites[spriteID].callback = SpriteCallbackDummy;
break;

View File

@ -62,7 +62,7 @@ void EnableNationalPokedex(void)
gSaveBlock2.pokedex.nationalMagic = 0xDA;
*nationalDexVar = 0x302;
FlagSet(FLAG_SYS_NATIONAL_DEX);
gSaveBlock2.pokedex.unknown1 = 1;
gSaveBlock2.pokedex.mode = 1;
gSaveBlock2.pokedex.order = 0;
sub_808C0A0();
}

View File

@ -68,7 +68,7 @@ extern struct Window gWindowTemplate_Contest_MoveDescription;
extern u8 gBattleTerrain;
extern u8 gReservedSpritePaletteCount;
extern u16 gMoveToLearn;
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern bool8 gAffineAnimsDisabled;
extern u8 gDisplayedStringBattle[];
extern u8 gBattleTextBuff2[];
@ -233,8 +233,8 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
LoadCompressedPalette(*pokePal, 0x110, 0x20);
GetMonSpriteTemplate_803C56C(currSpecies, 1);
gUnknown_02024E8C.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.preEvoSpriteID = ID = CreateSprite(&gUnknown_02024E8C, 120, 64, 30);
gCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.preEvoSpriteID = ID = CreateSprite(&gCreatingSpriteTemplate, 120, 64, 30);
gSprites[ID].callback = nullsub_37;
gSprites[ID].oam.paletteNum = 1;
@ -250,8 +250,8 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
LoadCompressedPalette(*pokePal, 0x120, 0x20);
GetMonSpriteTemplate_803C56C(speciesToEvolve, 3);
gUnknown_02024E8C.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gUnknown_02024E8C, 120, 64, 30);
gCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gCreatingSpriteTemplate, 120, 64, 30);
gSprites[ID].callback = nullsub_37;
gSprites[ID].oam.paletteNum = 2;
gSprites[ID].invisible = TRUE;
@ -330,8 +330,8 @@ static void CB2_EvolutionSceneLoadGraphics(void)
LoadCompressedPalette(*pokePal, 0x120, 0x20);
GetMonSpriteTemplate_803C56C(postEvoSpecies, 3);
gUnknown_02024E8C.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gUnknown_02024E8C, 120, 64, 30);
gCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gCreatingSpriteTemplate, 120, 64, 30);
gSprites[ID].callback = nullsub_37;
gSprites[ID].oam.paletteNum = 2;
@ -406,8 +406,8 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
u8 ID;
GetMonSpriteTemplate_803C56C(postEvoSpecies, 3);
gUnknown_02024E8C.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gUnknown_02024E8C, 120, 64, 30);
gCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gCreatingSpriteTemplate, 120, 64, 30);
gSprites[ID].callback = nullsub_37;
gSprites[ID].oam.paletteNum = 2;
@ -450,8 +450,8 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpri
LoadCompressedPalette(*pokePal, 0x120, 0x20);
GetMonSpriteTemplate_803C56C(speciesToEvolve, 1);
gUnknown_02024E8C.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gUnknown_02024E8C, 120, 64, 30);
gCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
sEvoInfo.postEvoSpriteID = ID = CreateSprite(&gCreatingSpriteTemplate, 120, 64, 30);
gSprites[ID].callback = nullsub_37;
gSprites[ID].oam.paletteNum = 2;

View File

@ -546,22 +546,22 @@ u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority)
DecompressPicFromTable_2(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, gMonSpriteGfx_Sprite_ptr[3], gMonSpriteGfx_Sprite_ptr[3], species);
LoadCompressedObjectPalette(&gMonPaletteTable[species]);
GetMonSpriteTemplate_803C56C(species, 3);
gUnknown_02024E8C.paletteTag = gMonPaletteTable[0].tag;
gCreatingSpriteTemplate.paletteTag = gMonPaletteTable[0].tag;
PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[0].tag) + 0x10);
return CreateSprite(&gUnknown_02024E8C, x, y, subpriority);
return CreateSprite(&gCreatingSpriteTemplate, x, y, subpriority);
}
u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subpriority)
{
const struct CompressedSpritePalette *spritePalette;
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)gMonSpriteGfx_Sprite_ptr[3] /* this is actually u8* or something, pointing to ewram */, gMonSpriteGfx_Sprite_ptr[3], species, g);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, gMonSpriteGfx_Sprite_ptr[3] /* this is actually u8* or something, pointing to ewram */, gMonSpriteGfx_Sprite_ptr[3], species, g);
spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, d, g);
LoadCompressedObjectPalette(spritePalette);
GetMonSpriteTemplate_803C56C(species, 3);
gUnknown_02024E8C.paletteTag = spritePalette->tag;
gCreatingSpriteTemplate.paletteTag = spritePalette->tag;
PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10);
return CreateSprite(&gUnknown_02024E8C, x, y, subpriority);
return CreateSprite(&gCreatingSpriteTemplate, x, y, subpriority);
}
void FreeResourcesAndDestroySprite(struct Sprite *sprite)

View File

@ -29,7 +29,7 @@ extern bool8 gUnknown_02039324; // has hall of fame records
extern void (*gGameContinueCallback)(void);
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern u8 gReservedSpritePaletteCount;
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern const u8 gContestConfetti_Gfx[];
extern const u8 gContestConfetti_Pal[];
@ -1279,18 +1279,18 @@ static void SpriteCB_HallOfFame_Dummy(struct Sprite* sprite)
void sub_8143648(u16 paletteTag, u8 animID)
{
gUnknown_02024E8C = sUnknown_0840B6B8;
gUnknown_02024E8C.paletteTag = paletteTag;
gUnknown_02024E8C.images = sUnknown_0840B69C[animID];
gUnknown_02024E8C.anims = gSpriteAnimTable_81E7C64;
gCreatingSpriteTemplate = sUnknown_0840B6B8;
gCreatingSpriteTemplate.paletteTag = paletteTag;
gCreatingSpriteTemplate.images = sUnknown_0840B69C[animID];
gCreatingSpriteTemplate.anims = gSpriteAnimTable_81E7C64;
}
void sub_8143680(u16 paletteTag, u8 animID)
{
gUnknown_02024E8C = sUnknown_0840B6B8;
gUnknown_02024E8C.paletteTag = paletteTag;
gUnknown_02024E8C.images = sUnknown_0840B69C[animID];
gUnknown_02024E8C.anims = gUnknown_081EC2A4[0];
gCreatingSpriteTemplate = sUnknown_0840B6B8;
gCreatingSpriteTemplate.paletteTag = paletteTag;
gCreatingSpriteTemplate.images = sUnknown_0840B69C[animID];
gCreatingSpriteTemplate.anims = gUnknown_081EC2A4[0];
}
static u32 HallOfFame_LoadPokemonPic(u16 species, s16 posX, s16 posY, u16 pokeID, u32 tid, u32 pid)
@ -1298,13 +1298,13 @@ static u32 HallOfFame_LoadPokemonPic(u16 species, s16 posX, s16 posY, u16 pokeID
u8 spriteID;
const u8* pokePal;
LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, EWRAM, gUnknown_0840B5A0[pokeID], species, pid, 1);
LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (void *)EWRAM, gUnknown_0840B5A0[pokeID], species, pid, 1);
pokePal = GetMonSpritePalFromOtIdPersonality(species, tid, pid);
LoadCompressedPalette(pokePal, 16 * pokeID + 256, 0x20);
sub_8143648(pokeID, pokeID);
spriteID = CreateSprite(&gUnknown_02024E8C, posX, posY, 10 - pokeID);
spriteID = CreateSprite(&gCreatingSpriteTemplate, posX, posY, 10 - pokeID);
gSprites[spriteID].oam.paletteNum = pokeID;
return spriteID;
}
@ -1318,7 +1318,7 @@ static u32 HallOfFame_LoadTrainerPic(u16 trainerPicID, s16 posX, s16 posY, u16 a
LoadCompressedPalette(gTrainerFrontPicPaletteTable[trainerPicID].data, 16 * a3 + 256, 0x20);
sub_8143680(a3, a3);
spriteID = CreateSprite(&gUnknown_02024E8C, posX, posY, 1);
spriteID = CreateSprite(&gCreatingSpriteTemplate, posX, posY, 1);
gSprites[spriteID].oam.paletteNum = a3;
return spriteID;

View File

@ -22,7 +22,7 @@
#include "scanline_effect.h"
#include "ewram.h"
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern u16 gUnknown_02039358;
extern u16 gUnknown_0203935A;
extern u16 gSaveFileStatus;
@ -1601,13 +1601,13 @@ static u16 sub_813CE88(u16 species, s16 x, s16 y, u16 d, u8 front)
u8 spriteId;
if (front)
LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, EWRAM, gUnknown_0840B5A0[d], species, 0, 1);
LoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (void *)EWRAM, gUnknown_0840B5A0[d], species, 0, 1);
else
LoadSpecialPokePic(&gMonBackPicTable[species], gMonBackPicCoords[species].coords, gMonBackPicCoords[species].y_offset, EWRAM, gUnknown_0840B5A0[d], species, 0, 0);
LoadSpecialPokePic(&gMonBackPicTable[species], gMonBackPicCoords[species].coords, gMonBackPicCoords[species].y_offset, (void *)EWRAM, gUnknown_0840B5A0[d], species, 0, 0);
lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, 0, 0xFFFF);
LoadCompressedPalette(lzPaletteData, 0x100 + d * 0x10, 0x20);
sub_8143648(d, d);
spriteId = CreateSprite(&gUnknown_02024E8C, x, y, (d + 1) * 4);
spriteId = CreateSprite(&gCreatingSpriteTemplate, x, y, (d + 1) * 4);
gSprites[spriteId].oam.paletteNum = d;
gSprites[spriteId].oam.priority = 1;
return spriteId;
@ -1620,8 +1620,8 @@ static u8 sub_813CFA8(u16 a, u16 b, u16 c, u16 d)
DecompressPicFromTable_2(&gTrainerBackPicTable[a], gTrainerBackPicCoords[a].coords, gTrainerBackPicCoords[a].y_offset, (void *)EWRAM, gUnknown_0840B5A0[d], a);
LoadCompressedPalette(gTrainerBackPicPaletteTable[a].data, 0x100 + d * 0x10, 0x20);
sub_8143680(d, d);
gUnknown_02024E8C.anims = gUnknown_0840B064;
spriteId = CreateSprite(&gUnknown_02024E8C, b, c, 1);
gCreatingSpriteTemplate.anims = gUnknown_0840B064;
spriteId = CreateSprite(&gCreatingSpriteTemplate, b, c, 1);
gSprites[spriteId].oam.paletteNum = d;
gSprites[spriteId].oam.priority = 1;
return spriteId;

View File

@ -39,7 +39,7 @@ extern u8 gBirchSpeech_SoItsPlayer[];
extern u8 gBirchSpeech_AhOkayYouArePlayer[];
extern u8 gBirchSpeech_AreYouReady[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
//Menu layouts
enum
@ -1429,7 +1429,7 @@ u8 CreateAzurillSprite(u8 x, u8 y)
SPECIES_AZURILL);
LoadCompressedObjectPalette(&gMonPaletteTable[SPECIES_AZURILL]);
GetMonSpriteTemplate_803C56C(SPECIES_AZURILL, 1);
return CreateSprite(&gUnknown_02024E8C, x, y, 0);
return CreateSprite(&gCreatingSpriteTemplate, x, y, 0);
}
void AddBirchSpeechObjects(u8 taskId)

View File

@ -616,7 +616,7 @@ static bool8 sub_8147B20(struct Pokemon* mon)
case 0:
species = GetMonData(mon, MON_DATA_SPECIES2);
PiD = GetMonData(mon, MON_DATA_PERSONALITY);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, EWRAM, gMonSpriteGfx_Sprite_ptr[1], species, PiD);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (void *)EWRAM, gMonSpriteGfx_Sprite_ptr[1], species, PiD);
ewram1FFFF++;
break;
case 1:
@ -758,7 +758,7 @@ static void Task_PaletteFadeToReturn(u8 taskID)
static u8 PokeblockFeed_CreatePokeSprite(struct Pokemon* mon)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2);
u8 spriteID = CreateSprite(&gUnknown_02024E8C, 48, 80, 2);
u8 spriteID = CreateSprite(&gCreatingSpriteTemplate, 48, 80, 2);
gPokeblockFeedMonSpecies = species;
gPokeblockFeedMonSpriteID = spriteID;

File diff suppressed because it is too large Load Diff

View File

@ -216,7 +216,7 @@ u8 sub_8119E3C(struct CryRelatedStruct *cry, u8 arg1)
switch (gUnknown_03005E98)
{
case 0:
gPokedexCryScreenPtr->unk0014 = cry->unk0;
gPokedexCryScreenPtr->unk0014 = cry->texts;
gPokedexCryScreenPtr->unk0016 = cry->yPos;
gPokedexCryScreenPtr->unk001A = 0;
gPokedexCryScreenPtr->unk001B = 0;
@ -235,7 +235,7 @@ u8 sub_8119E3C(struct CryRelatedStruct *cry, u8 arg1)
break;
case 1:
r7 = cry->unk2 << 11;
r6 = (cry->paletteNo << 12) + ((unsigned)(cry->unk0 << 18) >> 23);
r6 = (cry->paletteNo << 12) + ((unsigned)(cry->texts << 18) >> 23);
for (i = 0; i < 7; i++)
{
for (j = 0; j < 32; j++)

View File

@ -36,7 +36,7 @@ extern u16 gBattleMovePower;
extern u16 gTrainerBattleOpponent;
extern struct PokemonStorage gPokemonStorage;
EWRAM_DATA struct SpriteTemplate gUnknown_02024E8C = {0};
EWRAM_DATA struct SpriteTemplate gCreatingSpriteTemplate = {0};
extern u8 gBadEggNickname[];
extern const struct SpriteTemplate gSpriteTemplate_8208288[];
@ -161,19 +161,19 @@ const struct SpriteTemplate gSpriteTemplate_8208288[] =
void GetMonSpriteTemplate_803C56C(u16 species, u8 a2)
{
gUnknown_02024E8C = gSpriteTemplate_8208288[a2];
gUnknown_02024E8C.paletteTag = species;
gUnknown_02024E8C.anims = (const union AnimCmd *const *)gSpriteAnimTable_81E7C64; //Why do I have to cast this?
gCreatingSpriteTemplate = gSpriteTemplate_8208288[a2];
gCreatingSpriteTemplate.paletteTag = species;
gCreatingSpriteTemplate.anims = (const union AnimCmd *const *)gSpriteAnimTable_81E7C64; //Why do I have to cast this?
}
void GetMonSpriteTemplate_803C5A0(u16 species, u8 a2)
{
gUnknown_02024E8C = gSpriteTemplate_8208288[a2];
gUnknown_02024E8C.paletteTag = species;
gCreatingSpriteTemplate = gSpriteTemplate_8208288[a2];
gCreatingSpriteTemplate.paletteTag = species;
if (a2 == 0 || a2 == 2)
gUnknown_02024E8C.anims = gUnknown_081ECACC[species];
gCreatingSpriteTemplate.anims = gUnknown_081ECACC[species];
else
gUnknown_02024E8C.anims = gUnknown_081EC2A4[species];
gCreatingSpriteTemplate.anims = gUnknown_081EC2A4[species];
}
void EncryptBoxMon(struct BoxPokemon *boxMon)

View File

@ -1706,7 +1706,7 @@ void sub_80981F0(u16 species, u32 pid)
{
if (species != SPECIES_NONE)
{
HandleLoadSpecialPokePic(gMonFrontPicTable + species, gMonFrontPicCoords[species].coords, 1, (intptr_t)gPokemonStorageSystemPtr->unk_4784, gPokemonStorageSystemPtr->unk_2784, species, pid);
HandleLoadSpecialPokePic(gMonFrontPicTable + species, gMonFrontPicCoords[species].coords, 1, gPokemonStorageSystemPtr->unk_4784, gPokemonStorageSystemPtr->unk_2784, species, pid);
LZ77UnCompWram(gPokemonStorageSystemPtr->unk_11e8, gPokemonStorageSystemPtr->unk_2704);
CpuCopy32(gPokemonStorageSystemPtr->unk_2784, gPokemonStorageSystemPtr->unk_26fc, 0x800);
LoadPalette(gPokemonStorageSystemPtr->unk_2704, gPokemonStorageSystemPtr->unk_26fa, 0x20);

View File

@ -126,7 +126,7 @@ extern u8 StorageSystemGetNextMonIndex(struct BoxPokemon *, u8, u8, u8);
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern u8 gPPUpReadMasks[];
TaskFunc gUnknown_03005CF0;
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern const u8 gStatusPal_Icons[];
extern const u8 gStatusGfx_Icons[];
@ -1838,7 +1838,7 @@ static u8 SummaryScreen_LoadPokemonSprite(struct Pokemon *mon, u8 *state)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
ewram_addr,
(void *)EWRAM,
gMonSpriteGfx_Sprite_ptr[1],
species,
personality);
@ -3988,7 +3988,7 @@ u8 SummaryScreen_CreatePokemonSprite(struct Pokemon *mon)
u8 spriteId;
species = GetMonData(mon, MON_DATA_SPECIES2);
spriteId = CreateSprite(&gUnknown_02024E8C, 40, 64, 5);
spriteId = CreateSprite(&gCreatingSpriteTemplate, 40, 64, 5);
FreeSpriteOamMatrix(&gSprites[spriteId]);

View File

@ -4626,7 +4626,7 @@ void sub_80F4824(s16 arg0, u8 arg1)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
1,
(intptr_t)gPokenavStructPtr->unk131E4,
gPokenavStructPtr->unk131E4,
gPokenavStructPtr->unkD1E4[arg1],
species,
personality);

View File

@ -9,7 +9,7 @@
#include "data2.h"
#include "ewram.h"
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
extern struct Window gWindowTemplate_Contest_MoveDescription;
extern u8 gReservedSpritePaletteCount;
extern u8 gActionSelectionCursor[4];
@ -235,7 +235,7 @@ static void sub_807B184(u8 bank)
if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0)
return;
GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank));
gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(bank));
gBattlerSpriteIds[bank] = CreateSprite(&gCreatingSpriteTemplate, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(bank));
gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[bank]].data[0] = bank;
@ -245,7 +245,7 @@ static void sub_807B184(u8 bank)
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0)
{
GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(0));
gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50,
gBattlerSpriteIds[bank] = CreateSprite(&gCreatingSpriteTemplate, 0x50,
(8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80,
GetBattlerSubpriority(0));
gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank;
@ -255,7 +255,7 @@ static void sub_807B184(u8 bank)
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0)
{
GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(0));
gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50,
gBattlerSpriteIds[bank] = CreateSprite(&gCreatingSpriteTemplate, 0x50,
(8 - gTrainerBackPicCoords[2].coords) * 4 + 80,
GetBattlerSubpriority(0));
gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank;
@ -267,7 +267,7 @@ static void sub_807B184(u8 bank)
if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0)
return;
GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank));
gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(bank));
gBattlerSpriteIds[bank] = CreateSprite(&gCreatingSpriteTemplate, GetBattlerSpriteCoord(bank, 2), posY, GetBattlerSubpriority(bank));
gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[bank]].data[0] = bank;

View File

@ -1943,7 +1943,7 @@ u8 sub_8079F44(u16 species, bool8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
EWRAM,
(void *)EWRAM,
(void *)EWRAM,
species,
a7,
@ -1957,7 +1957,7 @@ u8 sub_8079F44(u16 species, bool8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
EWRAM,
(void *)EWRAM,
(void *)EWRAM,
species,
a7,

View File

@ -17,7 +17,7 @@
#include "scanline_effect.h"
extern u16 gSpecialVar_Result;
extern struct SpriteTemplate gUnknown_02024E8C;
extern struct SpriteTemplate gCreatingSpriteTemplate;
//--------------------------------------------------
// Graphics Data
@ -718,7 +718,7 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y)
species);
LoadCompressedObjectPalette(&gMonPaletteTable[species]);
GetMonSpriteTemplate_803C56C(species, 1);
spriteId = CreateSprite(&gUnknown_02024E8C, x, y, 0);
spriteId = CreateSprite(&gCreatingSpriteTemplate, x, y, 0);
gSprites[spriteId].callback = nullsub_72;
gSprites[spriteId].oam.priority = 0;
return spriteId;

View File

@ -3522,13 +3522,13 @@ static void sub_804B2D0(u8 whichParty, u8 a1)
case 0:
species = GetMonData(pokemon, MON_DATA_SPECIES2);
personality = GetMonData(pokemon, MON_DATA_PERSONALITY);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)gSharedMem, gMonSpriteGfx_Sprite_ptr[whichParty * 2 + 1], species, personality);
HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, gSharedMem, gMonSpriteGfx_Sprite_ptr[whichParty * 2 + 1], species, personality);
LoadCompressedObjectPalette(GetMonSpritePalStruct(pokemon));
gUnknown_03004828->tradeSpecies[whichParty] = species;
break;
case 1:
GetMonSpriteTemplate_803C56C(GetMonSpritePalStruct(pokemon)->tag, v0);
gUnknown_03004828->pokePicSpriteIdxs[whichParty] = CreateSprite(&gUnknown_02024E8C, 0x78, 0x3c, 0x6);
gUnknown_03004828->pokePicSpriteIdxs[whichParty] = CreateSprite(&gCreatingSpriteTemplate, 0x78, 0x3c, 0x6);
gSprites[gUnknown_03004828->pokePicSpriteIdxs[whichParty]].invisible = TRUE;
gSprites[gUnknown_03004828->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy;
break;