Merge pull request #568 from GriffinRichards/tilesets-c
Convert tilesets.s to C
This commit is contained in:
+99
-82
@@ -9,51 +9,64 @@
|
||||
#include "help_system.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 {
|
||||
u8 state;
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
struct MultiBootParam mb;
|
||||
} berryfix_t;
|
||||
enum {
|
||||
STATE_BEGIN,
|
||||
STATE_CONNECT,
|
||||
STATE_TURN_OFF_POWER,
|
||||
STATE_UNUSED,
|
||||
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;
|
||||
int gUnknown_3005EF4;
|
||||
size_t gUnknown_3005EF8;
|
||||
struct MultiBootParam gUnknown_3005F00;
|
||||
static void CB2_BerryFix(void);
|
||||
static void Task_BerryFixMain(u8 taskId);
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
static void mb_berry_fix_maincb(void);
|
||||
static void mb_berry_fix_task(u8 taskId);
|
||||
|
||||
// .rodata
|
||||
|
||||
static const void *const gUnknown_847A890[][3] = {
|
||||
{
|
||||
static const void *const sBerryFixGraphics[][3] = {
|
||||
[SCENE_ENSURE_CONNECT] = {
|
||||
gBerryFixGameboy_Gfx,
|
||||
gBerryFixGameboy_Tilemap,
|
||||
gBerryFixGameboy_Pal
|
||||
}, {
|
||||
},
|
||||
[SCENE_TURN_OFF_POWER] = {
|
||||
gBerryFixGameboyLogo_Gfx,
|
||||
gBerryFixGameboyLogo_Tilemap,
|
||||
gBerryFixGameboyLogo_Pal
|
||||
}, {
|
||||
},
|
||||
[SCENE_TRANSMITTING] = {
|
||||
gBerryFixGbaTransfer_Gfx,
|
||||
gBerryFixGbaTransfer_Tilemap,
|
||||
gBerryFixGbaTransfer_Pal
|
||||
}, {
|
||||
},
|
||||
[SCENE_FOLLOW_INSTRUCT] = {
|
||||
gBerryFixGbaTransferHighlight_Gfx,
|
||||
gBerryFixGbaTransferHighlight_Tilemap,
|
||||
gBerryFixGbaTransferHighlight_Pal
|
||||
}, {
|
||||
},
|
||||
[SCENE_TRANSMIT_FAILED] = {
|
||||
gBerryFixGbaTransferError_Gfx,
|
||||
gBerryFixGbaTransferError_Tilemap,
|
||||
gBerryFixGbaTransferError_Pal
|
||||
}, {
|
||||
},
|
||||
[SCENE_BEGIN] = {
|
||||
gBerryFixWindow_Gfx,
|
||||
gBerryFixWindow_Tilemap,
|
||||
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_End[];
|
||||
|
||||
// .text
|
||||
|
||||
static void mb_berry_fix_print(int scene)
|
||||
static void SetScene(int scene)
|
||||
{
|
||||
REG_DISPCNT = 0;
|
||||
REG_BG0HOFS = 0;
|
||||
REG_BG0VOFS = 0;
|
||||
REG_BLDCNT = 0;
|
||||
LZ77UnCompVram(gUnknown_847A890[scene][0], (void *)BG_CHAR_ADDR(0));
|
||||
LZ77UnCompVram(gUnknown_847A890[scene][1], (void *)BG_SCREEN_ADDR(31));
|
||||
CpuCopy16(gUnknown_847A890[scene][2], (void *)BG_PLTT, 0x200);
|
||||
LZ77UnCompVram(sBerryFixGraphics[scene][0], (void *)BG_CHAR_ADDR(0));
|
||||
LZ77UnCompVram(sBerryFixGraphics[scene][1], (void *)BG_SCREEN_ADDR(31));
|
||||
CpuCopy16(sBerryFixGraphics[scene][2], (void *)BG_PLTT, 0x200);
|
||||
REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(31) | BGCNT_TXT256x256;
|
||||
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;
|
||||
DisableInterrupts(0xFFFF);
|
||||
@@ -91,96 +105,99 @@ void mb_berry_fix_serve(void) // noreturn
|
||||
ResetTasks();
|
||||
ScanlineEffect_Stop();
|
||||
gHelpSystemEnabled = FALSE;
|
||||
taskId = CreateTask(mb_berry_fix_task, 0);
|
||||
gTasks[taskId].data[0] = 0;
|
||||
SetMainCallback2(mb_berry_fix_maincb);
|
||||
taskId = CreateTask(Task_BerryFixMain, 0);
|
||||
gTasks[taskId].tState = STATE_BEGIN;
|
||||
SetMainCallback2(CB2_BerryFix);
|
||||
}
|
||||
|
||||
static void mb_berry_fix_maincb(void)
|
||||
static void CB2_BerryFix(void)
|
||||
{
|
||||
RunTasks();
|
||||
}
|
||||
|
||||
static void mb_berry_fix_task(u8 taskId)
|
||||
static void Task_BerryFixMain(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
switch (data[0])
|
||||
switch (tState)
|
||||
{
|
||||
case 0:
|
||||
mb_berry_fix_print(5);
|
||||
data[0] = 1;
|
||||
case STATE_BEGIN:
|
||||
SetScene(SCENE_BEGIN);
|
||||
tState = STATE_CONNECT;
|
||||
break;
|
||||
case 1:
|
||||
case STATE_CONNECT:
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
mb_berry_fix_print(0);
|
||||
data[0] = 2;
|
||||
SetScene(SCENE_ENSURE_CONNECT);
|
||||
tState = STATE_TURN_OFF_POWER;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case STATE_TURN_OFF_POWER:
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
mb_berry_fix_print(1);
|
||||
data[0] = 4;
|
||||
SetScene(SCENE_TURN_OFF_POWER);
|
||||
tState = STATE_INIT_MULTIBOOT;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_3005EF0 = gMultiBootProgram_BerryGlitchFix_Start;
|
||||
gUnknown_3005EF8 = gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start;
|
||||
gUnknown_3005F00.masterp = (void *)gMultiBootProgram_BerryGlitchFix_Start;
|
||||
gUnknown_3005F00.server_type = MULTIBOOT_SERVER_TYPE_NORMAL;
|
||||
MultiBootInit(&gUnknown_3005F00);
|
||||
data[1] = 0;
|
||||
data[0] = 5;
|
||||
case STATE_INIT_MULTIBOOT:
|
||||
gMultibootStart = gMultiBootProgram_BerryGlitchFix_Start;
|
||||
gMultibootSize = gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start;
|
||||
gMultibootParam.masterp = (void *)gMultiBootProgram_BerryGlitchFix_Start;
|
||||
gMultibootParam.server_type = MULTIBOOT_SERVER_TYPE_NORMAL;
|
||||
MultiBootInit(&gMultibootParam);
|
||||
tTimer = 0;
|
||||
tState = STATE_MULTIBOOT;
|
||||
break;
|
||||
case 5:
|
||||
if (gUnknown_3005F00.probe_count == 0 && gUnknown_3005F00.response_bit & 0x2 && gUnknown_3005F00.client_bit & 0x2)
|
||||
case STATE_MULTIBOOT:
|
||||
if (gMultibootParam.probe_count == 0 && gMultibootParam.response_bit & 0x2 && gMultibootParam.client_bit & 0x2)
|
||||
{
|
||||
data[1]++;
|
||||
if (data[1] > 180)
|
||||
if (++tTimer > 180)
|
||||
{
|
||||
mb_berry_fix_print(2);
|
||||
MultiBootStartMaster(&gUnknown_3005F00, gUnknown_3005EF0 + MULTIBOOT_HEADER_SIZE, gUnknown_3005EF8 - MULTIBOOT_HEADER_SIZE, 4, 1);
|
||||
data[1] = 0;
|
||||
data[0] = 6;
|
||||
SetScene(SCENE_TRANSMITTING);
|
||||
MultiBootStartMaster(&gMultibootParam, gMultibootStart + MULTIBOOT_HEADER_SIZE, gMultibootSize - MULTIBOOT_HEADER_SIZE, 4, 1);
|
||||
tTimer = 0;
|
||||
tState = STATE_TRANSMIT;
|
||||
}
|
||||
else
|
||||
gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00);
|
||||
{
|
||||
gMultibootStatus = MultiBootMain(&gMultibootParam);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
data[1] = 0;
|
||||
gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00);
|
||||
tTimer = 0;
|
||||
gMultibootStatus = MultiBootMain(&gMultibootParam);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_3005EF4 = MultiBootMain(&gUnknown_3005F00);
|
||||
if (MultiBootCheckComplete(&gUnknown_3005F00))
|
||||
case STATE_TRANSMIT:
|
||||
gMultibootStatus = MultiBootMain(&gMultibootParam);
|
||||
if (MultiBootCheckComplete(&gMultibootParam))
|
||||
{
|
||||
mb_berry_fix_print(3);
|
||||
data[0] = 7;
|
||||
SetScene(SCENE_FOLLOW_INSTRUCT);
|
||||
tState = STATE_SUCCEEDED;
|
||||
}
|
||||
else if (!(gMultibootParam.client_bit & 2))
|
||||
{
|
||||
tState = STATE_FAILED;
|
||||
}
|
||||
else if (!(gUnknown_3005F00.client_bit & 2))
|
||||
data[0] = 9;
|
||||
break;
|
||||
case 7:
|
||||
data[0] = 8;
|
||||
case STATE_SUCCEEDED:
|
||||
tState = STATE_EXIT;
|
||||
break;
|
||||
case 8:
|
||||
case STATE_EXIT:
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
DoSoftReset();
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
mb_berry_fix_print(4);
|
||||
data[0] = 10;
|
||||
case STATE_FAILED:
|
||||
SetScene(SCENE_TRANSMIT_FAILED);
|
||||
tState = STATE_RETRY;
|
||||
break;
|
||||
case 10:
|
||||
case STATE_RETRY:
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
data[0] = 0;
|
||||
tState = STATE_BEGIN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -709,9 +709,9 @@ static void BerryPouchMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen
|
||||
}
|
||||
DestroyItemMenuIcon(sResources->itemMenuIconId ^ 1);
|
||||
if (sResources->listMenuNumItems != itemIndex)
|
||||
sub_80989A0(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, itemIndex), sResources->itemMenuIconId);
|
||||
CreateBerryPouchItemIcon(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, itemIndex), sResources->itemMenuIconId);
|
||||
else
|
||||
sub_80989A0(ITEM_N_A, sResources->itemMenuIconId);
|
||||
CreateBerryPouchItemIcon(ITEMS_COUNT, sResources->itemMenuIconId);
|
||||
sResources->itemMenuIconId ^= 1;
|
||||
PrintSelectedBerryDescription(itemIndex);
|
||||
}
|
||||
@@ -1074,7 +1074,7 @@ static void Task_BerryPouch_Use(u8 taskId)
|
||||
else
|
||||
ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId);
|
||||
}
|
||||
else if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == 1)
|
||||
else if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_TYPE_PARTY_MENU)
|
||||
Task_Give_PrintThereIsNoPokemon(taskId);
|
||||
else
|
||||
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
|
||||
|
||||
@@ -600,58 +600,58 @@ u32 ChangeBgX(u8 bg, u32 value, u8 op)
|
||||
|
||||
switch (op)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
sGpuBgConfigs2[bg].bg_x = value;
|
||||
break;
|
||||
case 1:
|
||||
sGpuBgConfigs2[bg].bg_x += value;
|
||||
break;
|
||||
case 2:
|
||||
sGpuBgConfigs2[bg].bg_x -= value;
|
||||
break;
|
||||
case BG_COORD_SET:
|
||||
default:
|
||||
sGpuBgConfigs2[bg].bg_x = value;
|
||||
break;
|
||||
case BG_COORD_ADD:
|
||||
sGpuBgConfigs2[bg].bg_x += value;
|
||||
break;
|
||||
case BG_COORD_SUB:
|
||||
sGpuBgConfigs2[bg].bg_x -= value;
|
||||
break;
|
||||
}
|
||||
|
||||
mode = GetBgMode();
|
||||
|
||||
switch (bg)
|
||||
{
|
||||
case 0:
|
||||
temp1 = sGpuBgConfigs2[0].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG0HOFS, temp1);
|
||||
break;
|
||||
case 1:
|
||||
temp1 = sGpuBgConfigs2[1].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, temp1);
|
||||
break;
|
||||
case 2:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, temp1);
|
||||
}
|
||||
else
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_x >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[2].bg_x & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG2X_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG2X_L, temp2);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG3HOFS, temp1);
|
||||
}
|
||||
else if (mode == 2)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_x >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[3].bg_x & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG3X_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG3X_L, temp2);
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
temp1 = sGpuBgConfigs2[0].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG0HOFS, temp1);
|
||||
break;
|
||||
case 1:
|
||||
temp1 = sGpuBgConfigs2[1].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, temp1);
|
||||
break;
|
||||
case 2:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, temp1);
|
||||
}
|
||||
else
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_x >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[2].bg_x & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG2X_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG2X_L, temp2);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_x >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG3HOFS, temp1);
|
||||
}
|
||||
else if (mode == 2)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_x >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[3].bg_x & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG3X_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG3X_L, temp2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return sGpuBgConfigs2[bg].bg_x;
|
||||
@@ -679,58 +679,58 @@ u32 ChangeBgY(u8 bg, u32 value, u8 op)
|
||||
|
||||
switch (op)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
sGpuBgConfigs2[bg].bg_y = value;
|
||||
break;
|
||||
case 1:
|
||||
sGpuBgConfigs2[bg].bg_y += value;
|
||||
break;
|
||||
case 2:
|
||||
sGpuBgConfigs2[bg].bg_y -= value;
|
||||
break;
|
||||
case BG_COORD_SET:
|
||||
default:
|
||||
sGpuBgConfigs2[bg].bg_y = value;
|
||||
break;
|
||||
case BG_COORD_ADD:
|
||||
sGpuBgConfigs2[bg].bg_y += value;
|
||||
break;
|
||||
case BG_COORD_SUB:
|
||||
sGpuBgConfigs2[bg].bg_y -= value;
|
||||
break;
|
||||
}
|
||||
|
||||
mode = GetBgMode();
|
||||
|
||||
switch (bg)
|
||||
{
|
||||
case 0:
|
||||
temp1 = sGpuBgConfigs2[0].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, temp1);
|
||||
break;
|
||||
case 1:
|
||||
temp1 = sGpuBgConfigs2[1].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, temp1);
|
||||
break;
|
||||
case 2:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, temp1);
|
||||
}
|
||||
else
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_y >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG2Y_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG2Y_L, temp2);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG3VOFS, temp1);
|
||||
}
|
||||
else if (mode == 2)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_y >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG3Y_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG3Y_L, temp2);
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
temp1 = sGpuBgConfigs2[0].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, temp1);
|
||||
break;
|
||||
case 1:
|
||||
temp1 = sGpuBgConfigs2[1].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, temp1);
|
||||
break;
|
||||
case 2:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, temp1);
|
||||
}
|
||||
else
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[2].bg_y >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG2Y_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG2Y_L, temp2);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (mode == 0)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_y >> 0x8;
|
||||
SetGpuReg(REG_OFFSET_BG3VOFS, temp1);
|
||||
}
|
||||
else if (mode == 2)
|
||||
{
|
||||
temp1 = sGpuBgConfigs2[3].bg_y >> 0x10;
|
||||
temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF;
|
||||
SetGpuReg(REG_OFFSET_BG3Y_H, temp1);
|
||||
SetGpuReg(REG_OFFSET_BG3Y_L, temp2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return sGpuBgConfigs2[bg].bg_y;
|
||||
|
||||
@@ -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}
|
||||
};
|
||||
+396
-396
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,748 @@
|
||||
const struct Tileset gTileset_General =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = FALSE,
|
||||
.tiles = gTilesetTiles_General,
|
||||
.palettes = gTilesetPalettes_General,
|
||||
.metatiles = gMetatiles_General,
|
||||
.metatileAttributes = gMetatileAttributes_General,
|
||||
.callback = InitTilesetAnim_General,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PalletTown =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PalletTown,
|
||||
.palettes = gTilesetPalettes_PalletTown,
|
||||
.metatiles = gMetatiles_PalletTown,
|
||||
.metatileAttributes = gMetatileAttributes_PalletTown,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_ViridianCity =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_ViridianCity,
|
||||
.palettes = gTilesetPalettes_ViridianCity,
|
||||
.metatiles = gMetatiles_ViridianCity,
|
||||
.metatileAttributes = gMetatileAttributes_ViridianCity,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PewterCity =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PewterCity,
|
||||
.palettes = gTilesetPalettes_PewterCity,
|
||||
.metatiles = gMetatiles_PewterCity,
|
||||
.metatileAttributes = gMetatileAttributes_PewterCity,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CeruleanCity =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CeruleanCity,
|
||||
.palettes = gTilesetPalettes_CeruleanCity,
|
||||
.metatiles = gMetatiles_CeruleanCity,
|
||||
.metatileAttributes = gMetatileAttributes_CeruleanCity,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_LavenderTown =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_LavenderTown,
|
||||
.palettes = gTilesetPalettes_LavenderTown,
|
||||
.metatiles = gMetatiles_LavenderTown,
|
||||
.metatileAttributes = gMetatileAttributes_LavenderTown,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_VermilionCity =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_VermilionCity,
|
||||
.palettes = gTilesetPalettes_VermilionCity,
|
||||
.metatiles = gMetatiles_VermilionCity,
|
||||
.metatileAttributes = gMetatileAttributes_VermilionCity,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CeladonCity =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CeladonCity,
|
||||
.palettes = gTilesetPalettes_CeladonCity,
|
||||
.metatiles = gMetatiles_CeladonCity,
|
||||
.metatileAttributes = gMetatileAttributes_CeladonCity,
|
||||
.callback = InitTilesetAnim_CeladonCity,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_FuchsiaCity =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_FuchsiaCity,
|
||||
.palettes = gTilesetPalettes_FuchsiaCity,
|
||||
.metatiles = gMetatiles_FuchsiaCity,
|
||||
.metatileAttributes = gMetatileAttributes_FuchsiaCity,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CinnabarIsland =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CinnabarIsland,
|
||||
.palettes = gTilesetPalettes_CinnabarIsland,
|
||||
.metatiles = gMetatiles_CinnabarIsland,
|
||||
.metatileAttributes = gMetatileAttributes_CinnabarIsland,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_IndigoPlateau =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_IndigoPlateau,
|
||||
.palettes = gTilesetPalettes_IndigoPlateau,
|
||||
.metatiles = gMetatiles_IndigoPlateau,
|
||||
.metatileAttributes = gMetatileAttributes_IndigoPlateau,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SaffronCity =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SaffronCity,
|
||||
.palettes = gTilesetPalettes_SaffronCity,
|
||||
.metatiles = gMetatiles_SaffronCity,
|
||||
.metatileAttributes = gMetatileAttributes_SaffronCity,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Building =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = FALSE,
|
||||
.tiles = gTilesetTiles_Building,
|
||||
.palettes = gTilesetPalettes_Building,
|
||||
.metatiles = gMetatiles_Building,
|
||||
.metatileAttributes = gMetatileAttributes_Building,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Mart =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Mart,
|
||||
.palettes = gTilesetPalettes_Mart,
|
||||
.metatiles = gMetatiles_Mart,
|
||||
.metatileAttributes = gMetatileAttributes_Mart,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PokemonCenter =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PokemonCenter,
|
||||
.palettes = gTilesetPalettes_PokemonCenter,
|
||||
.metatiles = gMetatiles_PokemonCenter,
|
||||
.metatileAttributes = gMetatileAttributes_PokemonCenter,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Cave =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Cave,
|
||||
.palettes = gTilesetPalettes_Cave,
|
||||
.metatiles = gMetatiles_Cave,
|
||||
.metatileAttributes = gMetatileAttributes_Cave,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Dummy1 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Dummy1,
|
||||
.palettes = gTilesetPalettes_Dummy1,
|
||||
.metatiles = gMetatiles_Dummy1,
|
||||
.metatileAttributes = gMetatileAttributes_Dummy1,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Museum =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Museum,
|
||||
.palettes = gTilesetPalettes_Museum,
|
||||
.metatiles = gMetatiles_Museum,
|
||||
.metatileAttributes = gMetatileAttributes_Museum,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CableClub =
|
||||
{
|
||||
.isCompressed = FALSE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CableClub,
|
||||
.palettes = gTilesetPalettes_CableClub,
|
||||
.metatiles = gMetatiles_CableClub,
|
||||
.metatileAttributes = gMetatileAttributes_CableClub,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_BikeShop =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_BikeShop,
|
||||
.palettes = gTilesetPalettes_BikeShop,
|
||||
.metatiles = gMetatiles_BikeShop,
|
||||
.metatileAttributes = gMetatileAttributes_BikeShop,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_GenericBuilding1 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_GenericBuilding1,
|
||||
.palettes = gTilesetPalettes_GenericBuilding1,
|
||||
.metatiles = gMetatiles_GenericBuilding1,
|
||||
.metatileAttributes = gMetatileAttributes_GenericBuilding1,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Lab =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Lab,
|
||||
.palettes = gTilesetPalettes_Lab,
|
||||
.metatiles = gMetatiles_Lab,
|
||||
.metatileAttributes = gMetatileAttributes_Lab,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_FuchsiaGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_FuchsiaGym,
|
||||
.palettes = gTilesetPalettes_FuchsiaGym,
|
||||
.metatiles = gMetatiles_FuchsiaGym,
|
||||
.metatileAttributes = gMetatileAttributes_FuchsiaGym,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_ViridianGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_ViridianGym,
|
||||
.palettes = gTilesetPalettes_ViridianGym,
|
||||
.metatiles = gMetatiles_ViridianGym,
|
||||
.metatileAttributes = gMetatileAttributes_ViridianGym,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_HoennBuilding =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_HoennBuilding,
|
||||
.palettes = gTilesetPalettes_HoennBuilding,
|
||||
.metatiles = gMetatiles_HoennBuilding,
|
||||
.metatileAttributes = gMetatileAttributes_HoennBuilding,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_GameCorner =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_GameCorner,
|
||||
.palettes = gTilesetPalettes_GameCorner,
|
||||
.metatiles = gMetatiles_GameCorner,
|
||||
.metatileAttributes = gMetatileAttributes_GameCorner,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PewterGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PewterGym,
|
||||
.palettes = gTilesetPalettes_PewterGym,
|
||||
.metatiles = gMetatiles_PewterGym,
|
||||
.metatileAttributes = gMetatileAttributes_PewterGym,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CeruleanGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CeruleanGym,
|
||||
.palettes = gTilesetPalettes_CeruleanGym,
|
||||
.metatiles = gMetatiles_CeruleanGym,
|
||||
.metatileAttributes = gMetatileAttributes_CeruleanGym,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_VermilionGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_VermilionGym,
|
||||
.palettes = gTilesetPalettes_VermilionGym,
|
||||
.metatiles = gMetatiles_VermilionGym,
|
||||
.metatileAttributes = gMetatileAttributes_VermilionGym,
|
||||
.callback = InitTilesetAnim_VermilionGym,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CeladonGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CeladonGym,
|
||||
.palettes = gTilesetPalettes_CeladonGym,
|
||||
.metatiles = gMetatiles_CeladonGym,
|
||||
.metatileAttributes = gMetatileAttributes_CeladonGym,
|
||||
.callback = InitTilesetAnim_CeladonGym,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SaffronGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SaffronGym,
|
||||
.palettes = gTilesetPalettes_SaffronGym,
|
||||
.metatiles = gMetatiles_SaffronGym,
|
||||
.metatileAttributes = gMetatileAttributes_SaffronGym,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CinnabarGym =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CinnabarGym,
|
||||
.palettes = gTilesetPalettes_CinnabarGym,
|
||||
.metatiles = gMetatiles_CinnabarGym,
|
||||
.metatileAttributes = gMetatileAttributes_CinnabarGym,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SSAnne =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SSAnne,
|
||||
.palettes = gTilesetPalettes_SSAnne,
|
||||
.metatiles = gMetatiles_SSAnne,
|
||||
.metatileAttributes = gMetatileAttributes_SSAnne,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Dummy2 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Dummy2,
|
||||
.palettes = gTilesetPalettes_Dummy2,
|
||||
.metatiles = gMetatiles_Dummy2,
|
||||
.metatileAttributes = gMetatileAttributes_Dummy2,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_ViridianForest =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_ViridianForest,
|
||||
.palettes = gTilesetPalettes_ViridianForest,
|
||||
.metatiles = gMetatiles_ViridianForest,
|
||||
.metatileAttributes = gMetatileAttributes_ViridianForest,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_UnusedGatehouse1 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_UnusedGatehouse1,
|
||||
.palettes = gTilesetPalettes_UnusedGatehouse1,
|
||||
.metatiles = gMetatiles_UnusedGatehouse1,
|
||||
.metatileAttributes = gMetatileAttributes_UnusedGatehouse1,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_RockTunnel =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_RockTunnel,
|
||||
.palettes = gTilesetPalettes_RockTunnel,
|
||||
.metatiles = gMetatiles_RockTunnel,
|
||||
.metatileAttributes = gMetatileAttributes_RockTunnel,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_DiglettsCave =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_DiglettsCave,
|
||||
.palettes = gTilesetPalettes_DiglettsCave,
|
||||
.metatiles = gMetatiles_DiglettsCave,
|
||||
.metatileAttributes = gMetatileAttributes_DiglettsCave,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SeafoamIslands =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SeafoamIslands,
|
||||
.palettes = gTilesetPalettes_SeafoamIslands,
|
||||
.metatiles = gMetatiles_SeafoamIslands,
|
||||
.metatileAttributes = gMetatileAttributes_SeafoamIslands,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_UnusedGatehouse2 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_UnusedGatehouse2,
|
||||
.palettes = gTilesetPalettes_UnusedGatehouse2,
|
||||
.metatiles = gMetatiles_UnusedGatehouse2,
|
||||
.metatileAttributes = gMetatileAttributes_UnusedGatehouse2,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_CeruleanCave =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_CeruleanCave,
|
||||
.palettes = gTilesetPalettes_CeruleanCave,
|
||||
.metatiles = gMetatiles_CeruleanCave,
|
||||
.metatileAttributes = gMetatileAttributes_CeruleanCave,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_DepartmentStore =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_DepartmentStore,
|
||||
.palettes = gTilesetPalettes_DepartmentStore,
|
||||
.metatiles = gMetatiles_DepartmentStore,
|
||||
.metatileAttributes = gMetatileAttributes_DepartmentStore,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_GenericBuilding2 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_GenericBuilding2,
|
||||
.palettes = gTilesetPalettes_GenericBuilding2,
|
||||
.metatiles = gMetatiles_GenericBuilding2,
|
||||
.metatileAttributes = gMetatileAttributes_GenericBuilding2,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PowerPlant =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PowerPlant,
|
||||
.palettes = gTilesetPalettes_PowerPlant,
|
||||
.metatiles = gMetatiles_PowerPlant,
|
||||
.metatileAttributes = gMetatileAttributes_PowerPlant,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SeaCottage =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SeaCottage,
|
||||
.palettes = gTilesetPalettes_SeaCottage,
|
||||
.metatiles = gMetatiles_SeaCottage,
|
||||
.metatileAttributes = gMetatileAttributes_SeaCottage,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SilphCo =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SilphCo,
|
||||
.palettes = gTilesetPalettes_SilphCo,
|
||||
.metatiles = gMetatiles_SilphCo,
|
||||
.metatileAttributes = gMetatileAttributes_SilphCo,
|
||||
.callback = InitTilesetAnim_SilphCo,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_UndergroundPath =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_UndergroundPath,
|
||||
.palettes = gTilesetPalettes_UndergroundPath,
|
||||
.metatiles = gMetatiles_UndergroundPath,
|
||||
.metatileAttributes = gMetatileAttributes_UndergroundPath,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PokemonTower =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PokemonTower,
|
||||
.palettes = gTilesetPalettes_PokemonTower,
|
||||
.metatiles = gMetatiles_PokemonTower,
|
||||
.metatileAttributes = gMetatileAttributes_PokemonTower,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SafariZoneBuilding =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SafariZoneBuilding,
|
||||
.palettes = gTilesetPalettes_SafariZoneBuilding,
|
||||
.metatiles = gMetatiles_SafariZoneBuilding,
|
||||
.metatileAttributes = gMetatileAttributes_SafariZoneBuilding,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PokemonMansion =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PokemonMansion,
|
||||
.palettes = gTilesetPalettes_PokemonMansion,
|
||||
.metatiles = gMetatiles_PokemonMansion,
|
||||
.metatileAttributes = gMetatileAttributes_PokemonMansion,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_RestaurantHotel =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_RestaurantHotel,
|
||||
.palettes = gTilesetPalettes_RestaurantHotel,
|
||||
.metatiles = gMetatiles_RestaurantHotel,
|
||||
.metatileAttributes = gMetatileAttributes_RestaurantHotel,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_School =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_School,
|
||||
.palettes = gTilesetPalettes_School,
|
||||
.metatiles = gMetatiles_School,
|
||||
.metatileAttributes = gMetatileAttributes_School,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_FanClubDaycare =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_FanClubDaycare,
|
||||
.palettes = gTilesetPalettes_FanClubDaycare,
|
||||
.metatiles = gMetatiles_FanClubDaycare,
|
||||
.metatileAttributes = gMetatileAttributes_FanClubDaycare,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Condominiums =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SilphCo,
|
||||
.palettes = gTilesetPalettes_SilphCo,
|
||||
.metatiles = gMetatiles_Condominiums,
|
||||
.metatileAttributes = gMetatileAttributes_Condominiums,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_BurgledHouse =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_BurgledHouse,
|
||||
.palettes = gTilesetPalettes_BurgledHouse,
|
||||
.metatiles = gMetatiles_BurgledHouse,
|
||||
.metatileAttributes = gMetatileAttributes_BurgledHouse,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Dummy3 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Dummy3,
|
||||
.palettes = gTilesetPalettes_Dummy3,
|
||||
.metatiles = gMetatiles_Dummy3,
|
||||
.metatileAttributes = gMetatileAttributes_Dummy3,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_Dummy4 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_Dummy4,
|
||||
.palettes = gTilesetPalettes_Dummy4,
|
||||
.metatiles = gMetatiles_Dummy4,
|
||||
.metatileAttributes = gMetatileAttributes_Dummy4,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_MtEmber =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_MtEmber,
|
||||
.palettes = gTilesetPalettes_MtEmber,
|
||||
.metatiles = gMetatiles_MtEmber,
|
||||
.metatileAttributes = gMetatileAttributes_MtEmber,
|
||||
.callback = InitTilesetAnim_MtEmber,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_BerryForest =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_BerryForest,
|
||||
.palettes = gTilesetPalettes_BerryForest,
|
||||
.metatiles = gMetatiles_BerryForest,
|
||||
.metatileAttributes = gMetatileAttributes_BerryForest,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_NavelRock =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_NavelRock,
|
||||
.palettes = gTilesetPalettes_NavelRock,
|
||||
.metatiles = gMetatiles_NavelRock,
|
||||
.metatileAttributes = gMetatileAttributes_NavelRock,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_TanobyRuins =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_TanobyRuins,
|
||||
.palettes = gTilesetPalettes_TanobyRuins,
|
||||
.metatiles = gMetatiles_TanobyRuins,
|
||||
.metatileAttributes = gMetatileAttributes_TanobyRuins,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SeviiIslands123 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SeviiIslands123,
|
||||
.palettes = gTilesetPalettes_SeviiIslands123,
|
||||
.metatiles = gMetatiles_SeviiIslands123,
|
||||
.metatileAttributes = gMetatileAttributes_SeviiIslands123,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SeviiIslands45 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SeviiIslands45,
|
||||
.palettes = gTilesetPalettes_SeviiIslands45,
|
||||
.metatiles = gMetatiles_SeviiIslands45,
|
||||
.metatileAttributes = gMetatileAttributes_SeviiIslands45,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_SeviiIslands67 =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_SeviiIslands67,
|
||||
.palettes = gTilesetPalettes_SeviiIslands67,
|
||||
.metatiles = gMetatiles_SeviiIslands67,
|
||||
.metatileAttributes = gMetatileAttributes_SeviiIslands67,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_TrainerTower =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_TrainerTower,
|
||||
.palettes = gTilesetPalettes_TrainerTower,
|
||||
.metatiles = gMetatiles_TrainerTower,
|
||||
.metatileAttributes = gMetatileAttributes_TrainerTower,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_IslandHarbor =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_IslandHarbor,
|
||||
.palettes = gTilesetPalettes_IslandHarbor,
|
||||
.metatiles = gMetatiles_IslandHarbor,
|
||||
.metatileAttributes = gMetatileAttributes_IslandHarbor,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_PokemonLeague =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_PokemonLeague,
|
||||
.palettes = gTilesetPalettes_PokemonLeague,
|
||||
.metatiles = gMetatiles_PokemonLeague,
|
||||
.metatileAttributes = gMetatileAttributes_PokemonLeague,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
const struct Tileset gTileset_HallOfFame =
|
||||
{
|
||||
.isCompressed = TRUE,
|
||||
.isSecondary = TRUE,
|
||||
.tiles = gTilesetTiles_HallOfFame,
|
||||
.palettes = gTilesetPalettes_HallOfFame,
|
||||
.metatiles = gMetatiles_HallOfFame,
|
||||
.metatileAttributes = gMetatileAttributes_HallOfFame,
|
||||
.callback = NULL,
|
||||
};
|
||||
|
||||
@@ -0,0 +1,203 @@
|
||||
const u16 gMetatiles_General[] = INCBIN_U16("data/tilesets/primary/general/metatiles.bin");
|
||||
const u32 gMetatileAttributes_General[] = INCBIN_U32("data/tilesets/primary/general/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PalletTown[] = INCBIN_U16("data/tilesets/secondary/pallet_town/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PalletTown[] = INCBIN_U32("data/tilesets/secondary/pallet_town/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_ViridianCity[] = INCBIN_U16("data/tilesets/secondary/viridian_city/metatiles.bin");
|
||||
const u32 gMetatileAttributes_ViridianCity[] = INCBIN_U32("data/tilesets/secondary/viridian_city/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PewterCity[] = INCBIN_U16("data/tilesets/secondary/pewter_city/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PewterCity[] = INCBIN_U32("data/tilesets/secondary/pewter_city/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CeruleanCity[] = INCBIN_U16("data/tilesets/secondary/cerulean_city/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CeruleanCity[] = INCBIN_U32("data/tilesets/secondary/cerulean_city/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_LavenderTown[] = INCBIN_U16("data/tilesets/secondary/lavender_town/metatiles.bin");
|
||||
const u32 gMetatileAttributes_LavenderTown[] = INCBIN_U32("data/tilesets/secondary/lavender_town/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_VermilionCity[] = INCBIN_U16("data/tilesets/secondary/vermilion_city/metatiles.bin");
|
||||
const u32 gMetatileAttributes_VermilionCity[] = INCBIN_U32("data/tilesets/secondary/vermilion_city/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CeladonCity[] = INCBIN_U16("data/tilesets/secondary/celadon_city/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CeladonCity[] = INCBIN_U32("data/tilesets/secondary/celadon_city/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_FuchsiaCity[] = INCBIN_U16("data/tilesets/secondary/fuchsia_city/metatiles.bin");
|
||||
const u32 gMetatileAttributes_FuchsiaCity[] = INCBIN_U32("data/tilesets/secondary/fuchsia_city/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CinnabarIsland[] = INCBIN_U16("data/tilesets/secondary/cinnabar_island/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CinnabarIsland[] = INCBIN_U32("data/tilesets/secondary/cinnabar_island/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_IndigoPlateau[] = INCBIN_U16("data/tilesets/secondary/indigo_plateau/metatiles.bin");
|
||||
const u32 gMetatileAttributes_IndigoPlateau[] = INCBIN_U32("data/tilesets/secondary/indigo_plateau/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SaffronCity[] = INCBIN_U16("data/tilesets/secondary/saffron_city/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SaffronCity[] = INCBIN_U32("data/tilesets/secondary/saffron_city/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PewterGym[] = INCBIN_U16("data/tilesets/secondary/pewter_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PewterGym[] = INCBIN_U32("data/tilesets/secondary/pewter_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CeruleanGym[] = INCBIN_U16("data/tilesets/secondary/cerulean_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CeruleanGym[] = INCBIN_U32("data/tilesets/secondary/cerulean_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_VermilionGym[] = INCBIN_U16("data/tilesets/secondary/vermilion_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_VermilionGym[] = INCBIN_U32("data/tilesets/secondary/vermilion_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CeladonGym[] = INCBIN_U16("data/tilesets/secondary/celadon_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CeladonGym[] = INCBIN_U32("data/tilesets/secondary/celadon_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_FuchsiaGym[] = INCBIN_U16("data/tilesets/secondary/fuchsia_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_FuchsiaGym[] = INCBIN_U32("data/tilesets/secondary/fuchsia_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SaffronGym[] = INCBIN_U16("data/tilesets/secondary/saffron_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SaffronGym[] = INCBIN_U32("data/tilesets/secondary/saffron_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CinnabarGym[] = INCBIN_U16("data/tilesets/secondary/cinnabar_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CinnabarGym[] = INCBIN_U32("data/tilesets/secondary/cinnabar_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_ViridianGym[] = INCBIN_U16("data/tilesets/secondary/viridian_gym/metatiles.bin");
|
||||
const u32 gMetatileAttributes_ViridianGym[] = INCBIN_U32("data/tilesets/secondary/viridian_gym/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Building[] = INCBIN_U16("data/tilesets/primary/building/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Building[] = INCBIN_U32("data/tilesets/primary/building/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Dummy1[] = INCBIN_U16("data/tilesets/secondary/dummy_1/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Dummy1[] = INCBIN_U32("data/tilesets/secondary/dummy_1/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_HoennBuilding[] = INCBIN_U16("data/tilesets/secondary/hoenn_building/metatiles.bin");
|
||||
const u32 gMetatileAttributes_HoennBuilding[] = INCBIN_U32("data/tilesets/secondary/hoenn_building/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_BikeShop[] = INCBIN_U16("data/tilesets/secondary/bike_shop/metatiles.bin");
|
||||
const u32 gMetatileAttributes_BikeShop[] = INCBIN_U32("data/tilesets/secondary/bike_shop/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Mart[] = INCBIN_U16("data/tilesets/secondary/mart/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Mart[] = INCBIN_U32("data/tilesets/secondary/mart/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PokemonCenter[] = INCBIN_U16("data/tilesets/secondary/pokemon_center/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PokemonCenter[] = INCBIN_U32("data/tilesets/secondary/pokemon_center/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_GenericBuilding1[] = INCBIN_U16("data/tilesets/secondary/generic_building_1/metatiles.bin");
|
||||
const u32 gMetatileAttributes_GenericBuilding1[] = INCBIN_U32("data/tilesets/secondary/generic_building_1/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Cave[] = INCBIN_U16("data/tilesets/secondary/cave/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Cave[] = INCBIN_U32("data/tilesets/secondary/cave/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_GameCorner[] = INCBIN_U16("data/tilesets/secondary/game_corner/metatiles.bin");
|
||||
const u32 gMetatileAttributes_GameCorner[] = INCBIN_U32("data/tilesets/secondary/game_corner/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Lab[] = INCBIN_U16("data/tilesets/secondary/lab/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Lab[] = INCBIN_U32("data/tilesets/secondary/lab/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SSAnne[] = INCBIN_U16("data/tilesets/secondary/ss_anne/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SSAnne[] = INCBIN_U32("data/tilesets/secondary/ss_anne/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Dummy2[] = INCBIN_U16("data/tilesets/secondary/dummy_2/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Dummy2[] = INCBIN_U32("data/tilesets/secondary/dummy_2/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_ViridianForest[] = INCBIN_U16("data/tilesets/secondary/viridian_forest/metatiles.bin");
|
||||
const u32 gMetatileAttributes_ViridianForest[] = INCBIN_U32("data/tilesets/secondary/viridian_forest/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_UnusedGatehouse1[] = INCBIN_U16("data/tilesets/secondary/unused_gatehouse_1/metatiles.bin");
|
||||
const u32 gMetatileAttributes_UnusedGatehouse1[] = INCBIN_U32("data/tilesets/secondary/unused_gatehouse_1/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_RockTunnel[] = INCBIN_U16("data/tilesets/secondary/rock_tunnel/metatiles.bin");
|
||||
const u32 gMetatileAttributes_RockTunnel[] = INCBIN_U32("data/tilesets/secondary/rock_tunnel/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_DiglettsCave[] = INCBIN_U16("data/tilesets/secondary/digletts_cave/metatiles.bin");
|
||||
const u32 gMetatileAttributes_DiglettsCave[] = INCBIN_U32("data/tilesets/secondary/digletts_cave/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SeafoamIslands[] = INCBIN_U16("data/tilesets/secondary/seafoam_islands/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SeafoamIslands[] = INCBIN_U32("data/tilesets/secondary/seafoam_islands/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_UnusedGatehouse2[] = INCBIN_U16("data/tilesets/secondary/unused_gatehouse_2/metatiles.bin");
|
||||
const u32 gMetatileAttributes_UnusedGatehouse2[] = INCBIN_U32("data/tilesets/secondary/unused_gatehouse_2/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CeruleanCave[] = INCBIN_U16("data/tilesets/secondary/cerulean_cave/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CeruleanCave[] = INCBIN_U32("data/tilesets/secondary/cerulean_cave/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_DepartmentStore[] = INCBIN_U16("data/tilesets/secondary/department_store/metatiles.bin");
|
||||
const u32 gMetatileAttributes_DepartmentStore[] = INCBIN_U32("data/tilesets/secondary/department_store/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_GenericBuilding2[] = INCBIN_U16("data/tilesets/secondary/generic_building_2/metatiles.bin");
|
||||
const u32 gMetatileAttributes_GenericBuilding2[] = INCBIN_U32("data/tilesets/secondary/generic_building_2/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PowerPlant[] = INCBIN_U16("data/tilesets/secondary/power_plant/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PowerPlant[] = INCBIN_U32("data/tilesets/secondary/power_plant/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SeaCottage[] = INCBIN_U16("data/tilesets/secondary/sea_cottage/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SeaCottage[] = INCBIN_U32("data/tilesets/secondary/sea_cottage/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SilphCo[] = INCBIN_U16("data/tilesets/secondary/silph_co/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SilphCo[] = INCBIN_U32("data/tilesets/secondary/silph_co/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_UndergroundPath[] = INCBIN_U16("data/tilesets/secondary/underground_path/metatiles.bin");
|
||||
const u32 gMetatileAttributes_UndergroundPath[] = INCBIN_U32("data/tilesets/secondary/underground_path/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PokemonTower[] = INCBIN_U16("data/tilesets/secondary/pokemon_tower/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PokemonTower[] = INCBIN_U32("data/tilesets/secondary/pokemon_tower/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SafariZoneBuilding[] = INCBIN_U16("data/tilesets/secondary/safari_zone_building/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SafariZoneBuilding[] = INCBIN_U32("data/tilesets/secondary/safari_zone_building/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PokemonMansion[] = INCBIN_U16("data/tilesets/secondary/pokemon_mansion/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PokemonMansion[] = INCBIN_U32("data/tilesets/secondary/pokemon_mansion/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Museum[] = INCBIN_U16("data/tilesets/secondary/museum/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Museum[] = INCBIN_U32("data/tilesets/secondary/museum/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_CableClub[] = INCBIN_U16("data/tilesets/secondary/cable_club/metatiles.bin");
|
||||
const u32 gMetatileAttributes_CableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_RestaurantHotel[] = INCBIN_U16("data/tilesets/secondary/restaurant_hotel/metatiles.bin");
|
||||
const u32 gMetatileAttributes_RestaurantHotel[] = INCBIN_U32("data/tilesets/secondary/restaurant_hotel/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_School[] = INCBIN_U16("data/tilesets/secondary/school/metatiles.bin");
|
||||
const u32 gMetatileAttributes_School[] = INCBIN_U32("data/tilesets/secondary/school/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_FanClubDaycare[] = INCBIN_U16("data/tilesets/secondary/fan_club_daycare/metatiles.bin");
|
||||
const u32 gMetatileAttributes_FanClubDaycare[] = INCBIN_U32("data/tilesets/secondary/fan_club_daycare/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Condominiums[] = INCBIN_U16("data/tilesets/secondary/condominiums/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Condominiums[] = INCBIN_U32("data/tilesets/secondary/condominiums/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_BurgledHouse[] = INCBIN_U16("data/tilesets/secondary/burgled_house/metatiles.bin");
|
||||
const u32 gMetatileAttributes_BurgledHouse[] = INCBIN_U32("data/tilesets/secondary/burgled_house/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Dummy3[] = INCBIN_U16("data/tilesets/secondary/dummy_3/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Dummy3[] = INCBIN_U32("data/tilesets/secondary/dummy_3/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_Dummy4[] = INCBIN_U16("data/tilesets/secondary/dummy_4/metatiles.bin");
|
||||
const u32 gMetatileAttributes_Dummy4[] = INCBIN_U32("data/tilesets/secondary/dummy_4/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_MtEmber[] = INCBIN_U16("data/tilesets/secondary/mt_ember/metatiles.bin");
|
||||
const u32 gMetatileAttributes_MtEmber[] = INCBIN_U32("data/tilesets/secondary/mt_ember/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_BerryForest[] = INCBIN_U16("data/tilesets/secondary/berry_forest/metatiles.bin");
|
||||
const u32 gMetatileAttributes_BerryForest[] = INCBIN_U32("data/tilesets/secondary/berry_forest/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_NavelRock[] = INCBIN_U16("data/tilesets/secondary/navel_rock/metatiles.bin");
|
||||
const u32 gMetatileAttributes_NavelRock[] = INCBIN_U32("data/tilesets/secondary/navel_rock/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_TanobyRuins[] = INCBIN_U16("data/tilesets/secondary/tanoby_ruins/metatiles.bin");
|
||||
const u32 gMetatileAttributes_TanobyRuins[] = INCBIN_U32("data/tilesets/secondary/tanoby_ruins/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SeviiIslands123[] = INCBIN_U16("data/tilesets/secondary/sevii_islands_123/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SeviiIslands123[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_123/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SeviiIslands45[] = INCBIN_U16("data/tilesets/secondary/sevii_islands_45/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SeviiIslands45[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_45/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_SeviiIslands67[] = INCBIN_U16("data/tilesets/secondary/sevii_islands_67/metatiles.bin");
|
||||
const u32 gMetatileAttributes_SeviiIslands67[] = INCBIN_U32("data/tilesets/secondary/sevii_islands_67/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_TrainerTower[] = INCBIN_U16("data/tilesets/secondary/trainer_tower/metatiles.bin");
|
||||
const u32 gMetatileAttributes_TrainerTower[] = INCBIN_U32("data/tilesets/secondary/trainer_tower/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_IslandHarbor[] = INCBIN_U16("data/tilesets/secondary/island_harbor/metatiles.bin");
|
||||
const u32 gMetatileAttributes_IslandHarbor[] = INCBIN_U32("data/tilesets/secondary/island_harbor/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_PokemonLeague[] = INCBIN_U16("data/tilesets/secondary/pokemon_league/metatiles.bin");
|
||||
const u32 gMetatileAttributes_PokemonLeague[] = INCBIN_U32("data/tilesets/secondary/pokemon_league/metatile_attributes.bin");
|
||||
|
||||
const u16 gMetatiles_HallOfFame[] = INCBIN_U16("data/tilesets/secondary/hall_of_fame/metatiles.bin");
|
||||
const u32 gMetatileAttributes_HallOfFame[] = INCBIN_U32("data/tilesets/secondary/hall_of_fame/metatile_attributes.bin");
|
||||
@@ -64,9 +64,9 @@ static const u8 sTilesPerImage[4][4] =
|
||||
}
|
||||
};
|
||||
|
||||
const u16 gUnknown_8479668[] = INCBIN_U16("graphics/misc/unk_8479688.gbapal");
|
||||
const u32 gUnknown_8479688[] = INCBIN_U32("graphics/misc/unk_8479688.4bpp.lz");
|
||||
const u32 gUnknown_8479748[] = INCBIN_U32("graphics/misc/unk_8479748.4bpp.lz");
|
||||
const u16 gMinigameDigits_Pal[] = INCBIN_U16("graphics/misc/minigame_digits.gbapal");
|
||||
const u32 gMinigameDigits_Gfx[] = INCBIN_U32("graphics/misc/minigame_digits.4bpp.lz");
|
||||
static const u32 sUnusedMinigameDigits_Gfx[] = INCBIN_U32("graphics/misc/minigame_digits_unused.4bpp.lz");
|
||||
|
||||
// code
|
||||
bool32 DigitObjUtil_Init(u32 count)
|
||||
|
||||
+100
-99
@@ -12,40 +12,54 @@
|
||||
|
||||
struct Diploma
|
||||
{
|
||||
u8 state;
|
||||
u8 gfxStep;
|
||||
u8 callbackStep;
|
||||
u8 mainState;
|
||||
u8 gfxState;
|
||||
u8 initState;
|
||||
u16 tilemapBuffer[0x800];
|
||||
};
|
||||
|
||||
static EWRAM_DATA struct Diploma *gDiploma = NULL;
|
||||
enum {
|
||||
WIN_TEXT,
|
||||
WIN_COUNT
|
||||
};
|
||||
|
||||
static void DiplomaBgInit(void);
|
||||
enum {
|
||||
BG_TEXT,
|
||||
BG_DIPLOMA,
|
||||
};
|
||||
|
||||
static EWRAM_DATA struct Diploma *sDiploma = NULL;
|
||||
|
||||
static void DiplomaReset(void);
|
||||
static void DiplomaPrintText(void);
|
||||
static u8 DiplomaLoadGfx(void);
|
||||
static void DiplomaVblankHandler(void);
|
||||
static bool8 DiplomaLoadGfx(void);
|
||||
static void DiplomaInitScreen(void);
|
||||
static void CB2_Diploma(void);
|
||||
static void Task_WaitForExit(u8);
|
||||
static void Task_HandleDiplomaInput(u8);
|
||||
static void Task_DiplomaInit(u8);
|
||||
static void Task_DiplomaReturnToOverworld(u8);
|
||||
static void Task_DiplomaExit(u8);
|
||||
|
||||
static const u32 sDiplomaGfx[] = INCBIN_U32("graphics/diploma/diploma.4bpp.lz");
|
||||
static const u32 sDiplomaTilemap[] = INCBIN_U32("graphics/diploma/diploma.bin.lz");
|
||||
static const u16 sDiplomaPal[] = INCBIN_U16("graphics/diploma/diploma.gbapal");
|
||||
|
||||
static const u8 gUnknown_8415994[] = _("{HIGHLIGHT TRANSPARENT}プレイヤー");
|
||||
static const u8 gUnknown_841599D[] = _("{HIGHLIGHT TRANSPARENT}さま");
|
||||
static const u8 gUnknown_84159A3[] = _("{HIGHLIGHT TRANSPARENT}ホウエン");
|
||||
static const u8 gUnknown_84159AB[] = _("{HIGHLIGHT TRANSPARENT}ぜんこく");
|
||||
static const u8 gUnknown_84159B3[] = _("{HIGHLIGHT TRANSPARENT} ポケモンずかんを\nみごと かんせい させた\nいだいなこうせきを たたえ\nここに しょうめい します");
|
||||
static const u8 gUnknown_84159ED[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}ゲームフリーク");
|
||||
static const u8 gUnknown_84159FB[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}");
|
||||
// Leftover text from RSE (some of which is also unused there)
|
||||
static const u8 sText_Player[] = _("{HIGHLIGHT TRANSPARENT}プレイヤー");
|
||||
static const u8 sText_Sama[] = _("{HIGHLIGHT TRANSPARENT}さま");
|
||||
static const u8 sText_Hoenn[] = _("{HIGHLIGHT TRANSPARENT}ホウエン");
|
||||
static const u8 sText_National[] = _("{HIGHLIGHT TRANSPARENT}ぜんこく");
|
||||
static const u8 sText_CertifiesPokedexComplete[] = _("{HIGHLIGHT TRANSPARENT} ポケモンずかんを\n"
|
||||
"みごと かんせい させた\n"
|
||||
"いだいなこうせきを たたえ\n"
|
||||
"ここに しょうめい します");
|
||||
static const u8 sText_GameFreak[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}ゲームフリーク");
|
||||
static const u8 sText_Empty[] = _("{COLOR DARK_GRAY}{HIGHLIGHT TRANSPARENT}");
|
||||
|
||||
static const ALIGNED(4) u8 gUnknown_8415A04[3] = {0, 2, 3};
|
||||
static const ALIGNED(4) u8 sTextColors[3] = {0, 2, 3};
|
||||
|
||||
static const struct BgTemplate gUnknown_8415A08[] = {
|
||||
static const struct BgTemplate sBgTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.bg = BG_TEXT,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
@@ -53,7 +67,7 @@ static const struct BgTemplate gUnknown_8415A08[] = {
|
||||
.priority = 0,
|
||||
.baseTile = 1,
|
||||
}, {
|
||||
.bg = 1,
|
||||
.bg = BG_DIPLOMA,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 29,
|
||||
.screenSize = 1,
|
||||
@@ -63,19 +77,20 @@ static const struct BgTemplate gUnknown_8415A08[] = {
|
||||
}
|
||||
};
|
||||
|
||||
static const struct WindowTemplate gUnknown_8415A10[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = {
|
||||
[WIN_TEXT] = {
|
||||
.bg = BG_TEXT,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 2,
|
||||
.width = 29,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 0x000
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
},
|
||||
[WIN_COUNT] = DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
static void VCBC_DiplomaOam(void)
|
||||
static void VBlankCB_Diploma(void)
|
||||
{
|
||||
LoadOam();
|
||||
ProcessSpriteCopyRequests();
|
||||
@@ -84,11 +99,11 @@ static void VCBC_DiplomaOam(void)
|
||||
|
||||
void CB2_ShowDiploma(void)
|
||||
{
|
||||
gDiploma = AllocZeroed(sizeof(*gDiploma));
|
||||
gDiploma->state = 0;
|
||||
gDiploma->gfxStep = 0;
|
||||
gDiploma->callbackStep = 0;
|
||||
DiplomaBgInit();
|
||||
sDiploma = AllocZeroed(sizeof(*sDiploma));
|
||||
sDiploma->mainState = 0;
|
||||
sDiploma->gfxState = 0;
|
||||
sDiploma->initState = 0;
|
||||
DiplomaReset();
|
||||
CreateTask(Task_DiplomaInit, 0);
|
||||
SetMainCallback2(CB2_Diploma);
|
||||
}
|
||||
@@ -103,91 +118,81 @@ static void CB2_Diploma(void)
|
||||
|
||||
static void Task_DiplomaInit(u8 taskId)
|
||||
{
|
||||
switch (gDiploma->callbackStep)
|
||||
switch (sDiploma->initState)
|
||||
{
|
||||
case 0:
|
||||
SetVBlankCallback(NULL);
|
||||
break;
|
||||
case 1:
|
||||
DiplomaVblankHandler();
|
||||
DiplomaInitScreen();
|
||||
break;
|
||||
case 2:
|
||||
if (!DiplomaLoadGfx())
|
||||
{
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
CopyToBgTilemapBuffer(1, sDiplomaTilemap, 0, 0);
|
||||
CopyToBgTilemapBuffer(BG_DIPLOMA, sDiplomaTilemap, 0, 0);
|
||||
break;
|
||||
case 4:
|
||||
if (HasAllMons())
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, 0x100);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, 0);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
DiplomaPrintText();
|
||||
break;
|
||||
case 6:
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(BG_TEXT);
|
||||
CopyBgTilemapBufferToVram(BG_DIPLOMA);
|
||||
break;
|
||||
case 7:
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK);
|
||||
break;
|
||||
case 8:
|
||||
SetVBlankCallback(VCBC_DiplomaOam);
|
||||
SetVBlankCallback(VBlankCB_Diploma);
|
||||
break;
|
||||
default:
|
||||
if (gPaletteFade.active)
|
||||
{
|
||||
break;
|
||||
}
|
||||
PlayFanfareByFanfareNum(FANFARE_OBTAIN_BADGE);
|
||||
gTasks[taskId].func = Task_WaitForExit;
|
||||
gTasks[taskId].func = Task_HandleDiplomaInput;
|
||||
}
|
||||
gDiploma->callbackStep++;
|
||||
sDiploma->initState++;
|
||||
}
|
||||
|
||||
static void Task_WaitForExit(u8 taskId)
|
||||
static void Task_HandleDiplomaInput(u8 taskId)
|
||||
{
|
||||
switch (gDiploma->state)
|
||||
switch (sDiploma->mainState)
|
||||
{
|
||||
case 0:
|
||||
if (WaitFanfare(0))
|
||||
{
|
||||
gDiploma->state++;
|
||||
}
|
||||
if (WaitFanfare(FALSE))
|
||||
sDiploma->mainState++;
|
||||
break;
|
||||
case 1:
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK);
|
||||
gDiploma->state++;
|
||||
sDiploma->mainState++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
Task_DiplomaReturnToOverworld(taskId);
|
||||
Task_DiplomaExit(taskId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void Task_DiplomaReturnToOverworld(u8 taskId)
|
||||
static void Task_DiplomaExit(u8 taskId)
|
||||
{
|
||||
if (gPaletteFade.active)
|
||||
return;
|
||||
DestroyTask(taskId);
|
||||
FreeAllWindowBuffers();
|
||||
FREE_AND_SET_NULL(gDiploma);
|
||||
FREE_AND_SET_NULL(sDiploma);
|
||||
SetMainCallback2(CB2_ReturnToFieldFromDiploma);
|
||||
}
|
||||
|
||||
static void DiplomaBgInit(void)
|
||||
static void DiplomaReset(void)
|
||||
{
|
||||
ResetSpriteData();
|
||||
ResetPaletteFade();
|
||||
@@ -196,7 +201,7 @@ static void DiplomaBgInit(void)
|
||||
ScanlineEffect_Stop();
|
||||
}
|
||||
|
||||
static void DiplomaVblankHandler(void)
|
||||
static void DiplomaInitScreen(void)
|
||||
{
|
||||
void *vram = (void *)VRAM;
|
||||
DmaClearLarge16(3, vram, VRAM_SIZE, 0x1000);
|
||||
@@ -204,71 +209,67 @@ static void DiplomaVblankHandler(void)
|
||||
DmaClear16(3, (void *)PLTT, PLTT_SIZE);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, gUnknown_8415A08, 2);
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
InitWindows(gUnknown_8415A10);
|
||||
InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates));
|
||||
ChangeBgX(0, 0, BG_COORD_SET);
|
||||
ChangeBgY(0, 0, BG_COORD_SET);
|
||||
ChangeBgX(1, 0, BG_COORD_SET);
|
||||
ChangeBgY(1, 0, BG_COORD_SET);
|
||||
ChangeBgX(2, 0, BG_COORD_SET);
|
||||
ChangeBgY(2, 0, BG_COORD_SET);
|
||||
ChangeBgX(3, 0, BG_COORD_SET);
|
||||
ChangeBgY(3, 0, BG_COORD_SET);
|
||||
InitWindows(sWindowTemplates);
|
||||
DeactivateAllTextPrinters();
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||
SetBgTilemapBuffer(1, gDiploma->tilemapBuffer);
|
||||
ShowBg(0);
|
||||
ShowBg(1);
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
|
||||
FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20);
|
||||
SetBgTilemapBuffer(BG_DIPLOMA, sDiploma->tilemapBuffer);
|
||||
ShowBg(BG_TEXT);
|
||||
ShowBg(BG_DIPLOMA);
|
||||
FillBgTilemapBufferRect_Palette0(BG_TEXT, 0, 0, 0, 30, 20);
|
||||
FillBgTilemapBufferRect_Palette0(BG_DIPLOMA, 0, 0, 0, 30, 20);
|
||||
}
|
||||
|
||||
static u8 DiplomaLoadGfx(void)
|
||||
static bool8 DiplomaLoadGfx(void)
|
||||
{
|
||||
switch (gDiploma->gfxStep)
|
||||
switch (sDiploma->gfxState)
|
||||
{
|
||||
case 0:
|
||||
ResetTempTileDataBuffers();
|
||||
break;
|
||||
case 1:
|
||||
DecompressAndCopyTileDataToVram(1, sDiplomaGfx, 0, 0, 0);
|
||||
DecompressAndCopyTileDataToVram(BG_DIPLOMA, sDiplomaGfx, 0, 0, 0);
|
||||
break;
|
||||
case 2:
|
||||
if (!(FreeTempTileDataBuffersIfPossible() == 1))
|
||||
{
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
if (FreeTempTileDataBuffersIfPossible() == TRUE)
|
||||
return FALSE;
|
||||
break;
|
||||
case 3:
|
||||
LoadPalette(sDiplomaPal, 0, 0x40);
|
||||
LoadPalette(sDiplomaPal, 0, sizeof(sDiplomaPal));
|
||||
// fallthrough
|
||||
default:
|
||||
return 1;
|
||||
// Finished
|
||||
return TRUE;
|
||||
}
|
||||
gDiploma->gfxStep++;
|
||||
return 0;
|
||||
sDiploma->gfxState++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void DiplomaPrintText(void)
|
||||
{
|
||||
u8 arr[160];
|
||||
u8 str[160];
|
||||
u32 width;
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||
if (HasAllMons())
|
||||
{
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gText_Diploma_National);
|
||||
}
|
||||
else
|
||||
{
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gText_Diploma_Kanto);
|
||||
}
|
||||
FillWindowPixelBuffer(0, 0);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(arr, gText_Diploma_Player);
|
||||
width = GetStringWidth(FONT_2, arr, -1);
|
||||
AddTextPrinterParameterized3(0, FONT_2, 120 - (width / 2), 4, gUnknown_8415A04, -1, arr);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(arr, gText_Diploma_ThisDocument);
|
||||
width = GetStringWidth(FONT_2, arr, -1);
|
||||
AddTextPrinterParameterized3(0, FONT_2, 120 - (width / 2), 0x1E, gUnknown_8415A04, -1, arr);
|
||||
AddTextPrinterParameterized3(0, FONT_2, 120, 105, gUnknown_8415A04, 0, gText_Diploma_GameFreak);
|
||||
PutWindowTilemap(0);
|
||||
FillWindowPixelBuffer(WIN_TEXT, PIXEL_FILL(0));
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(str, gText_Diploma_Player);
|
||||
width = GetStringWidth(FONT_2, str, -1);
|
||||
AddTextPrinterParameterized3(WIN_TEXT, FONT_2, 120 - (width / 2), 4, sTextColors, TEXT_SKIP_DRAW, str);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(str, gText_Diploma_ThisDocument);
|
||||
width = GetStringWidth(FONT_2, str, -1);
|
||||
AddTextPrinterParameterized3(WIN_TEXT, FONT_2, 120 - (width / 2), 30, sTextColors, TEXT_SKIP_DRAW, str);
|
||||
AddTextPrinterParameterized3(WIN_TEXT, FONT_2, 120, 105, sTextColors, 0, gText_Diploma_GameFreak);
|
||||
PutWindowTilemap(WIN_TEXT);
|
||||
}
|
||||
|
||||
+7
-7
@@ -141,13 +141,13 @@ void ResetMysteryEventFlags(void)
|
||||
void ResetMysteryEventVars(void)
|
||||
{
|
||||
VarSet(VAR_EVENT_PICHU_SLOT, 0);
|
||||
VarSet(VAR_0x40B6, 0);
|
||||
VarSet(VAR_0x40B7, 0);
|
||||
VarSet(VAR_0x40B8, 0);
|
||||
VarSet(VAR_0x40B9, 0);
|
||||
VarSet(VAR_0x40BA, 0);
|
||||
VarSet(VAR_0x40BB, 0);
|
||||
VarSet(VAR_0x40BC, 0);
|
||||
VarSet(VAR_MYSTERY_GIFT_1, 0);
|
||||
VarSet(VAR_MYSTERY_GIFT_2, 0);
|
||||
VarSet(VAR_MYSTERY_GIFT_3, 0);
|
||||
VarSet(VAR_MYSTERY_GIFT_4, 0);
|
||||
VarSet(VAR_MYSTERY_GIFT_5, 0);
|
||||
VarSet(VAR_MYSTERY_GIFT_6, 0);
|
||||
VarSet(VAR_MYSTERY_GIFT_7, 0);
|
||||
VarSet(VAR_ALTERING_CAVE_WILD_SET, 0);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -225,7 +225,7 @@ void DrawDoorMetatileAt(int x, int y, const u16 *tiles)
|
||||
static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, int y)
|
||||
{
|
||||
u16 metatileId = MapGridGetMetatileIdAt(x, y);
|
||||
u16 *metatiles;
|
||||
const u16 *metatiles;
|
||||
|
||||
if (metatileId > NUM_METATILES_TOTAL)
|
||||
metatileId = 0;
|
||||
|
||||
+4
-4
@@ -431,7 +431,7 @@ void MapGridSetMetatileImpassabilityAt(s32 x, s32 y, bool32 impassable)
|
||||
|
||||
static u32 GetAttributeByMetatileIdAndMapLayout(const struct MapLayout *mapLayout, u16 metatile, u8 attributeType)
|
||||
{
|
||||
u32 * attributes;
|
||||
const u32 * attributes;
|
||||
|
||||
if (metatile < NUM_METATILES_IN_PRIMARY)
|
||||
{
|
||||
@@ -891,17 +891,17 @@ static void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u1
|
||||
if (tileset->isSecondary == FALSE)
|
||||
{
|
||||
LoadPalette(&black, destOffset, 2);
|
||||
LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - 2);
|
||||
LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - 2);
|
||||
ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1);
|
||||
}
|
||||
else if (tileset->isSecondary == TRUE)
|
||||
{
|
||||
LoadPalette(((u16 *)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size);
|
||||
LoadPalette(tileset->palettes[NUM_PALS_IN_PRIMARY], destOffset, size);
|
||||
ApplyGlobalTintToPaletteEntries(destOffset, size >> 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadCompressedPalette((u32 *)tileset->palettes, destOffset, size);
|
||||
LoadCompressedPalette((const u32 *)tileset->palettes, destOffset, size);
|
||||
ApplyGlobalTintToPaletteEntries(destOffset, size >> 1);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -41,6 +41,6 @@ static void StartDigFieldEffect(void)
|
||||
u8 taskId;
|
||||
|
||||
FieldEffectActiveListRemove(FLDEFF_USE_DIG);
|
||||
taskId = CreateTask(sub_80A1C44, 8);
|
||||
taskId = CreateTask(Task_UseDigEscapeRopeOnField, 8);
|
||||
gTasks[taskId].data[0] = 0;
|
||||
}
|
||||
|
||||
+5
-5
@@ -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_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 gUnknown_8E83DBC[] = INCBIN_U32("graphics/interface/unk_8E83DBC.4bpp.lz");
|
||||
const u32 gUnknown_8E84560[] = INCBIN_U32("graphics/interface/unk_8E84560.gbapal.lz");
|
||||
const u32 gBagMale_Gfx[] = INCBIN_U32("graphics/interface/bag_male.4bpp.lz");
|
||||
const u32 gBagFemale_Gfx[] = INCBIN_U32("graphics/interface/bag_female.4bpp.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 gFile_graphics_interface_bag_swap_palette[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz");
|
||||
const u32 gSwapLine_Gfx[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.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_8E84A24[] = INCBIN_U32("graphics/tm_case/unk_8E84A24.bin.lz");
|
||||
|
||||
+1355
-1049
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -611,7 +611,7 @@ void TrySetObtainedItemQuestLogEvent(u16 itemId)
|
||||
|
||||
u16 SanitizeItemId(u16 itemId)
|
||||
{
|
||||
if (itemId >= ITEM_N_A)
|
||||
if (itemId >= ITEMS_COUNT)
|
||||
return ITEM_NONE;
|
||||
return itemId;
|
||||
}
|
||||
|
||||
+12
-12
@@ -478,7 +478,7 @@ static bool8 LoadBagMenuGraphics(void)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 15:
|
||||
CreateBagOrSatchelSprite(gBagMenuState.pocket);
|
||||
CreateBagSprite(gBagMenuState.pocket);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 16:
|
||||
@@ -487,7 +487,7 @@ static bool8 LoadBagMenuGraphics(void)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 17:
|
||||
ItemMenuIcons_CreateInsertIndicatorBarHidden();
|
||||
CreateSwapLine();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 18:
|
||||
@@ -583,13 +583,13 @@ static bool8 DoLoadBagGraphics(void)
|
||||
break;
|
||||
case 3:
|
||||
if (BagIsTutorial() == TRUE || gSaveBlock2Ptr->playerGender == MALE)
|
||||
LoadCompressedSpriteSheet(&gSpriteSheet_Backpack);
|
||||
LoadCompressedSpriteSheet(&gSpriteSheet_BagMale);
|
||||
else
|
||||
LoadCompressedSpriteSheet(&gSpriteSheet_Satchel);
|
||||
LoadCompressedSpriteSheet(&gSpriteSheet_BagFemale);
|
||||
sBagMenuDisplay->data[0]++;
|
||||
break;
|
||||
case 4:
|
||||
LoadCompressedSpritePalette(&gSpritePalette_BagOrSatchel);
|
||||
LoadCompressedSpritePalette(&gSpritePalette_Bag);
|
||||
sBagMenuDisplay->data[0]++;
|
||||
break;
|
||||
case 5:
|
||||
@@ -692,7 +692,7 @@ static void BagListMenuMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMe
|
||||
if (sBagMenuDisplay->nItems[gBagMenuState.pocket] != itemIndex)
|
||||
CreateItemMenuIcon(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, itemIndex), sBagMenuDisplay->itemMenuIcon);
|
||||
else
|
||||
CreateItemMenuIcon(ITEM_N_A, sBagMenuDisplay->itemMenuIcon);
|
||||
CreateItemMenuIcon(ITEMS_COUNT, sBagMenuDisplay->itemMenuIcon);
|
||||
sBagMenuDisplay->itemMenuIcon ^= 1;
|
||||
if (!sBagMenuDisplay->inhibitItemDescriptionPrint)
|
||||
PrintItemDescriptionOnMessageWindow(itemIndex);
|
||||
@@ -1231,8 +1231,8 @@ static void BeginMovingItemInPocket(u8 taskId, s16 itemIndex)
|
||||
StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(0));
|
||||
BagPrintTextOnWindow(1, FONT_2, gStringVar4, 0, 3, 2, 0, 0, 0);
|
||||
ItemMenuIcons_MoveInsertIndicatorBar(0, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE);
|
||||
UpdateSwapLinePos(0, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
SetSwapLineInvisibility(FALSE);
|
||||
BagDestroyPocketSwitchArrowPair();
|
||||
bag_menu_print_cursor_(data[0], 2);
|
||||
gTasks[taskId].func = Task_MoveItemInPocket_HandleInput;
|
||||
@@ -1248,7 +1248,7 @@ static void Task_MoveItemInPocket_HandleInput(u8 taskId)
|
||||
return;
|
||||
input = ListMenu_ProcessInput(data[0]);
|
||||
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))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
@@ -1290,7 +1290,7 @@ static void ExecuteMoveItemInPocket(u8 taskId, u32 itemIndex)
|
||||
gBagMenuState.itemsAbove[gBagMenuState.pocket]--;
|
||||
Bag_BuildListMenuTemplate(gBagMenuState.pocket);
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE);
|
||||
SetSwapLineInvisibility(TRUE);
|
||||
CreatePocketSwitchArrowPair();
|
||||
gTasks[taskId].func = Task_BagMenu_HandleInput;
|
||||
}
|
||||
@@ -1304,7 +1304,7 @@ static void AbortMovingItemInPocket(u8 taskId, u32 itemIndex)
|
||||
gBagMenuState.itemsAbove[gBagMenuState.pocket]--;
|
||||
Bag_BuildListMenuTemplate(gBagMenuState.pocket);
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]);
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE);
|
||||
SetSwapLineInvisibility(TRUE);
|
||||
CreatePocketSwitchArrowPair();
|
||||
gTasks[taskId].func = Task_BagMenu_HandleInput;
|
||||
}
|
||||
@@ -1475,7 +1475,7 @@ static void Task_ItemMenuAction_Use(u8 taskId)
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == 1)
|
||||
if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_TYPE_PARTY_MENU)
|
||||
Task_PrintThereIsNoPokemon(taskId);
|
||||
else
|
||||
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
|
||||
|
||||
+148
-497
@@ -5,51 +5,80 @@
|
||||
#include "item_menu_icons.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 *sItemIconTilesBufferPadded = NULL;
|
||||
|
||||
static void SpriteCB_BagVisualSwitchingPockets(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,
|
||||
.shape = ST_OAM_SQUARE,
|
||||
.size = 3,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.priority = 1,
|
||||
.paletteNum = 0
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_BagOrSatchel_OpenItemPocket[] = {
|
||||
static const union AnimCmd sAnim_Bag_OpenPokeBallsPocket[] = {
|
||||
ANIMCMD_FRAME( 0, 5),
|
||||
ANIMCMD_FRAME(0x40, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_BagOrSatchel_OpenKeyItemPocket[] = {
|
||||
static const union AnimCmd sAnim_Bag_OpenItemsPocket[] = {
|
||||
ANIMCMD_FRAME( 0, 5),
|
||||
ANIMCMD_FRAME(0x80, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_BagOrSatchel_OpenPokeBallsPocket[] = {
|
||||
static const union AnimCmd sAnim_Bag_OpenKeyItemsPocket[] = {
|
||||
ANIMCMD_FRAME( 0, 5),
|
||||
ANIMCMD_FRAME(0xc0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnimTable_BagOrSatchel[] = {
|
||||
sAnim_BagOrSatchel_OpenKeyItemPocket,
|
||||
sAnim_BagOrSatchel_OpenPokeBallsPocket,
|
||||
sAnim_BagOrSatchel_OpenItemPocket
|
||||
static const union AnimCmd *const sAnims_Bag[] = {
|
||||
[POCKET_ITEMS - 1] = sAnim_Bag_OpenItemsPocket,
|
||||
[POCKET_KEY_ITEMS - 1] = sAnim_Bag_OpenKeyItemsPocket,
|
||||
[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_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sAffineAnim_Wobble[] = {
|
||||
static const union AffineAnimCmd sAffineAnim_BagShake[] = {
|
||||
AFFINEANIMCMD_FRAME(0, 0, -2, 2),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 2, 4),
|
||||
AFFINEANIMCMD_FRAME(0, 0, -2, 4),
|
||||
@@ -57,511 +86,134 @@ static const union AffineAnimCmd sAffineAnim_Wobble[] = {
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sAffineAnimTable_BagOrSatchel[] = {
|
||||
sAffineAnim_Idle,
|
||||
sAffineAnim_Wobble
|
||||
static const union AffineAnimCmd *const sAffineAnimTable_Bag[] = {
|
||||
[AFFINEANIM_BAG_IDLE] = sAffineAnim_BagIdle,
|
||||
[AFFINEANIM_BAG_SHAKE] = sAffineAnim_BagShake
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gSpriteSheet_Backpack = {
|
||||
gUnknown_8E8362C,
|
||||
0x2000,
|
||||
100
|
||||
const struct CompressedSpriteSheet gSpriteSheet_BagMale = {
|
||||
.data = gBagMale_Gfx,
|
||||
.size = 0x2000,
|
||||
.tag = TAG_BAG
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gSpriteSheet_Satchel = {
|
||||
gUnknown_8E83DBC,
|
||||
0x2000,
|
||||
100
|
||||
const struct CompressedSpriteSheet gSpriteSheet_BagFemale = {
|
||||
.data = gBagFemale_Gfx,
|
||||
.size = 0x2000,
|
||||
.tag = TAG_BAG
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gSpritePalette_BagOrSatchel = {
|
||||
gUnknown_8E84560,
|
||||
100
|
||||
const struct CompressedSpritePalette gSpritePalette_Bag = {
|
||||
.data = gBag_Pal,
|
||||
.tag = TAG_BAG
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_BagOrSatchel = {
|
||||
100,
|
||||
100,
|
||||
&sOamData_BagOrSatchel,
|
||||
sAnimTable_BagOrSatchel,
|
||||
NULL,
|
||||
sAffineAnimTable_BagOrSatchel,
|
||||
SpriteCallbackDummy
|
||||
static const struct SpriteTemplate sSpriteTemplate_Bag = {
|
||||
.tileTag = TAG_BAG,
|
||||
.paletteTag = TAG_BAG,
|
||||
.oam = &sOamData_Bag,
|
||||
.anims = sAnims_Bag,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnimTable_Bag,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct OamData gUnknown_83D4214 = {
|
||||
static const struct OamData sOamData_SwapLine = {
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.shape = ST_OAM_SQUARE,
|
||||
.size = 1,
|
||||
.shape = SPRITE_SHAPE(16x16),
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.priority = 1,
|
||||
.paletteNum = 1
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_83D421C[] = {
|
||||
static const union AnimCmd sAnim_SwapLine_Start[] = {
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_83D4224[] = {
|
||||
static const union AnimCmd sAnim_SwapLine_Mid[] = {
|
||||
ANIMCMD_FRAME(4, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_83D422C[] = {
|
||||
static const union AnimCmd sAnim_SwapLine_End[] = {
|
||||
ANIMCMD_FRAME(0, 0, .hFlip = TRUE),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_83D4234[] = {
|
||||
gUnknown_83D421C,
|
||||
gUnknown_83D4224,
|
||||
gUnknown_83D422C
|
||||
static const union AnimCmd *const sAnims_SwapLine[] = {
|
||||
[ANIM_SWAP_LINE_START] = sAnim_SwapLine_Start,
|
||||
[ANIM_SWAP_LINE_MID] = sAnim_SwapLine_Mid,
|
||||
[ANIM_SWAP_LINE_END] = sAnim_SwapLine_End
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gBagSwapSpriteSheet = {
|
||||
gFile_graphics_interface_bag_swap_sheet,
|
||||
0x100,
|
||||
101
|
||||
.data = gSwapLine_Gfx,
|
||||
.size = 0x100,
|
||||
.tag = TAG_SWAP_LINE
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gBagSwapSpritePalette = {
|
||||
gFile_graphics_interface_bag_swap_palette,
|
||||
101
|
||||
.data = gSwapLine_Pal,
|
||||
.tag = TAG_SWAP_LINE
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_83D4250 = {
|
||||
101,
|
||||
101,
|
||||
&gUnknown_83D4214,
|
||||
gUnknown_83D4234,
|
||||
NULL,
|
||||
gDummySpriteAffineAnimTable,
|
||||
SpriteCallbackDummy
|
||||
static const struct SpriteTemplate sSpriteTemplate_SwapLine = {
|
||||
.tileTag = TAG_SWAP_LINE,
|
||||
.paletteTag = TAG_SWAP_LINE,
|
||||
.oam = &sOamData_SwapLine,
|
||||
.anims = sAnims_SwapLine,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct OamData sOamData_ItemIcon = {
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.shape = ST_OAM_SQUARE,
|
||||
.size = 2,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.priority = 1,
|
||||
.paletteNum = 2
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_ItemIcon_0[] = {
|
||||
static const union AnimCmd sAnim_ItemIcon[] = {
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnimTable_ItemIcon[] = {
|
||||
sAnim_ItemIcon_0
|
||||
static const union AnimCmd *const sAnims_ItemIcon[] = {
|
||||
sAnim_ItemIcon
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_ItemIcon = {
|
||||
102,
|
||||
102,
|
||||
&sOamData_ItemIcon,
|
||||
sAnimTable_ItemIcon,
|
||||
NULL,
|
||||
gDummySpriteAffineAnimTable,
|
||||
SpriteCallbackDummy
|
||||
.tileTag = TAG_ITEM_ICON,
|
||||
.paletteTag = TAG_ITEM_ICON,
|
||||
.oam = &sOamData_ItemIcon,
|
||||
.anims = sAnims_ItemIcon,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const void *const sItemIconGfxPtrs[][2] = {
|
||||
{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}
|
||||
};
|
||||
#include "data/item_icon_table.h"
|
||||
|
||||
void ResetItemMenuIconState(void)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
for (i = 0; i < NELEMS(sItemMenuIconSpriteIds); i++)
|
||||
sItemMenuIconSpriteIds[i] = 0xFF;
|
||||
for (i = 0; i < SPR_COUNT; i++)
|
||||
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);
|
||||
}
|
||||
|
||||
void SetBagVisualPocketId(u8 animNum)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[0]];
|
||||
struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[SPR_BAG]];
|
||||
sprite->y2 = -5;
|
||||
sprite->callback = SpriteCB_BagVisualSwitchingPockets;
|
||||
StartSpriteAnim(sprite, animNum);
|
||||
@@ -577,10 +229,10 @@ static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite)
|
||||
|
||||
void ShakeBagSprite(void)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[0]];
|
||||
struct Sprite *sprite = &gSprites[sItemMenuIconSpriteIds[SPR_BAG]];
|
||||
if (sprite->affineAnimEnded)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
StartSpriteAffineAnim(sprite, AFFINEANIM_BAG_SHAKE);
|
||||
sprite->callback = SpriteCB_ShakeBagSprite;
|
||||
}
|
||||
}
|
||||
@@ -589,54 +241,53 @@ static void SpriteCB_ShakeBagSprite(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->affineAnimEnded)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, 0);
|
||||
StartSpriteAffineAnim(sprite, AFFINEANIM_BAG_IDLE);
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
}
|
||||
|
||||
void ItemMenuIcons_CreateInsertIndicatorBarHidden(void)
|
||||
void CreateSwapLine(void)
|
||||
{
|
||||
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)
|
||||
{
|
||||
case 0:
|
||||
// ANIM_SWAP_LINE_START, by default
|
||||
break;
|
||||
case 8:
|
||||
StartSpriteAnim(&gSprites[ptr[i]], 2);
|
||||
case NUM_SWAP_LINE_SPRITES - 1:
|
||||
StartSpriteAnim(&gSprites[spriteIds[i]], ANIM_SWAP_LINE_END);
|
||||
break;
|
||||
default:
|
||||
StartSpriteAnim(&gSprites[ptr[i]], 1);
|
||||
StartSpriteAnim(&gSprites[spriteIds[i]], ANIM_SWAP_LINE_MID);
|
||||
break;
|
||||
}
|
||||
gSprites[ptr[i]].invisible = TRUE;
|
||||
gSprites[spriteIds[i]].invisible = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible)
|
||||
void SetSwapLineInvisibility(bool8 invisible)
|
||||
{
|
||||
u8 i;
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[1];
|
||||
u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_SWAP_LINE_START];
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
gSprites[ptr[i]].invisible = invisible;
|
||||
}
|
||||
for (i = 0; i < NUM_SWAP_LINE_SPRITES; i++)
|
||||
gSprites[spriteIds[i]].invisible = invisible;
|
||||
}
|
||||
|
||||
void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y)
|
||||
void UpdateSwapLinePos(s16 x, u16 y)
|
||||
{
|
||||
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[ptr[i]].y = y + 7;
|
||||
gSprites[spriteIds[i]].x2 = x;
|
||||
gSprites[spriteIds[i]].y = y + 7;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -663,9 +314,7 @@ void CopyItemIconPicTo4x4Buffer(const void *src, void *dest)
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
CpuCopy16(src + 0x60 * i, dest + 0x80 * i, 0x60);
|
||||
}
|
||||
}
|
||||
|
||||
u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId)
|
||||
@@ -732,17 +381,18 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT
|
||||
|
||||
void CreateItemMenuIcon(u16 itemId, u8 idx)
|
||||
{
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[10];
|
||||
u8 * spriteIds = &sItemMenuIconSpriteIds[SPR_ITEM_ICON];
|
||||
u8 spriteId;
|
||||
|
||||
if (ptr[idx] == 0xFF)
|
||||
if (spriteIds[idx] == SPRITE_NONE)
|
||||
{
|
||||
FreeSpriteTilesByTag(102 + idx);
|
||||
FreeSpritePaletteByTag(102 + idx);
|
||||
spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId);
|
||||
// Either TAG_ITEM_ICON or TAG_ITEM_ICON_ALT
|
||||
FreeSpriteTilesByTag(TAG_ITEM_ICON + idx);
|
||||
FreeSpritePaletteByTag(TAG_ITEM_ICON + idx);
|
||||
spriteId = AddItemIconObject(TAG_ITEM_ICON + idx, TAG_ITEM_ICON + idx, itemId);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
ptr[idx] = spriteId;
|
||||
spriteIds[idx] = spriteId;
|
||||
gSprites[spriteId].x2 = 24;
|
||||
gSprites[spriteId].y2 = 140;
|
||||
}
|
||||
@@ -751,37 +401,38 @@ void CreateItemMenuIcon(u16 itemId, 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]]);
|
||||
ptr[idx] = 0xFF;
|
||||
DestroySpriteAndFreeResources(&gSprites[spriteIds[idx]]);
|
||||
spriteIds[idx] = SPRITE_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
const void *GetItemIconGfxPtr(u16 itemId, u8 attrId)
|
||||
{
|
||||
if (itemId > ITEM_N_A)
|
||||
if (itemId > ITEMS_COUNT)
|
||||
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;
|
||||
|
||||
if (ptr[idx] == 0xFF)
|
||||
if (spriteIds[idx] == SPRITE_NONE)
|
||||
{
|
||||
FreeSpriteTilesByTag(102 + idx);
|
||||
FreeSpritePaletteByTag(102 + idx);
|
||||
spriteId = AddItemIconObject(102 + idx, 102 + idx, itemId);
|
||||
// Either TAG_ITEM_ICON or TAG_ITEM_ICON_ALT
|
||||
FreeSpriteTilesByTag(TAG_ITEM_ICON + idx);
|
||||
FreeSpritePaletteByTag(TAG_ITEM_ICON + idx);
|
||||
spriteId = AddItemIconObject(TAG_ITEM_ICON + idx, TAG_ITEM_ICON + idx, itemId);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
ptr[idx] = spriteId;
|
||||
spriteIds[idx] = spriteId;
|
||||
gSprites[spriteId].x2 = 24;
|
||||
gSprites[spriteId].y2 = 147;
|
||||
gSprites[spriteId].y2 = 147; // This value is the only difference from CreateItemMenuIcon
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -342,7 +342,7 @@ static bool8 ItemPc_DoGfxSetup(void)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 14:
|
||||
ItemMenuIcons_CreateInsertIndicatorBarHidden();
|
||||
CreateSwapLine();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 15:
|
||||
@@ -529,7 +529,7 @@ static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateItemMenuIcon(ITEM_N_A, sStateDataPtr->itemMenuIconSlot);
|
||||
CreateItemMenuIcon(ITEMS_COUNT, sStateDataPtr->itemMenuIconSlot);
|
||||
desc = gText_ReturnToPC;
|
||||
}
|
||||
sStateDataPtr->itemMenuIconSlot ^= 1;
|
||||
@@ -774,8 +774,8 @@ static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos)
|
||||
StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced);
|
||||
FillWindowPixelBuffer(1, 0x00);
|
||||
ItemPc_AddTextPrinterParameterized(1, FONT_2, gStringVar4, 0, 3, 2, 3, 0, 0);
|
||||
ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE);
|
||||
UpdateSwapLinePos(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
SetSwapLineInvisibility(FALSE);
|
||||
ItemPc_PrintOrRemoveCursor(data[0], 2);
|
||||
gTasks[taskId].func = Task_ItemPcMoveItemModeRun;
|
||||
}
|
||||
@@ -786,7 +786,7 @@ static void Task_ItemPcMoveItemModeRun(u8 taskId)
|
||||
|
||||
ListMenu_ProcessInput(data[0]);
|
||||
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))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
@@ -814,7 +814,7 @@ static void ItemPc_InsertItemIntoNewSlot(u8 taskId, u32 pos)
|
||||
sListMenuState.row--;
|
||||
ItemPc_BuildListMenuTemplate();
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row);
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE);
|
||||
SetSwapLineInvisibility(TRUE);
|
||||
gTasks[taskId].func = Task_ItemPcMain;
|
||||
}
|
||||
}
|
||||
@@ -828,7 +828,7 @@ static void ItemPc_MoveItemModeCancel(u8 taskId, u32 pos)
|
||||
sListMenuState.row--;
|
||||
ItemPc_BuildListMenuTemplate();
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row);
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE);
|
||||
SetSwapLineInvisibility(TRUE);
|
||||
gTasks[taskId].func = Task_ItemPcMain;
|
||||
}
|
||||
|
||||
|
||||
+121
-125
@@ -33,6 +33,7 @@
|
||||
#include "vs_seeker.h"
|
||||
#include "constants/sound.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/item_effects.h"
|
||||
#include "constants/maps.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/songs.h"
|
||||
@@ -43,14 +44,14 @@ static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
|
||||
static void FieldCB_FadeInFromBlack(void);
|
||||
static void Task_WaitFadeIn_CallItemUseOnFieldCB(u8 taskId);
|
||||
static void Task_ItemUse_CloseMessageBoxAndReturnToField(u8 taskId);
|
||||
static void sub_80A11C0(u8 taskId);
|
||||
static bool8 sub_80A1194(void);
|
||||
static void sub_80A1208(void);
|
||||
static void Task_ItemUseWaitForFade(u8 taskId);
|
||||
static bool8 FieldCB2_UseItemFromField(void);
|
||||
static void CB2_CheckMail(void);
|
||||
static void ItemUseOnFieldCB_Bicycle(u8 taskId);
|
||||
static bool8 ItemUseCheckFunc_Rod(void);
|
||||
static bool8 CanFish(void);
|
||||
static void ItemUseOnFieldCB_Rod(u8 taskId);
|
||||
static void sub_80A1648(u8 taskId);
|
||||
static void sub_80A1674(u8 taskId);
|
||||
static void Task_PlayPokeFlute(u8 taskId);
|
||||
static void Task_DisplayPokeFluteMessage(u8 taskId);
|
||||
static void InitTMCaseFromBag(void);
|
||||
static void Task_InitTMCaseFromField(u8 taskId);
|
||||
static void InitBerryPouchFromBag(void);
|
||||
@@ -58,14 +59,14 @@ static void Task_InitBerryPouchFromField(u8 taskId);
|
||||
static void InitBerryPouchFromBattle(void);
|
||||
static void InitTeachyTvFromBag(void);
|
||||
static void Task_InitTeachyTvFromField(u8 taskId);
|
||||
static void sub_80A19E8(u8 taskId);
|
||||
static void sub_80A1A44(void);
|
||||
static void sub_80A1B48(u8 taskId);
|
||||
static void sub_80A1C08(u8 taskId);
|
||||
static void sub_80A1CAC(void);
|
||||
static void sub_80A1CC0(u8 taskId);
|
||||
static void sub_80A1D58(void);
|
||||
static void sub_80A1D68(u8 taskId);
|
||||
static void Task_UseRepel(u8 taskId);
|
||||
static void RemoveUsedItem(void);
|
||||
static void Task_UsedBlackWhiteFlute(u8 taskId);
|
||||
static void ItemUseOnFieldCB_EscapeRope(u8 taskId);
|
||||
static void UseTownMapFromBag(void);
|
||||
static void Task_UseTownMapFromField(u8 taskId);
|
||||
static void UseFameCheckerFromBag(void);
|
||||
static void Task_UseFameCheckerFromField(u8 taskId);
|
||||
static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId);
|
||||
static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId);
|
||||
|
||||
@@ -126,13 +127,13 @@ static const u8 sUnref_83E27B4[] = {
|
||||
};
|
||||
|
||||
static void (*const sExitCallbackByItemType[])(void) = {
|
||||
CB2_ShowPartyMenuForItemUse,
|
||||
CB2_ReturnToField,
|
||||
NULL,
|
||||
NULL
|
||||
[ITEM_TYPE_PARTY_MENU - 1] = CB2_ShowPartyMenuForItemUse,
|
||||
[ITEM_TYPE_FIELD - 1] = CB2_ReturnToField,
|
||||
[ITEM_TYPE_UNUSED - 1] = NULL,
|
||||
[ITEM_TYPE_BAG_MENU - 1] = NULL,
|
||||
};
|
||||
|
||||
static void Task_FadeOuFromBackToField(u8 taskId)
|
||||
static void SetUpItemUseCallback(u8 taskId)
|
||||
{
|
||||
u8 itemType;
|
||||
if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY)
|
||||
@@ -147,18 +148,18 @@ static void Task_FadeOuFromBackToField(u8 taskId)
|
||||
else
|
||||
{
|
||||
ItemMenu_SetExitCallback(sExitCallbackByItemType[itemType]);
|
||||
if (itemType == 1)
|
||||
if (itemType == ITEM_TYPE_FIELD - 1)
|
||||
Bag_BeginCloseWin0Animation();
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A103C(u8 taskId)
|
||||
static void SetUpItemUseOnFieldCallback(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[3] != 1)
|
||||
{
|
||||
gFieldCallback = FieldCB_FadeInFromBlack;
|
||||
Task_FadeOuFromBackToField(taskId);
|
||||
SetUpItemUseCallback(taskId);
|
||||
}
|
||||
else
|
||||
sItemUseOnFieldCB(taskId);
|
||||
@@ -173,12 +174,10 @@ static void FieldCB_FadeInFromBlack(void)
|
||||
static void Task_WaitFadeIn_CallItemUseOnFieldCB(u8 taskId)
|
||||
{
|
||||
if (IsWeatherNotFadingIn() == TRUE)
|
||||
{
|
||||
sItemUseOnFieldCB(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
static void DisplayItemMessageInCurrentContext(u8 taskId, bool8 inField, u8 fontId, const u8 * str)
|
||||
static void DisplayItemMessageInCurrentContext(u8 taskId, bool8 inField, u8 fontId, const u8 *str)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
if (inField == FALSE)
|
||||
@@ -210,22 +209,22 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sub_80A1184(void)
|
||||
static void SetFieldCallback2ForItemUse(void)
|
||||
{
|
||||
gFieldCallback2 = sub_80A1194;
|
||||
gFieldCallback2 = FieldCB2_UseItemFromField;
|
||||
}
|
||||
|
||||
static bool8 sub_80A1194(void)
|
||||
static bool8 FieldCB2_UseItemFromField(void)
|
||||
{
|
||||
FreezeObjectEvents();
|
||||
LockPlayerFieldControls();
|
||||
FadeInFromBlack();
|
||||
CreateTask(sub_80A11C0, 10);
|
||||
CreateTask(Task_ItemUseWaitForFade, 10);
|
||||
gExitStairsMovementDisabled = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void sub_80A11C0(u8 taskId)
|
||||
static void Task_ItemUseWaitForFade(u8 taskId)
|
||||
{
|
||||
if (IsWeatherNotFadingIn() == TRUE)
|
||||
{
|
||||
@@ -235,21 +234,21 @@ static void sub_80A11C0(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void FieldUseFunc_OrangeMail(u8 taskId)
|
||||
void FieldUseFunc_Mail(u8 taskId)
|
||||
{
|
||||
ItemMenu_SetExitCallback(sub_80A1208);
|
||||
ItemMenu_SetExitCallback(CB2_CheckMail);
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
|
||||
static void sub_80A1208(void)
|
||||
static void CB2_CheckMail(void)
|
||||
{
|
||||
struct Mail mail;
|
||||
|
||||
mail.itemId = gSpecialVar_ItemId;
|
||||
ReadMail(&mail, CB2_BagMenuFromStartMenu, 0);
|
||||
ReadMail(&mail, CB2_BagMenuFromStartMenu, FALSE);
|
||||
}
|
||||
|
||||
void FieldUseFunc_MachBike(u8 taskId)
|
||||
void FieldUseFunc_Bike(u8 taskId)
|
||||
{
|
||||
s16 x, y;
|
||||
u8 behavior;
|
||||
@@ -266,7 +265,7 @@ void FieldUseFunc_MachBike(u8 taskId)
|
||||
else if (Overworld_IsBikingAllowed() == TRUE && !IsBikingDisallowedByPlayer())
|
||||
{
|
||||
sItemUseOnFieldCB = ItemUseOnFieldCB_Bicycle;
|
||||
sub_80A103C(taskId);
|
||||
SetUpItemUseOnFieldCallback(taskId);
|
||||
}
|
||||
else
|
||||
PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
|
||||
@@ -282,18 +281,18 @@ static void ItemUseOnFieldCB_Bicycle(u8 taskId)
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_OldRod(u8 taskId)
|
||||
void FieldUseFunc_Rod(u8 taskId)
|
||||
{
|
||||
if (ItemUseCheckFunc_Rod() == TRUE)
|
||||
if (CanFish() == TRUE)
|
||||
{
|
||||
sItemUseOnFieldCB = ItemUseOnFieldCB_Rod;
|
||||
sub_80A103C(taskId);
|
||||
SetUpItemUseOnFieldCallback(taskId);
|
||||
}
|
||||
else
|
||||
PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
|
||||
}
|
||||
|
||||
static bool8 ItemUseCheckFunc_Rod(void)
|
||||
static bool8 CanFish(void)
|
||||
{
|
||||
s16 x, y;
|
||||
u16 behavior;
|
||||
@@ -330,7 +329,7 @@ void ItemUseOutOfBattle_Itemfinder(u8 taskId)
|
||||
{
|
||||
IncrementGameStat(GAME_STAT_USED_ITEMFINDER);
|
||||
sItemUseOnFieldCB = ItemUseOnFieldCB_Itemfinder;
|
||||
sub_80A103C(taskId);
|
||||
SetUpItemUseOnFieldCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_CoinCase(u8 taskId)
|
||||
@@ -362,7 +361,7 @@ void FieldUseFunc_PokeFlute(u8 taskId)
|
||||
|
||||
for (i = 0; i < CalculatePlayerPartyCount(); i++)
|
||||
{
|
||||
if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, MOVE_NONE))
|
||||
if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, 0))
|
||||
wokeSomeoneUp = TRUE;
|
||||
}
|
||||
|
||||
@@ -370,9 +369,9 @@ void FieldUseFunc_PokeFlute(u8 taskId)
|
||||
{
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, FONT_2, gText_PlayedPokeFlute, sub_80A1648);
|
||||
DisplayItemMessageInBag(taskId, FONT_2, gText_PlayedPokeFlute, Task_PlayPokeFlute);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, FONT_2, gText_PlayedPokeFlute, sub_80A1648);
|
||||
DisplayItemMessageOnField(taskId, FONT_2, gText_PlayedPokeFlute, Task_PlayPokeFlute);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -383,13 +382,13 @@ void FieldUseFunc_PokeFlute(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A1648(u8 taskId)
|
||||
static void Task_PlayPokeFlute(u8 taskId)
|
||||
{
|
||||
PlayFanfareByFanfareNum(FANFARE_POKE_FLUTE);
|
||||
gTasks[taskId].func = sub_80A1674;
|
||||
gTasks[taskId].func = Task_DisplayPokeFluteMessage;
|
||||
}
|
||||
|
||||
static void sub_80A1674(u8 taskId)
|
||||
static void Task_DisplayPokeFluteMessage(u8 taskId)
|
||||
{
|
||||
if (WaitFanfare(FALSE))
|
||||
{
|
||||
@@ -400,45 +399,45 @@ static void sub_80A1674(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A16D0(u8 taskId)
|
||||
static void DoSetUpItemUseCallback(u8 taskId)
|
||||
{
|
||||
Task_FadeOuFromBackToField(taskId);
|
||||
SetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_Medicine(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_Medicine;
|
||||
sub_80A16D0(taskId);
|
||||
DoSetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_Ether(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_TryRestorePP;
|
||||
sub_80A16D0(taskId);
|
||||
DoSetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_PpUp(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_PPUp;
|
||||
sub_80A16D0(taskId);
|
||||
DoSetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_RareCandy(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_RareCandy;
|
||||
sub_80A16D0(taskId);
|
||||
DoSetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_EvoItem(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_EvolutionStone;
|
||||
sub_80A16D0(taskId);
|
||||
DoSetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_SacredAsh(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_SacredAsh;
|
||||
Task_FadeOuFromBackToField(taskId);
|
||||
SetUpItemUseCallback(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_TmCase(u8 taskId)
|
||||
@@ -466,7 +465,7 @@ static void Task_InitTMCaseFromField(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
sub_80A1184();
|
||||
SetFieldCallback2ForItemUse();
|
||||
InitTMCase(0, CB2_ReturnToField, 1);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -497,7 +496,7 @@ static void Task_InitBerryPouchFromField(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
sub_80A1184();
|
||||
SetFieldCallback2ForItemUse();
|
||||
InitBerryPouch(BERRYPOUCH_FROMFIELD, CB2_ReturnToField, 1);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -540,36 +539,36 @@ static void Task_InitTeachyTvFromField(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
sub_80A1184();
|
||||
SetFieldCallback2ForItemUse();
|
||||
InitTeachyTvController(0, CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
void FieldUseFunc_SuperRepel(u8 taskId)
|
||||
void FieldUseFunc_Repel(u8 taskId)
|
||||
{
|
||||
if (VarGet(VAR_REPEL_STEP_COUNT) == 0)
|
||||
{
|
||||
PlaySE(SE_REPEL);
|
||||
gTasks[taskId].func = sub_80A19E8;
|
||||
gTasks[taskId].func = Task_UseRepel;
|
||||
}
|
||||
else
|
||||
// An earlier repel is still in effect
|
||||
DisplayItemMessageInBag(taskId, FONT_2, gText_RepelEffectsLingered, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
|
||||
static void sub_80A19E8(u8 taskId)
|
||||
static void Task_UseRepel(u8 taskId)
|
||||
{
|
||||
if (!IsSEPlaying())
|
||||
{
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId));
|
||||
sub_80A1A44();
|
||||
RemoveUsedItem();
|
||||
DisplayItemMessageInBag(taskId, FONT_2, gStringVar4, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A1A44(void)
|
||||
static void RemoveUsedItem(void)
|
||||
{
|
||||
RemoveBagItem(gSpecialVar_ItemId, 1);
|
||||
Pocket_CalculateNItemsAndMaxShowed(ItemId_GetPocket(gSpecialVar_ItemId));
|
||||
@@ -578,7 +577,7 @@ static void sub_80A1A44(void)
|
||||
StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2);
|
||||
}
|
||||
|
||||
void FieldUseFunc_BlackFlute(u8 taskId)
|
||||
void FieldUseFunc_BlackWhiteFlute(u8 taskId)
|
||||
{
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gSpecialVar_ItemId == ITEM_WHITE_FLUTE)
|
||||
@@ -587,7 +586,7 @@ void FieldUseFunc_BlackFlute(u8 taskId)
|
||||
FlagClear(FLAG_SYS_BLACK_FLUTE_ACTIVE);
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildLured);
|
||||
gTasks[taskId].func = sub_80A1B48;
|
||||
gTasks[taskId].func = Task_UsedBlackWhiteFlute;
|
||||
gTasks[taskId].data[8] = 0;
|
||||
}
|
||||
else if (gSpecialVar_ItemId == ITEM_BLACK_FLUTE)
|
||||
@@ -596,12 +595,12 @@ void FieldUseFunc_BlackFlute(u8 taskId)
|
||||
FlagClear(FLAG_SYS_WHITE_FLUTE_ACTIVE);
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildRepelled);
|
||||
gTasks[taskId].func = sub_80A1B48;
|
||||
gTasks[taskId].func = Task_UsedBlackWhiteFlute;
|
||||
gTasks[taskId].data[8] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A1B48(u8 taskId)
|
||||
static void Task_UsedBlackWhiteFlute(u8 taskId)
|
||||
{
|
||||
if (++gTasks[taskId].data[8] > 7)
|
||||
{
|
||||
@@ -623,22 +622,22 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId)
|
||||
if (CanUseEscapeRopeOnCurrMap() == TRUE)
|
||||
{
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, gMapHeader.regionMapSectionId);
|
||||
sItemUseOnFieldCB = sub_80A1C08;
|
||||
sub_80A103C(taskId);
|
||||
sItemUseOnFieldCB = ItemUseOnFieldCB_EscapeRope;
|
||||
SetUpItemUseOnFieldCallback(taskId);
|
||||
}
|
||||
else
|
||||
PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
|
||||
}
|
||||
|
||||
static void sub_80A1C08(u8 taskId)
|
||||
static void ItemUseOnFieldCB_EscapeRope(u8 taskId)
|
||||
{
|
||||
Overworld_ResetStateAfterDigEscRope();
|
||||
sub_80A1A44();
|
||||
RemoveUsedItem();
|
||||
gTasks[taskId].data[0] = 0;
|
||||
DisplayItemMessageOnField(taskId, FONT_2, gStringVar4, sub_80A1C44);
|
||||
DisplayItemMessageOnField(taskId, FONT_2, gStringVar4, Task_UseDigEscapeRopeOnField);
|
||||
}
|
||||
|
||||
void sub_80A1C44(u8 taskId)
|
||||
void Task_UseDigEscapeRopeOnField(u8 taskId)
|
||||
{
|
||||
ResetInitialPlayerAvatarState();
|
||||
StartEscapeRopeFieldEffect();
|
||||
@@ -649,28 +648,28 @@ void FieldUseFunc_TownMap(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
ItemMenu_SetExitCallback(sub_80A1CAC);
|
||||
ItemMenu_SetExitCallback(UseTownMapFromBag);
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
FadeScreen(FADE_TO_BLACK, 0);
|
||||
gTasks[taskId].func = sub_80A1CC0;
|
||||
gTasks[taskId].func = Task_UseTownMapFromField;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A1CAC(void)
|
||||
static void UseTownMapFromBag(void)
|
||||
{
|
||||
InitRegionMapWithExitCB(REGIONMAP_TYPE_NORMAL, CB2_BagMenuFromStartMenu);
|
||||
}
|
||||
|
||||
static void sub_80A1CC0(u8 taskId)
|
||||
static void Task_UseTownMapFromField(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
sub_80A1184();
|
||||
SetFieldCallback2ForItemUse();
|
||||
InitRegionMapWithExitCB(REGIONMAP_TYPE_NORMAL, CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -681,28 +680,28 @@ void FieldUseFunc_FameChecker(u8 taskId)
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
ItemMenu_SetExitCallback(sub_80A1D58);
|
||||
ItemMenu_SetExitCallback(UseFameCheckerFromBag);
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
FadeScreen(FADE_TO_BLACK, 0);
|
||||
gTasks[taskId].func = sub_80A1D68;
|
||||
gTasks[taskId].func = Task_UseFameCheckerFromField;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A1D58(void)
|
||||
static void UseFameCheckerFromBag(void)
|
||||
{
|
||||
UseFameChecker(CB2_BagMenuFromStartMenu);
|
||||
}
|
||||
|
||||
static void sub_80A1D68(u8 taskId)
|
||||
static void Task_UseFameCheckerFromField(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
sub_80A1184();
|
||||
SetFieldCallback2ForItemUse();
|
||||
UseFameChecker(CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@@ -724,7 +723,7 @@ void FieldUseFunc_VsSeeker(u8 taskId)
|
||||
else
|
||||
{
|
||||
sItemUseOnFieldCB = Task_VsSeeker_0;
|
||||
sub_80A103C(taskId);
|
||||
SetUpItemUseOnFieldCallback(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -742,9 +741,7 @@ void BattleUseFunc_PokeBallEtc(u8 taskId)
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
else
|
||||
{
|
||||
DisplayItemMessageInBag(taskId, FONT_2, gText_BoxFull, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
}
|
||||
|
||||
void BattleUseFunc_PokeFlute(u8 taskId)
|
||||
@@ -753,12 +750,10 @@ void BattleUseFunc_PokeFlute(u8 taskId)
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
|
||||
void BattleUseFunc_GuardSpec(u8 taskId)
|
||||
void BattleUseFunc_StatBooster(u8 taskId)
|
||||
{
|
||||
if (ExecuteTableBasedItemEffect(&gPlayerParty[gBattlerPartyIndexes[gBattlerInMenuId]], gSpecialVar_ItemId, gBattlerPartyIndexes[gBattlerInMenuId], 0))
|
||||
{
|
||||
DisplayItemMessageInBag(taskId, FONT_2, gText_WontHaveEffect, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[8] = 0;
|
||||
@@ -768,7 +763,7 @@ void BattleUseFunc_GuardSpec(u8 taskId)
|
||||
|
||||
static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
if (++data[8] > 7)
|
||||
{
|
||||
@@ -808,7 +803,8 @@ void BattleUseFunc_Medicine(u8 taskId)
|
||||
ItemUse_SwitchToPartyMenuInBattle(taskId);
|
||||
}
|
||||
|
||||
static void sub_80A1FD8(u8 taskId)
|
||||
// Unused. Sacred Ash cannot be used in battle
|
||||
static void BattleUseFunc_SacredAsh(u8 taskId)
|
||||
{
|
||||
gItemUseCB = ItemUseCB_SacredAsh;
|
||||
ItemUse_SwitchToPartyMenuInBattle(taskId);
|
||||
@@ -824,7 +820,7 @@ void BattleUseFunc_PokeDoll(u8 taskId)
|
||||
{
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER))
|
||||
{
|
||||
sub_80A1A44();
|
||||
RemoveUsedItem();
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, 0, gSpecialVar_ItemId, 0xFFFF);
|
||||
DisplayItemMessageInBag(taskId, FONT_2, gStringVar4, ItemMenu_StartFadeToExitCallback);
|
||||
}
|
||||
@@ -834,38 +830,38 @@ void BattleUseFunc_PokeDoll(u8 taskId)
|
||||
|
||||
void ItemUseOutOfBattle_EnigmaBerry(u8 taskId)
|
||||
{
|
||||
switch (GetItemEffectType(gSpecialVar_ItemId) - 1)
|
||||
switch (GetItemEffectType(gSpecialVar_ItemId))
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case 16:
|
||||
case ITEM_EFFECT_HEAL_HP:
|
||||
case ITEM_EFFECT_CURE_POISON:
|
||||
case ITEM_EFFECT_CURE_SLEEP:
|
||||
case ITEM_EFFECT_CURE_BURN:
|
||||
case ITEM_EFFECT_CURE_FREEZE:
|
||||
case ITEM_EFFECT_CURE_PARALYSIS:
|
||||
case ITEM_EFFECT_CURE_ALL_STATUS:
|
||||
case ITEM_EFFECT_ATK_EV:
|
||||
case ITEM_EFFECT_HP_EV:
|
||||
case ITEM_EFFECT_SPATK_EV:
|
||||
case ITEM_EFFECT_SPDEF_EV:
|
||||
case ITEM_EFFECT_SPEED_EV:
|
||||
case ITEM_EFFECT_DEF_EV:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
FieldUseFunc_Medicine(taskId);
|
||||
break;
|
||||
case 9:
|
||||
case ITEM_EFFECT_SACRED_ASH:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
FieldUseFunc_SacredAsh(taskId);
|
||||
break;
|
||||
case 0:
|
||||
case ITEM_EFFECT_RAISE_LEVEL:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
FieldUseFunc_RareCandy(taskId);
|
||||
break;
|
||||
case 18:
|
||||
case 19:
|
||||
case ITEM_EFFECT_PP_UP:
|
||||
case ITEM_EFFECT_PP_MAX:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
FieldUseFunc_PpUp(taskId);
|
||||
break;
|
||||
case 20:
|
||||
case ITEM_EFFECT_HEAL_PP:
|
||||
gTasks[taskId].data[4] = 1;
|
||||
FieldUseFunc_Ether(taskId);
|
||||
break;
|
||||
@@ -879,21 +875,21 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId)
|
||||
{
|
||||
switch (GetItemEffectType(gSpecialVar_ItemId))
|
||||
{
|
||||
case 0:
|
||||
BattleUseFunc_GuardSpec(taskId);
|
||||
case ITEM_EFFECT_X_ITEM:
|
||||
BattleUseFunc_StatBooster(taskId);
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 11:
|
||||
case ITEM_EFFECT_HEAL_HP:
|
||||
case ITEM_EFFECT_CURE_POISON:
|
||||
case ITEM_EFFECT_CURE_SLEEP:
|
||||
case ITEM_EFFECT_CURE_BURN:
|
||||
case ITEM_EFFECT_CURE_FREEZE:
|
||||
case ITEM_EFFECT_CURE_PARALYSIS:
|
||||
case ITEM_EFFECT_CURE_CONFUSION:
|
||||
case ITEM_EFFECT_CURE_INFATUATION:
|
||||
case ITEM_EFFECT_CURE_ALL_STATUS:
|
||||
BattleUseFunc_Medicine(taskId);
|
||||
break;
|
||||
case 21:
|
||||
case ITEM_EFFECT_HEAL_PP:
|
||||
BattleUseFunc_Ether(taskId);
|
||||
break;
|
||||
default:
|
||||
@@ -912,7 +908,7 @@ void FieldUseFunc_OakStopsYou(u8 taskId)
|
||||
PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
|
||||
}
|
||||
|
||||
void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon * pokemon, u16 itemId, u16 param)
|
||||
void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon *pokemon, u16 itemId, u16 param)
|
||||
{
|
||||
struct UnkStruct_ItemUseQuestLog
|
||||
{
|
||||
@@ -920,7 +916,7 @@ void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon * pokemon, u16 itemId,
|
||||
u16 unk2;
|
||||
u16 species;
|
||||
u16 param;
|
||||
} * questLog = Alloc(sizeof(*questLog));
|
||||
} *questLog = Alloc(sizeof(*questLog));
|
||||
|
||||
questLog->itemId = itemId;
|
||||
questLog->param = param;
|
||||
|
||||
+1
-1
@@ -206,7 +206,7 @@ static void InitMainCallbacks(void)
|
||||
gMain.vblankCounter1 = 0;
|
||||
gMain.vblankCounter2 = 0;
|
||||
gMain.callback1 = NULL;
|
||||
SetMainCallback2(c2_copyright_1);
|
||||
SetMainCallback2(CB2_InitCopyrightScreenAfterBootup);
|
||||
gSaveBlock2Ptr = &gSaveBlock2;
|
||||
gSaveBlock1Ptr = &gSaveBlock1;
|
||||
gSaveBlock2.encryptionKey = 0;
|
||||
|
||||
@@ -80,8 +80,7 @@ static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
// some sort of affine transform; x transform disabled
|
||||
obj_pos2_update_enable(sprite, 0x800, 0x1A);
|
||||
SetSpriteMatrixAnchor(sprite, NO_ANCHOR, 26);
|
||||
sprite->data[0]++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
|
||||
+196
-190
@@ -11,46 +11,48 @@ enum
|
||||
HARDWARE_FADE,
|
||||
};
|
||||
|
||||
// These are structs for some unused palette system.
|
||||
// The full functionality of this system is unknown.
|
||||
|
||||
#define NUM_PALETTE_STRUCTS 16
|
||||
|
||||
// unused palette struct
|
||||
struct PaletteStructTemplate
|
||||
{
|
||||
u16 uid;
|
||||
u16 id;
|
||||
u16 *src;
|
||||
u16 pst_field_8_0:1;
|
||||
u16 pst_field_8_1:9;
|
||||
bool16 pst_field_8_0:1;
|
||||
u16 unused:9;
|
||||
u16 size:5;
|
||||
u16 pst_field_9_7:1;
|
||||
u8 pst_field_A;
|
||||
u8 time1;
|
||||
u8 srcCount:5;
|
||||
u8 pst_field_B_5:3;
|
||||
u8 pst_field_C;
|
||||
u8 state:3;
|
||||
u8 time2;
|
||||
};
|
||||
|
||||
struct PaletteStruct
|
||||
{
|
||||
const struct PaletteStructTemplate *base;
|
||||
u32 ps_field_4_0:1;
|
||||
u16 ps_field_4_1:1;
|
||||
const struct PaletteStructTemplate *template;
|
||||
bool32 active:1;
|
||||
bool32 flag:1;
|
||||
u32 baseDestOffset:9;
|
||||
u16 destOffset:10;
|
||||
u16 srcIndex:7;
|
||||
u8 ps_field_8;
|
||||
u8 ps_field_9;
|
||||
u8 countdown1;
|
||||
u8 countdown2;
|
||||
};
|
||||
|
||||
static void sub_8070790(struct PaletteStruct *, u32 *);
|
||||
static void sub_80708F4(struct PaletteStruct *, u32 *);
|
||||
static void sub_80709B4(struct PaletteStruct *);
|
||||
static u8 GetPaletteNumByUid(u16);
|
||||
static void PaletteStruct_Copy(struct PaletteStruct *, u32 *);
|
||||
static void PaletteStruct_Blend(struct PaletteStruct *, u32 *);
|
||||
static void PaletteStruct_TryEnd(struct PaletteStruct *);
|
||||
static void PaletteStruct_Reset(u8 paletteNum);
|
||||
static u8 PaletteStruct_GetPalNum(u16);
|
||||
static u8 UpdateNormalPaletteFade(void);
|
||||
static void BeginFastPaletteFadeInternal(u8);
|
||||
static u8 UpdateFastPaletteFade(void);
|
||||
static u8 UpdateHardwarePaletteFade(void);
|
||||
static void UpdateBlendRegisters(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 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0};
|
||||
@@ -59,10 +61,10 @@ EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
|
||||
static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
|
||||
EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0};
|
||||
|
||||
static const struct PaletteStructTemplate gDummyPaletteStructTemplate =
|
||||
static const struct PaletteStructTemplate sDummyPaletteStructTemplate =
|
||||
{
|
||||
.uid = 0xFFFF,
|
||||
.pst_field_B_5 = 1
|
||||
.id = 0xFFFF,
|
||||
.state = 1
|
||||
};
|
||||
|
||||
static const u8 sRoundedDownGrayscaleMap[] =
|
||||
@@ -79,20 +81,20 @@ static const u8 sRoundedDownGrayscaleMap[] =
|
||||
void LoadCompressedPalette(const u32 *src, u16 offset, u16 size)
|
||||
{
|
||||
LZDecompressWram(src, gPaletteDecompressionBuffer);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferFaded + offset, size);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferUnfaded[offset], size);
|
||||
CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferFaded[offset], size);
|
||||
}
|
||||
|
||||
void LoadPalette(const void *src, u16 offset, u16 size)
|
||||
{
|
||||
CpuCopy16(src, gPlttBufferUnfaded + offset, size);
|
||||
CpuCopy16(src, gPlttBufferFaded + offset, size);
|
||||
CpuCopy16(src, &gPlttBufferUnfaded[offset], size);
|
||||
CpuCopy16(src, &gPlttBufferFaded[offset], size);
|
||||
}
|
||||
|
||||
void FillPalette(u16 value, u16 offset, u16 size)
|
||||
{
|
||||
CpuFill16(value, gPlttBufferUnfaded + offset, size);
|
||||
CpuFill16(value, gPlttBufferFaded + offset, size);
|
||||
CpuFill16(value, &gPlttBufferUnfaded[offset], size);
|
||||
CpuFill16(value, &gPlttBufferFaded[offset], size);
|
||||
}
|
||||
|
||||
void TransferPlttBuffer(void)
|
||||
@@ -102,7 +104,7 @@ void TransferPlttBuffer(void)
|
||||
void *src = gPlttBufferFaded;
|
||||
void *dest = (void *)PLTT;
|
||||
DmaCopy16(3, src, dest, PLTT_SIZE);
|
||||
sPlttBufferTransferPending = 0;
|
||||
sPlttBufferTransferPending = FALSE;
|
||||
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
|
||||
UpdateBlendRegisters();
|
||||
}
|
||||
@@ -129,8 +131,8 @@ void ResetPaletteFade(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 16; ++i)
|
||||
ResetPaletteStruct(i);
|
||||
for (i = 0; i < NUM_PALETTE_STRUCTS; ++i)
|
||||
PaletteStruct_Reset(i);
|
||||
ResetPaletteFadeControl();
|
||||
}
|
||||
|
||||
@@ -179,7 +181,7 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
|
||||
temp = gPaletteFade.bufferTransferDisabled;
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
CpuCopy32(gPlttBufferFaded, (void *)PLTT, PLTT_SIZE);
|
||||
sPlttBufferTransferPending = 0;
|
||||
sPlttBufferTransferPending = FALSE;
|
||||
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
|
||||
UpdateBlendRegisters();
|
||||
gPaletteFade.bufferTransferDisabled = temp;
|
||||
@@ -187,15 +189,15 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
|
||||
}
|
||||
}
|
||||
|
||||
// not used
|
||||
static bool8 sub_80706D0(u32 a1, u8 a2, u8 a3, u8 a4, u16 a5)
|
||||
// Unused
|
||||
static bool8 BeginPlttFade(u32 selectedPalettes, u8 delay, u8 startY, u8 targetY, u16 blendColor)
|
||||
{
|
||||
ReadPlttIntoBuffers();
|
||||
return BeginNormalPaletteFade(a1, a2, a3, a4, a5);
|
||||
return BeginNormalPaletteFade(selectedPalettes, delay, startY, targetY, blendColor);
|
||||
}
|
||||
|
||||
// not used
|
||||
static void sub_8070718(u8 a1, u32 *a2)
|
||||
// Unused
|
||||
static void PaletteStruct_Run(u8 a1, u32 *unkFlags)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
@@ -203,82 +205,80 @@ static void sub_8070718(u8 a1, u32 *a2)
|
||||
{
|
||||
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 val2 = palstruct->base->srcCount;
|
||||
u8 srcIndex = palstruct->srcIndex;
|
||||
u8 srcCount = palstruct->template->srcCount;
|
||||
|
||||
if (val1 == val2)
|
||||
if (srcIndex == srcCount)
|
||||
{
|
||||
sub_80709B4(palstruct);
|
||||
if (!palstruct->ps_field_4_0)
|
||||
PaletteStruct_TryEnd(palstruct);
|
||||
if (!palstruct->active)
|
||||
continue;
|
||||
}
|
||||
if (palstruct->ps_field_8 == 0)
|
||||
sub_8070790(palstruct, a2);
|
||||
if (palstruct->countdown1 == 0)
|
||||
PaletteStruct_Copy(palstruct, unkFlags);
|
||||
else
|
||||
--palstruct->ps_field_8;
|
||||
sub_80708F4(palstruct, a2);
|
||||
palstruct->countdown1--;
|
||||
PaletteStruct_Blend(palstruct, unkFlags);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// not used
|
||||
static void sub_8070790(struct PaletteStruct *a1, u32 *a2)
|
||||
static void PaletteStruct_Copy(struct PaletteStruct *palStruct, u32 *unkFlags)
|
||||
{
|
||||
s32 srcIndex;
|
||||
s32 srcCount;
|
||||
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];
|
||||
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset];
|
||||
++i;
|
||||
++a1->destOffset;
|
||||
++srcOffset;
|
||||
gPlttBufferUnfaded[palStruct->destOffset] = palStruct->template->src[srcOffset];
|
||||
gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset];
|
||||
i++;
|
||||
palStruct->destOffset++;
|
||||
srcOffset++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while (i < a1->base->size)
|
||||
while (i < palStruct->template->size)
|
||||
{
|
||||
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset];
|
||||
++i;
|
||||
++a1->destOffset;
|
||||
++srcOffset;
|
||||
gPlttBufferFaded[palStruct->destOffset] = palStruct->template->src[srcOffset];
|
||||
i++;
|
||||
palStruct->destOffset++;
|
||||
srcOffset++;
|
||||
}
|
||||
}
|
||||
a1->destOffset = a1->baseDestOffset;
|
||||
a1->ps_field_8 = a1->base->pst_field_A;
|
||||
++a1->srcIndex;
|
||||
srcIndex = a1->srcIndex;
|
||||
srcCount = a1->base->srcCount;
|
||||
palStruct->destOffset = palStruct->baseDestOffset;
|
||||
palStruct->countdown1 = palStruct->template->time1;
|
||||
palStruct->srcIndex++;
|
||||
srcIndex = palStruct->srcIndex;
|
||||
srcCount = palStruct->template->srcCount;
|
||||
if (srcIndex >= srcCount)
|
||||
{
|
||||
if (a1->ps_field_9)
|
||||
--a1->ps_field_9;
|
||||
a1->srcIndex = 0;
|
||||
if (palStruct->countdown2)
|
||||
palStruct->countdown2--;
|
||||
palStruct->srcIndex = 0;
|
||||
}
|
||||
*a2 |= 1 << (a1->baseDestOffset >> 4);
|
||||
*unkFlags |= 1 << (palStruct->baseDestOffset >> 4);
|
||||
}
|
||||
|
||||
// not used
|
||||
static void sub_80708F4(struct PaletteStruct *a1, u32 *a2)
|
||||
static void PaletteStruct_Blend(struct PaletteStruct *palStruct, u32 *unkFlags)
|
||||
{
|
||||
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)
|
||||
BlendPalette(a1->baseDestOffset,
|
||||
a1->base->size,
|
||||
BlendPalette(palStruct->baseDestOffset,
|
||||
palStruct->template->size,
|
||||
gPaletteFade.y,
|
||||
gPaletteFade.blendColor);
|
||||
}
|
||||
@@ -286,65 +286,64 @@ static void sub_80708F4(struct PaletteStruct *a1, u32 *a2)
|
||||
{
|
||||
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;
|
||||
|
||||
for (i = 0; i < a1->base->size; ++i)
|
||||
gPlttBufferFaded[a1->baseDestOffset + i] = a1->base->src[srcOffset + i];
|
||||
for (i = 0; i < palStruct->template->size; i++)
|
||||
gPlttBufferFaded[palStruct->baseDestOffset + i] = palStruct->template->src[srcOffset + i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// not used
|
||||
static void sub_80709B4(struct PaletteStruct *a1)
|
||||
static void PaletteStruct_TryEnd(struct PaletteStruct *palStruct)
|
||||
{
|
||||
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;
|
||||
a1->ps_field_8 = a1->base->pst_field_A;
|
||||
a1->ps_field_9 = a1->base->pst_field_C;
|
||||
a1->destOffset = a1->baseDestOffset;
|
||||
palStruct->srcIndex = 0;
|
||||
palStruct->countdown1 = palStruct->template->time1;
|
||||
palStruct->countdown2 = palStruct->template->time2;
|
||||
palStruct->destOffset = palStruct->baseDestOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (val < 0)
|
||||
if (state < 0)
|
||||
return;
|
||||
if (val > 2)
|
||||
if (state > 2)
|
||||
return;
|
||||
PaletteStruct_ResetById(a1->base->uid);
|
||||
PaletteStruct_ResetById(palStruct->template->id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
--a1->ps_field_9;
|
||||
palStruct->countdown2--;
|
||||
}
|
||||
}
|
||||
|
||||
void PaletteStruct_ResetById(u16 a1)
|
||||
void PaletteStruct_ResetById(u16 id)
|
||||
{
|
||||
u8 paletteNum = GetPaletteNumByUid(a1);
|
||||
if (paletteNum != 16)
|
||||
ResetPaletteStruct(paletteNum);
|
||||
u8 paletteNum = PaletteStruct_GetPalNum(id);
|
||||
if (paletteNum != NUM_PALETTE_STRUCTS)
|
||||
PaletteStruct_Reset(paletteNum);
|
||||
}
|
||||
|
||||
void ResetPaletteStruct(u8 paletteNum)
|
||||
static void PaletteStruct_Reset(u8 paletteNum)
|
||||
{
|
||||
sPaletteStructs[paletteNum].base = &gDummyPaletteStructTemplate;
|
||||
sPaletteStructs[paletteNum].ps_field_4_0 = 0;
|
||||
sPaletteStructs[paletteNum].template = &sDummyPaletteStructTemplate;
|
||||
sPaletteStructs[paletteNum].active = FALSE;
|
||||
sPaletteStructs[paletteNum].baseDestOffset = 0;
|
||||
sPaletteStructs[paletteNum].destOffset = 0;
|
||||
sPaletteStructs[paletteNum].srcIndex = 0;
|
||||
sPaletteStructs[paletteNum].ps_field_4_1 = 0;
|
||||
sPaletteStructs[paletteNum].ps_field_8 = 0;
|
||||
sPaletteStructs[paletteNum].ps_field_9 = 0;
|
||||
sPaletteStructs[paletteNum].flag = FALSE;
|
||||
sPaletteStructs[paletteNum].countdown1 = 0;
|
||||
sPaletteStructs[paletteNum].countdown2 = 0;
|
||||
}
|
||||
|
||||
void ResetPaletteFadeControl(void)
|
||||
@@ -367,31 +366,28 @@ void ResetPaletteFadeControl(void)
|
||||
gPaletteFade.deltaY = 2;
|
||||
}
|
||||
|
||||
// not used
|
||||
static void sub_8070AFC(u16 uid)
|
||||
static void PaletteStruct_SetUnusedFlag(u16 id)
|
||||
{
|
||||
u8 paletteNum = GetPaletteNumByUid(uid);
|
||||
if (paletteNum != 16)
|
||||
sPaletteStructs[paletteNum].ps_field_4_1 = 1;
|
||||
u8 paletteNum = PaletteStruct_GetPalNum(id);
|
||||
if (paletteNum != NUM_PALETTE_STRUCTS)
|
||||
sPaletteStructs[paletteNum].flag = TRUE;
|
||||
}
|
||||
|
||||
// not used
|
||||
static void sub_8070B28(u16 uid)
|
||||
static void PaletteStruct_ClearUnusedFlag(u16 id)
|
||||
{
|
||||
u8 paletteNum = GetPaletteNumByUid(uid);
|
||||
if (paletteNum != 16)
|
||||
sPaletteStructs[paletteNum].ps_field_4_1 = 0;
|
||||
u8 paletteNum = PaletteStruct_GetPalNum(id);
|
||||
if (paletteNum != NUM_PALETTE_STRUCTS)
|
||||
sPaletteStructs[paletteNum].flag = FALSE;
|
||||
}
|
||||
|
||||
// not used
|
||||
static u8 GetPaletteNumByUid(u16 uid)
|
||||
static u8 PaletteStruct_GetPalNum(u16 id)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < NUM_PALETTE_STRUCTS; ++i)
|
||||
if (sPaletteStructs[i].base->uid == uid)
|
||||
for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
|
||||
if (sPaletteStructs[i].template->id == id)
|
||||
return i;
|
||||
return 16;
|
||||
return NUM_PALETTE_STRUCTS;
|
||||
}
|
||||
|
||||
static u8 UpdateNormalPaletteFade(void)
|
||||
@@ -411,7 +407,7 @@ static u8 UpdateNormalPaletteFade(void)
|
||||
{
|
||||
if (gPaletteFade.delayCounter < gPaletteFade_delay)
|
||||
{
|
||||
++gPaletteFade.delayCounter;
|
||||
gPaletteFade.delayCounter++;
|
||||
return 2;
|
||||
}
|
||||
gPaletteFade.delayCounter = 0;
|
||||
@@ -708,25 +704,25 @@ static u8 UpdateHardwarePaletteFade(void)
|
||||
return PALETTE_FADE_STATUS_DONE;
|
||||
if (gPaletteFade.delayCounter < gPaletteFade_delay)
|
||||
{
|
||||
++gPaletteFade.delayCounter;
|
||||
gPaletteFade.delayCounter++;
|
||||
return PALETTE_FADE_STATUS_DELAY;
|
||||
}
|
||||
gPaletteFade.delayCounter = 0;
|
||||
if (!gPaletteFade.yDec)
|
||||
{
|
||||
++gPaletteFade.y;
|
||||
gPaletteFade.y++;
|
||||
if (gPaletteFade.y > gPaletteFade.targetY)
|
||||
{
|
||||
++gPaletteFade.hardwareFadeFinishing;
|
||||
--gPaletteFade.y;
|
||||
gPaletteFade.hardwareFadeFinishing++;
|
||||
gPaletteFade.y--;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gPaletteFade.y-- - 1 < gPaletteFade.targetY)
|
||||
{
|
||||
++gPaletteFade.hardwareFadeFinishing;
|
||||
++gPaletteFade.y;
|
||||
gPaletteFade.hardwareFadeFinishing++;
|
||||
gPaletteFade.y++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -770,7 +766,7 @@ static bool8 IsSoftwarePaletteFadeFinishing(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
++gPaletteFade.softwareFadeFinishingCounter;
|
||||
gPaletteFade.softwareFadeFinishingCounter++;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -806,11 +802,11 @@ void TintPalette_GrayScale(u16 *palette, u16 count)
|
||||
|
||||
for (i = 0; i < count; ++i)
|
||||
{
|
||||
r = (*palette >> 0) & 0x1F;
|
||||
g = (*palette >> 5) & 0x1F;
|
||||
b = (*palette >> 10) & 0x1F;
|
||||
r = GET_R(*palette);
|
||||
g = GET_G(*palette);
|
||||
b = GET_B(*palette);
|
||||
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)
|
||||
{
|
||||
r = (*palette >> 0) & 0x1F;
|
||||
g = (*palette >> 5) & 0x1F;
|
||||
b = (*palette >> 10) & 0x1F;
|
||||
r = GET_R(*palette);
|
||||
g = GET_G(*palette);
|
||||
b = GET_B(*palette);
|
||||
gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
|
||||
|
||||
if (gray > 0x1F)
|
||||
gray = 0x1F;
|
||||
if (gray > 31)
|
||||
gray = 31;
|
||||
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)
|
||||
{
|
||||
r = (*palette >> 0) & 0x1F;
|
||||
g = (*palette >> 5) & 0x1F;
|
||||
b = (*palette >> 10) & 0x1F;
|
||||
r = GET_R(*palette);
|
||||
g = GET_G(*palette);
|
||||
b = GET_B(*palette);
|
||||
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;
|
||||
g = (u16)((Q_8_8(1.0) * gray)) >> 8;
|
||||
b = (u16)((Q_8_8(0.94) * gray)) >> 8;
|
||||
if (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)
|
||||
{
|
||||
r = (*palette >> 0) & 0x1F;
|
||||
g = (*palette >> 5) & 0x1F;
|
||||
b = (*palette >> 10) & 0x1F;
|
||||
r = GET_R(*palette);
|
||||
g = GET_G(*palette);
|
||||
b = GET_B(*palette);
|
||||
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;
|
||||
g = (u16)((gTone * gray)) >> 8;
|
||||
@@ -873,116 +869,126 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b
|
||||
g = 31;
|
||||
if (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;
|
||||
u32 gray;
|
||||
|
||||
if (!a4)
|
||||
if (!tone)
|
||||
{
|
||||
for (i = 0; i < count; ++i)
|
||||
for (i = 0; i < count; i++)
|
||||
*dst++ = *src++;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < count; ++src, ++dst, ++i)
|
||||
for (i = 0; i < count; src++, dst++, i++)
|
||||
{
|
||||
r = (*src >> 0) & 0x1F;
|
||||
g = (*src >> 5) & 0x1F;
|
||||
b = (*src >> 10) & 0x1F;
|
||||
r = GET_R(*src);
|
||||
g = GET_G(*src);
|
||||
b = GET_B(*src);
|
||||
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);
|
||||
g += (a4 * (gray - g) >> 4);
|
||||
b += (a4 * (gray - b) >> 4);
|
||||
*dst = (b << 10) | (g << 5) | (r << 0);
|
||||
r += (tone * (gray - r) >> 4);
|
||||
g += (tone * (gray - g) >> 4);
|
||||
b += (tone * (gray - b) >> 4);
|
||||
*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;
|
||||
|
||||
taskId = CreateTask(sub_80718B8, a6);
|
||||
gTasks[taskId].data[0] = a3;
|
||||
gTasks[taskId].data[1] = a4;
|
||||
if (a2 >= 0)
|
||||
taskId = CreateTask(Task_BlendPalettesGradually, priority);
|
||||
gTasks[taskId].tCoeff = coeff;
|
||||
gTasks[taskId].tCoeffTarget = coeffTarget;
|
||||
if (delay >= 0)
|
||||
{
|
||||
gTasks[taskId].data[3] = a2;
|
||||
gTasks[taskId].data[2] = 1;
|
||||
gTasks[taskId].tDelay = delay;
|
||||
gTasks[taskId].tCoeffDelta = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[3] = 0;
|
||||
gTasks[taskId].data[2] = -a2 + 1;
|
||||
gTasks[taskId].tDelay = 0;
|
||||
gTasks[taskId].tCoeffDelta = -delay + 1;
|
||||
}
|
||||
if (a4 < a3)
|
||||
gTasks[taskId].data[2] *= -1;
|
||||
SetWordTaskArg(taskId, 5, a1);
|
||||
gTasks[taskId].data[7] = a5;
|
||||
gTasks[taskId].data[8] = a7;
|
||||
if (coeffTarget < coeff)
|
||||
gTasks[taskId].tCoeffDelta *= -1;
|
||||
SetWordTaskArg(taskId, IDX_PALETTES, selectedPalettes);
|
||||
gTasks[taskId].tColor = color;
|
||||
gTasks[taskId].tId = id;
|
||||
gTasks[taskId].func(taskId);
|
||||
}
|
||||
|
||||
bool32 sub_807185C(u8 var)
|
||||
bool32 IsBlendPalettesGraduallyTaskActive(u8 id)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < NUM_TASKS; ++i)
|
||||
if (gTasks[i].isActive == TRUE
|
||||
&& gTasks[i].func == sub_80718B8
|
||||
&& gTasks[i].data[8] == var)
|
||||
&& gTasks[i].func == Task_BlendPalettesGradually
|
||||
&& gTasks[i].tId == id)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8071898(void)
|
||||
void DestroyBlendPalettesGraduallyTask(void)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
taskId = FindTaskIdByFunc(sub_80718B8);
|
||||
if (taskId == TAIL_SENTINEL)
|
||||
taskId = FindTaskIdByFunc(Task_BlendPalettesGradually);
|
||||
if (taskId == TASK_NONE)
|
||||
break;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80718B8(u8 taskId)
|
||||
static void Task_BlendPalettesGradually(u8 taskId)
|
||||
{
|
||||
u32 wordVar;
|
||||
u32 palettes;
|
||||
s16 *data;
|
||||
s16 temp;
|
||||
s16 target;
|
||||
|
||||
data = gTasks[taskId].data;
|
||||
wordVar = GetWordTaskArg(taskId, 5);
|
||||
if (++data[4] > data[3])
|
||||
palettes = GetWordTaskArg(taskId, IDX_PALETTES);
|
||||
if (++tDelayTimer > tDelay)
|
||||
{
|
||||
data[4] = 0;
|
||||
BlendPalettes(wordVar, data[0], data[7]);
|
||||
temp = data[1];
|
||||
if (data[0] == temp)
|
||||
tDelayTimer = 0;
|
||||
BlendPalettes(palettes, tCoeff, tColor);
|
||||
target = tCoeffTarget;
|
||||
if (tCoeff == target)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
else
|
||||
{
|
||||
data[0] += data[2];
|
||||
if (data[2] >= 0)
|
||||
tCoeff += tCoeffDelta;
|
||||
if (tCoeffDelta >= 0)
|
||||
{
|
||||
if (data[0] < temp)
|
||||
if (tCoeff < target)
|
||||
return;
|
||||
}
|
||||
else if (data[0] > temp)
|
||||
else if (tCoeff > target)
|
||||
{
|
||||
return;
|
||||
}
|
||||
data[0] = temp;
|
||||
tCoeff = target;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -3532,8 +3532,8 @@ static const u8 sVenusaurStates[] = {
|
||||
[VINE_UPSWING_HIGHER] = VENUSAUR_UP,
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet sSpriteSheet_Digits = {gUnknown_8479688, 0, TAG_DIGITS};
|
||||
static const struct SpritePalette sSpritePalette_Digits = {gUnknown_8479668, TAG_DIGITS};
|
||||
static const struct CompressedSpriteSheet sSpriteSheet_Digits = {gMinigameDigits_Gfx, 0, TAG_DIGITS};
|
||||
static const struct SpritePalette sSpritePalette_Digits = {gMinigameDigits_Pal, TAG_DIGITS};
|
||||
|
||||
static const u16 sPlayerNameWindowCoords_2Players[] = {
|
||||
6, 8,
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "pokemon_special_anim_internal.h"
|
||||
#include "random.h"
|
||||
#include "strings.h"
|
||||
#include "text_window.h"
|
||||
#include "trig.h"
|
||||
@@ -1308,7 +1309,7 @@ static void Task_UseItem_OutwardSpiralDots(u8 taskId)
|
||||
static u16 PSAScene_RandomFromTask(u8 taskId)
|
||||
{
|
||||
u32 state = GetWordTaskArg(taskId, tOff_RngState);
|
||||
state = state * 1103515245 + 24691;
|
||||
state = ISO_RANDOMIZE1(state);
|
||||
SetWordTaskArg(taskId, tOff_RngState, state);
|
||||
return state >> 16;
|
||||
}
|
||||
@@ -1446,8 +1447,7 @@ static void CreateLevelUpVerticalSprite(u8 taskId, s16 *data)
|
||||
{
|
||||
gSprites[spriteId].oam.priority = tPriority;
|
||||
gSprites[spriteId].tsYsubpixel = 0;
|
||||
// similar to the LCRNG in random.c, but seeding from data[2]
|
||||
gSprites[spriteId].tsSpeed = ((tMadeSprCt * 1103515245 + 24691) & 0x3F) + 0x20;
|
||||
gSprites[spriteId].tsSpeed = (ISO_RANDOMIZE1(tMadeSprCt) & 0x3F) + 0x20;
|
||||
gSprites[spriteId].tsTaskId = taskId;
|
||||
tActiveSprCt++;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1199,8 +1199,8 @@ static bool8 sub_81121D8(u8 taskId)
|
||||
if (data[1] > 15)
|
||||
return TRUE;
|
||||
|
||||
sub_80716F8(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 0x0F - data[1]);
|
||||
sub_80716F8(gPlttBufferUnfaded + 0x100, gPlttBufferFaded + 0x100, 0x100, 0x0F - data[1]);
|
||||
CopyPaletteInvertedTint(gPlttBufferUnfaded + 0x01, gPlttBufferFaded + 0x01, 0xDF, 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[1], 0x00, 0, data[1], sQuestLogHeaderWindowTemplates[1].width * 8, 1);
|
||||
CopyWindowToVram(sQuestLogHeaderWindowIds[0], COPYWIN_GFX);
|
||||
|
||||
+3
-3
@@ -594,7 +594,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s
|
||||
if (item != INDEX_CANCEL)
|
||||
CreateItemMenuIcon(item, gShopData.itemSlot);
|
||||
else
|
||||
CreateItemMenuIcon(ITEM_N_A, gShopData.itemSlot);
|
||||
CreateItemMenuIcon(ITEMS_COUNT, gShopData.itemSlot);
|
||||
|
||||
gShopData.itemSlot ^= 1;
|
||||
BuyMenuPrint(5, FONT_2, description, 0, 3, 2, 1, 0, 0);
|
||||
@@ -751,9 +751,9 @@ static void BuyMenuDrawMapBg(void)
|
||||
metatileLayerType = MapGridGetMetatileLayerTypeAt(x + i, y + j);
|
||||
|
||||
if (metatile < NUM_METATILES_IN_PRIMARY)
|
||||
BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType);
|
||||
BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType);
|
||||
else
|
||||
BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType);
|
||||
BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-48
@@ -5,6 +5,9 @@
|
||||
|
||||
#define OAM_MATRIX_COUNT 32
|
||||
|
||||
#define sAnchorX data[6]
|
||||
#define sAnchorY data[7]
|
||||
|
||||
#define SET_SPRITE_TILE_RANGE(index, start, count) \
|
||||
{ \
|
||||
sSpriteTileRanges[index * 2] = start; \
|
||||
@@ -83,7 +86,7 @@ static void ApplyAffineAnimFrame(u8 matrixNum, struct AffineAnimFrameCmd *frameC
|
||||
static u8 IndexOfSpriteTileTag(u16 tag);
|
||||
static void AllocSpriteTileRange(u16 tag, u16 start, u16 count);
|
||||
static void DoLoadSpritePalette(const u16 *src, u16 paletteOffset);
|
||||
static void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2);
|
||||
static void UpdateSpriteMatrixAnchorPos(struct Sprite* sprite, s32 a1, s32 a2);
|
||||
|
||||
typedef void (*AnimFunc)(struct Sprite *);
|
||||
typedef void (*AnimCmdFunc)(struct Sprite *);
|
||||
@@ -161,41 +164,11 @@ static const struct Sprite sDummySprite =
|
||||
{
|
||||
.oam = DUMMY_OAM_DATA,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.template = &gDummySpriteTemplate,
|
||||
.subspriteTables = NULL,
|
||||
.callback = SpriteCallbackDummy,
|
||||
.x = 304, .y = 160,
|
||||
.x2 = 0, .y2 = 0,
|
||||
.centerToCornerVecX = 0,
|
||||
.centerToCornerVecY = 0,
|
||||
.animNum = 0,
|
||||
.animCmdIndex = 0,
|
||||
.animDelayCounter = 0,
|
||||
.animPaused = 0,
|
||||
.affineAnimPaused = 0,
|
||||
.animLoopCounter = 0,
|
||||
.data = {0, 0, 0, 0, 0, 0, 0},
|
||||
.inUse = 0,
|
||||
.coordOffsetEnabled = 0,
|
||||
.invisible = 0,
|
||||
.flags_3 = 0,
|
||||
.flags_4 = 0,
|
||||
.flags_5 = 0,
|
||||
.flags_6 = 0,
|
||||
.flags_7 = 0,
|
||||
.hFlip = 0,
|
||||
.vFlip = 0,
|
||||
.animBeginning = 0,
|
||||
.affineAnimBeginning = 0,
|
||||
.animEnded = 0,
|
||||
.affineAnimEnded = 0,
|
||||
.usingSheet = 0,
|
||||
.flags_f = 0,
|
||||
.sheetTileStart = 0,
|
||||
.subspriteTableNum = 0,
|
||||
.subspriteMode = 0,
|
||||
.x = DISPLAY_WIDTH + 64,
|
||||
.y = DISPLAY_HEIGHT,
|
||||
.subpriority = 0xFF
|
||||
};
|
||||
|
||||
@@ -212,7 +185,7 @@ const union AffineAnimCmd * const gDummySpriteAffineAnimTable[] = { &sDummyAffin
|
||||
const struct SpriteTemplate gDummySpriteTemplate =
|
||||
{
|
||||
.tileTag = 0,
|
||||
.paletteTag = 0xFFFF,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gDummyOamData,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
@@ -1099,8 +1072,8 @@ void BeginAffineAnim(struct Sprite *sprite)
|
||||
sprite->affineAnimEnded = FALSE;
|
||||
ApplyAffineAnimFrame(matrixNum, &frameCmd);
|
||||
sAffineAnimStates[matrixNum].delayCounter = frameCmd.duration;
|
||||
if (sprite->flags_f)
|
||||
obj_update_pos2(sprite, sprite->data[6], sprite->data[7]);
|
||||
if (sprite->anchored)
|
||||
UpdateSpriteMatrixAnchorPos(sprite, sprite->sAnchorX, sprite->sAnchorY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1125,8 +1098,8 @@ void ContinueAffineAnim(struct Sprite *sprite)
|
||||
funcIndex = type - 32765;
|
||||
sAffineAnimCmdFuncs[funcIndex](matrixNum, sprite);
|
||||
}
|
||||
if (sprite->flags_f)
|
||||
obj_update_pos2(sprite, sprite->data[6], sprite->data[7]);
|
||||
if (sprite->anchored)
|
||||
UpdateSpriteMatrixAnchorPos(sprite, sprite->sAnchorX, sprite->sAnchorY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1220,14 +1193,14 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite)
|
||||
return matrixNum;
|
||||
}
|
||||
|
||||
void obj_pos2_update_enable(struct Sprite* sprite, s16 xmod, s16 ymod)
|
||||
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y)
|
||||
{
|
||||
sprite->data[6] = xmod;
|
||||
sprite->data[7] = ymod;
|
||||
sprite->flags_f = 1;
|
||||
sprite->sAnchorX = x;
|
||||
sprite->sAnchorY = y;
|
||||
sprite->anchored = TRUE;
|
||||
}
|
||||
|
||||
static s32 affine_get_new_pos2(s32 baseDim, s32 xformed, s32 modifier)
|
||||
static s32 GetAnchorCoord(s32 baseDim, s32 xformed, s32 modifier)
|
||||
{
|
||||
s32 subResult, shiftResult;
|
||||
|
||||
@@ -1239,24 +1212,24 @@ static s32 affine_get_new_pos2(s32 baseDim, s32 xformed, s32 modifier)
|
||||
return modifier - ((u32)(modifier * xformed) / (u32)(baseDim) + shiftResult);
|
||||
}
|
||||
|
||||
static void obj_update_pos2(struct Sprite *sprite, s32 xmod, s32 ymod)
|
||||
static void UpdateSpriteMatrixAnchorPos(struct Sprite *sprite, s32 x, s32 y)
|
||||
{
|
||||
s32 dim, baseDim, xFormed;
|
||||
|
||||
u32 matrixNum = sprite->oam.matrixNum;
|
||||
if (xmod != 0x800)
|
||||
if (x != NO_ANCHOR)
|
||||
{
|
||||
dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][0];
|
||||
baseDim = dim << 8;
|
||||
xFormed = (dim << 16) / gOamMatrices[matrixNum].a;
|
||||
sprite->x2 = affine_get_new_pos2(baseDim, xFormed, xmod);
|
||||
sprite->x2 = GetAnchorCoord(baseDim, xFormed, x);
|
||||
}
|
||||
if (ymod != 0x800)
|
||||
if (y != NO_ANCHOR)
|
||||
{
|
||||
dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][1];
|
||||
baseDim = dim << 8;
|
||||
xFormed = (dim << 16) / gOamMatrices[matrixNum].d;
|
||||
sprite->y2 = affine_get_new_pos2(baseDim, xFormed, ymod);
|
||||
sprite->y2 = GetAnchorCoord(baseDim, xFormed, y);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+17
-17
@@ -96,7 +96,7 @@ static void TeachyTvRestorePlayerPartyCallback(void);
|
||||
static void TeachyTvPreBattleAnimAndSetBattleCallback(u8 taskId);
|
||||
static void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u16 size);
|
||||
static void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapLayout *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset);
|
||||
static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset);
|
||||
static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(const u16 *metaTilesArray, u8 *blockBuf, u8 *tileset);
|
||||
static void TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(u8 *blockBuf, u8 *tileset, u8 metaTile);
|
||||
static u16 TeachyTvComputePalIndexArrayEntryByMetaTile(u8 *palIndexArrayBuf, u16 metaTile);
|
||||
static void TeachyTvLoadMapPalette(const struct MapLayout * mStruct, const u8 *palIndexArray);
|
||||
@@ -1225,12 +1225,12 @@ static void TeachyTvLoadBg3Map(u16 *buffer)
|
||||
u16 numMapTilesRows = 0;
|
||||
const struct MapLayout *layout = &Route1_Layout;
|
||||
u16 * blockIndicesBuffer = AllocZeroed(0x800);
|
||||
tilesetsBuffer = AllocZeroed(0x8000);
|
||||
tilesetsBuffer = AllocZeroed(NUM_TILES_TOTAL * TILE_SIZE_4BPP);
|
||||
palIndicesBuffer = Alloc(16);
|
||||
memset(palIndicesBuffer, 0xFF, 16);
|
||||
|
||||
TeachyTvLoadMapTilesetToBuffer(layout->primaryTileset, tilesetsBuffer, 0x280);
|
||||
TeachyTvLoadMapTilesetToBuffer(layout->secondaryTileset, tilesetsBuffer + 0x5000, 0x180);
|
||||
TeachyTvLoadMapTilesetToBuffer(layout->primaryTileset, tilesetsBuffer, NUM_TILES_IN_PRIMARY);
|
||||
TeachyTvLoadMapTilesetToBuffer(layout->secondaryTileset, tilesetsBuffer + NUM_TILES_IN_PRIMARY * TILE_SIZE_4BPP, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY);
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
@@ -1258,14 +1258,10 @@ static void TeachyTvLoadBg3Map(u16 *buffer)
|
||||
for (i = 0; i < numMapTilesRows; i++)
|
||||
{
|
||||
memset(mapTilesRowBuffer, 0, 0x80);
|
||||
if (blockIndicesBuffer[i] < 0x280)
|
||||
{
|
||||
TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->primaryTileset->metatiles + blockIndicesBuffer[i] * 16, mapTilesRowBuffer, tilesetsBuffer);
|
||||
}
|
||||
if (blockIndicesBuffer[i] < NUM_METATILES_IN_PRIMARY)
|
||||
TeachyTvComputeMapTilesFromTilesetAndMetaTiles((const void *)layout->primaryTileset->metatiles + blockIndicesBuffer[i] * 16, mapTilesRowBuffer, tilesetsBuffer);
|
||||
else
|
||||
{
|
||||
TeachyTvComputeMapTilesFromTilesetAndMetaTiles(layout->secondaryTileset->metatiles + (blockIndicesBuffer[i] - 0x280) * 16, mapTilesRowBuffer, tilesetsBuffer);
|
||||
}
|
||||
TeachyTvComputeMapTilesFromTilesetAndMetaTiles((const void *)layout->secondaryTileset->metatiles + (blockIndicesBuffer[i] - NUM_METATILES_IN_PRIMARY) * 16, mapTilesRowBuffer, tilesetsBuffer);
|
||||
CpuFastCopy(mapTilesRowBuffer, bgTilesBuffer + i * 0x40, 0x80);
|
||||
}
|
||||
|
||||
@@ -1292,14 +1288,18 @@ static void TeachyTvLoadMapTilesetToBuffer(struct Tileset *ts, u8 *dstBuffer, u1
|
||||
|
||||
static void TeachyTvPushBackNewMapPalIndexArrayEntry(const struct MapLayout *mStruct, u16 *buf1, u8 *palIndexArray, u16 mapEntry, u16 offset)
|
||||
{
|
||||
u16 * metaTileEntryAddr = mapEntry < 0x280 ? &((u16 *)(mStruct->primaryTileset->metatiles))[8 * mapEntry] : &((u16 *)(mStruct->secondaryTileset->metatiles))[8 * (mapEntry - 0x280)];
|
||||
const u16 * metaTileEntryAddr;
|
||||
if (mapEntry < NUM_METATILES_IN_PRIMARY)
|
||||
metaTileEntryAddr = &mStruct->primaryTileset->metatiles[8 * mapEntry];
|
||||
else
|
||||
metaTileEntryAddr = &mStruct->secondaryTileset->metatiles[8 * (mapEntry - NUM_METATILES_IN_PRIMARY)];
|
||||
buf1[0] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[0]) << 12) + 4 * offset;
|
||||
buf1[1] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[1]) << 12) + 4 * offset + 1;
|
||||
buf1[32] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[2]) << 12) + 4 * offset + 2;
|
||||
buf1[33] = (TeachyTvComputePalIndexArrayEntryByMetaTile(palIndexArray, metaTileEntryAddr[3]) << 12) + 4 * offset + 3;
|
||||
}
|
||||
|
||||
static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(u16 *metaTilesArray, u8 *blockBuf, u8 *tileset)
|
||||
static void TeachyTvComputeMapTilesFromTilesetAndMetaTiles(const u16 *metaTilesArray, u8 *blockBuf, u8 *tileset)
|
||||
{
|
||||
TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (*metaTilesArray & 0x3FF)], (*metaTilesArray >> 10) & 3);
|
||||
TeachyTvComputeSingleMapTileBlockFromTilesetAndMetaTiles(blockBuf, &tileset[0x20 * (metaTilesArray[4] & 0x3FF)], (metaTilesArray[4] >> 10) & 3);
|
||||
@@ -1384,16 +1384,16 @@ static void TeachyTvLoadMapPalette(const struct MapLayout * mStruct, const u8 *
|
||||
{
|
||||
u8 i;
|
||||
const struct Tileset * ts;
|
||||
u16 * dest;
|
||||
const u16 * dest;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
{
|
||||
if (palIndexArray[i] == 0xFF)
|
||||
break;
|
||||
if (palIndexArray[i] > 6)
|
||||
dest = (u16 *)mStruct->secondaryTileset->palettes + 0x10 * palIndexArray[i];
|
||||
if (palIndexArray[i] >= NUM_PALS_IN_PRIMARY)
|
||||
dest = mStruct->secondaryTileset->palettes[palIndexArray[i]];
|
||||
else
|
||||
dest = (u16 *)mStruct->primaryTileset->palettes + 0x10 * palIndexArray[i];
|
||||
dest = mStruct->primaryTileset->palettes[palIndexArray[i]];
|
||||
LoadPalette(dest, 0x10 * (15 - i), 0x20);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "tilesets.h"
|
||||
#include "tileset_anims.h"
|
||||
|
||||
#include "data/tilesets/graphics.h"
|
||||
#include "data/tilesets/metatiles.h"
|
||||
#include "data/tilesets/headers.h"
|
||||
+15
-14
@@ -9,6 +9,7 @@
|
||||
#include "intro.h"
|
||||
#include "load_save.h"
|
||||
#include "new_game.h"
|
||||
#include "random.h"
|
||||
#include "save.h"
|
||||
#include "main_menu.h"
|
||||
#include "clear_save_data_screen.h"
|
||||
@@ -518,15 +519,15 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
|
||||
if (data[2] > 36)
|
||||
{
|
||||
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[1]++;
|
||||
}
|
||||
break;
|
||||
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]++;
|
||||
}
|
||||
break;
|
||||
@@ -535,14 +536,14 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
|
||||
if (data[2] > 20)
|
||||
{
|
||||
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]++;
|
||||
}
|
||||
break;
|
||||
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]++;
|
||||
}
|
||||
break;
|
||||
@@ -551,12 +552,12 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
|
||||
if (data[2] > 20)
|
||||
{
|
||||
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]++;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if (!sub_807185C(0))
|
||||
if (!IsBlendPalettesGraduallyTaskActive(0))
|
||||
{
|
||||
data[5] = 1;
|
||||
r4 = (0x10000 << CreateBlankSprite()) | 0x00001FFF;
|
||||
@@ -564,12 +565,12 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
|
||||
BeginNormalPaletteFade(r4, 1, 0x10, 0x00, RGB(30, 30, 31));
|
||||
ShowBg(0);
|
||||
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]++;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (!sub_807185C(0) && !gPaletteFade.active)
|
||||
if (!IsBlendPalettesGraduallyTaskActive(0) && !gPaletteFade.active)
|
||||
{
|
||||
SetTitleScreenScene(data, TITLESCREENSCENE_RUN);
|
||||
}
|
||||
@@ -662,7 +663,7 @@ static void SetTitleScreenScene_Restart(s16 * data)
|
||||
case 4:
|
||||
HelpSystem_Disable();
|
||||
DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain));
|
||||
SetMainCallback2(CB2_CopyrightScreen);
|
||||
SetMainCallback2(CB2_InitCopyrightScreenAfterTitleScreen);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -871,7 +872,7 @@ static void LoadMainTitleScreenPalsAndResetBgs(void)
|
||||
if (taskId != 0xFF)
|
||||
DestroyTask(taskId);
|
||||
|
||||
sub_8071898();
|
||||
DestroyBlendPalettesGraduallyTask();
|
||||
ResetPaletteFadeControl();
|
||||
LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0x00, 0x1A0);
|
||||
LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20);
|
||||
@@ -896,7 +897,7 @@ static void CB2_FadeOutTransitionToBerryFix(void)
|
||||
if (!UpdatePaletteFade())
|
||||
{
|
||||
m4aMPlayAllStop();
|
||||
SetMainCallback2(mb_berry_fix_serve);
|
||||
SetMainCallback2(CB2_InitBerryFixProgram);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1121,7 +1122,7 @@ static u16 TitleScreen_rand(u8 taskId, u8 field)
|
||||
u32 rngval;
|
||||
|
||||
rngval = GetWordTaskArg(taskId, field);
|
||||
rngval = rngval * 1103515245 + 24691;
|
||||
rngval = ISO_RANDOMIZE1(rngval);
|
||||
SetWordTaskArg(taskId, field, rngval);
|
||||
return rngval >> 16;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "wild_encounter.h"
|
||||
#include "event_data.h"
|
||||
#include "fieldmap.h"
|
||||
#include "random.h"
|
||||
#include "roamer.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "battle_setup.h"
|
||||
@@ -109,13 +110,6 @@ static u8 ChooseWildMonIndex_WaterRock(void)
|
||||
return 4;
|
||||
}
|
||||
|
||||
enum
|
||||
{
|
||||
OLD_ROD,
|
||||
GOOD_ROD,
|
||||
SUPER_ROD
|
||||
};
|
||||
|
||||
static u8 ChooseWildMonIndex_Fishing(u8 rod)
|
||||
{
|
||||
u8 wildMonIndex = 0;
|
||||
@@ -668,8 +662,7 @@ void SeedWildEncounterRng(u16 seed)
|
||||
|
||||
static u16 WildEncounterRandom(void)
|
||||
{
|
||||
sWildEncounterData.rngState *= 1103515245;
|
||||
sWildEncounterData.rngState += 12345;
|
||||
sWildEncounterData.rngState = ISO_RANDOMIZE2(sWildEncounterData.rngState);
|
||||
return sWildEncounterData.rngState >> 16;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user