Documenting bags, berries and graphics

Bag graphics and berry graphics mostly documented
item_menu.c significantly documented
Bag structs documented and functions renamed to match formatting
This commit is contained in:
Papa Cancer 2019-05-19 18:10:06 +01:00 committed by huderlem
parent dbdb827e54
commit e53ba4773d
13 changed files with 567 additions and 563 deletions

View File

@ -3301,10 +3301,10 @@ extern const u32 gPokedexSearch1_Tilemap[];
extern const u16 gPokedexSearchMenu_Pal[];
// berry tag screen
extern const u32 gUnknown_08D9BB44[];
extern const u32 gUnknown_08D9BF98[];
extern const u32 gUnknown_08D9C13C[];
extern const u32 gUnknown_08D9BEF0[];
extern const u32 gBerryCheck_Gfx[];
extern const u32 gBerryCheck_Pal[];
extern const u32 gBerryTag_Gfx[];
extern const u32 gBerryTag_Pal[];
// rayquaza scene gfx
extern const u32 gRaySceneGroudon_Gfx[];
@ -3859,6 +3859,7 @@ extern const u8 gFireRedMenuElements_Gfx[];
// item menu graphics
extern const u32 gBagScreen_Gfx[];
extern const u32 gBagScreen_GfxTileMap[];
extern const u32 gBagScreenFemale_Pal[];
extern const u32 gBagScreenMale_Pal[];
extern const u8 gBagMenuHMIcon_Gfx[];
@ -4092,11 +4093,11 @@ extern const u16 gBattleInterface_BallDisplayPal[];
extern const u32 gBagSwapLineGfx[];
extern const u32 gBagSwapLinePal[];
extern const u32 gUnknown_08D9ADD0[];
extern const u32 gUnknown_08D9AE04[];
extern const u32 gBattleFrontierGfx_PyramidBag[];
extern const u32 gBattleFrontierGfx_PyramidBag_Pal[];
extern const u32 gBattleFrontierGfx_PyramidBagTileMap[];
extern const u32 gUnknown_08D9AF44[];
extern const u16 gUnknown_0860F074[];
extern const u32 gBattleFrontierGfx_PyramidBag[];
extern const u32 gTitleScreenEmeraldVersionGfx[];
extern const u32 gTitleScreenPressStartGfx[];
@ -4762,7 +4763,6 @@ extern const u32 gBattleStatMask6_Pal[];
extern const u32 gBattleStatMask7_Pal[];
extern const u32 gBattleStatMask8_Pal[];
extern const u32 gUnknown_08D9A88C[];
extern const u32 gContestMiscGfx[];
extern const u32 gContestAudienceGfx[];
extern const u8 gContestApplauseMeterGfx[];

View File

@ -29,9 +29,9 @@ struct BagStruct
u16 scrollPosition[POCKETS_COUNT];
};
extern struct BagStruct gUnknown_0203CE58;
extern struct BagStruct gBagPositionStruct;
struct UnkBagStruct
struct BagMenuStruct
{
void (*mainCallback2)(void);
u8 tilemapBuffer[0x800];
@ -61,7 +61,7 @@ struct UnkBagStruct
u8 filler2[4];
};
extern struct UnkBagStruct *gUnknown_0203CE54;
extern struct BagMenuStruct *gBagMenu;
// Exported RAM declarations
@ -85,7 +85,7 @@ void ResetBagScrollPositions(void);
void sub_81AABF0(void (*callback)(void));
void CB2_ChooseBerry(void);
void unknown_ItemMenu_Confirm(u8 taskId);
void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*);
void BagMenu_YesNo(u8, u8, const struct YesNoFuncTable*);
void sub_81AB9A8(u8 pocketId);

View File

@ -1,11 +1,11 @@
#ifndef GUARD_ITEM_MENU_ICONS
#define GUARD_ITEM_MENU_ICONS
extern const struct CompressedSpriteSheet gUnknown_0857FB34;
extern const struct CompressedSpriteSheet gUnknown_0857FB3C;
extern const struct CompressedSpritePalette gUnknown_0857FB44;
extern const struct CompressedSpriteSheet gUnknown_0857FDEC;
extern const struct CompressedSpritePalette gUnknown_0857FDF4;
extern const struct CompressedSpriteSheet gBagMaleSpriteSheet;
extern const struct CompressedSpriteSheet gBagFemaleSpriteSheet;
extern const struct CompressedSpritePalette gBagPaletteTable;
extern const struct CompressedSpriteSheet gBerryCheckCircleSpriteSheet;
extern const struct CompressedSpritePalette gBerryCheckCirclePaletteTable;
void RemoveBagSprite(u8 id);
void AddBagVisualSprite(u8 bagPocketId);
@ -19,7 +19,13 @@ void sub_80D4FC8(u8 arg0);
void sub_80D4FEC(u8 arg0);
u8 CreateBerryTagSprite(u8 id, s16 x, s16 y);
void FreeBerryTagSpritePalette(void);
u8 sub_80D511C(u8 berryId, u8 x, u8 y, bool8 startAffine);
u8 LoadSpinningBerryPicGfx(u8 berryId, u8 x, u8 y, bool8 startAffine);
u8 CreateBerryFlavorCircleSprite(s16 x);
#define TAG_BAG_GFX 100
#define TAG_ROTATING_BALL_GFX 101
#define TAG_BERRY_CHECK_CIRCLE_GFX 10000
#define TAG_BERRY_PIC_TILE 0xFFFF
#define TAG_BERRY_PIC_PAL 0x7544
#endif // GUARD_ITEM_MENU_ICONS

View File

@ -324,7 +324,7 @@ static const union AffineAnimCmd * const gSpriteAffineAnimTable_861F3C4[] =
gSpriteAffineAnim_861F39C,
};
static const struct CompressedSpriteSheet gUnknown_0861F3CC = {gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024};
static const struct CompressedSpriteSheet gPyramidBagSpriteSheet = {gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024};
static const struct SpriteTemplate gUnknown_0861F3D4 =
{
@ -538,7 +538,7 @@ static bool8 sub_81C5238(void)
case 1:
if (free_temp_tile_data_buffers_if_possible() != TRUE)
{
LZDecompressWram(gUnknown_08D9AE04, gPyramidBagResources->tilemapBuffer);
LZDecompressWram(gBattleFrontierGfx_PyramidBagTileMap, gPyramidBagResources->tilemapBuffer);
gPyramidBagResources->state++;
}
break;
@ -547,7 +547,7 @@ static bool8 sub_81C5238(void)
gPyramidBagResources->state++;
break;
case 3:
LoadCompressedSpriteSheet(&gUnknown_0861F3CC);
LoadCompressedSpriteSheet(&gPyramidBagSpriteSheet);
gPyramidBagResources->state++;
break;
case 4:
@ -1489,7 +1489,7 @@ static void sub_81C6E98(void)
struct SpritePalette spritePalette;
u16 *palPtr = Alloc(0x40);
LZDecompressWram(gUnknown_08D9ADD0, palPtr);
LZDecompressWram(gBattleFrontierGfx_PyramidBag_Pal, palPtr);
spritePalette.data = palPtr + (gSaveBlock2Ptr->frontier.lvlMode * 16);
spritePalette.tag = ITEM_IMAGE_TAG;
LoadSpritePalette(&spritePalette);

View File

@ -1078,7 +1078,7 @@ static void sub_807FD64(struct Sprite* sprite, s16 a2, s16 a3, s16 a4, s16 a5, s
static void sub_807FD90(u16 a0, u8 a1)
{
u8 spriteId = sub_80D511C(a0 + 123, 0, 80, a1 & 1);
u8 spriteId = LoadSpinningBerryPicGfx(a0 + 123, 0, 80, a1 & 1);
sub_807FD64(&gSprites[spriteId], sUnknown_08339C78[a1][0], sUnknown_08339C78[a1][1], sUnknown_08339C78[a1][2], sUnknown_08339C78[a1][3], sUnknown_08339C78[a1][4]);
}

View File

@ -318,18 +318,18 @@ static bool8 LoadBerryTagGfx(void)
{
case 0:
reset_temp_tile_data_buffers();
decompress_and_copy_tile_data_to_vram(2, gUnknown_08D9BB44, 0, 0, 0);
decompress_and_copy_tile_data_to_vram(2, gBerryCheck_Gfx, 0, 0, 0);
sBerryTag->gfxState++;
break;
case 1:
if (free_temp_tile_data_buffers_if_possible() != TRUE)
{
LZDecompressWram(gUnknown_08D9BF98, sBerryTag->tilemapBuffers[0]);
LZDecompressWram(gBerryTag_Gfx, sBerryTag->tilemapBuffers[0]);
sBerryTag->gfxState++;
}
break;
case 2:
LZDecompressWram(gUnknown_08D9C13C, sBerryTag->tilemapBuffers[2]);
LZDecompressWram(gBerryTag_Pal, sBerryTag->tilemapBuffers[2]);
sBerryTag->gfxState++;
break;
case 3:
@ -346,15 +346,15 @@ static bool8 LoadBerryTagGfx(void)
sBerryTag->gfxState++;
break;
case 4:
LoadCompressedPalette(gUnknown_08D9BEF0, 0, 0xC0);
LoadCompressedPalette(gBerryCheck_Pal, 0, 0xC0);
sBerryTag->gfxState++;
break;
case 5:
LoadCompressedSpriteSheet(&gUnknown_0857FDEC);
LoadCompressedSpriteSheet(&gBerryCheckCircleSpriteSheet);
sBerryTag->gfxState++;
break;
default:
LoadCompressedSpritePalette(&gUnknown_0857FDF4);
LoadCompressedSpritePalette(&gBerryCheckCirclePaletteTable);
return TRUE; // done
}
@ -548,7 +548,7 @@ static void Task_HandleInput(u8 taskId)
static void TryChangeDisplayedBerry(u8 taskId, s8 toMove)
{
s16 *data = gTasks[taskId].data;
s16 currPocketPosition = gUnknown_0203CE58.scrollPosition[3] + gUnknown_0203CE58.cursorPosition[3];
s16 currPocketPosition = gBagPositionStruct.scrollPosition[3] + gBagPositionStruct.cursorPosition[3];
u32 newPocketPosition = currPocketPosition + toMove;
if (newPocketPosition < 46 && BagGetItemIdByPocketPosition(POCKET_BERRIES, newPocketPosition) != 0)
{
@ -566,8 +566,8 @@ static void TryChangeDisplayedBerry(u8 taskId, s8 toMove)
static void HandleBagCursorPositionChange(s8 toMove)
{
u16 *scrollPos = &gUnknown_0203CE58.scrollPosition[3];
u16 *cursorPos = &gUnknown_0203CE58.cursorPosition[3];
u16 *scrollPos = &gBagPositionStruct.scrollPosition[3];
u16 *cursorPos = &gBagPositionStruct.cursorPosition[3];
if (toMove > 0)
{
if (*cursorPos < 4 || BagGetItemIdByPocketPosition(POCKET_BERRIES, *scrollPos + 8) == 0)

View File

@ -1,8 +1,8 @@
const u32 gUnknown_08D9BB44[] = INCBIN_U32("graphics/interface/check_berry.4bpp.lz");
const u32 gUnknown_08D9BEF0[] = INCBIN_U32("graphics/interface/check_berry.gbapal.lz");
const u32 gBerryCheck_Gfx[] = INCBIN_U32("graphics/interface/check_berry.4bpp.lz");
const u32 gBerryCheck_Pal[] = INCBIN_U32("graphics/interface/check_berry.gbapal.lz");
const u32 gUnknown_08D9BF98[] = INCBIN_U32("graphics/interface/berry_tag.bin.lz");
const u32 gUnknown_08D9C13C[] = INCBIN_U32("graphics/interface/berry_tag_title.bin.lz");
const u32 gBerryTag_Gfx[] = INCBIN_U32("graphics/interface/berry_tag.bin.lz");
const u32 gBerryTag_Pal[] = INCBIN_U32("graphics/interface/berry_tag_title.bin.lz");
const u32 gBerryCheckCircle_Gfx[] = INCBIN_U32("graphics/interface/check_berry_circle.4bpp.lz");

View File

@ -1172,13 +1172,11 @@ const u32 gBagScreenMale_Pal[] = INCBIN_U32("graphics/interface/bag_screen_male.
const u32 gBagScreenFemale_Pal[] = INCBIN_U32("graphics/interface/bag_screen_female.gbapal.lz");
const u32 gBagScreen_Gfx[] = INCBIN_U32("graphics/interface/bag_screen.4bpp.lz");
const u32 gUnknown_08D9A88C[] = INCBIN_U32("graphics/unknown/unknown_D9A88C.bin.lz");
const u32 gBagScreen_GfxTileMap[] = INCBIN_U32("graphics/interface/bag_screen_tilemap.bin.lz");
const u32 gBattleFrontierGfx_PyramidBag[] = INCBIN_U32("graphics/interface/bag_pyramid.4bpp.lz");
const u32 gUnknown_08D9ADD0[] = INCBIN_U32("graphics/interface/bag_pyramid.gbapal.lz"); // female palette is first and male is second.
const u32 gUnknown_08D9AE04[] = INCBIN_U32("graphics/unknown/unknown_D9AE04.bin.lz");
const u32 gBattleFrontierGfx_PyramidBag_Pal[] = INCBIN_U32("graphics/interface/bag_pyramid.gbapal.lz"); // female palette is first and male is second.
const u32 gBattleFrontierGfx_PyramidBagTileMap[] = INCBIN_U32("graphics/interface/bag_pyramid_tilemap.bin.lz");
const u32 gUnknown_08D9AF44[] = INCBIN_U32("graphics/unknown/unknown_D9AF44.gbapal.lz");

File diff suppressed because it is too large Load Diff

View File

@ -24,12 +24,12 @@ static void SpriteCB_SwitchPocketRotatingBallInit(struct Sprite *sprite);
static void SpriteCB_SwitchPocketRotatingBallContinue(struct Sprite *sprite);
// static const rom data
static const u16 gUnknown_0857F564[] = INCBIN_U16("graphics/interface/bag_spinner.gbapal");
static const u8 gUnknown_0857F584[] = INCBIN_U8("graphics/interface/bag_spinner.4bpp");
static const u8 gUnknown_0857F604[] = INCBIN_U8("graphics/unused/cherry.4bpp");
static const u16 gUnknown_0857FA84[] = INCBIN_U16("graphics/unused/cherry.gbapal");
static const u16 gRotatingBall_Pal[] = INCBIN_U16("graphics/interface/bag_spinner.gbapal");
static const u8 gRotatingBall[] = INCBIN_U8("graphics/interface/bag_spinner.4bpp");
static const u8 gCherryUnused[] = INCBIN_U8("graphics/unused/cherry.4bpp");
static const u16 gCherryUnused_Pal[] = INCBIN_U16("graphics/unused/cherry.gbapal");
static const struct OamData sOamData_857FAA4 =
static const struct OamData sBagOamData =
{
.y = 0,
.affineMode = 1,
@ -46,59 +46,59 @@ static const struct OamData sOamData_857FAA4 =
.affineParam = 0
};
static const union AnimCmd sSpriteAnim_857FAAC[] =
static const union AnimCmd sSpriteAnim_Bag_Closed[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_857FAB4[] =
static const union AnimCmd sSpriteAnim_Bag_Items[] =
{
ANIMCMD_FRAME(64, 4),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_857FABC[] =
static const union AnimCmd sSpriteAnim_Bag_KeyItems[] =
{
ANIMCMD_FRAME(128, 4),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_857FAC4[] =
static const union AnimCmd sSpriteAnim_Bag_Pokeballs[] =
{
ANIMCMD_FRAME(192, 4),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_857FACC[] =
static const union AnimCmd sSpriteAnim_Bag_TMsHMs[] =
{
ANIMCMD_FRAME(256, 4),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_857FAD4[] =
static const union AnimCmd sSpriteAnim_Bag_Berries[] =
{
ANIMCMD_FRAME(320, 4),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_857FADC[] =
static const union AnimCmd *const sBagSpriteAnimTable[] =
{
sSpriteAnim_857FAAC,
sSpriteAnim_857FAB4,
sSpriteAnim_857FAC4,
sSpriteAnim_857FACC,
sSpriteAnim_857FAD4,
sSpriteAnim_857FABC
sSpriteAnim_Bag_Closed,
sSpriteAnim_Bag_Items,
sSpriteAnim_Bag_Pokeballs,
sSpriteAnim_Bag_TMsHMs,
sSpriteAnim_Bag_Berries,
sSpriteAnim_Bag_KeyItems
};
static const union AffineAnimCmd sSpriteAffineAnim_857FAF4[] =
static const union AffineAnimCmd sSpriteAffineAnim_BagNormal[] =
{
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
AFFINEANIMCMD_END
};
static const union AffineAnimCmd sSpriteAffineAnim_857FB04[] =
static const union AffineAnimCmd sSpriteAffineAnim_BagShake[] =
{
AFFINEANIMCMD_FRAME(0, 0, 254, 2),
AFFINEANIMCMD_FRAME(0, 0, 2, 4),
@ -107,39 +107,39 @@ static const union AffineAnimCmd sSpriteAffineAnim_857FB04[] =
AFFINEANIMCMD_END
};
static const union AffineAnimCmd *const sSpriteAffineAnimTable_857FB2C[] =
static const union AffineAnimCmd *const sBagAffineAnimCmds[] =
{
sSpriteAffineAnim_857FAF4,
sSpriteAffineAnim_857FB04
sSpriteAffineAnim_BagNormal,
sSpriteAffineAnim_BagShake
};
const struct CompressedSpriteSheet gUnknown_0857FB34 =
const struct CompressedSpriteSheet gBagMaleSpriteSheet =
{
gBagMaleTiles, 0x3000, 100
gBagMaleTiles, 0x3000, TAG_BAG_GFX
};
const struct CompressedSpriteSheet gUnknown_0857FB3C =
const struct CompressedSpriteSheet gBagFemaleSpriteSheet =
{
gBagFemaleTiles, 0x3000, 100
gBagFemaleTiles, 0x3000, TAG_BAG_GFX
};
const struct CompressedSpritePalette gUnknown_0857FB44 =
const struct CompressedSpritePalette gBagPaletteTable =
{
gBagPalette, 100
gBagPalette, TAG_BAG_GFX
};
static const struct SpriteTemplate gUnknown_0857FB4C =
static const struct SpriteTemplate gBagSpriteTemplate =
{
.tileTag = 100,
.paletteTag = 100,
.oam = &sOamData_857FAA4,
.anims = sSpriteAnimTable_857FADC,
.tileTag = TAG_BAG_GFX,
.paletteTag = TAG_BAG_GFX,
.oam = &sBagOamData,
.anims = sBagSpriteAnimTable,
.images = NULL,
.affineAnims = sSpriteAffineAnimTable_857FB2C,
.affineAnims = sBagAffineAnimCmds,
.callback = SpriteCallbackDummy,
};
static const struct OamData sOamData_857FB64 =
static const struct OamData sRotatingBallOamData =
{
.y = 0,
.affineMode = 0,
@ -156,61 +156,61 @@ static const struct OamData sOamData_857FB64 =
.affineParam = 0
};
static const union AnimCmd sSpriteAnim_857FB6C[] =
static const union AnimCmd sSpriteAffineAnim_RotatingBallStationary[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_857FB74[] =
static const union AnimCmd *const sRotatingBallSpriteAnimTable[] =
{
sSpriteAnim_857FB6C
sSpriteAffineAnim_RotatingBallStationary
};
static const union AffineAnimCmd sSpriteAffineAnim_857FB78[] =
static const union AffineAnimCmd sSpriteAffineAnim_RotatingBallRotation1[] =
{
AFFINEANIMCMD_FRAME(0, 0, 8, 16),
AFFINEANIMCMD_END
};
static const union AffineAnimCmd sSpriteAffineAnim_857FB88[] =
static const union AffineAnimCmd sSpriteAffineAnim_RotatingBallRotation2[] =
{
AFFINEANIMCMD_FRAME(0, 0, 248, 16),
AFFINEANIMCMD_END
};
static const union AffineAnimCmd *const sSpriteAffineAnimTable_857FB98[] =
static const union AffineAnimCmd *const sRotatingBallAnimCmds[] =
{
sSpriteAffineAnim_857FB78,
sSpriteAffineAnim_RotatingBallRotation1,
};
static const union AffineAnimCmd *const sSpriteAffineAnimTable_857FB9C[] =
static const union AffineAnimCmd *const sRotatingBallAnimCmds_FullRotation[] =
{
sSpriteAffineAnim_857FB88,
sSpriteAffineAnim_RotatingBallRotation2,
};
static const struct SpriteSheet gUnknown_0857FBA0 =
static const struct SpriteSheet gRotatingBallTable =
{
gUnknown_0857F584, 0x80, 101
gRotatingBall, 0x80, TAG_ROTATING_BALL_GFX
};
static const struct SpritePalette gUnknown_0857FBA8 =
static const struct SpritePalette gRotatingBallPaletteTable =
{
gUnknown_0857F564, 101
gRotatingBall_Pal, TAG_ROTATING_BALL_GFX
};
static const struct SpriteTemplate gSpriteTemplate_RotatingBall =
static const struct SpriteTemplate gRotatingBallSpriteTemplate =
{
.tileTag = 101,
.paletteTag = 101,
.oam = &sOamData_857FB64,
.anims = sSpriteAnimTable_857FB74,
.tileTag = TAG_ROTATING_BALL_GFX,
.paletteTag = TAG_ROTATING_BALL_GFX,
.oam = &sRotatingBallOamData,
.anims = sRotatingBallSpriteAnimTable,
.images = NULL,
.affineAnims = sSpriteAffineAnimTable_857FB98,
.affineAnims = sRotatingBallAnimCmds,
.callback = SpriteCB_SwitchPocketRotatingBallInit,
};
static const struct OamData sOamData_857FBC8 =
static const struct OamData sBerryPicOamData =
{
.y = 0,
.affineMode = 0,
@ -227,7 +227,7 @@ static const struct OamData sOamData_857FBC8 =
.affineParam = 0
};
static const struct OamData sOamData_857FBD0 =
static const struct OamData sBerryPicRotatingOamData =
{
.y = 0,
.affineMode = 3,
@ -250,28 +250,28 @@ static const union AnimCmd sSpriteAnim_857FBD8[] =
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_857FBE0[] =
static const union AnimCmd *const sBerryPicSpriteAnimTable[] =
{
sSpriteAnim_857FBD8
};
static const struct SpriteFrameImage sSpriteImageTable_857FBE4[] =
static const struct SpriteFrameImage sBerryPicSpriteImageTable[] =
{
{&gDecompressionBuffer[0], 0x800},
};
static const struct SpriteTemplate gUnknown_0857FBEC =
static const struct SpriteTemplate gBerryPicSpriteTemplate =
{
.tileTag = 65535,
.paletteTag = 30020,
.oam = &sOamData_857FBC8,
.anims = sSpriteAnimTable_857FBE0,
.images = sSpriteImageTable_857FBE4,
.tileTag = TAG_BERRY_PIC_TILE,
.paletteTag = TAG_BERRY_PIC_PAL,
.oam = &sBerryPicOamData,
.anims = sBerryPicSpriteAnimTable,
.images = sBerryPicSpriteImageTable,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
};
static const union AffineAnimCmd sSpriteAffineAnim_857FC04[] =
static const union AffineAnimCmd sSpriteAffineAnim_BerryPicRotation1[] =
{
AFFINEANIMCMD_FRAME(-1, -1, 253, 96),
AFFINEANIMCMD_FRAME(0, 0, 0, 16),
@ -282,7 +282,7 @@ static const union AffineAnimCmd sSpriteAffineAnim_857FC04[] =
AFFINEANIMCMD_JUMP(0)
};
static const union AffineAnimCmd sSpriteAffineAnim_857FC3C[] =
static const union AffineAnimCmd sSpriteAffineAnim_BerryPicRotation2[] =
{
AFFINEANIMCMD_FRAME(-1, -1, 3, 96),
AFFINEANIMCMD_FRAME(0, 0, 0, 16),
@ -293,20 +293,20 @@ static const union AffineAnimCmd sSpriteAffineAnim_857FC3C[] =
AFFINEANIMCMD_JUMP(0)
};
static const union AffineAnimCmd *const sSpriteAffineAnimTable_857FC74[] =
static const union AffineAnimCmd *const sBerryPicRotatingAnimCmds[] =
{
sSpriteAffineAnim_857FC04,
sSpriteAffineAnim_857FC3C
sSpriteAffineAnim_BerryPicRotation1,
sSpriteAffineAnim_BerryPicRotation2
};
static const struct SpriteTemplate gUnknown_0857FC7C =
static const struct SpriteTemplate gBerryPicRotatingSpriteTemplate =
{
.tileTag = 0xFFFF,
.paletteTag = 0x7544,
.oam = &sOamData_857FBD0,
.anims = sSpriteAnimTable_857FBE0,
.images = sSpriteImageTable_857FBE4,
.affineAnims = sSpriteAffineAnimTable_857FC74,
.tileTag = TAG_BERRY_PIC_TILE,
.paletteTag = TAG_BERRY_PIC_PAL,
.oam = &sBerryPicRotatingOamData,
.anims = sBerryPicSpriteAnimTable,
.images = sBerryPicSpriteImageTable,
.affineAnims = sBerryPicRotatingAnimCmds,
.callback = SpriteCallbackDummy,
};
@ -357,17 +357,17 @@ static const struct CompressedTilesPal gBerryPicTable[] =
{gBerryPic_Enigma, gBerryPalette_Enigma},
};
const struct CompressedSpriteSheet gUnknown_0857FDEC =
const struct CompressedSpriteSheet gBerryCheckCircleSpriteSheet =
{
gBerryCheckCircle_Gfx, 0x800, 10000
gBerryCheckCircle_Gfx, 0x800, TAG_BERRY_CHECK_CIRCLE_GFX
};
const struct CompressedSpritePalette gUnknown_0857FDF4 =
const struct CompressedSpritePalette gBerryCheckCirclePaletteTable =
{
gUnknown_08D9BEF0, 10000
gBerryCheck_Pal, TAG_BERRY_CHECK_CIRCLE_GFX
};
static const struct OamData sOamData_857FDFC =
static const struct OamData sBerryCheckCircleOamData =
{
.y = 0,
.affineMode = 0,
@ -384,23 +384,23 @@ static const struct OamData sOamData_857FDFC =
.affineParam = 0
};
static const union AnimCmd sSpriteAnim_857FE04[] =
static const union AnimCmd sSpriteAnim_BerryCheckCircle[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_857FE0C[] =
static const union AnimCmd *const sBerryCheckCircleSpriteAnimTable[] =
{
sSpriteAnim_857FE04
sSpriteAnim_BerryCheckCircle
};
static const struct SpriteTemplate gUnknown_0857FE10 =
static const struct SpriteTemplate gBerryCheckCircleSpriteTemplate =
{
.tileTag = 10000,
.paletteTag = 10000,
.oam = &sOamData_857FDFC,
.anims = sSpriteAnimTable_857FE0C,
.tileTag = TAG_BERRY_CHECK_CIRCLE_GFX,
.paletteTag = TAG_BERRY_CHECK_CIRCLE_GFX,
.oam = &sBerryCheckCircleOamData,
.anims = sBerryCheckCircleSpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
@ -409,7 +409,7 @@ static const struct SpriteTemplate gUnknown_0857FE10 =
// code
void RemoveBagSprite(u8 id)
{
u8 *spriteId = &gUnknown_0203CE54->spriteId[id];
u8 *spriteId = &gBagMenu->spriteId[id];
if (*spriteId != 0xFF)
{
FreeSpriteTilesByTag(id + 100);
@ -422,14 +422,14 @@ void RemoveBagSprite(u8 id)
void AddBagVisualSprite(u8 bagPocketId)
{
u8 *spriteId = &gUnknown_0203CE54->spriteId[0];
*spriteId = CreateSprite(&gUnknown_0857FB4C, 68, 66, 0);
u8 *spriteId = &gBagMenu->spriteId[0];
*spriteId = CreateSprite(&gBagSpriteTemplate, 68, 66, 0);
SetBagVisualPocketId(bagPocketId, FALSE);
}
void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets)
{
struct Sprite *sprite = &gSprites[gUnknown_0203CE54->spriteId[0]];
struct Sprite *sprite = &gSprites[gBagMenu->spriteId[0]];
if (isSwitchingPockets)
{
sprite->pos2.y = -5;
@ -458,7 +458,7 @@ static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite)
void ShakeBagVisual(void)
{
struct Sprite *sprite = &gSprites[gUnknown_0203CE54->spriteId[0]];
struct Sprite *sprite = &gSprites[gBagMenu->spriteId[0]];
if (sprite->affineAnimEnded)
{
StartSpriteAffineAnim(sprite, 1);
@ -477,14 +477,14 @@ static void SpriteCB_ShakeBagVisual(struct Sprite *sprite)
void AddSwitchPocketRotatingBallSprite(s16 rotationDirection)
{
u8 *spriteId = &gUnknown_0203CE54->spriteId[1];
LoadSpriteSheet(&gUnknown_0857FBA0);
LoadSpritePalette(&gUnknown_0857FBA8);
*spriteId = CreateSprite(&gSpriteTemplate_RotatingBall, 16, 16, 0);
u8 *spriteId = &gBagMenu->spriteId[1];
LoadSpriteSheet(&gRotatingBallTable);
LoadSpritePalette(&gRotatingBallPaletteTable);
*spriteId = CreateSprite(&gRotatingBallSpriteTemplate, 16, 16, 0);
gSprites[*spriteId].data[0] = rotationDirection;
}
static void update_switch_pocket_rotating_ball_coords(struct Sprite *sprite)
static void UpdateSwitchPocketRotatingBallCoords(struct Sprite *sprite)
{
sprite->centerToCornerVecX = sprite->data[1] - ((sprite->data[3] + 1) & 1);
sprite->centerToCornerVecY = sprite->data[1] - ((sprite->data[3] + 1) & 1);
@ -494,28 +494,28 @@ static void SpriteCB_SwitchPocketRotatingBallInit(struct Sprite *sprite)
{
sprite->oam.affineMode = 1;
if (sprite->data[0] == -1)
sprite->affineAnims = sSpriteAffineAnimTable_857FB98;
sprite->affineAnims = sRotatingBallAnimCmds;
else
sprite->affineAnims = sSpriteAffineAnimTable_857FB9C;
sprite->affineAnims = sRotatingBallAnimCmds_FullRotation;
InitSpriteAffineAnim(sprite);
sprite->data[1] = sprite->centerToCornerVecX;
sprite->data[1] = sprite->centerToCornerVecY;
update_switch_pocket_rotating_ball_coords(sprite);
UpdateSwitchPocketRotatingBallCoords(sprite);
sprite->callback = SpriteCB_SwitchPocketRotatingBallContinue;
}
static void SpriteCB_SwitchPocketRotatingBallContinue(struct Sprite *sprite)
{
sprite->data[3]++;
update_switch_pocket_rotating_ball_coords(sprite);
UpdateSwitchPocketRotatingBallCoords(sprite);
if (sprite->data[3] == 16)
RemoveBagSprite(1);
}
void AddBagItemIconSprite(u16 itemId, u8 id)
{
u8 *spriteId = &gUnknown_0203CE54->spriteId[id + 2];
u8 *spriteId = &gBagMenu->spriteId[id + 2];
if (*spriteId == 0xFF)
{
u8 iconSpriteId;
@ -539,17 +539,17 @@ void RemoveBagItemIconSprite(u8 id)
void sub_80D4FAC(void)
{
sub_8122344(&gUnknown_0203CE54->spriteId[4], 8);
sub_8122344(&gBagMenu->spriteId[4], 8);
}
void sub_80D4FC8(u8 arg0)
{
sub_81223FC(&gUnknown_0203CE54->spriteId[4], 8, arg0);
sub_81223FC(&gBagMenu->spriteId[4], 8, arg0);
}
void sub_80D4FEC(u8 arg0)
{
sub_8122448(&gUnknown_0203CE54->spriteId[4], 136, 120, (arg0 + 1) * 16);
sub_8122448(&gBagMenu->spriteId[4], 136, 120, (arg0 + 1) * 16);
}
static void sub_80D5018(void *mem0, void *mem1)
@ -572,7 +572,7 @@ static void sub_80D5018(void *mem0, void *mem1)
}
}
static void sub_80D5070(u8 berryId)
static void LoadBerryGfx(u8 berryId)
{
struct CompressedSpritePalette pal;
@ -582,7 +582,7 @@ static void sub_80D5070(u8 berryId)
}
pal.data = gBerryPicTable[berryId].pal;
pal.tag = 0x7544;
pal.tag = TAG_BERRY_PIC_PAL;
LoadCompressedSpritePalette(&pal);
LZDecompressWram(gBerryPicTable[berryId].tiles, &gDecompressionBuffer[0x1000]);
sub_80D5018(&gDecompressionBuffer[0x1000], &gDecompressionBuffer[0]);
@ -590,22 +590,22 @@ static void sub_80D5070(u8 berryId)
u8 CreateBerryTagSprite(u8 id, s16 x, s16 y)
{
sub_80D5070(id);
return CreateSprite(&gUnknown_0857FBEC, x, y, 0);
LoadBerryGfx(id);
return CreateSprite(&gBerryPicSpriteTemplate, x, y, 0);
}
void FreeBerryTagSpritePalette(void)
{
FreeSpritePaletteByTag(0x7544);
FreeSpritePaletteByTag(TAG_BERRY_PIC_PAL);
}
u8 sub_80D511C(u8 berryId, u8 x, u8 y, bool8 startAffine)
u8 LoadSpinningBerryPicGfx(u8 berryId, u8 x, u8 y, bool8 startAffine)
{
u8 spriteId;
FreeSpritePaletteByTag(0x7544);
sub_80D5070(berryId);
spriteId = CreateSprite(&gUnknown_0857FC7C, x, y, 0);
FreeSpritePaletteByTag(TAG_BERRY_PIC_PAL);
LoadBerryGfx(berryId);
spriteId = CreateSprite(&gBerryPicRotatingSpriteTemplate, x, y, 0);
if (startAffine == TRUE)
StartSpriteAffineAnim(&gSprites[spriteId], 1);
@ -614,5 +614,5 @@ u8 sub_80D511C(u8 berryId, u8 x, u8 y, bool8 startAffine)
u8 CreateBerryFlavorCircleSprite(s16 x)
{
return CreateSprite(&gUnknown_0857FE10, x, 116, 0);
return CreateSprite(&gBerryCheckCircleSpriteTemplate, x, 116, 0);
}

View File

@ -51,7 +51,7 @@ void SetUpItemUseCallback(u8 taskId);
void MapPostLoadHook_UseItem(void);
void sub_80AF6D4(void);
void Task_CallItemUseOnFieldCallback(u8 taskId);
void bag_menu_inits_lists_menu(u8 taskId);
void BagMenu_InitListsMenu(u8 taskId);
void ItemUseOnFieldCB_Bike(u8 taskId);
void ItemUseOnFieldCB_Rod(u8 taskId);
void ItemUseOnFieldCB_Itemfinder(u8 taskId);
@ -101,7 +101,7 @@ static const u8 gUnknown_085920E4[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}
static const struct YesNoFuncTable gUnknown_085920E8 =
{
.yesFunc = sub_80FE03C,
.noFunc = bag_menu_inits_lists_menu,
.noFunc = BagMenu_InitListsMenu,
};
// .text
@ -115,7 +115,7 @@ void SetUpItemUseCallback(u8 taskId)
type = ItemId_GetType(gSpecialVar_ItemId) - 1;
if (!InBattlePyramid())
{
gUnknown_0203CE54->mainCallback2 = gUnknown_085920D8[type];
gBagMenu->mainCallback2 = gUnknown_085920D8[type];
unknown_ItemMenu_Confirm(taskId);
}
else
@ -154,7 +154,7 @@ void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnFiel
if (!isUsingRegisteredKeyItemOnField)
{
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
else
DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714);
}
@ -199,7 +199,7 @@ void sub_80FD254(void)
void ItemUseOutOfBattle_Mail(u8 taskId)
{
gUnknown_0203CE54->mainCallback2 = sub_80FD254;
gBagMenu->mainCallback2 = sub_80FD254;
unknown_ItemMenu_Confirm(taskId);
}
@ -595,7 +595,7 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
}
else if (gTasks[taskId].data[3] != TRUE)
{
gUnknown_0203CE54->mainCallback2 = sub_80FDBEC;
gBagMenu->mainCallback2 = sub_80FDBEC;
unknown_ItemMenu_Confirm(taskId);
}
else
@ -628,7 +628,7 @@ void ItemUseOutOfBattle_CoinCase(u8 taskId)
if (!gTasks[taskId].data[3])
{
DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
}
else
{
@ -643,7 +643,7 @@ void ItemUseOutOfBattle_PowderJar(u8 taskId)
if (!gTasks[taskId].data[3])
{
DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
}
else
{
@ -657,7 +657,7 @@ void sub_80FDD10(u8 taskId)
{
gUnknown_0203A0F4 = sub_80FDD74;
gFieldCallback = MapPostLoadHook_UseItem;
gUnknown_0203CE54->mainCallback2 = CB2_ReturnToField;
gBagMenu->mainCallback2 = CB2_ReturnToField;
unknown_ItemMenu_Confirm(taskId);
}
else
@ -782,7 +782,7 @@ void task08_0809AD8C(u8 taskId)
void sub_80FE024(u8 taskId)
{
bag_menu_yes_no(taskId, 6, &gUnknown_085920E8);
BagMenu_YesNo(taskId, 6, &gUnknown_085920E8);
}
void sub_80FE03C(u8 taskId)
@ -813,7 +813,7 @@ void ItemUseOutOfBattle_Repel(u8 taskId)
if (VarGet(VAR_REPEL_STEP_COUNT) == 0)
gTasks[taskId].func = sub_80FE124;
else if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gText_RepelEffectsLingered, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gText_RepelEffectsLingered, BagMenu_InitListsMenu);
else
DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, sub_81C6714);
}
@ -837,7 +837,7 @@ void sub_80FE164(u8 taskId)
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId));
sub_80FE058();
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
else
DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714);
}
@ -849,7 +849,7 @@ void sub_80FE1D0(u8 taskId)
{
PlaySE(SE_BIDORO);
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
else
DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714);
}
@ -928,7 +928,7 @@ void ItemUseInBattle_PokeBall(u8 taskId)
}
else if (!InBattlePyramid())
{
DisplayItemMessage(taskId, 1, gText_BoxFull, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gText_BoxFull, BagMenu_InitListsMenu);
}
else
DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, sub_81C6714);
@ -965,7 +965,7 @@ void ItemUseInBattle_StatIncrease(u8 taskId)
if (ExecuteTableBasedItemEffect(&gPlayerParty[partyId], gSpecialVar_ItemId, partyId, 0) != FALSE)
{
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gText_WontHaveEffect, bag_menu_inits_lists_menu);
DisplayItemMessage(taskId, 1, gText_WontHaveEffect, BagMenu_InitListsMenu);
else
DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, sub_81C6714);
}
@ -980,7 +980,7 @@ void sub_80FE54C(u8 taskId)
{
if (!InBattlePyramid())
{
gUnknown_0203CE54->mainCallback2 = sub_81B89F0;
gBagMenu->mainCallback2 = sub_81B89F0;
unknown_ItemMenu_Confirm(taskId);
}
else