Merge pull request #562 from GriffinRichards/sync-palette

Sync/document some misc small files
This commit is contained in:
GriffinR
2022-10-02 08:05:59 -04:00
committed by GitHub
26 changed files with 894 additions and 847 deletions
+4 -4
View File
@@ -1,4 +1,4 @@
gUnknown_3005EF0 gMultibootStart
gUnknown_3005EF4 gMultibootStatus
gUnknown_3005EF8 gMultibootSize
gUnknown_3005F00 gMultibootParam

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 277 B

Before

Width:  |  Height:  |  Size: 309 B

After

Width:  |  Height:  |  Size: 309 B

+1 -1
View File
@@ -1,6 +1,6 @@
#ifndef GUARD_BERRY_FIX_PROGRAM_H #ifndef GUARD_BERRY_FIX_PROGRAM_H
#define GUARD_BERRY_FIX_PROGRAM_H #define GUARD_BERRY_FIX_PROGRAM_H
void mb_berry_fix_serve(void); void CB2_InitBerryFixProgram(void);
#endif //GUARD_BERRY_FIX_PROGRAM_H #endif //GUARD_BERRY_FIX_PROGRAM_H
+1 -5
View File
@@ -438,11 +438,7 @@
#define ITEM_RUBY 373 #define ITEM_RUBY 373
#define ITEM_SAPPHIRE 374 #define ITEM_SAPPHIRE 374
#define ITEM_N_A 375 #define ITEMS_COUNT 375
// Emerald
#define ITEM_MAGMA_EMBLEM 375
#define ITEM_OLD_SEA_MAP 376
#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY #define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY #define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
+2 -3
View File
@@ -19,9 +19,8 @@ struct DigitObjUtilTemplate
const struct SpritePalette * spritePal; const struct SpritePalette * spritePal;
}; };
extern const u16 gUnknown_8479668[]; extern const u16 gMinigameDigits_Pal[];
extern const u32 gUnknown_8479688[]; extern const u32 gMinigameDigits_Gfx[];
extern const u32 gUnknown_8479748[];
bool32 DigitObjUtil_Init(u32 count); bool32 DigitObjUtil_Init(u32 count);
void DigitObjUtil_Free(void); void DigitObjUtil_Free(void);
+5 -5
View File
@@ -2916,11 +2916,11 @@ extern const u32 gItemPcBgPals[];
extern const u8 gItemPcTilemap[]; extern const u8 gItemPcTilemap[];
// item_menu_icons // item_menu_icons
extern const u32 gUnknown_8E8362C[]; extern const u32 gBagMale_Gfx[];
extern const u32 gUnknown_8E83DBC[]; extern const u32 gBagFemale_Gfx[];
extern const u32 gUnknown_8E84560[]; extern const u32 gBag_Pal[];
extern const u32 gFile_graphics_interface_bag_swap_sheet[]; extern const u32 gSwapLine_Gfx[];
extern const u32 gFile_graphics_interface_bag_swap_palette[]; extern const u32 gSwapLine_Pal[];
extern const u8 gFile_graphics_items_icons_question_mark_sheet[]; extern const u8 gFile_graphics_items_icons_question_mark_sheet[];
extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[]; extern const u8 gFile_graphics_items_icon_palettes_question_mark_palette[];
extern const u8 gFile_graphics_items_icons_master_ball_sheet[]; extern const u8 gFile_graphics_items_icons_master_ball_sheet[];
+8 -8
View File
@@ -3,26 +3,26 @@
#include "global.h" #include "global.h"
extern const struct CompressedSpriteSheet gSpriteSheet_Backpack; extern const struct CompressedSpriteSheet gSpriteSheet_BagMale;
extern const struct CompressedSpriteSheet gSpriteSheet_Satchel; extern const struct CompressedSpriteSheet gSpriteSheet_BagFemale;
extern const struct CompressedSpritePalette gSpritePalette_BagOrSatchel; extern const struct CompressedSpritePalette gSpritePalette_Bag;
extern const struct CompressedSpriteSheet gBagSwapSpriteSheet; extern const struct CompressedSpriteSheet gBagSwapSpriteSheet;
extern const struct CompressedSpritePalette gBagSwapSpritePalette; extern const struct CompressedSpritePalette gBagSwapSpritePalette;
void ResetItemMenuIconState(void); void ResetItemMenuIconState(void);
void ItemMenuIcons_CreateInsertIndicatorBarHidden(void); void CreateSwapLine(void);
void DestroyItemMenuIcon(bool8 a0); void DestroyItemMenuIcon(bool8 a0);
void CreateItemMenuIcon(u16 itemId, bool8 a0); void CreateItemMenuIcon(u16 itemId, bool8 a0);
void CopyItemIconPicTo4x4Buffer(const void *src, void *dest); void CopyItemIconPicTo4x4Buffer(const void *src, void *dest);
u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId); u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId);
u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId); u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId);
void sub_80989A0(u16 itemId, u8 idx); void CreateBerryPouchItemIcon(u16 itemId, u8 idx);
void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y); void UpdateSwapLinePos(s16 x, u16 y);
void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible); void SetSwapLineInvisibility(bool8 invisible);
void SetBagVisualPocketId(u8); void SetBagVisualPocketId(u8);
void ShakeBagSprite(void); void ShakeBagSprite(void);
const void *GetItemIconGfxPtr(u16 itemId, u8 ptrId); const void *GetItemIconGfxPtr(u16 itemId, u8 ptrId);
void CreateBagOrSatchelSprite(u8 animNum); void CreateBagSprite(u8 animNum);
#endif // GUARD_ITEM_MENU_ICONS #endif // GUARD_ITEM_MENU_ICONS
+5 -6
View File
@@ -74,11 +74,10 @@ void TintPalette_GrayScale(u16 *palette, u16 count);
void TintPalette_GrayScale2(u16 *palette, u16 count); void TintPalette_GrayScale2(u16 *palette, u16 count);
void TintPalette_SepiaTone(u16 *palette, u16 count); void TintPalette_SepiaTone(u16 *palette, u16 count);
void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone); void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone);
void sub_80716F8(const u16 *src, u16 *dst, u16 count, u8 a4); void PaletteStruct_ResetById(u16 id);
void sub_80717A8(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7); void CopyPaletteInvertedTint(const u16 *src, u16 *dst, u16 count, u8 tone);
bool32 sub_807185C(u8 var); void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id);
void sub_8071898(void); bool32 IsBlendPalettesGraduallyTaskActive(u8 var);
void PaletteStruct_ResetById(u16 a1); void DestroyBlendPalettesGraduallyTask(void);
void ResetPaletteStruct(u8 paletteNum);
#endif // GUARD_PALETTE_H #endif // GUARD_PALETTE_H
+99 -82
View File
@@ -9,51 +9,64 @@
#include "help_system.h" #include "help_system.h"
#include "m4a.h" #include "m4a.h"
// Static type declarations enum {
SCENE_ENSURE_CONNECT,
SCENE_TURN_OFF_POWER,
SCENE_TRANSMITTING,
SCENE_FOLLOW_INSTRUCT,
SCENE_TRANSMIT_FAILED,
SCENE_BEGIN,
};
typedef struct { enum {
u8 state; STATE_BEGIN,
u8 unk1; STATE_CONNECT,
u16 unk2; STATE_TURN_OFF_POWER,
struct MultiBootParam mb; STATE_UNUSED,
} berryfix_t; STATE_INIT_MULTIBOOT,
STATE_MULTIBOOT,
STATE_TRANSMIT,
STATE_SUCCEEDED,
STATE_EXIT,
STATE_FAILED,
STATE_RETRY,
};
// Static RAM declarations const void *gMultibootStart;
int gMultibootStatus;
size_t gMultibootSize;
struct MultiBootParam gMultibootParam;
const void *gUnknown_3005EF0; static void CB2_BerryFix(void);
int gUnknown_3005EF4; static void Task_BerryFixMain(u8 taskId);
size_t gUnknown_3005EF8;
struct MultiBootParam gUnknown_3005F00;
// Static ROM declarations static const void *const sBerryFixGraphics[][3] = {
[SCENE_ENSURE_CONNECT] = {
static void mb_berry_fix_maincb(void);
static void mb_berry_fix_task(u8 taskId);
// .rodata
static const void *const gUnknown_847A890[][3] = {
{
gBerryFixGameboy_Gfx, gBerryFixGameboy_Gfx,
gBerryFixGameboy_Tilemap, gBerryFixGameboy_Tilemap,
gBerryFixGameboy_Pal gBerryFixGameboy_Pal
}, { },
[SCENE_TURN_OFF_POWER] = {
gBerryFixGameboyLogo_Gfx, gBerryFixGameboyLogo_Gfx,
gBerryFixGameboyLogo_Tilemap, gBerryFixGameboyLogo_Tilemap,
gBerryFixGameboyLogo_Pal gBerryFixGameboyLogo_Pal
}, { },
[SCENE_TRANSMITTING] = {
gBerryFixGbaTransfer_Gfx, gBerryFixGbaTransfer_Gfx,
gBerryFixGbaTransfer_Tilemap, gBerryFixGbaTransfer_Tilemap,
gBerryFixGbaTransfer_Pal gBerryFixGbaTransfer_Pal
}, { },
[SCENE_FOLLOW_INSTRUCT] = {
gBerryFixGbaTransferHighlight_Gfx, gBerryFixGbaTransferHighlight_Gfx,
gBerryFixGbaTransferHighlight_Tilemap, gBerryFixGbaTransferHighlight_Tilemap,
gBerryFixGbaTransferHighlight_Pal gBerryFixGbaTransferHighlight_Pal
}, { },
[SCENE_TRANSMIT_FAILED] = {
gBerryFixGbaTransferError_Gfx, gBerryFixGbaTransferError_Gfx,
gBerryFixGbaTransferError_Tilemap, gBerryFixGbaTransferError_Tilemap,
gBerryFixGbaTransferError_Pal gBerryFixGbaTransferError_Pal
}, { },
[SCENE_BEGIN] = {
gBerryFixWindow_Gfx, gBerryFixWindow_Gfx,
gBerryFixWindow_Tilemap, gBerryFixWindow_Tilemap,
gBerryFixWindow_Pal gBerryFixWindow_Pal
@@ -63,22 +76,23 @@ static const void *const gUnknown_847A890[][3] = {
extern const u8 gMultiBootProgram_BerryGlitchFix_Start[0x3BF4]; extern const u8 gMultiBootProgram_BerryGlitchFix_Start[0x3BF4];
extern const u8 gMultiBootProgram_BerryGlitchFix_End[]; extern const u8 gMultiBootProgram_BerryGlitchFix_End[];
// .text static void SetScene(int scene)
static void mb_berry_fix_print(int scene)
{ {
REG_DISPCNT = 0; REG_DISPCNT = 0;
REG_BG0HOFS = 0; REG_BG0HOFS = 0;
REG_BG0VOFS = 0; REG_BG0VOFS = 0;
REG_BLDCNT = 0; REG_BLDCNT = 0;
LZ77UnCompVram(gUnknown_847A890[scene][0], (void *)BG_CHAR_ADDR(0)); LZ77UnCompVram(sBerryFixGraphics[scene][0], (void *)BG_CHAR_ADDR(0));
LZ77UnCompVram(gUnknown_847A890[scene][1], (void *)BG_SCREEN_ADDR(31)); LZ77UnCompVram(sBerryFixGraphics[scene][1], (void *)BG_SCREEN_ADDR(31));
CpuCopy16(gUnknown_847A890[scene][2], (void *)BG_PLTT, 0x200); CpuCopy16(sBerryFixGraphics[scene][2], (void *)BG_PLTT, 0x200);
REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(31) | BGCNT_TXT256x256; REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(31) | BGCNT_TXT256x256;
REG_DISPCNT = DISPCNT_BG0_ON; REG_DISPCNT = DISPCNT_BG0_ON;
} }
void mb_berry_fix_serve(void) // noreturn #define tState data[0]
#define tTimer data[1]
void CB2_InitBerryFixProgram(void)
{ {
u8 taskId; u8 taskId;
DisableInterrupts(0xFFFF); DisableInterrupts(0xFFFF);
@@ -91,96 +105,99 @@ void mb_berry_fix_serve(void) // noreturn
ResetTasks(); ResetTasks();
ScanlineEffect_Stop(); ScanlineEffect_Stop();
gHelpSystemEnabled = FALSE; gHelpSystemEnabled = FALSE;
taskId = CreateTask(mb_berry_fix_task, 0); taskId = CreateTask(Task_BerryFixMain, 0);
gTasks[taskId].data[0] = 0; gTasks[taskId].tState = STATE_BEGIN;
SetMainCallback2(mb_berry_fix_maincb); SetMainCallback2(CB2_BerryFix);
} }
static void mb_berry_fix_maincb(void) static void CB2_BerryFix(void)
{ {
RunTasks(); RunTasks();
} }
static void mb_berry_fix_task(u8 taskId) static void Task_BerryFixMain(u8 taskId)
{ {
s16 * data = gTasks[taskId].data; s16 * data = gTasks[taskId].data;
switch (data[0]) switch (tState)
{ {
case 0: case STATE_BEGIN:
mb_berry_fix_print(5); SetScene(SCENE_BEGIN);
data[0] = 1; tState = STATE_CONNECT;
break; break;
case 1: case STATE_CONNECT:
if (JOY_NEW(A_BUTTON)) if (JOY_NEW(A_BUTTON))
{ {
mb_berry_fix_print(0); SetScene(SCENE_ENSURE_CONNECT);
data[0] = 2; tState = STATE_TURN_OFF_POWER;
} }
break; break;
case 2: case STATE_TURN_OFF_POWER:
if (JOY_NEW(A_BUTTON)) if (JOY_NEW(A_BUTTON))
{ {
mb_berry_fix_print(1); SetScene(SCENE_TURN_OFF_POWER);
data[0] = 4; tState = STATE_INIT_MULTIBOOT;
} }
break; break;
case 4: case STATE_INIT_MULTIBOOT:
gUnknown_3005EF0 = gMultiBootProgram_BerryGlitchFix_Start; gMultibootStart = gMultiBootProgram_BerryGlitchFix_Start;
gUnknown_3005EF8 = gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start; gMultibootSize = gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start;
gUnknown_3005F00.masterp = (void *)gMultiBootProgram_BerryGlitchFix_Start; gMultibootParam.masterp = (void *)gMultiBootProgram_BerryGlitchFix_Start;
gUnknown_3005F00.server_type = MULTIBOOT_SERVER_TYPE_NORMAL; gMultibootParam.server_type = MULTIBOOT_SERVER_TYPE_NORMAL;
MultiBootInit(&gUnknown_3005F00); MultiBootInit(&gMultibootParam);
data[1] = 0; tTimer = 0;
data[0] = 5; tState = STATE_MULTIBOOT;
break; break;
case 5: case STATE_MULTIBOOT:
if (gUnknown_3005F00.probe_count == 0 && gUnknown_3005F00.response_bit & 0x2 && gUnknown_3005F00.client_bit & 0x2) if (gMultibootParam.probe_count == 0 && gMultibootParam.response_bit & 0x2 && gMultibootParam.client_bit & 0x2)
{ {
data[1]++; if (++tTimer > 180)
if (data[1] > 180)
{ {
mb_berry_fix_print(2); SetScene(SCENE_TRANSMITTING);
MultiBootStartMaster(&gUnknown_3005F00, gUnknown_3005EF0 + MULTIBOOT_HEADER_SIZE, gUnknown_3005EF8 - MULTIBOOT_HEADER_SIZE, 4, 1); MultiBootStartMaster(&gMultibootParam, gMultibootStart + MULTIBOOT_HEADER_SIZE, gMultibootSize - MULTIBOOT_HEADER_SIZE, 4, 1);
data[1] = 0; tTimer = 0;
data[0] = 6; tState = STATE_TRANSMIT;
} }
else else
gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); {
gMultibootStatus = MultiBootMain(&gMultibootParam);
}
} }
else else
{ {
data[1] = 0; tTimer = 0;
gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); gMultibootStatus = MultiBootMain(&gMultibootParam);
} }
break; break;
case 6: case STATE_TRANSMIT:
gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00); gMultibootStatus = MultiBootMain(&gMultibootParam);
if (MultiBootCheckComplete(&gUnknown_3005F00)) if (MultiBootCheckComplete(&gMultibootParam))
{ {
mb_berry_fix_print(3); SetScene(SCENE_FOLLOW_INSTRUCT);
data[0] = 7; tState = STATE_SUCCEEDED;
}
else if (!(gMultibootParam.client_bit & 2))
{
tState = STATE_FAILED;
} }
else if (!(gUnknown_3005F00.client_bit & 2))
data[0] = 9;
break; break;
case 7: case STATE_SUCCEEDED:
data[0] = 8; tState = STATE_EXIT;
break; break;
case 8: case STATE_EXIT:
if (JOY_NEW(A_BUTTON)) if (JOY_NEW(A_BUTTON))
{ {
DestroyTask(taskId); DestroyTask(taskId);
DoSoftReset(); DoSoftReset();
} }
break; break;
case 9: case STATE_FAILED:
mb_berry_fix_print(4); SetScene(SCENE_TRANSMIT_FAILED);
data[0] = 10; tState = STATE_RETRY;
break; break;
case 10: case STATE_RETRY:
if (JOY_NEW(A_BUTTON)) if (JOY_NEW(A_BUTTON))
data[0] = 0; tState = STATE_BEGIN;
break; break;
} }
} }
+2 -2
View File
@@ -709,9 +709,9 @@ static void BerryPouchMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen
} }
DestroyItemMenuIcon(sResources->itemMenuIconId ^ 1); DestroyItemMenuIcon(sResources->itemMenuIconId ^ 1);
if (sResources->listMenuNumItems != itemIndex) if (sResources->listMenuNumItems != itemIndex)
sub_80989A0(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, itemIndex), sResources->itemMenuIconId); CreateBerryPouchItemIcon(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, itemIndex), sResources->itemMenuIconId);
else else
sub_80989A0(ITEM_N_A, sResources->itemMenuIconId); CreateBerryPouchItemIcon(ITEMS_COUNT, sResources->itemMenuIconId);
sResources->itemMenuIconId ^= 1; sResources->itemMenuIconId ^= 1;
PrintSelectedBerryDescription(itemIndex); PrintSelectedBerryDescription(itemIndex);
} }
+379
View File
@@ -0,0 +1,379 @@
static const void *const sItemIconTable[ITEMS_COUNT + 1][2] =
{
[ITEM_NONE] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_MASTER_BALL] = {gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette},
[ITEM_ULTRA_BALL] = {gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette},
[ITEM_GREAT_BALL] = {gFile_graphics_items_icons_great_ball_sheet, gFile_graphics_items_icon_palettes_great_ball_palette},
[ITEM_POKE_BALL] = {gFile_graphics_items_icons_poke_ball_sheet, gFile_graphics_items_icon_palettes_poke_ball_palette},
[ITEM_SAFARI_BALL] = {gFile_graphics_items_icons_safari_ball_sheet, gFile_graphics_items_icon_palettes_safari_ball_palette},
[ITEM_NET_BALL] = {gFile_graphics_items_icons_net_ball_sheet, gFile_graphics_items_icon_palettes_net_ball_palette},
[ITEM_DIVE_BALL] = {gFile_graphics_items_icons_dive_ball_sheet, gFile_graphics_items_icon_palettes_dive_ball_palette},
[ITEM_NEST_BALL] = {gFile_graphics_items_icons_nest_ball_sheet, gFile_graphics_items_icon_palettes_nest_ball_palette},
[ITEM_REPEAT_BALL] = {gFile_graphics_items_icons_repeat_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette},
[ITEM_TIMER_BALL] = {gFile_graphics_items_icons_timer_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette},
[ITEM_LUXURY_BALL] = {gFile_graphics_items_icons_luxury_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette},
[ITEM_PREMIER_BALL] = {gFile_graphics_items_icons_premier_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette},
[ITEM_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_potion_palette},
[ITEM_ANTIDOTE] = {gFile_graphics_items_icons_antidote_sheet, gFile_graphics_items_icon_palettes_antidote_palette},
[ITEM_BURN_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_burn_heal_palette},
[ITEM_ICE_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_ice_heal_palette},
[ITEM_AWAKENING] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_awakening_palette},
[ITEM_PARALYZE_HEAL] = {gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_paralyze_heal_palette},
[ITEM_FULL_RESTORE] = {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_full_restore_palette},
[ITEM_MAX_POTION] = {gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_max_potion_palette},
[ITEM_HYPER_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_hyper_potion_palette},
[ITEM_SUPER_POTION] = {gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_super_potion_palette},
[ITEM_FULL_HEAL] = {gFile_graphics_items_icons_full_heal_sheet, gFile_graphics_items_icon_palettes_full_heal_palette},
[ITEM_REVIVE] = {gFile_graphics_items_icons_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette},
[ITEM_MAX_REVIVE] = {gFile_graphics_items_icons_max_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette},
[ITEM_FRESH_WATER] = {gFile_graphics_items_icons_fresh_water_sheet, gFile_graphics_items_icon_palettes_fresh_water_palette},
[ITEM_SODA_POP] = {gFile_graphics_items_icons_soda_pop_sheet, gFile_graphics_items_icon_palettes_soda_pop_palette},
[ITEM_LEMONADE] = {gFile_graphics_items_icons_lemonade_sheet, gFile_graphics_items_icon_palettes_lemonade_palette},
[ITEM_MOOMOO_MILK] = {gFile_graphics_items_icons_moomoo_milk_sheet, gFile_graphics_items_icon_palettes_moomoo_milk_palette},
[ITEM_ENERGY_POWDER] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_energy_powder_palette},
[ITEM_ENERGY_ROOT] = {gFile_graphics_items_icons_energy_root_sheet, gFile_graphics_items_icon_palettes_energy_root_palette},
[ITEM_HEAL_POWDER] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_heal_powder_palette},
[ITEM_REVIVAL_HERB] = {gFile_graphics_items_icons_revival_herb_sheet, gFile_graphics_items_icon_palettes_revival_herb_palette},
[ITEM_ETHER] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_ether_palette},
[ITEM_MAX_ETHER] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_ether_palette},
[ITEM_ELIXIR] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_elixir_palette},
[ITEM_MAX_ELIXIR] = {gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_elixir_palette},
[ITEM_LAVA_COOKIE] = {gFile_graphics_items_icons_lava_cookie_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette},
[ITEM_BLUE_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_blue_flute_palette},
[ITEM_YELLOW_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_yellow_flute_palette},
[ITEM_RED_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_red_flute_palette},
[ITEM_BLACK_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_black_flute_palette},
[ITEM_WHITE_FLUTE] = {gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_white_flute_palette},
[ITEM_BERRY_JUICE] = {gFile_graphics_items_icons_berry_juice_sheet, gFile_graphics_items_icon_palettes_berry_juice_palette},
[ITEM_SACRED_ASH] = {gFile_graphics_items_icons_sacred_ash_sheet, gFile_graphics_items_icon_palettes_sacred_ash_palette},
[ITEM_SHOAL_SALT] = {gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_shoal_salt_palette},
[ITEM_SHOAL_SHELL] = {gFile_graphics_items_icons_shoal_shell_sheet, gFile_graphics_items_icon_palettes_shell_palette},
[ITEM_RED_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_red_shard_palette},
[ITEM_BLUE_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_blue_shard_palette},
[ITEM_YELLOW_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_yellow_shard_palette},
[ITEM_GREEN_SHARD] = {gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_green_shard_palette},
[ITEM_034] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_035] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_036] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_037] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_038] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_039] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_03A] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_03B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_03C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_03D] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_03E] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_HP_UP] = {gFile_graphics_items_icons_hp_up_sheet, gFile_graphics_items_icon_palettes_hp_up_palette},
[ITEM_PROTEIN] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_protein_palette},
[ITEM_IRON] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_iron_palette},
[ITEM_CARBOS] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_carbos_palette},
[ITEM_CALCIUM] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_calcium_palette},
[ITEM_RARE_CANDY] = {gFile_graphics_items_icons_rare_candy_sheet, gFile_graphics_items_icon_palettes_rare_candy_palette},
[ITEM_PP_UP] = {gFile_graphics_items_icons_pp_up_sheet, gFile_graphics_items_icon_palettes_pp_up_palette},
[ITEM_ZINC] = {gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_zinc_palette},
[ITEM_PP_MAX] = {gFile_graphics_items_icons_pp_max_sheet, gFile_graphics_items_icon_palettes_pp_max_palette},
[ITEM_048] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_GUARD_SPEC] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_guard_spec_palette},
[ITEM_DIRE_HIT] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_dire_hit_palette},
[ITEM_X_ATTACK] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_attack_palette},
[ITEM_X_DEFEND] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_defend_palette},
[ITEM_X_SPEED] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_speed_palette},
[ITEM_X_ACCURACY] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_accuracy_palette},
[ITEM_X_SPECIAL] = {gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_special_palette},
[ITEM_POKE_DOLL] = {gFile_graphics_items_icons_poke_doll_sheet, gFile_graphics_items_icon_palettes_poke_doll_palette},
[ITEM_FLUFFY_TAIL] = {gFile_graphics_items_icons_fluffy_tail_sheet, gFile_graphics_items_icon_palettes_fluffy_tail_palette},
[ITEM_052] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_SUPER_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_super_repel_palette},
[ITEM_MAX_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_max_repel_palette},
[ITEM_ESCAPE_ROPE] = {gFile_graphics_items_icons_escape_rope_sheet, gFile_graphics_items_icon_palettes_escape_rope_palette},
[ITEM_REPEL] = {gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_repel_palette},
[ITEM_057] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_058] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_059] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_05A] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_05B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_05C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_SUN_STONE] = {gFile_graphics_items_icons_sun_stone_sheet, gFile_graphics_items_icon_palettes_sun_stone_palette},
[ITEM_MOON_STONE] = {gFile_graphics_items_icons_moon_stone_sheet, gFile_graphics_items_icon_palettes_moon_stone_palette},
[ITEM_FIRE_STONE] = {gFile_graphics_items_icons_fire_stone_sheet, gFile_graphics_items_icon_palettes_fire_stone_palette},
[ITEM_THUNDER_STONE] = {gFile_graphics_items_icons_thunder_stone_sheet, gFile_graphics_items_icon_palettes_thunder_stone_palette},
[ITEM_WATER_STONE] = {gFile_graphics_items_icons_water_stone_sheet, gFile_graphics_items_icon_palettes_water_stone_palette},
[ITEM_LEAF_STONE] = {gFile_graphics_items_icons_leaf_stone_sheet, gFile_graphics_items_icon_palettes_leaf_stone_palette},
[ITEM_063] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_064] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_065] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_066] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_TINY_MUSHROOM] = {gFile_graphics_items_icons_tiny_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette},
[ITEM_BIG_MUSHROOM] = {gFile_graphics_items_icons_big_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette},
[ITEM_069] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_PEARL] = {gFile_graphics_items_icons_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette},
[ITEM_BIG_PEARL] = {gFile_graphics_items_icons_big_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette},
[ITEM_STARDUST] = {gFile_graphics_items_icons_stardust_sheet, gFile_graphics_items_icon_palettes_star_palette},
[ITEM_STAR_PIECE] = {gFile_graphics_items_icons_star_piece_sheet, gFile_graphics_items_icon_palettes_star_palette},
[ITEM_NUGGET] = {gFile_graphics_items_icons_nugget_sheet, gFile_graphics_items_icon_palettes_nugget_palette},
[ITEM_HEART_SCALE] = {gFile_graphics_items_icons_heart_scale_sheet, gFile_graphics_items_icon_palettes_heart_scale_palette},
[ITEM_070] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_071] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_072] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_073] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_074] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_075] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_076] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_077] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_078] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_ORANGE_MAIL] = {gFile_graphics_items_icons_orange_mail_sheet, gFile_graphics_items_icon_palettes_orange_mail_palette},
[ITEM_HARBOR_MAIL] = {gFile_graphics_items_icons_harbor_mail_sheet, gFile_graphics_items_icon_palettes_harbor_mail_palette},
[ITEM_GLITTER_MAIL] = {gFile_graphics_items_icons_glitter_mail_sheet, gFile_graphics_items_icon_palettes_glitter_mail_palette},
[ITEM_MECH_MAIL] = {gFile_graphics_items_icons_mech_mail_sheet, gFile_graphics_items_icon_palettes_mech_mail_palette},
[ITEM_WOOD_MAIL] = {gFile_graphics_items_icons_wood_mail_sheet, gFile_graphics_items_icon_palettes_wood_mail_palette},
[ITEM_WAVE_MAIL] = {gFile_graphics_items_icons_wave_mail_sheet, gFile_graphics_items_icon_palettes_wave_mail_palette},
[ITEM_BEAD_MAIL] = {gFile_graphics_items_icons_bead_mail_sheet, gFile_graphics_items_icon_palettes_bead_mail_palette},
[ITEM_SHADOW_MAIL] = {gFile_graphics_items_icons_shadow_mail_sheet, gFile_graphics_items_icon_palettes_shadow_mail_palette},
[ITEM_TROPIC_MAIL] = {gFile_graphics_items_icons_tropic_mail_sheet, gFile_graphics_items_icon_palettes_tropic_mail_palette},
[ITEM_DREAM_MAIL] = {gFile_graphics_items_icons_dream_mail_sheet, gFile_graphics_items_icon_palettes_dream_mail_palette},
[ITEM_FAB_MAIL] = {gFile_graphics_items_icons_fab_mail_sheet, gFile_graphics_items_icon_palettes_fab_mail_palette},
[ITEM_RETRO_MAIL] = {gFile_graphics_items_icons_retro_mail_sheet, gFile_graphics_items_icon_palettes_retro_mail_palette},
[ITEM_CHERI_BERRY] = {gFile_graphics_items_icons_cheri_berry_sheet, gFile_graphics_items_icon_palettes_cheri_berry_palette},
[ITEM_CHESTO_BERRY] = {gFile_graphics_items_icons_chesto_berry_sheet, gFile_graphics_items_icon_palettes_chesto_berry_palette},
[ITEM_PECHA_BERRY] = {gFile_graphics_items_icons_pecha_berry_sheet, gFile_graphics_items_icon_palettes_pecha_berry_palette},
[ITEM_RAWST_BERRY] = {gFile_graphics_items_icons_rawst_berry_sheet, gFile_graphics_items_icon_palettes_rawst_berry_palette},
[ITEM_ASPEAR_BERRY] = {gFile_graphics_items_icons_aspear_berry_sheet, gFile_graphics_items_icon_palettes_aspear_berry_palette},
[ITEM_LEPPA_BERRY] = {gFile_graphics_items_icons_leppa_berry_sheet, gFile_graphics_items_icon_palettes_leppa_berry_palette},
[ITEM_ORAN_BERRY] = {gFile_graphics_items_icons_oran_berry_sheet, gFile_graphics_items_icon_palettes_oran_berry_palette},
[ITEM_PERSIM_BERRY] = {gFile_graphics_items_icons_persim_berry_sheet, gFile_graphics_items_icon_palettes_persim_berry_palette},
[ITEM_LUM_BERRY] = {gFile_graphics_items_icons_lum_berry_sheet, gFile_graphics_items_icon_palettes_lum_berry_palette},
[ITEM_SITRUS_BERRY] = {gFile_graphics_items_icons_sitrus_berry_sheet, gFile_graphics_items_icon_palettes_sitrus_berry_palette},
[ITEM_FIGY_BERRY] = {gFile_graphics_items_icons_figy_berry_sheet, gFile_graphics_items_icon_palettes_figy_berry_palette},
[ITEM_WIKI_BERRY] = {gFile_graphics_items_icons_wiki_berry_sheet, gFile_graphics_items_icon_palettes_wiki_berry_palette},
[ITEM_MAGO_BERRY] = {gFile_graphics_items_icons_mago_berry_sheet, gFile_graphics_items_icon_palettes_mago_berry_palette},
[ITEM_AGUAV_BERRY] = {gFile_graphics_items_icons_aguav_berry_sheet, gFile_graphics_items_icon_palettes_aguav_berry_palette},
[ITEM_IAPAPA_BERRY] = {gFile_graphics_items_icons_iapapa_berry_sheet, gFile_graphics_items_icon_palettes_iapapa_berry_palette},
[ITEM_RAZZ_BERRY] = {gFile_graphics_items_icons_razz_berry_sheet, gFile_graphics_items_icon_palettes_razz_berry_palette},
[ITEM_BLUK_BERRY] = {gFile_graphics_items_icons_bluk_berry_sheet, gFile_graphics_items_icon_palettes_bluk_berry_palette},
[ITEM_NANAB_BERRY] = {gFile_graphics_items_icons_nanab_berry_sheet, gFile_graphics_items_icon_palettes_nanab_berry_palette},
[ITEM_WEPEAR_BERRY] = {gFile_graphics_items_icons_wepear_berry_sheet, gFile_graphics_items_icon_palettes_wepear_berry_palette},
[ITEM_PINAP_BERRY] = {gFile_graphics_items_icons_pinap_berry_sheet, gFile_graphics_items_icon_palettes_pinap_berry_palette},
[ITEM_POMEG_BERRY] = {gFile_graphics_items_icons_pomeg_berry_sheet, gFile_graphics_items_icon_palettes_pomeg_berry_palette},
[ITEM_KELPSY_BERRY] = {gFile_graphics_items_icons_kelpsy_berry_sheet, gFile_graphics_items_icon_palettes_kelpsy_berry_palette},
[ITEM_QUALOT_BERRY] = {gFile_graphics_items_icons_qualot_berry_sheet, gFile_graphics_items_icon_palettes_qualot_berry_palette},
[ITEM_HONDEW_BERRY] = {gFile_graphics_items_icons_hondew_berry_sheet, gFile_graphics_items_icon_palettes_hondew_berry_palette},
[ITEM_GREPA_BERRY] = {gFile_graphics_items_icons_grepa_berry_sheet, gFile_graphics_items_icon_palettes_grepa_berry_palette},
[ITEM_TAMATO_BERRY] = {gFile_graphics_items_icons_tamato_berry_sheet, gFile_graphics_items_icon_palettes_tamato_berry_palette},
[ITEM_CORNN_BERRY] = {gFile_graphics_items_icons_cornn_berry_sheet, gFile_graphics_items_icon_palettes_cornn_berry_palette},
[ITEM_MAGOST_BERRY] = {gFile_graphics_items_icons_magost_berry_sheet, gFile_graphics_items_icon_palettes_magost_berry_palette},
[ITEM_RABUTA_BERRY] = {gFile_graphics_items_icons_rabuta_berry_sheet, gFile_graphics_items_icon_palettes_rabuta_berry_palette},
[ITEM_NOMEL_BERRY] = {gFile_graphics_items_icons_nomel_berry_sheet, gFile_graphics_items_icon_palettes_nomel_berry_palette},
[ITEM_SPELON_BERRY] = {gFile_graphics_items_icons_spelon_berry_sheet, gFile_graphics_items_icon_palettes_spelon_berry_palette},
[ITEM_PAMTRE_BERRY] = {gFile_graphics_items_icons_pamtre_berry_sheet, gFile_graphics_items_icon_palettes_pamtre_berry_palette},
[ITEM_WATMEL_BERRY] = {gFile_graphics_items_icons_watmel_berry_sheet, gFile_graphics_items_icon_palettes_watmel_berry_palette},
[ITEM_DURIN_BERRY] = {gFile_graphics_items_icons_durin_berry_sheet, gFile_graphics_items_icon_palettes_durin_berry_palette},
[ITEM_BELUE_BERRY] = {gFile_graphics_items_icons_belue_berry_sheet, gFile_graphics_items_icon_palettes_belue_berry_palette},
[ITEM_LIECHI_BERRY] = {gFile_graphics_items_icons_liechi_berry_sheet, gFile_graphics_items_icon_palettes_liechi_berry_palette},
[ITEM_GANLON_BERRY] = {gFile_graphics_items_icons_ganlon_berry_sheet, gFile_graphics_items_icon_palettes_ganlon_berry_palette},
[ITEM_SALAC_BERRY] = {gFile_graphics_items_icons_salac_berry_sheet, gFile_graphics_items_icon_palettes_salac_berry_palette},
[ITEM_PETAYA_BERRY] = {gFile_graphics_items_icons_petaya_berry_sheet, gFile_graphics_items_icon_palettes_petaya_berry_palette},
[ITEM_APICOT_BERRY] = {gFile_graphics_items_icons_apicot_berry_sheet, gFile_graphics_items_icon_palettes_apicot_berry_palette},
[ITEM_LANSAT_BERRY] = {gFile_graphics_items_icons_lansat_berry_sheet, gFile_graphics_items_icon_palettes_lansat_berry_palette},
[ITEM_STARF_BERRY] = {gFile_graphics_items_icons_starf_berry_sheet, gFile_graphics_items_icon_palettes_starf_berry_palette},
[ITEM_ENIGMA_BERRY] = {gFile_graphics_items_icons_enigma_berry_sheet, gFile_graphics_items_icon_palettes_enigma_berry_palette},
[ITEM_0B0] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0B1] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0B2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_BRIGHT_POWDER] = {gFile_graphics_items_icons_bright_powder_sheet, gFile_graphics_items_icon_palettes_bright_powder_palette},
[ITEM_WHITE_HERB] = {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_white_herb_palette},
[ITEM_MACHO_BRACE] = {gFile_graphics_items_icons_macho_brace_sheet, gFile_graphics_items_icon_palettes_macho_brace_palette},
[ITEM_EXP_SHARE] = {gFile_graphics_items_icons_exp_share_sheet, gFile_graphics_items_icon_palettes_exp_share_palette},
[ITEM_QUICK_CLAW] = {gFile_graphics_items_icons_quick_claw_sheet, gFile_graphics_items_icon_palettes_quick_claw_palette},
[ITEM_SOOTHE_BELL] = {gFile_graphics_items_icons_soothe_bell_sheet, gFile_graphics_items_icon_palettes_soothe_bell_palette},
[ITEM_MENTAL_HERB] = {gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_mental_herb_palette},
[ITEM_CHOICE_BAND] = {gFile_graphics_items_icons_choice_band_sheet, gFile_graphics_items_icon_palettes_choice_band_palette},
[ITEM_KINGS_ROCK] = {gFile_graphics_items_icons_kings_rock_sheet, gFile_graphics_items_icon_palettes_kings_rock_palette},
[ITEM_SILVER_POWDER] = {gFile_graphics_items_icons_silver_powder_sheet, gFile_graphics_items_icon_palettes_silver_powder_palette},
[ITEM_AMULET_COIN] = {gFile_graphics_items_icons_amulet_coin_sheet, gFile_graphics_items_icon_palettes_amulet_coin_palette},
[ITEM_CLEANSE_TAG] = {gFile_graphics_items_icons_cleanse_tag_sheet, gFile_graphics_items_icon_palettes_cleanse_tag_palette},
[ITEM_SOUL_DEW] = {gFile_graphics_items_icons_soul_dew_sheet, gFile_graphics_items_icon_palettes_soul_dew_palette},
[ITEM_DEEP_SEA_TOOTH] = {gFile_graphics_items_icons_deep_sea_tooth_sheet, gFile_graphics_items_icon_palettes_deep_sea_tooth_palette},
[ITEM_DEEP_SEA_SCALE] = {gFile_graphics_items_icons_deep_sea_scale_sheet, gFile_graphics_items_icon_palettes_deep_sea_scale_palette},
[ITEM_SMOKE_BALL] = {gFile_graphics_items_icons_smoke_ball_sheet, gFile_graphics_items_icon_palettes_smoke_ball_palette},
[ITEM_EVERSTONE] = {gFile_graphics_items_icons_everstone_sheet, gFile_graphics_items_icon_palettes_everstone_palette},
[ITEM_FOCUS_BAND] = {gFile_graphics_items_icons_focus_band_sheet, gFile_graphics_items_icon_palettes_focus_band_palette},
[ITEM_LUCKY_EGG] = {gFile_graphics_items_icons_lucky_egg_sheet, gFile_graphics_items_icon_palettes_lucky_egg_palette},
[ITEM_SCOPE_LENS] = {gFile_graphics_items_icons_scope_lens_sheet, gFile_graphics_items_icon_palettes_scope_lens_palette},
[ITEM_METAL_COAT] = {gFile_graphics_items_icons_metal_coat_sheet, gFile_graphics_items_icon_palettes_metal_coat_palette},
[ITEM_LEFTOVERS] = {gFile_graphics_items_icons_leftovers_sheet, gFile_graphics_items_icon_palettes_leftovers_palette},
[ITEM_DRAGON_SCALE] = {gFile_graphics_items_icons_dragon_scale_sheet, gFile_graphics_items_icon_palettes_dragon_scale_palette},
[ITEM_LIGHT_BALL] = {gFile_graphics_items_icons_light_ball_sheet, gFile_graphics_items_icon_palettes_light_ball_palette},
[ITEM_SOFT_SAND] = {gFile_graphics_items_icons_soft_sand_sheet, gFile_graphics_items_icon_palettes_soft_sand_palette},
[ITEM_HARD_STONE] = {gFile_graphics_items_icons_hard_stone_sheet, gFile_graphics_items_icon_palettes_hard_stone_palette},
[ITEM_MIRACLE_SEED] = {gFile_graphics_items_icons_miracle_seed_sheet, gFile_graphics_items_icon_palettes_miracle_seed_palette},
[ITEM_BLACK_GLASSES] = {gFile_graphics_items_icons_black_glasses_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette},
[ITEM_BLACK_BELT] = {gFile_graphics_items_icons_black_belt_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette},
[ITEM_MAGNET] = {gFile_graphics_items_icons_magnet_sheet, gFile_graphics_items_icon_palettes_magnet_palette},
[ITEM_MYSTIC_WATER] = {gFile_graphics_items_icons_mystic_water_sheet, gFile_graphics_items_icon_palettes_mystic_water_palette},
[ITEM_SHARP_BEAK] = {gFile_graphics_items_icons_sharp_beak_sheet, gFile_graphics_items_icon_palettes_sharp_beak_palette},
[ITEM_POISON_BARB] = {gFile_graphics_items_icons_poison_barb_sheet, gFile_graphics_items_icon_palettes_poison_barb_palette},
[ITEM_NEVER_MELT_ICE] = {gFile_graphics_items_icons_never_melt_ice_sheet, gFile_graphics_items_icon_palettes_never_melt_ice_palette},
[ITEM_SPELL_TAG] = {gFile_graphics_items_icons_spell_tag_sheet, gFile_graphics_items_icon_palettes_spell_tag_palette},
[ITEM_TWISTED_SPOON] = {gFile_graphics_items_icons_twisted_spoon_sheet, gFile_graphics_items_icon_palettes_twisted_spoon_palette},
[ITEM_CHARCOAL] = {gFile_graphics_items_icons_charcoal_sheet, gFile_graphics_items_icon_palettes_charcoal_palette},
[ITEM_DRAGON_FANG] = {gFile_graphics_items_icons_dragon_fang_sheet, gFile_graphics_items_icon_palettes_dragon_fang_palette},
[ITEM_SILK_SCARF] = {gFile_graphics_items_icons_silk_scarf_sheet, gFile_graphics_items_icon_palettes_silk_scarf_palette},
[ITEM_UP_GRADE] = {gFile_graphics_items_icons_up_grade_sheet, gFile_graphics_items_icon_palettes_up_grade_palette},
[ITEM_SHELL_BELL] = {gFile_graphics_items_icons_shell_bell_sheet, gFile_graphics_items_icon_palettes_shell_palette},
[ITEM_SEA_INCENSE] = {gFile_graphics_items_icons_sea_incense_sheet, gFile_graphics_items_icon_palettes_sea_incense_palette},
[ITEM_LAX_INCENSE] = {gFile_graphics_items_icons_lax_incense_sheet, gFile_graphics_items_icon_palettes_lax_incense_palette},
[ITEM_LUCKY_PUNCH] = {gFile_graphics_items_icons_lucky_punch_sheet, gFile_graphics_items_icon_palettes_lucky_punch_palette},
[ITEM_METAL_POWDER] = {gFile_graphics_items_icons_metal_powder_sheet, gFile_graphics_items_icon_palettes_metal_powder_palette},
[ITEM_THICK_CLUB] = {gFile_graphics_items_icons_thick_club_sheet, gFile_graphics_items_icon_palettes_thick_club_palette},
[ITEM_STICK] = {gFile_graphics_items_icons_stick_sheet, gFile_graphics_items_icon_palettes_stick_palette},
[ITEM_0E2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0E3] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0E4] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0E5] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0E6] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0E7] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0E8] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0E9] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0EA] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0EB] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0EC] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0ED] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0EE] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0EF] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F0] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F1] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F2] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F3] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F4] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F5] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F6] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F7] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F8] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0F9] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0FA] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0FB] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0FC] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_0FD] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_RED_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_red_scarf_palette},
[ITEM_BLUE_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_blue_scarf_palette},
[ITEM_PINK_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_pink_scarf_palette},
[ITEM_GREEN_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_green_scarf_palette},
[ITEM_YELLOW_SCARF] = {gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_yellow_scarf_palette},
[ITEM_MACH_BIKE] = {gFile_graphics_items_icons_mach_bike_sheet, gFile_graphics_items_icon_palettes_mach_bike_palette},
[ITEM_COIN_CASE] = {gFile_graphics_items_icons_coin_case_sheet, gFile_graphics_items_icon_palettes_coin_case_palette},
[ITEM_ITEMFINDER] = {gFile_graphics_items_icons_itemfinder_sheet, gFile_graphics_items_icon_palettes_itemfinder_palette},
[ITEM_OLD_ROD] = {gFile_graphics_items_icons_old_rod_sheet, gFile_graphics_items_icon_palettes_old_rod_palette},
[ITEM_GOOD_ROD] = {gFile_graphics_items_icons_good_rod_sheet, gFile_graphics_items_icon_palettes_good_rod_palette},
[ITEM_SUPER_ROD] = {gFile_graphics_items_icons_super_rod_sheet, gFile_graphics_items_icon_palettes_super_rod_palette},
[ITEM_SS_TICKET] = {gFile_graphics_items_icons_ss_ticket_sheet, gFile_graphics_items_icon_palettes_ss_ticket_palette},
[ITEM_CONTEST_PASS] = {gFile_graphics_items_icons_contest_pass_sheet, gFile_graphics_items_icon_palettes_contest_pass_palette},
[ITEM_10B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_WAILMER_PAIL] = {gFile_graphics_items_icons_wailmer_pail_sheet, gFile_graphics_items_icon_palettes_wailmer_pail_palette},
[ITEM_DEVON_GOODS] = {gFile_graphics_items_icons_devon_goods_sheet, gFile_graphics_items_icon_palettes_devon_goods_palette},
[ITEM_SOOT_SACK] = {gFile_graphics_items_icons_soot_sack_sheet, gFile_graphics_items_icon_palettes_soot_sack_palette},
[ITEM_BASEMENT_KEY] = {gFile_graphics_items_icons_basement_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette},
[ITEM_ACRO_BIKE] = {gFile_graphics_items_icons_acro_bike_sheet, gFile_graphics_items_icon_palettes_acro_bike_palette},
[ITEM_POKEBLOCK_CASE] = {gFile_graphics_items_icons_pokeblock_case_sheet, gFile_graphics_items_icon_palettes_pokeblock_case_palette},
[ITEM_LETTER] = {gFile_graphics_items_icons_letter_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette},
[ITEM_EON_TICKET] = {gFile_graphics_items_icons_eon_ticket_sheet, gFile_graphics_items_icon_palettes_eon_ticket_palette},
[ITEM_RED_ORB] = {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_red_orb_palette},
[ITEM_BLUE_ORB] = {gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_blue_orb_palette},
[ITEM_SCANNER] = {gFile_graphics_items_icons_scanner_sheet, gFile_graphics_items_icon_palettes_scanner_palette},
[ITEM_GO_GOGGLES] = {gFile_graphics_items_icons_go_goggles_sheet, gFile_graphics_items_icon_palettes_go_goggles_palette},
[ITEM_METEORITE] = {gFile_graphics_items_icons_meteorite_sheet, gFile_graphics_items_icon_palettes_meteorite_palette},
[ITEM_ROOM_1_KEY] = {gFile_graphics_items_icons_room1_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
[ITEM_ROOM_2_KEY] = {gFile_graphics_items_icons_room2_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
[ITEM_ROOM_4_KEY] = {gFile_graphics_items_icons_room4_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
[ITEM_ROOM_6_KEY] = {gFile_graphics_items_icons_room6_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
[ITEM_STORAGE_KEY] = {gFile_graphics_items_icons_storage_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette},
[ITEM_ROOT_FOSSIL] = {gFile_graphics_items_icons_root_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette},
[ITEM_CLAW_FOSSIL] = {gFile_graphics_items_icons_claw_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette},
[ITEM_DEVON_SCOPE] = {gFile_graphics_items_icons_devon_scope_sheet, gFile_graphics_items_icon_palettes_devon_scope_palette},
[ITEM_TM01] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
[ITEM_TM02] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dragon_tm_hm_palette},
[ITEM_TM03] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
[ITEM_TM04] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
[ITEM_TM05] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM06] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette},
[ITEM_TM07] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette},
[ITEM_TM08] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
[ITEM_TM09] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette},
[ITEM_TM10] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM11] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
[ITEM_TM12] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
[ITEM_TM13] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette},
[ITEM_TM14] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette},
[ITEM_TM15] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM16] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
[ITEM_TM17] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM18] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
[ITEM_TM19] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette},
[ITEM_TM20] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM21] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM22] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette},
[ITEM_TM23] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette},
[ITEM_TM24] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette},
[ITEM_TM25] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette},
[ITEM_TM26] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette},
[ITEM_TM27] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM28] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette},
[ITEM_TM29] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
[ITEM_TM30] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ghost_tm_hm_palette},
[ITEM_TM31] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
[ITEM_TM32] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM33] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
[ITEM_TM34] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette},
[ITEM_TM35] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
[ITEM_TM36] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette},
[ITEM_TM37] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette},
[ITEM_TM38] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
[ITEM_TM39] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette},
[ITEM_TM40] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette},
[ITEM_TM41] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
[ITEM_TM42] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM43] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM44] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
[ITEM_TM45] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_TM46] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
[ITEM_TM47] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette},
[ITEM_TM48] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
[ITEM_TM49] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
[ITEM_TM50] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
[ITEM_HM01] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_HM02] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette},
[ITEM_HM03] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
[ITEM_HM04] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_HM05] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
[ITEM_HM06] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
[ITEM_HM07] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
[ITEM_HM08] = {gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
[ITEM_15B] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_15C] = {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
[ITEM_OAKS_PARCEL] = {gFile_graphics_items_icons_oaks_parcel_sheet, gFile_graphics_items_icon_palettes_oaks_parcel_palette},
[ITEM_POKE_FLUTE] = {gFile_graphics_items_icons_poke_flute_sheet, gFile_graphics_items_icon_palettes_poke_flute_palette},
[ITEM_SECRET_KEY] = {gFile_graphics_items_icons_secret_key_sheet, gFile_graphics_items_icon_palettes_secret_key_palette},
[ITEM_BIKE_VOUCHER] = {gFile_graphics_items_icons_bike_voucher_sheet, gFile_graphics_items_icon_palettes_bike_voucher_palette},
[ITEM_GOLD_TEETH] = {gFile_graphics_items_icons_gold_teeth_sheet, gFile_graphics_items_icon_palettes_gold_teeth_palette},
[ITEM_OLD_AMBER] = {gFile_graphics_items_icons_old_amber_sheet, gFile_graphics_items_icon_palettes_old_amber_palette},
[ITEM_CARD_KEY] = {gFile_graphics_items_icons_card_key_sheet, gFile_graphics_items_icon_palettes_card_key_palette},
[ITEM_LIFT_KEY] = {gFile_graphics_items_icons_lift_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
[ITEM_HELIX_FOSSIL] = {gFile_graphics_items_icons_helix_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette},
[ITEM_DOME_FOSSIL] = {gFile_graphics_items_icons_dome_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette},
[ITEM_SILPH_SCOPE] = {gFile_graphics_items_icons_silph_scope_sheet, gFile_graphics_items_icon_palettes_silph_scope_palette},
[ITEM_BICYCLE] = {gFile_graphics_items_icons_bicycle_sheet, gFile_graphics_items_icon_palettes_bicycle_palette},
[ITEM_TOWN_MAP] = {gFile_graphics_items_icons_town_map_sheet, gFile_graphics_items_icon_palettes_town_map_palette},
[ITEM_VS_SEEKER] = {gFile_graphics_items_icons_vs_seeker_sheet, gFile_graphics_items_icon_palettes_vs_seeker_palette},
[ITEM_FAME_CHECKER] = {gFile_graphics_items_icons_fame_checker_sheet, gFile_graphics_items_icon_palettes_fame_checker_palette},
[ITEM_TM_CASE] = {gFile_graphics_items_icons_tm_case_sheet, gFile_graphics_items_icon_palettes_tm_case_palette},
[ITEM_BERRY_POUCH] = {gFile_graphics_items_icons_berry_pouch_sheet, gFile_graphics_items_icon_palettes_berry_pouch_palette},
[ITEM_TEACHY_TV] = {gFile_graphics_items_icons_teachy_tv_sheet, gFile_graphics_items_icon_palettes_teachy_tv_palette},
[ITEM_TRI_PASS] = {gFile_graphics_items_icons_tri_pass_sheet, gFile_graphics_items_icon_palettes_tri_pass_palette},
[ITEM_RAINBOW_PASS] = {gFile_graphics_items_icons_rainbow_pass_sheet, gFile_graphics_items_icon_palettes_rainbow_pass_palette},
[ITEM_TEA] = {gFile_graphics_items_icons_tea_sheet, gFile_graphics_items_icon_palettes_tea_palette},
[ITEM_MYSTIC_TICKET] = {gFile_graphics_items_icons_mystic_ticket_sheet, gFile_graphics_items_icon_palettes_mystic_ticket_palette},
[ITEM_AURORA_TICKET] = {gFile_graphics_items_icons_aurora_ticket_sheet, gFile_graphics_items_icon_palettes_aurora_ticket_palette},
[ITEM_POWDER_JAR] = {gFile_graphics_items_icons_powder_jar_sheet, gFile_graphics_items_icon_palettes_powder_jar_palette},
[ITEM_RUBY] = {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_ruby_palette},
[ITEM_SAPPHIRE] = {gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_sapphire_palette},
[ITEMS_COUNT] = {gFile_graphics_items_icons_return_to_field_arrow_sheet, gFile_graphics_items_icon_palettes_return_to_field_arrow_palette}
};
+3 -3
View File
@@ -64,9 +64,9 @@ static const u8 sTilesPerImage[4][4] =
} }
}; };
const u16 gUnknown_8479668[] = INCBIN_U16("graphics/misc/unk_8479688.gbapal"); const u16 gMinigameDigits_Pal[] = INCBIN_U16("graphics/misc/minigame_digits.gbapal");
const u32 gUnknown_8479688[] = INCBIN_U32("graphics/misc/unk_8479688.4bpp.lz"); const u32 gMinigameDigits_Gfx[] = INCBIN_U32("graphics/misc/minigame_digits.4bpp.lz");
const u32 gUnknown_8479748[] = INCBIN_U32("graphics/misc/unk_8479748.4bpp.lz"); static const u32 sUnusedMinigameDigits_Gfx[] = INCBIN_U32("graphics/misc/minigame_digits_unused.4bpp.lz");
// code // code
bool32 DigitObjUtil_Init(u32 count) bool32 DigitObjUtil_Init(u32 count)
+5 -5
View File
@@ -1116,12 +1116,12 @@ const u32 gUnknown_8E83444[] = INCBIN_U32("graphics/item_menu/bag_tilemap2.bin.l
const u32 gBagBgPalette[] = INCBIN_U32("graphics/item_menu/bag_pal1.gbapal.lz"); // palette 1 (Boy + misc Pal) const u32 gBagBgPalette[] = INCBIN_U32("graphics/item_menu/bag_pal1.gbapal.lz"); // palette 1 (Boy + misc Pal)
const u32 gBagBgPalette_FemaleOverride[] = INCBIN_U32("graphics/item_menu/bag_pal2.gbapal.lz"); // palette 2 (Girl) const u32 gBagBgPalette_FemaleOverride[] = INCBIN_U32("graphics/item_menu/bag_pal2.gbapal.lz"); // palette 2 (Girl)
const u32 gUnknown_8E8362C[] = INCBIN_U32("graphics/interface/unk_8E8362C.4bpp.lz"); const u32 gBagMale_Gfx[] = INCBIN_U32("graphics/interface/bag_male.4bpp.lz");
const u32 gUnknown_8E83DBC[] = INCBIN_U32("graphics/interface/unk_8E83DBC.4bpp.lz"); const u32 gBagFemale_Gfx[] = INCBIN_U32("graphics/interface/bag_female.4bpp.lz");
const u32 gUnknown_8E84560[] = INCBIN_U32("graphics/interface/unk_8E84560.gbapal.lz"); const u32 gBag_Pal[] = INCBIN_U32("graphics/interface/bag.gbapal.lz");
const u32 gFile_graphics_interface_bag_swap_sheet[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz"); const u32 gSwapLine_Gfx[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz");
const u32 gFile_graphics_interface_bag_swap_palette[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz"); const u32 gSwapLine_Pal[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz");
const u32 gUnknown_8E845D8[] = INCBIN_U32("graphics/tm_case/unk_8E845D8.4bpp.lz"); const u32 gUnknown_8E845D8[] = INCBIN_U32("graphics/tm_case/unk_8E845D8.4bpp.lz");
const u32 gUnknown_8E84A24[] = INCBIN_U32("graphics/tm_case/unk_8E84A24.bin.lz"); const u32 gUnknown_8E84A24[] = INCBIN_U32("graphics/tm_case/unk_8E84A24.bin.lz");
+1 -1
View File
@@ -611,7 +611,7 @@ void TrySetObtainedItemQuestLogEvent(u16 itemId)
u16 SanitizeItemId(u16 itemId) u16 SanitizeItemId(u16 itemId)
{ {
if (itemId >= ITEM_N_A) if (itemId >= ITEMS_COUNT)
return ITEM_NONE; return ITEM_NONE;
return itemId; return itemId;
} }
+11 -11
View File
@@ -478,7 +478,7 @@ static bool8 LoadBagMenuGraphics(void)
gMain.state++; gMain.state++;
break; break;
case 15: case 15:
CreateBagOrSatchelSprite(gBagMenuState.pocket); CreateBagSprite(gBagMenuState.pocket);
gMain.state++; gMain.state++;
break; break;
case 16: case 16:
@@ -487,7 +487,7 @@ static bool8 LoadBagMenuGraphics(void)
gMain.state++; gMain.state++;
break; break;
case 17: case 17:
ItemMenuIcons_CreateInsertIndicatorBarHidden(); CreateSwapLine();
gMain.state++; gMain.state++;
break; break;
case 18: case 18:
@@ -583,13 +583,13 @@ static bool8 DoLoadBagGraphics(void)
break; break;
case 3: case 3:
if (BagIsTutorial() == TRUE || gSaveBlock2Ptr->playerGender == MALE) if (BagIsTutorial() == TRUE || gSaveBlock2Ptr->playerGender == MALE)
LoadCompressedSpriteSheet(&gSpriteSheet_Backpack); LoadCompressedSpriteSheet(&gSpriteSheet_BagMale);
else else
LoadCompressedSpriteSheet(&gSpriteSheet_Satchel); LoadCompressedSpriteSheet(&gSpriteSheet_BagFemale);
sBagMenuDisplay->data[0]++; sBagMenuDisplay->data[0]++;
break; break;
case 4: case 4:
LoadCompressedSpritePalette(&gSpritePalette_BagOrSatchel); LoadCompressedSpritePalette(&gSpritePalette_Bag);
sBagMenuDisplay->data[0]++; sBagMenuDisplay->data[0]++;
break; break;
case 5: case 5:
@@ -692,7 +692,7 @@ static void BagListMenuMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMe
if (sBagMenuDisplay->nItems[gBagMenuState.pocket] != itemIndex) if (sBagMenuDisplay->nItems[gBagMenuState.pocket] != itemIndex)
CreateItemMenuIcon(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, itemIndex), sBagMenuDisplay->itemMenuIcon); CreateItemMenuIcon(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, itemIndex), sBagMenuDisplay->itemMenuIcon);
else else
CreateItemMenuIcon(ITEM_N_A, sBagMenuDisplay->itemMenuIcon); CreateItemMenuIcon(ITEMS_COUNT, sBagMenuDisplay->itemMenuIcon);
sBagMenuDisplay->itemMenuIcon ^= 1; sBagMenuDisplay->itemMenuIcon ^= 1;
if (!sBagMenuDisplay->inhibitItemDescriptionPrint) if (!sBagMenuDisplay->inhibitItemDescriptionPrint)
PrintItemDescriptionOnMessageWindow(itemIndex); PrintItemDescriptionOnMessageWindow(itemIndex);
@@ -1231,8 +1231,8 @@ static void BeginMovingItemInPocket(u8 taskId, s16 itemIndex)
StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced); StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced);
FillWindowPixelBuffer(1, PIXEL_FILL(0)); FillWindowPixelBuffer(1, PIXEL_FILL(0));
BagPrintTextOnWindow(1, FONT_2, gStringVar4, 0, 3, 2, 0, 0, 0); BagPrintTextOnWindow(1, FONT_2, gStringVar4, 0, 3, 2, 0, 0, 0);
ItemMenuIcons_MoveInsertIndicatorBar(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); UpdateSwapLinePos(0, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE); SetSwapLineInvisibility(FALSE);
BagDestroyPocketSwitchArrowPair(); BagDestroyPocketSwitchArrowPair();
bag_menu_print_cursor_(data[0], 2); bag_menu_print_cursor_(data[0], 2);
gTasks[taskId].func = Task_MoveItemInPocket_HandleInput; gTasks[taskId].func = Task_MoveItemInPocket_HandleInput;
@@ -1248,7 +1248,7 @@ static void Task_MoveItemInPocket_HandleInput(u8 taskId)
return; return;
input = ListMenu_ProcessInput(data[0]); input = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); ListMenuGetScrollAndRow(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]);
ItemMenuIcons_MoveInsertIndicatorBar(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); UpdateSwapLinePos(0, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
if (JOY_NEW(SELECT_BUTTON)) if (JOY_NEW(SELECT_BUTTON))
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
@@ -1290,7 +1290,7 @@ static void ExecuteMoveItemInPocket(u8 taskId, u32 itemIndex)
gBagMenuState.itemsAbove[gBagMenuState.pocket]--; gBagMenuState.itemsAbove[gBagMenuState.pocket]--;
Bag_BuildListMenuTemplate(gBagMenuState.pocket); Bag_BuildListMenuTemplate(gBagMenuState.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); SetSwapLineInvisibility(TRUE);
CreatePocketSwitchArrowPair(); CreatePocketSwitchArrowPair();
gTasks[taskId].func = Task_BagMenu_HandleInput; gTasks[taskId].func = Task_BagMenu_HandleInput;
} }
@@ -1304,7 +1304,7 @@ static void AbortMovingItemInPocket(u8 taskId, u32 itemIndex)
gBagMenuState.itemsAbove[gBagMenuState.pocket]--; gBagMenuState.itemsAbove[gBagMenuState.pocket]--;
Bag_BuildListMenuTemplate(gBagMenuState.pocket); Bag_BuildListMenuTemplate(gBagMenuState.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); SetSwapLineInvisibility(TRUE);
CreatePocketSwitchArrowPair(); CreatePocketSwitchArrowPair();
gTasks[taskId].func = Task_BagMenu_HandleInput; gTasks[taskId].func = Task_BagMenu_HandleInput;
} }
+148 -497
View File
@@ -5,51 +5,80 @@
#include "item_menu_icons.h" #include "item_menu_icons.h"
#include "constants/items.h" #include "constants/items.h"
static EWRAM_DATA u8 sItemMenuIconSpriteIds[12] = {0}; enum {
TAG_BAG = 100,
TAG_SWAP_LINE,
TAG_ITEM_ICON,
TAG_ITEM_ICON_ALT,
};
#define NUM_SWAP_LINE_SPRITES 9
// Indexes for sItemMenuIconSpriteIds
enum {
SPR_BAG,
SPR_SWAP_LINE_START,
SPR_ITEM_ICON = SPR_SWAP_LINE_START + NUM_SWAP_LINE_SPRITES,
SPR_ITEM_ICON_ALT,
SPR_COUNT
};
enum {
ANIM_SWAP_LINE_START,
ANIM_SWAP_LINE_MID,
ANIM_SWAP_LINE_END,
};
enum {
AFFINEANIM_BAG_IDLE,
AFFINEANIM_BAG_SHAKE,
};
static EWRAM_DATA u8 sItemMenuIconSpriteIds[SPR_COUNT] = {0};
static EWRAM_DATA void *sItemIconTilesBuffer = NULL; static EWRAM_DATA void *sItemIconTilesBuffer = NULL;
static EWRAM_DATA void *sItemIconTilesBufferPadded = NULL; static EWRAM_DATA void *sItemIconTilesBufferPadded = NULL;
static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite); static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite);
static void SpriteCB_ShakeBagSprite(struct Sprite *sprite); static void SpriteCB_ShakeBagSprite(struct Sprite *sprite);
static const struct OamData sOamData_BagOrSatchel = { static const struct OamData sOamData_Bag = {
.affineMode = ST_OAM_AFFINE_NORMAL, .affineMode = ST_OAM_AFFINE_NORMAL,
.shape = ST_OAM_SQUARE, .shape = SPRITE_SHAPE(64x64),
.size = 3, .size = SPRITE_SIZE(64x64),
.priority = 1, .priority = 1,
.paletteNum = 0 .paletteNum = 0
}; };
static const union AnimCmd sAnim_BagOrSatchel_OpenItemPocket[] = { static const union AnimCmd sAnim_Bag_OpenPokeBallsPocket[] = {
ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME( 0, 5),
ANIMCMD_FRAME(0x40, 0), ANIMCMD_FRAME(0x40, 0),
ANIMCMD_END ANIMCMD_END
}; };
static const union AnimCmd sAnim_BagOrSatchel_OpenKeyItemPocket[] = { static const union AnimCmd sAnim_Bag_OpenItemsPocket[] = {
ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME( 0, 5),
ANIMCMD_FRAME(0x80, 0), ANIMCMD_FRAME(0x80, 0),
ANIMCMD_END ANIMCMD_END
}; };
static const union AnimCmd sAnim_BagOrSatchel_OpenPokeBallsPocket[] = { static const union AnimCmd sAnim_Bag_OpenKeyItemsPocket[] = {
ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME( 0, 5),
ANIMCMD_FRAME(0xc0, 0), ANIMCMD_FRAME(0xc0, 0),
ANIMCMD_END ANIMCMD_END
}; };
static const union AnimCmd *const sAnimTable_BagOrSatchel[] = { static const union AnimCmd *const sAnims_Bag[] = {
sAnim_BagOrSatchel_OpenKeyItemPocket, [POCKET_ITEMS - 1] = sAnim_Bag_OpenItemsPocket,
sAnim_BagOrSatchel_OpenPokeBallsPocket, [POCKET_KEY_ITEMS - 1] = sAnim_Bag_OpenKeyItemsPocket,
sAnim_BagOrSatchel_OpenItemPocket [POCKET_POKE_BALLS - 1] = sAnim_Bag_OpenPokeBallsPocket,
}; };
static const union AffineAnimCmd sAffineAnim_Idle[] = { static const union AffineAnimCmd sAffineAnim_BagIdle[] = {
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END AFFINEANIMCMD_END
}; };
static const union AffineAnimCmd sAffineAnim_Wobble[] = { static const union AffineAnimCmd sAffineAnim_BagShake[] = {
AFFINEANIMCMD_FRAME(0, 0, -2, 2), AFFINEANIMCMD_FRAME(0, 0, -2, 2),
AFFINEANIMCMD_FRAME(0, 0, 2, 4), AFFINEANIMCMD_FRAME(0, 0, 2, 4),
AFFINEANIMCMD_FRAME(0, 0, -2, 4), AFFINEANIMCMD_FRAME(0, 0, -2, 4),
@@ -57,511 +86,134 @@ static const union AffineAnimCmd sAffineAnim_Wobble[] = {
AFFINEANIMCMD_END AFFINEANIMCMD_END
}; };
static const union AffineAnimCmd *const sAffineAnimTable_BagOrSatchel[] = { static const union AffineAnimCmd *const sAffineAnimTable_Bag[] = {
sAffineAnim_Idle, [AFFINEANIM_BAG_IDLE] = sAffineAnim_BagIdle,
sAffineAnim_Wobble [AFFINEANIM_BAG_SHAKE] = sAffineAnim_BagShake
}; };
const struct CompressedSpriteSheet gSpriteSheet_Backpack = { const struct CompressedSpriteSheet gSpriteSheet_BagMale = {
gUnknown_8E8362C, .data = gBagMale_Gfx,
0x2000, .size = 0x2000,
100 .tag = TAG_BAG
}; };
const struct CompressedSpriteSheet gSpriteSheet_Satchel = { const struct CompressedSpriteSheet gSpriteSheet_BagFemale = {
gUnknown_8E83DBC, .data = gBagFemale_Gfx,
0x2000, .size = 0x2000,
100 .tag = TAG_BAG
}; };
const struct CompressedSpritePalette gSpritePalette_BagOrSatchel = { const struct CompressedSpritePalette gSpritePalette_Bag = {
gUnknown_8E84560, .data = gBag_Pal,
100 .tag = TAG_BAG
}; };
static const struct SpriteTemplate sSpriteTemplate_BagOrSatchel = { static const struct SpriteTemplate sSpriteTemplate_Bag = {
100, .tileTag = TAG_BAG,
100, .paletteTag = TAG_BAG,
&sOamData_BagOrSatchel, .oam = &sOamData_Bag,
sAnimTable_BagOrSatchel, .anims = sAnims_Bag,
NULL, .images = NULL,
sAffineAnimTable_BagOrSatchel, .affineAnims = sAffineAnimTable_Bag,
SpriteCallbackDummy .callback = SpriteCallbackDummy
}; };
static const struct OamData gUnknown_83D4214 = { static const struct OamData sOamData_SwapLine = {
.affineMode = ST_OAM_AFFINE_OFF, .affineMode = ST_OAM_AFFINE_OFF,
.shape = ST_OAM_SQUARE, .shape = SPRITE_SHAPE(16x16),
.size = 1, .size = SPRITE_SIZE(16x16),
.priority = 1, .priority = 1,
.paletteNum = 1 .paletteNum = 1
}; };
static const union AnimCmd gUnknown_83D421C[] = { static const union AnimCmd sAnim_SwapLine_Start[] = {
ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(0, 0),
ANIMCMD_END ANIMCMD_END
}; };
static const union AnimCmd gUnknown_83D4224[] = { static const union AnimCmd sAnim_SwapLine_Mid[] = {
ANIMCMD_FRAME(4, 0), ANIMCMD_FRAME(4, 0),
ANIMCMD_END ANIMCMD_END
}; };
static const union AnimCmd gUnknown_83D422C[] = { static const union AnimCmd sAnim_SwapLine_End[] = {
ANIMCMD_FRAME(0, 0, .hFlip = TRUE), ANIMCMD_FRAME(0, 0, .hFlip = TRUE),
ANIMCMD_END ANIMCMD_END
}; };
static const union AnimCmd *const gUnknown_83D4234[] = { static const union AnimCmd *const sAnims_SwapLine[] = {
gUnknown_83D421C, [ANIM_SWAP_LINE_START] = sAnim_SwapLine_Start,
gUnknown_83D4224, [ANIM_SWAP_LINE_MID] = sAnim_SwapLine_Mid,
gUnknown_83D422C [ANIM_SWAP_LINE_END] = sAnim_SwapLine_End
}; };
const struct CompressedSpriteSheet gBagSwapSpriteSheet = { const struct CompressedSpriteSheet gBagSwapSpriteSheet = {
gFile_graphics_interface_bag_swap_sheet, .data = gSwapLine_Gfx,
0x100, .size = 0x100,
101 .tag = TAG_SWAP_LINE
}; };
const struct CompressedSpritePalette gBagSwapSpritePalette = { const struct CompressedSpritePalette gBagSwapSpritePalette = {
gFile_graphics_interface_bag_swap_palette, .data = gSwapLine_Pal,
101 .tag = TAG_SWAP_LINE
}; };
static const struct SpriteTemplate gUnknown_83D4250 = { static const struct SpriteTemplate sSpriteTemplate_SwapLine = {
101, .tileTag = TAG_SWAP_LINE,
101, .paletteTag = TAG_SWAP_LINE,
&gUnknown_83D4214, .oam = &sOamData_SwapLine,
gUnknown_83D4234, .anims = sAnims_SwapLine,
NULL, .images = NULL,
gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
SpriteCallbackDummy .callback = SpriteCallbackDummy
}; };
static const struct OamData sOamData_ItemIcon = { static const struct OamData sOamData_ItemIcon = {
.affineMode = ST_OAM_AFFINE_OFF, .affineMode = ST_OAM_AFFINE_OFF,
.shape = ST_OAM_SQUARE, .shape = SPRITE_SHAPE(32x32),
.size = 2, .size = SPRITE_SIZE(32x32),
.priority = 1, .priority = 1,
.paletteNum = 2 .paletteNum = 2
}; };
static const union AnimCmd sAnim_ItemIcon_0[] = { static const union AnimCmd sAnim_ItemIcon[] = {
ANIMCMD_FRAME(0, 0), ANIMCMD_FRAME(0, 0),
ANIMCMD_END ANIMCMD_END
}; };
static const union AnimCmd *const sAnimTable_ItemIcon[] = { static const union AnimCmd *const sAnims_ItemIcon[] = {
sAnim_ItemIcon_0 sAnim_ItemIcon
}; };
static const struct SpriteTemplate sSpriteTemplate_ItemIcon = { static const struct SpriteTemplate sSpriteTemplate_ItemIcon = {
102, .tileTag = TAG_ITEM_ICON,
102, .paletteTag = TAG_ITEM_ICON,
&sOamData_ItemIcon, .oam = &sOamData_ItemIcon,
sAnimTable_ItemIcon, .anims = sAnims_ItemIcon,
NULL, .images = NULL,
gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
SpriteCallbackDummy .callback = SpriteCallbackDummy
}; };
static const void *const sItemIconGfxPtrs[][2] = { #include "data/item_icon_table.h"
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette},
{gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette},
{gFile_graphics_items_icons_great_ball_sheet, gFile_graphics_items_icon_palettes_great_ball_palette},
{gFile_graphics_items_icons_poke_ball_sheet, gFile_graphics_items_icon_palettes_poke_ball_palette},
{gFile_graphics_items_icons_safari_ball_sheet, gFile_graphics_items_icon_palettes_safari_ball_palette},
{gFile_graphics_items_icons_net_ball_sheet, gFile_graphics_items_icon_palettes_net_ball_palette},
{gFile_graphics_items_icons_dive_ball_sheet, gFile_graphics_items_icon_palettes_dive_ball_palette},
{gFile_graphics_items_icons_nest_ball_sheet, gFile_graphics_items_icon_palettes_nest_ball_palette},
{gFile_graphics_items_icons_repeat_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette},
{gFile_graphics_items_icons_timer_ball_sheet, gFile_graphics_items_icon_palettes_repeat_ball_palette},
{gFile_graphics_items_icons_luxury_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette},
{gFile_graphics_items_icons_premier_ball_sheet, gFile_graphics_items_icon_palettes_luxury_ball_palette},
{gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_potion_palette},
{gFile_graphics_items_icons_antidote_sheet, gFile_graphics_items_icon_palettes_antidote_palette},
{gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_burn_heal_palette},
{gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_ice_heal_palette},
{gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_awakening_palette},
{gFile_graphics_items_icons_status_heal_sheet, gFile_graphics_items_icon_palettes_paralyze_heal_palette},
{gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_full_restore_palette},
{gFile_graphics_items_icons_large_potion_sheet, gFile_graphics_items_icon_palettes_max_potion_palette},
{gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_hyper_potion_palette},
{gFile_graphics_items_icons_potion_sheet, gFile_graphics_items_icon_palettes_super_potion_palette},
{gFile_graphics_items_icons_full_heal_sheet, gFile_graphics_items_icon_palettes_full_heal_palette},
{gFile_graphics_items_icons_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette},
{gFile_graphics_items_icons_max_revive_sheet, gFile_graphics_items_icon_palettes_revive_palette},
{gFile_graphics_items_icons_fresh_water_sheet, gFile_graphics_items_icon_palettes_fresh_water_palette},
{gFile_graphics_items_icons_soda_pop_sheet, gFile_graphics_items_icon_palettes_soda_pop_palette},
{gFile_graphics_items_icons_lemonade_sheet, gFile_graphics_items_icon_palettes_lemonade_palette},
{gFile_graphics_items_icons_moomoo_milk_sheet, gFile_graphics_items_icon_palettes_moomoo_milk_palette},
{gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_energy_powder_palette},
{gFile_graphics_items_icons_energy_root_sheet, gFile_graphics_items_icon_palettes_energy_root_palette},
{gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_heal_powder_palette},
{gFile_graphics_items_icons_revival_herb_sheet, gFile_graphics_items_icon_palettes_revival_herb_palette},
{gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_ether_palette},
{gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_ether_palette},
{gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_elixir_palette},
{gFile_graphics_items_icons_ether_sheet, gFile_graphics_items_icon_palettes_max_elixir_palette},
{gFile_graphics_items_icons_lava_cookie_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette},
{gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_blue_flute_palette},
{gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_yellow_flute_palette},
{gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_red_flute_palette},
{gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_black_flute_palette},
{gFile_graphics_items_icons_flute_sheet, gFile_graphics_items_icon_palettes_white_flute_palette},
{gFile_graphics_items_icons_berry_juice_sheet, gFile_graphics_items_icon_palettes_berry_juice_palette},
{gFile_graphics_items_icons_sacred_ash_sheet, gFile_graphics_items_icon_palettes_sacred_ash_palette},
{gFile_graphics_items_icons_powder_sheet, gFile_graphics_items_icon_palettes_shoal_salt_palette},
{gFile_graphics_items_icons_shoal_shell_sheet, gFile_graphics_items_icon_palettes_shell_palette},
{gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_red_shard_palette},
{gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_blue_shard_palette},
{gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_yellow_shard_palette},
{gFile_graphics_items_icons_shard_sheet, gFile_graphics_items_icon_palettes_green_shard_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_hp_up_sheet, gFile_graphics_items_icon_palettes_hp_up_palette},
{gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_protein_palette},
{gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_iron_palette},
{gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_carbos_palette},
{gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_calcium_palette},
{gFile_graphics_items_icons_rare_candy_sheet, gFile_graphics_items_icon_palettes_rare_candy_palette},
{gFile_graphics_items_icons_pp_up_sheet, gFile_graphics_items_icon_palettes_pp_up_palette},
{gFile_graphics_items_icons_vitamin_sheet, gFile_graphics_items_icon_palettes_zinc_palette},
{gFile_graphics_items_icons_pp_max_sheet, gFile_graphics_items_icon_palettes_pp_max_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_guard_spec_palette},
{gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_dire_hit_palette},
{gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_attack_palette},
{gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_defend_palette},
{gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_speed_palette},
{gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_accuracy_palette},
{gFile_graphics_items_icons_battle_stat_item_sheet, gFile_graphics_items_icon_palettes_x_special_palette},
{gFile_graphics_items_icons_poke_doll_sheet, gFile_graphics_items_icon_palettes_poke_doll_palette},
{gFile_graphics_items_icons_fluffy_tail_sheet, gFile_graphics_items_icon_palettes_fluffy_tail_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_super_repel_palette},
{gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_max_repel_palette},
{gFile_graphics_items_icons_escape_rope_sheet, gFile_graphics_items_icon_palettes_escape_rope_palette},
{gFile_graphics_items_icons_repel_sheet, gFile_graphics_items_icon_palettes_repel_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_sun_stone_sheet, gFile_graphics_items_icon_palettes_sun_stone_palette},
{gFile_graphics_items_icons_moon_stone_sheet, gFile_graphics_items_icon_palettes_moon_stone_palette},
{gFile_graphics_items_icons_fire_stone_sheet, gFile_graphics_items_icon_palettes_fire_stone_palette},
{gFile_graphics_items_icons_thunder_stone_sheet, gFile_graphics_items_icon_palettes_thunder_stone_palette},
{gFile_graphics_items_icons_water_stone_sheet, gFile_graphics_items_icon_palettes_water_stone_palette},
{gFile_graphics_items_icons_leaf_stone_sheet, gFile_graphics_items_icon_palettes_leaf_stone_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_tiny_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette},
{gFile_graphics_items_icons_big_mushroom_sheet, gFile_graphics_items_icon_palettes_mushroom_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette},
{gFile_graphics_items_icons_big_pearl_sheet, gFile_graphics_items_icon_palettes_pearl_palette},
{gFile_graphics_items_icons_stardust_sheet, gFile_graphics_items_icon_palettes_star_palette},
{gFile_graphics_items_icons_star_piece_sheet, gFile_graphics_items_icon_palettes_star_palette},
{gFile_graphics_items_icons_nugget_sheet, gFile_graphics_items_icon_palettes_nugget_palette},
{gFile_graphics_items_icons_heart_scale_sheet, gFile_graphics_items_icon_palettes_heart_scale_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_orange_mail_sheet, gFile_graphics_items_icon_palettes_orange_mail_palette},
{gFile_graphics_items_icons_harbor_mail_sheet, gFile_graphics_items_icon_palettes_harbor_mail_palette},
{gFile_graphics_items_icons_glitter_mail_sheet, gFile_graphics_items_icon_palettes_glitter_mail_palette},
{gFile_graphics_items_icons_mech_mail_sheet, gFile_graphics_items_icon_palettes_mech_mail_palette},
{gFile_graphics_items_icons_wood_mail_sheet, gFile_graphics_items_icon_palettes_wood_mail_palette},
{gFile_graphics_items_icons_wave_mail_sheet, gFile_graphics_items_icon_palettes_wave_mail_palette},
{gFile_graphics_items_icons_bead_mail_sheet, gFile_graphics_items_icon_palettes_bead_mail_palette},
{gFile_graphics_items_icons_shadow_mail_sheet, gFile_graphics_items_icon_palettes_shadow_mail_palette},
{gFile_graphics_items_icons_tropic_mail_sheet, gFile_graphics_items_icon_palettes_tropic_mail_palette},
{gFile_graphics_items_icons_dream_mail_sheet, gFile_graphics_items_icon_palettes_dream_mail_palette},
{gFile_graphics_items_icons_fab_mail_sheet, gFile_graphics_items_icon_palettes_fab_mail_palette},
{gFile_graphics_items_icons_retro_mail_sheet, gFile_graphics_items_icon_palettes_retro_mail_palette},
{gFile_graphics_items_icons_cheri_berry_sheet, gFile_graphics_items_icon_palettes_cheri_berry_palette},
{gFile_graphics_items_icons_chesto_berry_sheet, gFile_graphics_items_icon_palettes_chesto_berry_palette},
{gFile_graphics_items_icons_pecha_berry_sheet, gFile_graphics_items_icon_palettes_pecha_berry_palette},
{gFile_graphics_items_icons_rawst_berry_sheet, gFile_graphics_items_icon_palettes_rawst_berry_palette},
{gFile_graphics_items_icons_aspear_berry_sheet, gFile_graphics_items_icon_palettes_aspear_berry_palette},
{gFile_graphics_items_icons_leppa_berry_sheet, gFile_graphics_items_icon_palettes_leppa_berry_palette},
{gFile_graphics_items_icons_oran_berry_sheet, gFile_graphics_items_icon_palettes_oran_berry_palette},
{gFile_graphics_items_icons_persim_berry_sheet, gFile_graphics_items_icon_palettes_persim_berry_palette},
{gFile_graphics_items_icons_lum_berry_sheet, gFile_graphics_items_icon_palettes_lum_berry_palette},
{gFile_graphics_items_icons_sitrus_berry_sheet, gFile_graphics_items_icon_palettes_sitrus_berry_palette},
{gFile_graphics_items_icons_figy_berry_sheet, gFile_graphics_items_icon_palettes_figy_berry_palette},
{gFile_graphics_items_icons_wiki_berry_sheet, gFile_graphics_items_icon_palettes_wiki_berry_palette},
{gFile_graphics_items_icons_mago_berry_sheet, gFile_graphics_items_icon_palettes_mago_berry_palette},
{gFile_graphics_items_icons_aguav_berry_sheet, gFile_graphics_items_icon_palettes_aguav_berry_palette},
{gFile_graphics_items_icons_iapapa_berry_sheet, gFile_graphics_items_icon_palettes_iapapa_berry_palette},
{gFile_graphics_items_icons_razz_berry_sheet, gFile_graphics_items_icon_palettes_razz_berry_palette},
{gFile_graphics_items_icons_bluk_berry_sheet, gFile_graphics_items_icon_palettes_bluk_berry_palette},
{gFile_graphics_items_icons_nanab_berry_sheet, gFile_graphics_items_icon_palettes_nanab_berry_palette},
{gFile_graphics_items_icons_wepear_berry_sheet, gFile_graphics_items_icon_palettes_wepear_berry_palette},
{gFile_graphics_items_icons_pinap_berry_sheet, gFile_graphics_items_icon_palettes_pinap_berry_palette},
{gFile_graphics_items_icons_pomeg_berry_sheet, gFile_graphics_items_icon_palettes_pomeg_berry_palette},
{gFile_graphics_items_icons_kelpsy_berry_sheet, gFile_graphics_items_icon_palettes_kelpsy_berry_palette},
{gFile_graphics_items_icons_qualot_berry_sheet, gFile_graphics_items_icon_palettes_qualot_berry_palette},
{gFile_graphics_items_icons_hondew_berry_sheet, gFile_graphics_items_icon_palettes_hondew_berry_palette},
{gFile_graphics_items_icons_grepa_berry_sheet, gFile_graphics_items_icon_palettes_grepa_berry_palette},
{gFile_graphics_items_icons_tamato_berry_sheet, gFile_graphics_items_icon_palettes_tamato_berry_palette},
{gFile_graphics_items_icons_cornn_berry_sheet, gFile_graphics_items_icon_palettes_cornn_berry_palette},
{gFile_graphics_items_icons_magost_berry_sheet, gFile_graphics_items_icon_palettes_magost_berry_palette},
{gFile_graphics_items_icons_rabuta_berry_sheet, gFile_graphics_items_icon_palettes_rabuta_berry_palette},
{gFile_graphics_items_icons_nomel_berry_sheet, gFile_graphics_items_icon_palettes_nomel_berry_palette},
{gFile_graphics_items_icons_spelon_berry_sheet, gFile_graphics_items_icon_palettes_spelon_berry_palette},
{gFile_graphics_items_icons_pamtre_berry_sheet, gFile_graphics_items_icon_palettes_pamtre_berry_palette},
{gFile_graphics_items_icons_watmel_berry_sheet, gFile_graphics_items_icon_palettes_watmel_berry_palette},
{gFile_graphics_items_icons_durin_berry_sheet, gFile_graphics_items_icon_palettes_durin_berry_palette},
{gFile_graphics_items_icons_belue_berry_sheet, gFile_graphics_items_icon_palettes_belue_berry_palette},
{gFile_graphics_items_icons_liechi_berry_sheet, gFile_graphics_items_icon_palettes_liechi_berry_palette},
{gFile_graphics_items_icons_ganlon_berry_sheet, gFile_graphics_items_icon_palettes_ganlon_berry_palette},
{gFile_graphics_items_icons_salac_berry_sheet, gFile_graphics_items_icon_palettes_salac_berry_palette},
{gFile_graphics_items_icons_petaya_berry_sheet, gFile_graphics_items_icon_palettes_petaya_berry_palette},
{gFile_graphics_items_icons_apicot_berry_sheet, gFile_graphics_items_icon_palettes_apicot_berry_palette},
{gFile_graphics_items_icons_lansat_berry_sheet, gFile_graphics_items_icon_palettes_lansat_berry_palette},
{gFile_graphics_items_icons_starf_berry_sheet, gFile_graphics_items_icon_palettes_starf_berry_palette},
{gFile_graphics_items_icons_enigma_berry_sheet, gFile_graphics_items_icon_palettes_enigma_berry_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_bright_powder_sheet, gFile_graphics_items_icon_palettes_bright_powder_palette},
{gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_white_herb_palette},
{gFile_graphics_items_icons_macho_brace_sheet, gFile_graphics_items_icon_palettes_macho_brace_palette},
{gFile_graphics_items_icons_exp_share_sheet, gFile_graphics_items_icon_palettes_exp_share_palette},
{gFile_graphics_items_icons_quick_claw_sheet, gFile_graphics_items_icon_palettes_quick_claw_palette},
{gFile_graphics_items_icons_soothe_bell_sheet, gFile_graphics_items_icon_palettes_soothe_bell_palette},
{gFile_graphics_items_icons_in_battle_herb_sheet, gFile_graphics_items_icon_palettes_mental_herb_palette},
{gFile_graphics_items_icons_choice_band_sheet, gFile_graphics_items_icon_palettes_choice_band_palette},
{gFile_graphics_items_icons_kings_rock_sheet, gFile_graphics_items_icon_palettes_kings_rock_palette},
{gFile_graphics_items_icons_silver_powder_sheet, gFile_graphics_items_icon_palettes_silver_powder_palette},
{gFile_graphics_items_icons_amulet_coin_sheet, gFile_graphics_items_icon_palettes_amulet_coin_palette},
{gFile_graphics_items_icons_cleanse_tag_sheet, gFile_graphics_items_icon_palettes_cleanse_tag_palette},
{gFile_graphics_items_icons_soul_dew_sheet, gFile_graphics_items_icon_palettes_soul_dew_palette},
{gFile_graphics_items_icons_deep_sea_tooth_sheet, gFile_graphics_items_icon_palettes_deep_sea_tooth_palette},
{gFile_graphics_items_icons_deep_sea_scale_sheet, gFile_graphics_items_icon_palettes_deep_sea_scale_palette},
{gFile_graphics_items_icons_smoke_ball_sheet, gFile_graphics_items_icon_palettes_smoke_ball_palette},
{gFile_graphics_items_icons_everstone_sheet, gFile_graphics_items_icon_palettes_everstone_palette},
{gFile_graphics_items_icons_focus_band_sheet, gFile_graphics_items_icon_palettes_focus_band_palette},
{gFile_graphics_items_icons_lucky_egg_sheet, gFile_graphics_items_icon_palettes_lucky_egg_palette},
{gFile_graphics_items_icons_scope_lens_sheet, gFile_graphics_items_icon_palettes_scope_lens_palette},
{gFile_graphics_items_icons_metal_coat_sheet, gFile_graphics_items_icon_palettes_metal_coat_palette},
{gFile_graphics_items_icons_leftovers_sheet, gFile_graphics_items_icon_palettes_leftovers_palette},
{gFile_graphics_items_icons_dragon_scale_sheet, gFile_graphics_items_icon_palettes_dragon_scale_palette},
{gFile_graphics_items_icons_light_ball_sheet, gFile_graphics_items_icon_palettes_light_ball_palette},
{gFile_graphics_items_icons_soft_sand_sheet, gFile_graphics_items_icon_palettes_soft_sand_palette},
{gFile_graphics_items_icons_hard_stone_sheet, gFile_graphics_items_icon_palettes_hard_stone_palette},
{gFile_graphics_items_icons_miracle_seed_sheet, gFile_graphics_items_icon_palettes_miracle_seed_palette},
{gFile_graphics_items_icons_black_glasses_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette},
{gFile_graphics_items_icons_black_belt_sheet, gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette},
{gFile_graphics_items_icons_magnet_sheet, gFile_graphics_items_icon_palettes_magnet_palette},
{gFile_graphics_items_icons_mystic_water_sheet, gFile_graphics_items_icon_palettes_mystic_water_palette},
{gFile_graphics_items_icons_sharp_beak_sheet, gFile_graphics_items_icon_palettes_sharp_beak_palette},
{gFile_graphics_items_icons_poison_barb_sheet, gFile_graphics_items_icon_palettes_poison_barb_palette},
{gFile_graphics_items_icons_never_melt_ice_sheet, gFile_graphics_items_icon_palettes_never_melt_ice_palette},
{gFile_graphics_items_icons_spell_tag_sheet, gFile_graphics_items_icon_palettes_spell_tag_palette},
{gFile_graphics_items_icons_twisted_spoon_sheet, gFile_graphics_items_icon_palettes_twisted_spoon_palette},
{gFile_graphics_items_icons_charcoal_sheet, gFile_graphics_items_icon_palettes_charcoal_palette},
{gFile_graphics_items_icons_dragon_fang_sheet, gFile_graphics_items_icon_palettes_dragon_fang_palette},
{gFile_graphics_items_icons_silk_scarf_sheet, gFile_graphics_items_icon_palettes_silk_scarf_palette},
{gFile_graphics_items_icons_up_grade_sheet, gFile_graphics_items_icon_palettes_up_grade_palette},
{gFile_graphics_items_icons_shell_bell_sheet, gFile_graphics_items_icon_palettes_shell_palette},
{gFile_graphics_items_icons_sea_incense_sheet, gFile_graphics_items_icon_palettes_sea_incense_palette},
{gFile_graphics_items_icons_lax_incense_sheet, gFile_graphics_items_icon_palettes_lax_incense_palette},
{gFile_graphics_items_icons_lucky_punch_sheet, gFile_graphics_items_icon_palettes_lucky_punch_palette},
{gFile_graphics_items_icons_metal_powder_sheet, gFile_graphics_items_icon_palettes_metal_powder_palette},
{gFile_graphics_items_icons_thick_club_sheet, gFile_graphics_items_icon_palettes_thick_club_palette},
{gFile_graphics_items_icons_stick_sheet, gFile_graphics_items_icon_palettes_stick_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_red_scarf_palette},
{gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_blue_scarf_palette},
{gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_pink_scarf_palette},
{gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_green_scarf_palette},
{gFile_graphics_items_icons_scarf_sheet, gFile_graphics_items_icon_palettes_yellow_scarf_palette},
{gFile_graphics_items_icons_mach_bike_sheet, gFile_graphics_items_icon_palettes_mach_bike_palette},
{gFile_graphics_items_icons_coin_case_sheet, gFile_graphics_items_icon_palettes_coin_case_palette},
{gFile_graphics_items_icons_itemfinder_sheet, gFile_graphics_items_icon_palettes_itemfinder_palette},
{gFile_graphics_items_icons_old_rod_sheet, gFile_graphics_items_icon_palettes_old_rod_palette},
{gFile_graphics_items_icons_good_rod_sheet, gFile_graphics_items_icon_palettes_good_rod_palette},
{gFile_graphics_items_icons_super_rod_sheet, gFile_graphics_items_icon_palettes_super_rod_palette},
{gFile_graphics_items_icons_ss_ticket_sheet, gFile_graphics_items_icon_palettes_ss_ticket_palette},
{gFile_graphics_items_icons_contest_pass_sheet, gFile_graphics_items_icon_palettes_contest_pass_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_wailmer_pail_sheet, gFile_graphics_items_icon_palettes_wailmer_pail_palette},
{gFile_graphics_items_icons_devon_goods_sheet, gFile_graphics_items_icon_palettes_devon_goods_palette},
{gFile_graphics_items_icons_soot_sack_sheet, gFile_graphics_items_icon_palettes_soot_sack_palette},
{gFile_graphics_items_icons_basement_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette},
{gFile_graphics_items_icons_acro_bike_sheet, gFile_graphics_items_icon_palettes_acro_bike_palette},
{gFile_graphics_items_icons_pokeblock_case_sheet, gFile_graphics_items_icon_palettes_pokeblock_case_palette},
{gFile_graphics_items_icons_letter_sheet, gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette},
{gFile_graphics_items_icons_eon_ticket_sheet, gFile_graphics_items_icon_palettes_eon_ticket_palette},
{gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_red_orb_palette},
{gFile_graphics_items_icons_orb_sheet, gFile_graphics_items_icon_palettes_blue_orb_palette},
{gFile_graphics_items_icons_scanner_sheet, gFile_graphics_items_icon_palettes_scanner_palette},
{gFile_graphics_items_icons_go_goggles_sheet, gFile_graphics_items_icon_palettes_go_goggles_palette},
{gFile_graphics_items_icons_meteorite_sheet, gFile_graphics_items_icon_palettes_meteorite_palette},
{gFile_graphics_items_icons_room1_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
{gFile_graphics_items_icons_room2_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
{gFile_graphics_items_icons_room4_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
{gFile_graphics_items_icons_room6_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
{gFile_graphics_items_icons_storage_key_sheet, gFile_graphics_items_icon_palettes_old_key_palette},
{gFile_graphics_items_icons_root_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette},
{gFile_graphics_items_icons_claw_fossil_sheet, gFile_graphics_items_icon_palettes_hoenn_fossil_palette},
{gFile_graphics_items_icons_devon_scope_sheet, gFile_graphics_items_icon_palettes_devon_scope_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dragon_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ice_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_grass_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ground_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_ghost_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_electric_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_poison_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_rock_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_steel_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_psychic_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_dark_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fire_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_flying_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_normal_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_fighting_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
{gFile_graphics_items_icons_tm_sheet, gFile_graphics_items_icon_palettes_water_tm_hm_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
{gFile_graphics_items_icons_oaks_parcel_sheet, gFile_graphics_items_icon_palettes_oaks_parcel_palette},
{gFile_graphics_items_icons_poke_flute_sheet, gFile_graphics_items_icon_palettes_poke_flute_palette},
{gFile_graphics_items_icons_secret_key_sheet, gFile_graphics_items_icon_palettes_secret_key_palette},
{gFile_graphics_items_icons_bike_voucher_sheet, gFile_graphics_items_icon_palettes_bike_voucher_palette},
{gFile_graphics_items_icons_gold_teeth_sheet, gFile_graphics_items_icon_palettes_gold_teeth_palette},
{gFile_graphics_items_icons_old_amber_sheet, gFile_graphics_items_icon_palettes_old_amber_palette},
{gFile_graphics_items_icons_card_key_sheet, gFile_graphics_items_icon_palettes_card_key_palette},
{gFile_graphics_items_icons_lift_key_sheet, gFile_graphics_items_icon_palettes_key_palette},
{gFile_graphics_items_icons_helix_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette},
{gFile_graphics_items_icons_dome_fossil_sheet, gFile_graphics_items_icon_palettes_kanto_fossil_palette},
{gFile_graphics_items_icons_silph_scope_sheet, gFile_graphics_items_icon_palettes_silph_scope_palette},
{gFile_graphics_items_icons_bicycle_sheet, gFile_graphics_items_icon_palettes_bicycle_palette},
{gFile_graphics_items_icons_town_map_sheet, gFile_graphics_items_icon_palettes_town_map_palette},
{gFile_graphics_items_icons_vs_seeker_sheet, gFile_graphics_items_icon_palettes_vs_seeker_palette},
{gFile_graphics_items_icons_fame_checker_sheet, gFile_graphics_items_icon_palettes_fame_checker_palette},
{gFile_graphics_items_icons_tm_case_sheet, gFile_graphics_items_icon_palettes_tm_case_palette},
{gFile_graphics_items_icons_berry_pouch_sheet, gFile_graphics_items_icon_palettes_berry_pouch_palette},
{gFile_graphics_items_icons_teachy_tv_sheet, gFile_graphics_items_icon_palettes_teachy_tv_palette},
{gFile_graphics_items_icons_tri_pass_sheet, gFile_graphics_items_icon_palettes_tri_pass_palette},
{gFile_graphics_items_icons_rainbow_pass_sheet, gFile_graphics_items_icon_palettes_rainbow_pass_palette},
{gFile_graphics_items_icons_tea_sheet, gFile_graphics_items_icon_palettes_tea_palette},
{gFile_graphics_items_icons_mystic_ticket_sheet, gFile_graphics_items_icon_palettes_mystic_ticket_palette},
{gFile_graphics_items_icons_aurora_ticket_sheet, gFile_graphics_items_icon_palettes_aurora_ticket_palette},
{gFile_graphics_items_icons_powder_jar_sheet, gFile_graphics_items_icon_palettes_powder_jar_palette},
{gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_ruby_palette},
{gFile_graphics_items_icons_gem_sheet, gFile_graphics_items_icon_palettes_sapphire_palette},
{gFile_graphics_items_icons_return_to_field_arrow_sheet, gFile_graphics_items_icon_palettes_return_to_field_arrow_palette}
};
void ResetItemMenuIconState(void) void ResetItemMenuIconState(void)
{ {
u16 i; u16 i;
for (i = 0; i < NELEMS(sItemMenuIconSpriteIds); i++) for (i = 0; i < SPR_COUNT; i++)
sItemMenuIconSpriteIds[i] = 0xFF; sItemMenuIconSpriteIds[i] = SPRITE_NONE;
} }
void CreateBagOrSatchelSprite(u8 animNum) void CreateBagSprite(u8 animNum)
{ {
sItemMenuIconSpriteIds[0] = CreateSprite(&sSpriteTemplate_BagOrSatchel, 40, 68, 0); sItemMenuIconSpriteIds[SPR_BAG] = CreateSprite(&sSpriteTemplate_Bag, 40, 68, 0);
SetBagVisualPocketId(animNum); SetBagVisualPocketId(animNum);
} }
void SetBagVisualPocketId(u8 animNum) void SetBagVisualPocketId(u8 animNum)
{ {
struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[0]]; struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[SPR_BAG]];
sprite->y2 = -5; sprite->y2 = -5;
sprite->callback = SpriteCB_BagVisualSwitchingPockets; sprite->callback = SpriteCB_BagVisualSwitchingPockets;
StartSpriteAnim(sprite, animNum); StartSpriteAnim(sprite, animNum);
@@ -577,10 +229,10 @@ static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite)
void ShakeBagSprite(void) void ShakeBagSprite(void)
{ {
struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[0]]; struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[SPR_BAG]];
if (sprite->affineAnimEnded) if (sprite->affineAnimEnded)
{ {
StartSpriteAffineAnim(sprite, 1); StartSpriteAffineAnim(sprite, AFFINEANIM_BAG_SHAKE);
sprite->callback = SpriteCB_ShakeBagSprite; sprite->callback = SpriteCB_ShakeBagSprite;
} }
} }
@@ -589,54 +241,53 @@ static void SpriteCB_ShakeBagSprite(struct Sprite *sprite)
{ {
if (sprite->affineAnimEnded) if (sprite->affineAnimEnded)
{ {
StartSpriteAffineAnim(sprite, 0); StartSpriteAffineAnim(sprite, AFFINEANIM_BAG_IDLE);
sprite->callback = SpriteCallbackDummy; sprite->callback = SpriteCallbackDummy;
} }
} }
void ItemMenuIcons_CreateInsertIndicatorBarHidden(void) void CreateSwapLine(void)
{ {
u8 i; u8 i;
u8 * ptr = &sItemMenuIconSpriteIds[1]; u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_SWAP_LINE_START];
for (i = 0; i < 9; i++) for (i = 0; i < NUM_SWAP_LINE_SPRITES; i++)
{ {
ptr[i] = CreateSprite(&gUnknown_83D4250, i * 16 + 0x60, 7, 0); spriteIds[i] = CreateSprite(&sSpriteTemplate_SwapLine, i * 16 + 96, 7, 0);
switch (i) switch (i)
{ {
case 0: case 0:
// ANIM_SWAP_LINE_START, by default
break; break;
case 8: case NUM_SWAP_LINE_SPRITES - 1:
StartSpriteAnim(&gSprites[ptr[i]], 2); StartSpriteAnim(&gSprites[spriteIds[i]], ANIM_SWAP_LINE_END);
break; break;
default: default:
StartSpriteAnim(&gSprites[ptr[i]], 1); StartSpriteAnim(&gSprites[spriteIds[i]], ANIM_SWAP_LINE_MID);
break; break;
} }
gSprites[ptr[i]].invisible = TRUE; gSprites[spriteIds[i]].invisible = TRUE;
} }
} }
void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible) void SetSwapLineInvisibility(bool8 invisible)
{ {
u8 i; u8 i;
u8 * ptr = &sItemMenuIconSpriteIds[1]; u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_SWAP_LINE_START];
for (i = 0; i < 9; i++) for (i = 0; i < NUM_SWAP_LINE_SPRITES; i++)
{ gSprites[spriteIds[i]].invisible = invisible;
gSprites[ptr[i]].invisible = invisible;
}
} }
void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y) void UpdateSwapLinePos(s16 x, u16 y)
{ {
u8 i; u8 i;
u8 * ptr = &sItemMenuIconSpriteIds[1]; u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_SWAP_LINE_START];
for (i = 0; i < 9; i++) for (i = 0; i < NUM_SWAP_LINE_SPRITES; i++)
{ {
gSprites[ptr[i]].x2 = x; gSprites[spriteIds[i]].x2 = x;
gSprites[ptr[i]].y = y + 7; gSprites[spriteIds[i]].y = y + 7;
} }
} }
@@ -663,9 +314,7 @@ void CopyItemIconPicTo4x4Buffer(const void *src, void *dest)
u8 i; u8 i;
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++)
{
CpuCopy16(src + 0x60 * i, dest + 0x80 * i, 0x60); CpuCopy16(src + 0x60 * i, dest + 0x80 * i, 0x60);
}
} }
u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId) u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId)
@@ -732,17 +381,18 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT
void CreateItemMenuIcon(u16 itemId, u8 idx) void CreateItemMenuIcon(u16 itemId, u8 idx)
{ {
u8 * ptr = &sItemMenuIconSpriteIds[10]; u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_ITEM_ICON];
u8 spriteId; u8 spriteId;
if (ptr[idx] == 0xFF) if (spriteIds[idx] == SPRITE_NONE)
{ {
FreeSpriteTilesByTag(102 + idx); // Either TAG_ITEM_ICON or TAG_ITEM_ICON_ALT
FreeSpritePaletteByTag(102 + idx); FreeSpriteTilesByTag(TAG_ITEM_ICON + idx);
spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId); FreeSpritePaletteByTag(TAG_ITEM_ICON + idx);
spriteId = AddItemIconObject(TAG_ITEM_ICON + idx, TAG_ITEM_ICON + idx, itemId);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
ptr[idx] = spriteId; spriteIds[idx] = spriteId;
gSprites[spriteId].x2 = 24; gSprites[spriteId].x2 = 24;
gSprites[spriteId].y2 = 140; gSprites[spriteId].y2 = 140;
} }
@@ -751,37 +401,38 @@ void CreateItemMenuIcon(u16 itemId, u8 idx)
void DestroyItemMenuIcon(u8 idx) void DestroyItemMenuIcon(u8 idx)
{ {
u8 * ptr = &sItemMenuIconSpriteIds[10]; u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_ITEM_ICON];
if (ptr[idx] != 0xFF) if (spriteIds[idx] != SPRITE_NONE)
{ {
DestroySpriteAndFreeResources(&gSprites[ptr[idx]]); DestroySpriteAndFreeResources(&gSprites[spriteIds[idx]]);
ptr[idx] = 0xFF; spriteIds[idx] = SPRITE_NONE;
} }
} }
const void *GetItemIconGfxPtr(u16 itemId, u8 attrId) const void *GetItemIconGfxPtr(u16 itemId, u8 attrId)
{ {
if (itemId > ITEM_N_A) if (itemId > ITEMS_COUNT)
itemId = ITEM_NONE; itemId = ITEM_NONE;
return sItemIconGfxPtrs[itemId][attrId]; return sItemIconTable[itemId][attrId];
} }
void sub_80989A0(u16 itemId, u8 idx) void CreateBerryPouchItemIcon(u16 itemId, u8 idx)
{ {
u8 * ptr = &sItemMenuIconSpriteIds[10]; u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_ITEM_ICON];
u8 spriteId; u8 spriteId;
if (ptr[idx] == 0xFF) if (spriteIds[idx] == SPRITE_NONE)
{ {
FreeSpriteTilesByTag(102 + idx); // Either TAG_ITEM_ICON or TAG_ITEM_ICON_ALT
FreeSpritePaletteByTag(102 + idx); FreeSpriteTilesByTag(TAG_ITEM_ICON + idx);
spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId); FreeSpritePaletteByTag(TAG_ITEM_ICON + idx);
spriteId = AddItemIconObject(TAG_ITEM_ICON + idx, TAG_ITEM_ICON + idx, itemId);
if (spriteId != MAX_SPRITES) if (spriteId != MAX_SPRITES)
{ {
ptr[idx] = spriteId; spriteIds[idx] = spriteId;
gSprites[spriteId].x2 = 24; gSprites[spriteId].x2 = 24;
gSprites[spriteId].y2 = 147; gSprites[spriteId].y2 = 147; // This value is the only difference from CreateItemMenuIcon
} }
} }
} }
+7 -7
View File
@@ -342,7 +342,7 @@ static bool8 ItemPc_DoGfxSetup(void)
gMain.state++; gMain.state++;
break; break;
case 14: case 14:
ItemMenuIcons_CreateInsertIndicatorBarHidden(); CreateSwapLine();
gMain.state++; gMain.state++;
break; break;
case 15: case 15:
@@ -529,7 +529,7 @@ static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *
} }
else else
{ {
CreateItemMenuIcon(ITEM_N_A, sStateDataPtr->itemMenuIconSlot); CreateItemMenuIcon(ITEMS_COUNT, sStateDataPtr->itemMenuIconSlot);
desc = gText_ReturnToPC; desc = gText_ReturnToPC;
} }
sStateDataPtr->itemMenuIconSlot ^= 1; sStateDataPtr->itemMenuIconSlot ^= 1;
@@ -774,8 +774,8 @@ static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos)
StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced); StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced);
FillWindowPixelBuffer(1, 0x00); FillWindowPixelBuffer(1, 0x00);
ItemPc_AddTextPrinterParameterized(1, FONT_2, gStringVar4, 0, 3, 2, 3, 0, 0); ItemPc_AddTextPrinterParameterized(1, FONT_2, gStringVar4, 0, 3, 2, 3, 0, 0);
ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); UpdateSwapLinePos(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE); SetSwapLineInvisibility(FALSE);
ItemPc_PrintOrRemoveCursor(data[0], 2); ItemPc_PrintOrRemoveCursor(data[0], 2);
gTasks[taskId].func = Task_ItemPcMoveItemModeRun; gTasks[taskId].func = Task_ItemPcMoveItemModeRun;
} }
@@ -786,7 +786,7 @@ static void Task_ItemPcMoveItemModeRun(u8 taskId)
ListMenu_ProcessInput(data[0]); ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &sListMenuState.scroll, &sListMenuState.row); ListMenuGetScrollAndRow(data[0], &sListMenuState.scroll, &sListMenuState.row);
ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); UpdateSwapLinePos(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
if (JOY_NEW(A_BUTTON | SELECT_BUTTON)) if (JOY_NEW(A_BUTTON | SELECT_BUTTON))
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
@@ -814,7 +814,7 @@ static void ItemPc_InsertItemIntoNewSlot(u8 taskId, u32 pos)
sListMenuState.row--; sListMenuState.row--;
ItemPc_BuildListMenuTemplate(); ItemPc_BuildListMenuTemplate();
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row);
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); SetSwapLineInvisibility(TRUE);
gTasks[taskId].func = Task_ItemPcMain; gTasks[taskId].func = Task_ItemPcMain;
} }
} }
@@ -828,7 +828,7 @@ static void ItemPc_MoveItemModeCancel(u8 taskId, u32 pos)
sListMenuState.row--; sListMenuState.row--;
ItemPc_BuildListMenuTemplate(); ItemPc_BuildListMenuTemplate();
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row);
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); SetSwapLineInvisibility(TRUE);
gTasks[taskId].func = Task_ItemPcMain; gTasks[taskId].func = Task_ItemPcMain;
} }
+196 -190
View File
@@ -11,46 +11,48 @@ enum
HARDWARE_FADE, HARDWARE_FADE,
}; };
// These are structs for some unused palette system.
// The full functionality of this system is unknown.
#define NUM_PALETTE_STRUCTS 16 #define NUM_PALETTE_STRUCTS 16
// unused palette struct
struct PaletteStructTemplate struct PaletteStructTemplate
{ {
u16 uid; u16 id;
u16 *src; u16 *src;
u16 pst_field_8_0:1; bool16 pst_field_8_0:1;
u16 pst_field_8_1:9; u16 unused:9;
u16 size:5; u16 size:5;
u16 pst_field_9_7:1; u8 time1;
u8 pst_field_A;
u8 srcCount:5; u8 srcCount:5;
u8 pst_field_B_5:3; u8 state:3;
u8 pst_field_C; u8 time2;
}; };
struct PaletteStruct struct PaletteStruct
{ {
const struct PaletteStructTemplate *base; const struct PaletteStructTemplate *template;
u32 ps_field_4_0:1; bool32 active:1;
u16 ps_field_4_1:1; bool32 flag:1;
u32 baseDestOffset:9; u32 baseDestOffset:9;
u16 destOffset:10; u16 destOffset:10;
u16 srcIndex:7; u16 srcIndex:7;
u8 ps_field_8; u8 countdown1;
u8 ps_field_9; u8 countdown2;
}; };
static void sub_8070790(struct PaletteStruct *, u32 *); static void PaletteStruct_Copy(struct PaletteStruct *, u32 *);
static void sub_80708F4(struct PaletteStruct *, u32 *); static void PaletteStruct_Blend(struct PaletteStruct *, u32 *);
static void sub_80709B4(struct PaletteStruct *); static void PaletteStruct_TryEnd(struct PaletteStruct *);
static u8 GetPaletteNumByUid(u16); static void PaletteStruct_Reset(u8 paletteNum);
static u8 PaletteStruct_GetPalNum(u16);
static u8 UpdateNormalPaletteFade(void); static u8 UpdateNormalPaletteFade(void);
static void BeginFastPaletteFadeInternal(u8); static void BeginFastPaletteFadeInternal(u8);
static u8 UpdateFastPaletteFade(void); static u8 UpdateFastPaletteFade(void);
static u8 UpdateHardwarePaletteFade(void); static u8 UpdateHardwarePaletteFade(void);
static void UpdateBlendRegisters(void); static void UpdateBlendRegisters(void);
static bool8 IsSoftwarePaletteFadeFinishing(void); static bool8 IsSoftwarePaletteFadeFinishing(void);
static void sub_80718B8(u8 taskId); static void Task_BlendPalettesGradually(u8 taskId);
ALIGNED(4) EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0}; ALIGNED(4) EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0};
ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0}; ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0};
@@ -59,10 +61,10 @@ EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
static EWRAM_DATA u32 sPlttBufferTransferPending = 0; static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0}; EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0};
static const struct PaletteStructTemplate gDummyPaletteStructTemplate = static const struct PaletteStructTemplate sDummyPaletteStructTemplate =
{ {
.uid = 0xFFFF, .id = 0xFFFF,
.pst_field_B_5 = 1 .state = 1
}; };
static const u8 sRoundedDownGrayscaleMap[] = static const u8 sRoundedDownGrayscaleMap[] =
@@ -79,20 +81,20 @@ static const u8 sRoundedDownGrayscaleMap[] =
void LoadCompressedPalette(const u32 *src, u16 offset, u16 size) void LoadCompressedPalette(const u32 *src, u16 offset, u16 size)
{ {
LZDecompressWram(src, gPaletteDecompressionBuffer); LZDecompressWram(src, gPaletteDecompressionBuffer);
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size); CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferUnfaded[offset], size);
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferFaded + offset, size); CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferFaded[offset], size);
} }
void LoadPalette(const void *src, u16 offset, u16 size) void LoadPalette(const void *src, u16 offset, u16 size)
{ {
CpuCopy16(src, gPlttBufferUnfaded + offset, size); CpuCopy16(src, &gPlttBufferUnfaded[offset], size);
CpuCopy16(src, gPlttBufferFaded + offset, size); CpuCopy16(src, &gPlttBufferFaded[offset], size);
} }
void FillPalette(u16 value, u16 offset, u16 size) void FillPalette(u16 value, u16 offset, u16 size)
{ {
CpuFill16(value, gPlttBufferUnfaded + offset, size); CpuFill16(value, &gPlttBufferUnfaded[offset], size);
CpuFill16(value, gPlttBufferFaded + offset, size); CpuFill16(value, &gPlttBufferFaded[offset], size);
} }
void TransferPlttBuffer(void) void TransferPlttBuffer(void)
@@ -102,7 +104,7 @@ void TransferPlttBuffer(void)
void *src = gPlttBufferFaded; void *src = gPlttBufferFaded;
void *dest = (void *)PLTT; void *dest = (void *)PLTT;
DmaCopy16(3, src, dest, PLTT_SIZE); DmaCopy16(3, src, dest, PLTT_SIZE);
sPlttBufferTransferPending = 0; sPlttBufferTransferPending = FALSE;
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active) if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
UpdateBlendRegisters(); UpdateBlendRegisters();
} }
@@ -129,8 +131,8 @@ void ResetPaletteFade(void)
{ {
u8 i; u8 i;
for (i = 0; i < 16; ++i) for (i = 0; i < NUM_PALETTE_STRUCTS; ++i)
ResetPaletteStruct(i); PaletteStruct_Reset(i);
ResetPaletteFadeControl(); ResetPaletteFadeControl();
} }
@@ -179,7 +181,7 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
temp = gPaletteFade.bufferTransferDisabled; temp = gPaletteFade.bufferTransferDisabled;
gPaletteFade.bufferTransferDisabled = FALSE; gPaletteFade.bufferTransferDisabled = FALSE;
CpuCopy32(gPlttBufferFaded, (void *)PLTT, PLTT_SIZE); CpuCopy32(gPlttBufferFaded, (void *)PLTT, PLTT_SIZE);
sPlttBufferTransferPending = 0; sPlttBufferTransferPending = FALSE;
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active) if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
UpdateBlendRegisters(); UpdateBlendRegisters();
gPaletteFade.bufferTransferDisabled = temp; gPaletteFade.bufferTransferDisabled = temp;
@@ -187,15 +189,15 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
} }
} }
// not used // Unused
static bool8 sub_80706D0(u32 a1, u8 a2, u8 a3, u8 a4, u16 a5) static bool8 BeginPlttFade(u32 selectedPalettes, u8 delay, u8 startY, u8 targetY, u16 blendColor)
{ {
ReadPlttIntoBuffers(); ReadPlttIntoBuffers();
return BeginNormalPaletteFade(a1, a2, a3, a4, a5); return BeginNormalPaletteFade(selectedPalettes, delay, startY, targetY, blendColor);
} }
// not used // Unused
static void sub_8070718(u8 a1, u32 *a2) static void PaletteStruct_Run(u8 a1, u32 *unkFlags)
{ {
u8 i; u8 i;
@@ -203,82 +205,80 @@ static void sub_8070718(u8 a1, u32 *a2)
{ {
struct PaletteStruct *palstruct = &sPaletteStructs[i]; struct PaletteStruct *palstruct = &sPaletteStructs[i];
if (palstruct->ps_field_4_0) if (palstruct->active)
{ {
if (palstruct->base->pst_field_8_0 == a1) if (palstruct->template->pst_field_8_0 == a1)
{ {
u8 val1 = palstruct->srcIndex; u8 srcIndex = palstruct->srcIndex;
u8 val2 = palstruct->base->srcCount; u8 srcCount = palstruct->template->srcCount;
if (val1 == val2) if (srcIndex == srcCount)
{ {
sub_80709B4(palstruct); PaletteStruct_TryEnd(palstruct);
if (!palstruct->ps_field_4_0) if (!palstruct->active)
continue; continue;
} }
if (palstruct->ps_field_8 == 0) if (palstruct->countdown1 == 0)
sub_8070790(palstruct, a2); PaletteStruct_Copy(palstruct, unkFlags);
else else
--palstruct->ps_field_8; palstruct->countdown1--;
sub_80708F4(palstruct, a2); PaletteStruct_Blend(palstruct, unkFlags);
} }
} }
} }
} }
// not used static void PaletteStruct_Copy(struct PaletteStruct *palStruct, u32 *unkFlags)
static void sub_8070790(struct PaletteStruct *a1, u32 *a2)
{ {
s32 srcIndex; s32 srcIndex;
s32 srcCount; s32 srcCount;
u8 i = 0; u8 i = 0;
u16 srcOffset = a1->srcIndex * a1->base->size; u16 srcOffset = palStruct->srcIndex * palStruct->template->size;
if (!a1->base->pst_field_8_0) if (!palStruct->template->pst_field_8_0)
{ {
while (i < a1->base->size) while (i < palStruct->template->size)
{ {
gPlttBufferUnfaded[a1->destOffset] = a1->base->src[srcOffset]; gPlttBufferUnfaded[palStruct->destOffset] = palStruct->template->src[srcOffset];
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset]; gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset];
++i; i++;
++a1->destOffset; palStruct->destOffset++;
++srcOffset; srcOffset++;
} }
} }
else else
{ {
while (i < a1->base->size) while (i < palStruct->template->size)
{ {
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset]; gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset];
++i; i++;
++a1->destOffset; palStruct->destOffset++;
++srcOffset; srcOffset++;
} }
} }
a1->destOffset = a1->baseDestOffset; palStruct->destOffset = palStruct->baseDestOffset;
a1->ps_field_8 = a1->base->pst_field_A; palStruct->countdown1 = palStruct->template->time1;
++a1->srcIndex; palStruct->srcIndex++;
srcIndex = a1->srcIndex; srcIndex = palStruct->srcIndex;
srcCount = a1->base->srcCount; srcCount = palStruct->template->srcCount;
if (srcIndex >= srcCount) if (srcIndex >= srcCount)
{ {
if (a1->ps_field_9) if (palStruct->countdown2)
--a1->ps_field_9; palStruct->countdown2--;
a1->srcIndex = 0; palStruct->srcIndex = 0;
} }
*a2 |= 1 << (a1->baseDestOffset >> 4); *unkFlags |= 1 << (palStruct->baseDestOffset >> 4);
} }
// not used static void PaletteStruct_Blend(struct PaletteStruct *palStruct, u32 *unkFlags)
static void sub_80708F4(struct PaletteStruct *a1, u32 *a2)
{ {
if (gPaletteFade.active && ((1 << (a1->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes)) if (gPaletteFade.active && ((1 << (palStruct->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes))
{ {
if (!a1->base->pst_field_8_0) if (!palStruct->template->pst_field_8_0)
{ {
if (gPaletteFade.delayCounter != gPaletteFade_delay) if (gPaletteFade.delayCounter != gPaletteFade_delay)
BlendPalette(a1->baseDestOffset, BlendPalette(palStruct->baseDestOffset,
a1->base->size, palStruct->template->size,
gPaletteFade.y, gPaletteFade.y,
gPaletteFade.blendColor); gPaletteFade.blendColor);
} }
@@ -286,65 +286,64 @@ static void sub_80708F4(struct PaletteStruct *a1, u32 *a2)
{ {
if (!gPaletteFade.delayCounter) if (!gPaletteFade.delayCounter)
{ {
if (a1->ps_field_8 != a1->base->pst_field_A) if (palStruct->countdown1 != palStruct->template->time1)
{ {
u32 srcOffset = a1->srcIndex * a1->base->size; u32 srcOffset = palStruct->srcIndex * palStruct->template->size;
u8 i; u8 i;
for (i = 0; i < a1->base->size; ++i) for (i = 0; i < palStruct->template->size; i++)
gPlttBufferFaded[a1->baseDestOffset + i] = a1->base->src[srcOffset + i]; gPlttBufferFaded[palStruct->baseDestOffset + i] = palStruct->template->src[srcOffset + i];
} }
} }
} }
} }
} }
// not used static void PaletteStruct_TryEnd(struct PaletteStruct *palStruct)
static void sub_80709B4(struct PaletteStruct *a1)
{ {
if (!a1->ps_field_9) if (!palStruct->countdown2)
{ {
s32 val = a1->base->pst_field_B_5; s32 state = palStruct->template->state;
if (!val) if (state == 0)
{ {
a1->srcIndex = 0; palStruct->srcIndex = 0;
a1->ps_field_8 = a1->base->pst_field_A; palStruct->countdown1 = palStruct->template->time1;
a1->ps_field_9 = a1->base->pst_field_C; palStruct->countdown2 = palStruct->template->time2;
a1->destOffset = a1->baseDestOffset; palStruct->destOffset = palStruct->baseDestOffset;
} }
else else
{ {
if (val < 0) if (state < 0)
return; return;
if (val > 2) if (state > 2)
return; return;
PaletteStruct_ResetById(a1->base->uid); PaletteStruct_ResetById(palStruct->template->id);
} }
} }
else else
{ {
--a1->ps_field_9; palStruct->countdown2--;
} }
} }
void PaletteStruct_ResetById(u16 a1) void PaletteStruct_ResetById(u16 id)
{ {
u8 paletteNum = GetPaletteNumByUid(a1); u8 paletteNum = PaletteStruct_GetPalNum(id);
if (paletteNum != 16) if (paletteNum != NUM_PALETTE_STRUCTS)
ResetPaletteStruct(paletteNum); PaletteStruct_Reset(paletteNum);
} }
void ResetPaletteStruct(u8 paletteNum) static void PaletteStruct_Reset(u8 paletteNum)
{ {
sPaletteStructs[paletteNum].base = &gDummyPaletteStructTemplate; sPaletteStructs[paletteNum].template = &sDummyPaletteStructTemplate;
sPaletteStructs[paletteNum].ps_field_4_0 = 0; sPaletteStructs[paletteNum].active = FALSE;
sPaletteStructs[paletteNum].baseDestOffset = 0; sPaletteStructs[paletteNum].baseDestOffset = 0;
sPaletteStructs[paletteNum].destOffset = 0; sPaletteStructs[paletteNum].destOffset = 0;
sPaletteStructs[paletteNum].srcIndex = 0; sPaletteStructs[paletteNum].srcIndex = 0;
sPaletteStructs[paletteNum].ps_field_4_1 = 0; sPaletteStructs[paletteNum].flag = FALSE;
sPaletteStructs[paletteNum].ps_field_8 = 0; sPaletteStructs[paletteNum].countdown1 = 0;
sPaletteStructs[paletteNum].ps_field_9 = 0; sPaletteStructs[paletteNum].countdown2 = 0;
} }
void ResetPaletteFadeControl(void) void ResetPaletteFadeControl(void)
@@ -367,31 +366,28 @@ void ResetPaletteFadeControl(void)
gPaletteFade.deltaY = 2; gPaletteFade.deltaY = 2;
} }
// not used static void PaletteStruct_SetUnusedFlag(u16 id)
static void sub_8070AFC(u16 uid)
{ {
u8 paletteNum = GetPaletteNumByUid(uid); u8 paletteNum = PaletteStruct_GetPalNum(id);
if (paletteNum != 16) if (paletteNum != NUM_PALETTE_STRUCTS)
sPaletteStructs[paletteNum].ps_field_4_1 = 1; sPaletteStructs[paletteNum].flag = TRUE;
} }
// not used static void PaletteStruct_ClearUnusedFlag(u16 id)
static void sub_8070B28(u16 uid)
{ {
u8 paletteNum = GetPaletteNumByUid(uid); u8 paletteNum = PaletteStruct_GetPalNum(id);
if (paletteNum != 16) if (paletteNum != NUM_PALETTE_STRUCTS)
sPaletteStructs[paletteNum].ps_field_4_1 = 0; sPaletteStructs[paletteNum].flag = FALSE;
} }
// not used static u8 PaletteStruct_GetPalNum(u16 id)
static u8 GetPaletteNumByUid(u16 uid)
{ {
u8 i; u8 i;
for (i = 0; i < NUM_PALETTE_STRUCTS; ++i) for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
if (sPaletteStructs[i].base->uid == uid) if (sPaletteStructs[i].template->id == id)
return i; return i;
return 16; return NUM_PALETTE_STRUCTS;
} }
static u8 UpdateNormalPaletteFade(void) static u8 UpdateNormalPaletteFade(void)
@@ -411,7 +407,7 @@ static u8 UpdateNormalPaletteFade(void)
{ {
if (gPaletteFade.delayCounter < gPaletteFade_delay) if (gPaletteFade.delayCounter < gPaletteFade_delay)
{ {
++gPaletteFade.delayCounter; gPaletteFade.delayCounter++;
return 2; return 2;
} }
gPaletteFade.delayCounter = 0; gPaletteFade.delayCounter = 0;
@@ -708,25 +704,25 @@ static u8 UpdateHardwarePaletteFade(void)
return PALETTE_FADE_STATUS_DONE; return PALETTE_FADE_STATUS_DONE;
if (gPaletteFade.delayCounter < gPaletteFade_delay) if (gPaletteFade.delayCounter < gPaletteFade_delay)
{ {
++gPaletteFade.delayCounter; gPaletteFade.delayCounter++;
return PALETTE_FADE_STATUS_DELAY; return PALETTE_FADE_STATUS_DELAY;
} }
gPaletteFade.delayCounter = 0; gPaletteFade.delayCounter = 0;
if (!gPaletteFade.yDec) if (!gPaletteFade.yDec)
{ {
++gPaletteFade.y; gPaletteFade.y++;
if (gPaletteFade.y > gPaletteFade.targetY) if (gPaletteFade.y > gPaletteFade.targetY)
{ {
++gPaletteFade.hardwareFadeFinishing; gPaletteFade.hardwareFadeFinishing++;
--gPaletteFade.y; gPaletteFade.y--;
} }
} }
else else
{ {
if (gPaletteFade.y-- - 1 < gPaletteFade.targetY) if (gPaletteFade.y-- - 1 < gPaletteFade.targetY)
{ {
++gPaletteFade.hardwareFadeFinishing; gPaletteFade.hardwareFadeFinishing++;
++gPaletteFade.y; gPaletteFade.y++;
} }
} }
@@ -770,7 +766,7 @@ static bool8 IsSoftwarePaletteFadeFinishing(void)
} }
else else
{ {
++gPaletteFade.softwareFadeFinishingCounter; gPaletteFade.softwareFadeFinishingCounter++;
} }
return TRUE; return TRUE;
} }
@@ -806,11 +802,11 @@ void TintPalette_GrayScale(u16 *palette, u16 count)
for (i = 0; i < count; ++i) for (i = 0; i < count; ++i)
{ {
r = (*palette >> 0) & 0x1F; r = GET_R(*palette);
g = (*palette >> 5) & 0x1F; g = GET_G(*palette);
b = (*palette >> 10) & 0x1F; b = GET_B(*palette);
gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
*palette++ = (gray << 10) | (gray << 5) | (gray << 0); *palette++ = RGB2(gray, gray, gray);
} }
} }
@@ -821,15 +817,15 @@ void TintPalette_GrayScale2(u16 *palette, u16 count)
for (i = 0; i < count; ++i) for (i = 0; i < count; ++i)
{ {
r = (*palette >> 0) & 0x1F; r = GET_R(*palette);
g = (*palette >> 5) & 0x1F; g = GET_G(*palette);
b = (*palette >> 10) & 0x1F; b = GET_B(*palette);
gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
if (gray > 0x1F) if (gray > 31)
gray = 0x1F; gray = 31;
gray = sRoundedDownGrayscaleMap[gray]; gray = sRoundedDownGrayscaleMap[gray];
*palette++ = (gray << 10) | (gray << 5) | (gray << 0); *palette++ = RGB2(gray, gray, gray);
} }
} }
@@ -840,16 +836,16 @@ void TintPalette_SepiaTone(u16 *palette, u16 count)
for (i = 0; i < count; ++i) for (i = 0; i < count; ++i)
{ {
r = (*palette >> 0) & 0x1F; r = GET_R(*palette);
g = (*palette >> 5) & 0x1F; g = GET_G(*palette);
b = (*palette >> 10) & 0x1F; b = GET_B(*palette);
gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
r = (u16)((Q_8_8(1.2) * gray)) >> 8; r = (u16)((Q_8_8(1.2) * gray)) >> 8;
g = (u16)((Q_8_8(1.0) * gray)) >> 8; g = (u16)((Q_8_8(1.0) * gray)) >> 8;
b = (u16)((Q_8_8(0.94) * gray)) >> 8; b = (u16)((Q_8_8(0.94) * gray)) >> 8;
if (r > 31) if (r > 31)
r = 31; r = 31;
*palette++ = (b << 10) | (g << 5) | (r << 0); *palette++ = RGB2(r, g, b);
} }
} }
@@ -860,9 +856,9 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b
for (i = 0; i < count; ++i) for (i = 0; i < count; ++i)
{ {
r = (*palette >> 0) & 0x1F; r = GET_R(*palette);
g = (*palette >> 5) & 0x1F; g = GET_G(*palette);
b = (*palette >> 10) & 0x1F; b = GET_B(*palette);
gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
r = (u16)((rTone * gray)) >> 8; r = (u16)((rTone * gray)) >> 8;
g = (u16)((gTone * gray)) >> 8; g = (u16)((gTone * gray)) >> 8;
@@ -873,116 +869,126 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b
g = 31; g = 31;
if (b > 31) if (b > 31)
b = 31; b = 31;
*palette++ = (b << 10) | (g << 5) | (r << 0); *palette++ = RGB2(r, g, b);
} }
} }
void sub_80716F8(const u16 *src, u16 *dst, u16 count, u8 a4) void CopyPaletteInvertedTint(const u16 *src, u16 *dst, u16 count, u8 tone)
{ {
s32 r, g, b, i; s32 r, g, b, i;
u32 gray; u32 gray;
if (!a4) if (!tone)
{ {
for (i = 0; i < count; ++i) for (i = 0; i < count; i++)
*dst++ = *src++; *dst++ = *src++;
} }
else else
{ {
for (i = 0; i < count; ++src, ++dst, ++i) for (i = 0; i < count; src++, dst++, i++)
{ {
r = (*src >> 0) & 0x1F; r = GET_R(*src);
g = (*src >> 5) & 0x1F; g = GET_G(*src);
b = (*src >> 10) & 0x1F; b = GET_B(*src);
gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
r += (a4 * (gray - r) >> 4); r += (tone * (gray - r) >> 4);
g += (a4 * (gray - g) >> 4); g += (tone * (gray - g) >> 4);
b += (a4 * (gray - b) >> 4); b += (tone * (gray - b) >> 4);
*dst = (b << 10) | (g << 5) | (r << 0); *dst = RGB2(r, g, b);
} }
} }
} }
void sub_80717A8(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7) #define tCoeff data[0]
#define tCoeffTarget data[1]
#define tCoeffDelta data[2]
#define tDelay data[3]
#define tDelayTimer data[4]
#define IDX_PALETTES 5 // data[5] and data[6], set/get via Set/GetWordTaskArg
#define tColor data[7]
#define tId data[8]
// Blend the selected palettes in a series of steps toward or away from the color.
void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id)
{ {
u8 taskId; u8 taskId;
taskId = CreateTask(sub_80718B8, a6); taskId = CreateTask(Task_BlendPalettesGradually, priority);
gTasks[taskId].data[0] = a3; gTasks[taskId].tCoeff = coeff;
gTasks[taskId].data[1] = a4; gTasks[taskId].tCoeffTarget = coeffTarget;
if (a2 >= 0) if (delay >= 0)
{ {
gTasks[taskId].data[3] = a2; gTasks[taskId].tDelay = delay;
gTasks[taskId].data[2] = 1; gTasks[taskId].tCoeffDelta = 1;
} }
else else
{ {
gTasks[taskId].data[3] = 0; gTasks[taskId].tDelay = 0;
gTasks[taskId].data[2] = -a2 + 1; gTasks[taskId].tCoeffDelta = -delay + 1;
} }
if (a4 < a3) if (coeffTarget < coeff)
gTasks[taskId].data[2] *= -1; gTasks[taskId].tCoeffDelta *= -1;
SetWordTaskArg(taskId, 5, a1); SetWordTaskArg(taskId, IDX_PALETTES, selectedPalettes);
gTasks[taskId].data[7] = a5; gTasks[taskId].tColor = color;
gTasks[taskId].data[8] = a7; gTasks[taskId].tId = id;
gTasks[taskId].func(taskId); gTasks[taskId].func(taskId);
} }
bool32 sub_807185C(u8 var) bool32 IsBlendPalettesGraduallyTaskActive(u8 id)
{ {
s32 i; s32 i;
for (i = 0; i < NUM_TASKS; ++i) for (i = 0; i < NUM_TASKS; ++i)
if (gTasks[i].isActive == TRUE if (gTasks[i].isActive == TRUE
&& gTasks[i].func == sub_80718B8 && gTasks[i].func == Task_BlendPalettesGradually
&& gTasks[i].data[8] == var) && gTasks[i].tId == id)
return TRUE; return TRUE;
return FALSE; return FALSE;
} }
void sub_8071898(void) void DestroyBlendPalettesGraduallyTask(void)
{ {
u8 taskId; u8 taskId;
while (TRUE) while (TRUE)
{ {
taskId = FindTaskIdByFunc(sub_80718B8); taskId = FindTaskIdByFunc(Task_BlendPalettesGradually);
if (taskId == TAIL_SENTINEL) if (taskId == TASK_NONE)
break; break;
DestroyTask(taskId); DestroyTask(taskId);
} }
} }
static void sub_80718B8(u8 taskId) static void Task_BlendPalettesGradually(u8 taskId)
{ {
u32 wordVar; u32 palettes;
s16 *data; s16 *data;
s16 temp; s16 target;
data = gTasks[taskId].data; data = gTasks[taskId].data;
wordVar = GetWordTaskArg(taskId, 5); palettes = GetWordTaskArg(taskId, IDX_PALETTES);
if (++data[4] > data[3]) if (++tDelayTimer > tDelay)
{ {
data[4] = 0; tDelayTimer = 0;
BlendPalettes(wordVar, data[0], data[7]); BlendPalettes(palettes, tCoeff, tColor);
temp = data[1]; target = tCoeffTarget;
if (data[0] == temp) if (tCoeff == target)
{ {
DestroyTask(taskId); DestroyTask(taskId);
} }
else else
{ {
data[0] += data[2]; tCoeff += tCoeffDelta;
if (data[2] >= 0) if (tCoeffDelta >= 0)
{ {
if (data[0] < temp) if (tCoeff < target)
return; return;
} }
else if (data[0] > temp) else if (tCoeff > target)
{ {
return; return;
} }
data[0] = temp; tCoeff = target;
} }
} }
} }
+2 -2
View File
@@ -3532,8 +3532,8 @@ static const u8 sVenusaurStates[] = {
[VINE_UPSWING_HIGHER] = VENUSAUR_UP, [VINE_UPSWING_HIGHER] = VENUSAUR_UP,
}; };
static const struct CompressedSpriteSheet sSpriteSheet_Digits = {gUnknown_8479688, 0, TAG_DIGITS}; static const struct CompressedSpriteSheet sSpriteSheet_Digits = {gMinigameDigits_Gfx, 0, TAG_DIGITS};
static const struct SpritePalette sSpritePalette_Digits = {gUnknown_8479668, TAG_DIGITS}; static const struct SpritePalette sSpritePalette_Digits = {gMinigameDigits_Pal, TAG_DIGITS};
static const u16 sPlayerNameWindowCoords_2Players[] = { static const u16 sPlayerNameWindowCoords_2Players[] = {
6, 8, 6, 8,
+2 -2
View File
@@ -1199,8 +1199,8 @@ static bool8 sub_81121D8(u8 taskId)
if (data[1] > 15) if (data[1] > 15)
return TRUE; return TRUE;
sub_80716F8(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]); CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]);
sub_80716F8(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]); CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]);
FillWindowPixelRect(sQuestLogHeaderWindowIds[0], 0x00, 0, sQuestLogHeaderWindowTemplates[0].height * 8 - 1 - data[1], sQuestLogHeaderWindowTemplates[0].width * 8, 1); FillWindowPixelRect(sQuestLogHeaderWindowIds[0], 0x00, 0, sQuestLogHeaderWindowTemplates[0].height * 8 - 1 - data[1], sQuestLogHeaderWindowTemplates[0].width * 8, 1);
FillWindowPixelRect(sQuestLogHeaderWindowIds[1], 0x00, 0, data[1], sQuestLogHeaderWindowTemplates[1].width * 8, 1); FillWindowPixelRect(sQuestLogHeaderWindowIds[1], 0x00, 0, data[1], sQuestLogHeaderWindowTemplates[1].width * 8, 1);
CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX); CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX);
+1 -1
View File
@@ -594,7 +594,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s
if (item != INDEX_CANCEL) if (item != INDEX_CANCEL)
CreateItemMenuIcon(item, gShopData.itemSlot); CreateItemMenuIcon(item, gShopData.itemSlot);
else else
CreateItemMenuIcon(ITEM_N_A, gShopData.itemSlot); CreateItemMenuIcon(ITEMS_COUNT, gShopData.itemSlot);
gShopData.itemSlot ^= 1; gShopData.itemSlot ^= 1;
BuyMenuPrint(5, FONT_2, description, 0, 3, 2, 1, 0, 0); BuyMenuPrint(5, FONT_2, description, 0, 3, 2, 1, 0, 0);
+12 -12
View File
@@ -519,15 +519,15 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
if (data[2] > 36) if (data[2] > 36)
{ {
CreateTask(Task_TitleScreen_SlideWin0, 3); CreateTask(Task_TitleScreen_SlideWin0, 3);
sub_80717A8(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0); BlendPalettesGradually(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0);
data[2] = 0; data[2] = 0;
data[1]++; data[1]++;
} }
break; break;
case 4: case 4:
if (!sub_807185C(0)) if (!IsBlendPalettesGraduallyTaskActive(0))
{ {
sub_80717A8(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); BlendPalettesGradually(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0);
data[1]++; data[1]++;
} }
break; break;
@@ -536,14 +536,14 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
if (data[2] > 20) if (data[2] > 20)
{ {
data[2] = 0; data[2] = 0;
sub_80717A8(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0); BlendPalettesGradually(0x2000, -4, 0x01, 0x10, RGB(30, 30, 31), 0, 0);
data[1]++; data[1]++;
} }
break; break;
case 6: case 6:
if (!sub_807185C(0)) if (!IsBlendPalettesGraduallyTaskActive(0))
{ {
sub_80717A8(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); BlendPalettesGradually(0x2000, -4, 0x0F, 0x00, RGB(30, 30, 31), 0, 0);
data[1]++; data[1]++;
} }
break; break;
@@ -552,12 +552,12 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
if (data[2] > 20) if (data[2] > 20)
{ {
data[2] = 0; data[2] = 0;
sub_80717A8(0x2000, -3, 0x00, 0x10, RGB(30, 30, 31), 0, 0); BlendPalettesGradually(0x2000, -3, 0x00, 0x10, RGB(30, 30, 31), 0, 0);
data[1]++; data[1]++;
} }
break; break;
case 8: case 8:
if (!sub_807185C(0)) if (!IsBlendPalettesGraduallyTaskActive(0))
{ {
data[5] = 1; data[5] = 1;
r4 = (0x10000 << CreateBlankSprite()) | 0x00001FFF; r4 = (0x10000 << CreateBlankSprite()) | 0x00001FFF;
@@ -565,12 +565,12 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
BeginNormalPaletteFade(r4, 1, 0x10, 0x00, RGB(30, 30, 31)); BeginNormalPaletteFade(r4, 1, 0x10, 0x00, RGB(30, 30, 31));
ShowBg(0); ShowBg(0);
CpuCopy16(gGraphics_TitleScreen_BoxArtMonPals, gPlttBufferUnfaded + 0xD0, 0x20); CpuCopy16(gGraphics_TitleScreen_BoxArtMonPals, gPlttBufferUnfaded + 0xD0, 0x20);
sub_80717A8(0x2000, 1, 0x0F, 0x00, RGB(30, 30, 31), 0, 0); BlendPalettesGradually(0x2000, 1, 0x0F, 0x00, RGB(30, 30, 31), 0, 0);
data[1]++; data[1]++;
} }
break; break;
case 9: case 9:
if (!sub_807185C(0) && !gPaletteFade.active) if (!IsBlendPalettesGraduallyTaskActive(0) && !gPaletteFade.active)
{ {
SetTitleScreenScene(data, TITLESCREENSCENE_RUN); SetTitleScreenScene(data, TITLESCREENSCENE_RUN);
} }
@@ -872,7 +872,7 @@ static void LoadMainTitleScreenPalsAndResetBgs(void)
if (taskId != 0xFF) if (taskId != 0xFF)
DestroyTask(taskId); DestroyTask(taskId);
sub_8071898(); DestroyBlendPalettesGraduallyTask();
ResetPaletteFadeControl(); ResetPaletteFadeControl();
LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0x00, 0x1A0); LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0x00, 0x1A0);
LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20); LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20);
@@ -897,7 +897,7 @@ static void CB2_FadeOutTransitionToBerryFix(void)
if (!UpdatePaletteFade()) if (!UpdatePaletteFade())
{ {
m4aMPlayAllStop(); m4aMPlayAllStop();
SetMainCallback2(mb_berry_fix_serve); SetMainCallback2(CB2_InitBerryFixProgram);
} }
} }