PSS sync
This commit is contained in:
@@ -27,11 +27,12 @@ enum
|
|||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
BOX_OPTION_WITHDRAW,
|
OPTION_WITHDRAW,
|
||||||
BOX_OPTION_DEPOSIT,
|
OPTION_DEPOSIT,
|
||||||
BOX_OPTION_MOVE_MONS,
|
OPTION_MOVE_MONS,
|
||||||
BOX_OPTION_MOVE_ITEMS,
|
OPTION_MOVE_ITEMS,
|
||||||
BOX_OPTION_EXIT,
|
OPTION_EXIT,
|
||||||
|
OPTIONS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@@ -208,9 +209,9 @@ struct UnkUtilData
|
|||||||
|
|
||||||
struct UnkUtil
|
struct UnkUtil
|
||||||
{
|
{
|
||||||
struct UnkUtilData *unk_00;
|
struct UnkUtilData *data;
|
||||||
u8 unk_04;
|
u8 numActive;
|
||||||
u8 unk_05;
|
u8 max;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PSS_ItemIconSprite
|
struct PSS_ItemIconSprite
|
||||||
@@ -437,7 +438,7 @@ bool8 sub_8095050(void);
|
|||||||
void sub_80950A4(void);
|
void sub_80950A4(void);
|
||||||
void sub_80950BC(u8 a0);
|
void sub_80950BC(u8 a0);
|
||||||
bool8 sub_80950D0(void);
|
bool8 sub_80950D0(void);
|
||||||
void sub_8095B5C(void);
|
void CreateItemIconSprites(void);
|
||||||
void sub_8096088(void);
|
void sub_8096088(void);
|
||||||
void sub_80960C0(void);
|
void sub_80960C0(void);
|
||||||
bool8 sub_809610C(void);
|
bool8 sub_809610C(void);
|
||||||
@@ -445,8 +446,8 @@ const u8 *GetMovingItemName(void);
|
|||||||
void InitItemInfoWindow(void);
|
void InitItemInfoWindow(void);
|
||||||
bool8 UpdateItemInfoWindowSlideIn(void);
|
bool8 UpdateItemInfoWindowSlideIn(void);
|
||||||
bool8 UpdateItemInfoWindowSlideOut(void);
|
bool8 UpdateItemInfoWindowSlideOut(void);
|
||||||
void sub_8096BE4(struct UnkUtil *arg0, struct UnkUtilData *arg1, u32 arg2);
|
void UnkUtil_Init(struct UnkUtil *arg0, struct UnkUtilData *arg1, u32 arg2);
|
||||||
void sub_8096BF8(void);
|
void UnkUtil_Run(void);
|
||||||
void AddMenu(void);
|
void AddMenu(void);
|
||||||
bool8 CanMovePartyMon(void);
|
bool8 CanMovePartyMon(void);
|
||||||
bool8 CanShiftMon(void);
|
bool8 CanShiftMon(void);
|
||||||
|
|||||||
@@ -15,16 +15,6 @@
|
|||||||
#include "constants/field_weather.h"
|
#include "constants/field_weather.h"
|
||||||
#include "constants/help_system.h"
|
#include "constants/help_system.h"
|
||||||
|
|
||||||
// PC main menu options
|
|
||||||
enum {
|
|
||||||
OPTION_WITHDRAW,
|
|
||||||
OPTION_DEPOSIT,
|
|
||||||
OPTION_MOVE_MONS,
|
|
||||||
OPTION_MOVE_ITEMS,
|
|
||||||
OPTION_EXIT,
|
|
||||||
OPTIONS_COUNT
|
|
||||||
};
|
|
||||||
|
|
||||||
static EWRAM_DATA u8 sPreviousBoxOption = 0;
|
static EWRAM_DATA u8 sPreviousBoxOption = 0;
|
||||||
static EWRAM_DATA struct ChooseBoxMenu *sBoxSelectionPopupSpriteManager = NULL;
|
static EWRAM_DATA struct ChooseBoxMenu *sBoxSelectionPopupSpriteManager = NULL;
|
||||||
|
|
||||||
|
|||||||
@@ -349,7 +349,7 @@ static void VblankCb_PSS(void)
|
|||||||
{
|
{
|
||||||
LoadOam();
|
LoadOam();
|
||||||
ProcessSpriteCopyRequests();
|
ProcessSpriteCopyRequests();
|
||||||
sub_8096BF8();
|
UnkUtil_Run();
|
||||||
TransferPlttBuffer();
|
TransferPlttBuffer();
|
||||||
SetGpuReg(REG_OFFSET_BG2HOFS, gPSSData->bg2_X);
|
SetGpuReg(REG_OFFSET_BG2HOFS, gPSSData->bg2_X);
|
||||||
}
|
}
|
||||||
@@ -421,7 +421,7 @@ static void sub_808CF10(void)
|
|||||||
FreeAllSpritePalettes();
|
FreeAllSpritePalettes();
|
||||||
ClearDma3Requests();
|
ClearDma3Requests();
|
||||||
gReservedSpriteTileCount = 0x280;
|
gReservedSpriteTileCount = 0x280;
|
||||||
sub_8096BE4(&gPSSData->unkUtil, gPSSData->unkUtilData, 8);
|
UnkUtil_Init(&gPSSData->unkUtil, gPSSData->unkUtilData, 8);
|
||||||
gKeyRepeatStartDelay = 20;
|
gKeyRepeatStartDelay = 20;
|
||||||
ClearScheduledBgCopiesToVram();
|
ClearScheduledBgCopiesToVram();
|
||||||
AllocBoxPartyPokemonDropdowns(3);
|
AllocBoxPartyPokemonDropdowns(3);
|
||||||
@@ -433,13 +433,13 @@ static void sub_808CF10(void)
|
|||||||
static void sub_808CF94(void)
|
static void sub_808CF94(void)
|
||||||
{
|
{
|
||||||
sub_8092B50();
|
sub_8092B50();
|
||||||
sInPartyMenu = gPSSData->boxOption == BOX_OPTION_DEPOSIT;
|
sInPartyMenu = gPSSData->boxOption == OPTION_DEPOSIT;
|
||||||
gUnknown_20397B6 = 0;
|
gUnknown_20397B6 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_808CFC4(void)
|
static void sub_808CFC4(void)
|
||||||
{
|
{
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL);
|
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL);
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(7, 11));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(7, 11));
|
||||||
@@ -529,7 +529,7 @@ static void Cb_InitPSS(u8 taskId)
|
|||||||
if (sub_809140C())
|
if (sub_809140C())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
gPSSData->markMenu.baseTileTag = TAG_TILE_D;
|
gPSSData->markMenu.baseTileTag = TAG_TILE_D;
|
||||||
gPSSData->markMenu.basePaletteTag = TAG_PAL_DACE;
|
gPSSData->markMenu.basePaletteTag = TAG_PAL_DACE;
|
||||||
@@ -538,7 +538,7 @@ static void Cb_InitPSS(u8 taskId)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_8095B5C();
|
CreateItemIconSprites();
|
||||||
sub_808FDFC();
|
sub_808FDFC();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -608,7 +608,7 @@ static void Cb_MainPSS(u8 taskId)
|
|||||||
gPSSData->state = 1;
|
gPSSData->state = 1;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_MONS && gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_MONS && gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
PrintStorageActionText(PC_TEXT_WHICH_ONE_WILL_TAKE);
|
PrintStorageActionText(PC_TEXT_WHICH_ONE_WILL_TAKE);
|
||||||
gPSSData->state = 3;
|
gPSSData->state = 3;
|
||||||
@@ -620,14 +620,14 @@ static void Cb_MainPSS(u8 taskId)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_MONS)
|
if (gPSSData->boxOption == OPTION_MOVE_MONS)
|
||||||
{
|
{
|
||||||
if (IsMonBeingMoved() && ItemIsMail(gPSSData->displayMonItemId))
|
if (IsMonBeingMoved() && ItemIsMail(gPSSData->displayMonItemId))
|
||||||
gPSSData->state = 5;
|
gPSSData->state = 5;
|
||||||
else
|
else
|
||||||
SetPSSCallback(Cb_HidePartyPokemon);
|
SetPSSCallback(Cb_HidePartyPokemon);
|
||||||
}
|
}
|
||||||
else if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
else if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
SetPSSCallback(Cb_HidePartyPokemon);
|
SetPSSCallback(Cb_HidePartyPokemon);
|
||||||
}
|
}
|
||||||
@@ -650,7 +650,7 @@ static void Cb_MainPSS(u8 taskId)
|
|||||||
gPSSData->newCurrBoxId = StorageGetCurrentBox() + 1;
|
gPSSData->newCurrBoxId = StorageGetCurrentBox() + 1;
|
||||||
if (gPSSData->newCurrBoxId >= TOTAL_BOXES_COUNT)
|
if (gPSSData->newCurrBoxId >= TOTAL_BOXES_COUNT)
|
||||||
gPSSData->newCurrBoxId = 0;
|
gPSSData->newCurrBoxId = 0;
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
SetUpScrollToBox(gPSSData->newCurrBoxId);
|
SetUpScrollToBox(gPSSData->newCurrBoxId);
|
||||||
gPSSData->state = 2;
|
gPSSData->state = 2;
|
||||||
@@ -666,7 +666,7 @@ static void Cb_MainPSS(u8 taskId)
|
|||||||
gPSSData->newCurrBoxId = StorageGetCurrentBox() - 1;
|
gPSSData->newCurrBoxId = StorageGetCurrentBox() - 1;
|
||||||
if (gPSSData->newCurrBoxId < 0)
|
if (gPSSData->newCurrBoxId < 0)
|
||||||
gPSSData->newCurrBoxId = TOTAL_BOXES_COUNT - 1;
|
gPSSData->newCurrBoxId = TOTAL_BOXES_COUNT - 1;
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
SetUpScrollToBox(gPSSData->newCurrBoxId);
|
SetUpScrollToBox(gPSSData->newCurrBoxId);
|
||||||
gPSSData->state = 2;
|
gPSSData->state = 2;
|
||||||
@@ -794,7 +794,7 @@ static void Cb_MainPSS(u8 taskId)
|
|||||||
BoxSetMosaic();
|
BoxSetMosaic();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
sub_8094D84();
|
sub_8094D84();
|
||||||
gPSSData->state = 11;
|
gPSSData->state = 11;
|
||||||
@@ -909,7 +909,7 @@ static void Cb_OnSelectedMon(u8 taskId)
|
|||||||
if (!BoxGetMosaic())
|
if (!BoxGetMosaic())
|
||||||
{
|
{
|
||||||
PlaySE(SE_SELECT);
|
PlaySE(SE_SELECT);
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
PrintStorageActionText(PC_TEXT_IS_SELECTED);
|
PrintStorageActionText(PC_TEXT_IS_SELECTED);
|
||||||
else if (IsActiveItemMoving() || gPSSData->displayMonItemId != 0)
|
else if (IsActiveItemMoving() || gPSSData->displayMonItemId != 0)
|
||||||
PrintStorageActionText(PC_TEXT_IS_SELECTED2);
|
PrintStorageActionText(PC_TEXT_IS_SELECTED2);
|
||||||
@@ -2041,7 +2041,7 @@ static void Cb_ChangeScreen(u8 taskId)
|
|||||||
u8 mode, monIndex, maxMonIndex;
|
u8 mode, monIndex, maxMonIndex;
|
||||||
u8 screenChangeType = gPSSData->screenChangeType;
|
u8 screenChangeType = gPSSData->screenChangeType;
|
||||||
|
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS && IsActiveItemMoving() == TRUE)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS && IsActiveItemMoving() == TRUE)
|
||||||
gUnknown_20397BA = GetMovingItem();
|
gUnknown_20397BA = GetMovingItem();
|
||||||
else
|
else
|
||||||
gUnknown_20397BA = ITEM_NONE;
|
gUnknown_20397BA = ITEM_NONE;
|
||||||
@@ -2149,7 +2149,7 @@ static void sub_808F078(void)
|
|||||||
LoadPalette(gUnknown_8E9C3F8, 0, 0x20);
|
LoadPalette(gUnknown_8E9C3F8, 0, 0x20);
|
||||||
LoadPalette(gUnknown_8E9C418, 0x20, 0x20);
|
LoadPalette(gUnknown_8E9C418, 0x20, 0x20);
|
||||||
LoadPalette(gUnknown_83CEA10, 0xF0, 0x20);
|
LoadPalette(gUnknown_83CEA10, 0xF0, 0x20);
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
LoadPalette(gUnknown_83CE738, 0x30, 0x20);
|
LoadPalette(gUnknown_83CE738, 0x30, 0x20);
|
||||||
else
|
else
|
||||||
LoadPalette(gUnknown_83CE758, 0x30, 0x20);
|
LoadPalette(gUnknown_83CE758, 0x30, 0x20);
|
||||||
@@ -2290,7 +2290,7 @@ static void PrintCursorMonInfo(void)
|
|||||||
u16 i;
|
u16 i;
|
||||||
u16 y;
|
u16 y;
|
||||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
for (i = 0, y = 0; i < 3; i++, y += 14)
|
for (i = 0, y = 0; i < 3; i++, y += 14)
|
||||||
{
|
{
|
||||||
@@ -2403,7 +2403,7 @@ static void SetUpHidePartyMenu(void)
|
|||||||
gPSSData->partyMenuUnused1 = 0;
|
gPSSData->partyMenuUnused1 = 0;
|
||||||
gPSSData->partyMenuY = 22;
|
gPSSData->partyMenuY = 22;
|
||||||
gPSSData->partyMenuMoveTimer = 0;
|
gPSSData->partyMenuMoveTimer = 0;
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
sub_80960C0();
|
sub_80960C0();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ static void sub_80900D4(u8 boxId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++)
|
for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++)
|
||||||
{
|
{
|
||||||
@@ -335,7 +335,7 @@ void sub_80901EC(u8 boxPosition)
|
|||||||
u32 personality = GetCurrentBoxMonData(boxPosition, MON_DATA_PERSONALITY);
|
u32 personality = GetCurrentBoxMonData(boxPosition, MON_DATA_PERSONALITY);
|
||||||
|
|
||||||
gPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(species, personality, x, y, 2, 19 - (boxPosition % IN_BOX_ROWS));
|
gPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(species, personality, x, y, 2, 19 - (boxPosition % IN_BOX_ROWS));
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
gPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND;
|
gPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -411,7 +411,7 @@ static u8 sub_80903A4(u8 row, u16 times, s16 xDelta)
|
|||||||
u8 count = 0;
|
u8 count = 0;
|
||||||
u8 boxPosition = row;
|
u8 boxPosition = row;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
for (i = 0; i < IN_BOX_COLUMNS; i++)
|
for (i = 0; i < IN_BOX_COLUMNS; i++)
|
||||||
{
|
{
|
||||||
@@ -591,7 +591,7 @@ void CreatePartyMonsSprites(bool8 arg0)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
for (i = 0; i < PARTY_SIZE; i++)
|
for (i = 0; i < PARTY_SIZE; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ static const u16 sHandCursorShadowTiles[] = INCBIN_U16("graphics/interface/pss_u
|
|||||||
|
|
||||||
void sub_80922C0(void)
|
void sub_80922C0(void)
|
||||||
{
|
{
|
||||||
if (gPSSData->boxOption != BOX_OPTION_DEPOSIT)
|
if (gPSSData->boxOption != OPTION_DEPOSIT)
|
||||||
sBoxCursorArea = CURSOR_AREA_IN_BOX;
|
sBoxCursorArea = CURSOR_AREA_IN_BOX;
|
||||||
else
|
else
|
||||||
sBoxCursorArea = CURSOR_AREA_IN_PARTY;
|
sBoxCursorArea = CURSOR_AREA_IN_PARTY;
|
||||||
@@ -140,7 +140,7 @@ bool8 sub_80924A8(void)
|
|||||||
|
|
||||||
if (gPSSData->cursorMoveSteps == 0)
|
if (gPSSData->cursorMoveSteps == 0)
|
||||||
{
|
{
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
else
|
else
|
||||||
return sub_809610C();
|
return sub_809610C();
|
||||||
@@ -245,7 +245,7 @@ static void sub_80927E8(u8 newCurosrArea, u8 newCursorPosition)
|
|||||||
{
|
{
|
||||||
sub_8092604(newCurosrArea, newCursorPosition);
|
sub_8092604(newCurosrArea, newCursorPosition);
|
||||||
sub_8092660();
|
sub_8092660();
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
if (gPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved)
|
if (gPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved)
|
||||||
StartSpriteAnim(gPSSData->cursorSprite, 1);
|
StartSpriteAnim(gPSSData->cursorSprite, 1);
|
||||||
@@ -256,7 +256,7 @@ static void sub_80927E8(u8 newCurosrArea, u8 newCursorPosition)
|
|||||||
StartSpriteAnim(gPSSData->cursorSprite, 1);
|
StartSpriteAnim(gPSSData->cursorSprite, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
if (sBoxCursorArea == CURSOR_AREA_IN_BOX)
|
if (sBoxCursorArea == CURSOR_AREA_IN_BOX)
|
||||||
sub_8095D44(CURSOR_AREA_IN_BOX, sBoxCursorPosition);
|
sub_8095D44(CURSOR_AREA_IN_BOX, sBoxCursorPosition);
|
||||||
@@ -304,7 +304,7 @@ static void sub_80929B0(void)
|
|||||||
{
|
{
|
||||||
sBoxCursorArea = gPSSData->newCursorArea;
|
sBoxCursorArea = gPSSData->newCursorArea;
|
||||||
sBoxCursorPosition = gPSSData->newCursorPosition;
|
sBoxCursorPosition = gPSSData->newCursorPosition;
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
if (gPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved)
|
if (gPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved)
|
||||||
StartSpriteAnim(gPSSData->cursorSprite, 1);
|
StartSpriteAnim(gPSSData->cursorSprite, 1);
|
||||||
@@ -1237,7 +1237,7 @@ static u8 InBoxInput_Normal(void)
|
|||||||
if (!sCanOnlyMove)
|
if (!sCanOnlyMove)
|
||||||
return 8;
|
return 8;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_MONS || sIsMonBeingMoved == TRUE)
|
if (gPSSData->boxOption != OPTION_MOVE_MONS || sIsMonBeingMoved == TRUE)
|
||||||
{
|
{
|
||||||
switch (sub_8094E50(0))
|
switch (sub_8094E50(0))
|
||||||
{
|
{
|
||||||
@@ -1509,7 +1509,7 @@ static u8 HandleInput_InParty(void)
|
|||||||
{
|
{
|
||||||
if (sBoxCursorPosition == PARTY_SIZE)
|
if (sBoxCursorPosition == PARTY_SIZE)
|
||||||
{
|
{
|
||||||
if (gPSSData->boxOption == BOX_OPTION_DEPOSIT)
|
if (gPSSData->boxOption == OPTION_DEPOSIT)
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
gotoBox = TRUE;
|
gotoBox = TRUE;
|
||||||
@@ -1543,7 +1543,7 @@ static u8 HandleInput_InParty(void)
|
|||||||
|
|
||||||
if (JOY_NEW(B_BUTTON))
|
if (JOY_NEW(B_BUTTON))
|
||||||
{
|
{
|
||||||
if (gPSSData->boxOption == BOX_OPTION_DEPOSIT)
|
if (gPSSData->boxOption == OPTION_DEPOSIT)
|
||||||
return 19;
|
return 19;
|
||||||
|
|
||||||
gotoBox = TRUE;
|
gotoBox = TRUE;
|
||||||
@@ -1754,7 +1754,7 @@ static void AddBoxMenu(void)
|
|||||||
static bool8 sub_8094924(void)
|
static bool8 sub_8094924(void)
|
||||||
{
|
{
|
||||||
InitMenu();
|
InitMenu();
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return sub_809494C();
|
return sub_809494C();
|
||||||
else
|
else
|
||||||
return sub_8094A0C();
|
return sub_8094A0C();
|
||||||
@@ -1766,19 +1766,19 @@ static bool8 sub_809494C(void)
|
|||||||
|
|
||||||
switch (gPSSData->boxOption)
|
switch (gPSSData->boxOption)
|
||||||
{
|
{
|
||||||
case BOX_OPTION_DEPOSIT:
|
case OPTION_DEPOSIT:
|
||||||
if (var0)
|
if (var0)
|
||||||
SetMenuText(PC_TEXT_STORE);
|
SetMenuText(PC_TEXT_STORE);
|
||||||
else
|
else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
case BOX_OPTION_WITHDRAW:
|
case OPTION_WITHDRAW:
|
||||||
if (var0)
|
if (var0)
|
||||||
SetMenuText(PC_TEXT_WITHDRAW);
|
SetMenuText(PC_TEXT_WITHDRAW);
|
||||||
else
|
else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
case BOX_OPTION_MOVE_MONS:
|
case OPTION_MOVE_MONS:
|
||||||
if (sIsMonBeingMoved)
|
if (sIsMonBeingMoved)
|
||||||
{
|
{
|
||||||
if (var0)
|
if (var0)
|
||||||
@@ -1794,13 +1794,13 @@ static bool8 sub_809494C(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BOX_OPTION_MOVE_ITEMS:
|
case OPTION_MOVE_ITEMS:
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetMenuText(PC_TEXT_SUMMARY);
|
SetMenuText(PC_TEXT_SUMMARY);
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_MONS)
|
if (gPSSData->boxOption == OPTION_MOVE_MONS)
|
||||||
{
|
{
|
||||||
if (!sBoxCursorArea)
|
if (!sBoxCursorArea)
|
||||||
SetMenuText(PC_TEXT_WITHDRAW);
|
SetMenuText(PC_TEXT_WITHDRAW);
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ static const union AffineAnimCmd *const gUnknown_83D370C[] = {
|
|||||||
gUnknown_83D36FC
|
gUnknown_83D36FC
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate gUnknown_83D3728 = {
|
static const struct SpriteTemplate sSpriteTemplate_ItemIcon = {
|
||||||
.tileTag = TAG_TILE_7,
|
.tileTag = TAG_TILE_7,
|
||||||
.paletteTag = TAG_PAL_DACB,
|
.paletteTag = TAG_PAL_DACB,
|
||||||
.oam = &gUnknown_83D365C,
|
.oam = &gUnknown_83D365C,
|
||||||
@@ -120,25 +120,25 @@ static const struct SpriteTemplate gUnknown_83D3728 = {
|
|||||||
.callback = SpriteCallbackDummy,
|
.callback = SpriteCallbackDummy,
|
||||||
};
|
};
|
||||||
|
|
||||||
void sub_8095B5C(void)
|
void CreateItemIconSprites(void)
|
||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
u8 spriteId;
|
u8 spriteId;
|
||||||
struct CompressedSpriteSheet spriteSheet;
|
struct CompressedSpriteSheet spriteSheet;
|
||||||
struct SpriteTemplate spriteTemplate;
|
struct SpriteTemplate spriteTemplate;
|
||||||
static u32 gUnknown_3000FE8[0x61];
|
static u32 sItemIconGfxBuffer[0x61];
|
||||||
|
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
spriteSheet.data = gUnknown_3000FE8;
|
spriteSheet.data = sItemIconGfxBuffer;
|
||||||
spriteSheet.size = 0x200;
|
spriteSheet.size = 0x200;
|
||||||
spriteTemplate = gUnknown_83D3728;
|
spriteTemplate = sSpriteTemplate_ItemIcon;
|
||||||
|
|
||||||
for (i = 0; i < MAX_ITEM_ICONS; i++)
|
for (i = 0; i < MAX_ITEM_ICONS; i++)
|
||||||
{
|
{
|
||||||
spriteSheet.tag = TAG_TILE_7 + i;
|
spriteSheet.tag = TAG_TILE_7 + i;
|
||||||
LoadCompressedSpriteSheet(&spriteSheet);
|
LoadCompressedSpriteSheet(&spriteSheet);
|
||||||
gPSSData->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * 32 + (void *)(OBJ_VRAM0);
|
gPSSData->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * TILE_SIZE_4BPP + (void *)(OBJ_VRAM0);
|
||||||
gPSSData->itemIcons[i].palIndex = AllocSpritePalette(TAG_PAL_DACB + i);
|
gPSSData->itemIcons[i].palIndex = AllocSpritePalette(TAG_PAL_DACB + i);
|
||||||
gPSSData->itemIcons[i].palIndex *= 16;
|
gPSSData->itemIcons[i].palIndex *= 16;
|
||||||
gPSSData->itemIcons[i].palIndex += 0x100;
|
gPSSData->itemIcons[i].palIndex += 0x100;
|
||||||
@@ -147,7 +147,7 @@ void sub_8095B5C(void)
|
|||||||
spriteId = CreateSprite(&spriteTemplate, 0, 0, 11);
|
spriteId = CreateSprite(&spriteTemplate, 0, 0, 11);
|
||||||
gPSSData->itemIcons[i].sprite = &gSprites[spriteId];
|
gPSSData->itemIcons[i].sprite = &gSprites[spriteId];
|
||||||
gPSSData->itemIcons[i].sprite->invisible = TRUE;
|
gPSSData->itemIcons[i].sprite->invisible = TRUE;
|
||||||
gPSSData->itemIcons[i].active = 0;
|
gPSSData->itemIcons[i].active = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gPSSData->movingItemId = ITEM_NONE;
|
gPSSData->movingItemId = ITEM_NONE;
|
||||||
@@ -157,7 +157,7 @@ void sub_8095C84(u8 cursorArea, u8 cursorPos)
|
|||||||
{
|
{
|
||||||
u16 heldItem;
|
u16 heldItem;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return;
|
return;
|
||||||
if (IsItemIconAtPosition(cursorArea, cursorPos))
|
if (IsItemIconAtPosition(cursorArea, cursorPos))
|
||||||
return;
|
return;
|
||||||
@@ -195,7 +195,7 @@ void sub_8095D44(u8 cursorArea, u8 cursorPos)
|
|||||||
{
|
{
|
||||||
u8 id;
|
u8 id;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
id = GetItemIconIdxByPosition(cursorArea, cursorPos);
|
id = GetItemIconIdxByPosition(cursorArea, cursorPos);
|
||||||
@@ -208,7 +208,7 @@ void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos)
|
|||||||
u8 id;
|
u8 id;
|
||||||
u16 item;
|
u16 item;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
id = GetItemIconIdxByPosition(cursorArea, cursorPos);
|
id = GetItemIconIdxByPosition(cursorArea, cursorPos);
|
||||||
@@ -249,7 +249,7 @@ void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos)
|
|||||||
u8 id;
|
u8 id;
|
||||||
u16 item;
|
u16 item;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
id = GetItemIconIdxByPosition(cursorArea, cursorPos);
|
id = GetItemIconIdxByPosition(cursorArea, cursorPos);
|
||||||
@@ -277,7 +277,7 @@ void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos)
|
|||||||
{
|
{
|
||||||
u8 id;
|
u8 id;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
id = GetItemIconIdxByPosition(2, 0);
|
id = GetItemIconIdxByPosition(2, 0);
|
||||||
@@ -300,7 +300,7 @@ void Item_TakeMons(u8 cursorArea, u8 cursorPos)
|
|||||||
u8 id;
|
u8 id;
|
||||||
u16 item;
|
u16 item;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
item = 0;
|
item = 0;
|
||||||
@@ -321,7 +321,7 @@ void Item_TakeMons(u8 cursorArea, u8 cursorPos)
|
|||||||
|
|
||||||
void sub_8096088(void)
|
void sub_8096088(void)
|
||||||
{
|
{
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
u8 id = GetItemIconIdxByPosition(2, 0);
|
u8 id = GetItemIconIdxByPosition(2, 0);
|
||||||
SetItemIconAffineAnim(id, 5);
|
SetItemIconAffineAnim(id, 5);
|
||||||
@@ -333,7 +333,7 @@ void sub_80960C0(void)
|
|||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (gPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption != OPTION_MOVE_ITEMS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < MAX_ITEM_ICONS; i++)
|
for (i = 0; i < MAX_ITEM_ICONS; i++)
|
||||||
@@ -365,7 +365,7 @@ bool8 IsActiveItemMoving(void)
|
|||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (gPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
|
if (gPSSData->boxOption == OPTION_MOVE_ITEMS)
|
||||||
{
|
{
|
||||||
for (i = 0; i < MAX_ITEM_ICONS; i++)
|
for (i = 0; i < MAX_ITEM_ICONS; i++)
|
||||||
{
|
{
|
||||||
@@ -779,80 +779,93 @@ static void SpriteCB_ItemIcon_HideParty(struct Sprite *sprite)
|
|||||||
#undef sCursorArea
|
#undef sCursorArea
|
||||||
#undef sCursorPos
|
#undef sCursorPos
|
||||||
|
|
||||||
static EWRAM_DATA struct UnkUtil *gUnknown_203982C = NULL;
|
|
||||||
|
|
||||||
static void sub_8096CDC(struct UnkUtilData *unkStruct);
|
//------------------------------------------------------------------------------
|
||||||
static void sub_8096D70(struct UnkUtilData *unkStruct);
|
// SECTION: UnkUtil
|
||||||
|
//
|
||||||
|
// Some data transfer utility that goes functionally unused.
|
||||||
|
// It gets initialized with UnkUtil_Init, and run every vblank in Pokémon
|
||||||
|
// Storage with UnkUtil_Run, but neither of the Add functions are ever used,
|
||||||
|
// so UnkUtil_Run performs no actions.
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
void sub_8096BE4(struct UnkUtil *arg0, struct UnkUtilData *arg1, u32 arg2)
|
|
||||||
|
static EWRAM_DATA struct UnkUtil *sUnkUtil = NULL;
|
||||||
|
|
||||||
|
static void UnkUtil_CpuRun(struct UnkUtilData *unkStruct);
|
||||||
|
static void UnkUtil_DmaRun(struct UnkUtilData *unkStruct);
|
||||||
|
|
||||||
|
void UnkUtil_Init(struct UnkUtil *util, struct UnkUtilData *data, u32 max)
|
||||||
{
|
{
|
||||||
gUnknown_203982C = arg0;
|
sUnkUtil = util;
|
||||||
arg0->unk_00 = arg1;
|
util->data = data;
|
||||||
arg0->unk_05 = arg2;
|
util->max = max;
|
||||||
arg0->unk_04 = 0;
|
util->numActive = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8096BF8(void)
|
void UnkUtil_Run(void)
|
||||||
{
|
{
|
||||||
u16 i;
|
u16 i;
|
||||||
|
if (sUnkUtil->numActive)
|
||||||
if (gUnknown_203982C->unk_04)
|
|
||||||
{
|
{
|
||||||
for (i = 0; i < gUnknown_203982C->unk_04; i++)
|
for (i = 0; i < sUnkUtil->numActive; i++)
|
||||||
{
|
{
|
||||||
struct UnkUtilData *unkStruct = &gUnknown_203982C->unk_00[i];
|
struct UnkUtilData *data = &sUnkUtil->data[i];
|
||||||
unkStruct->func(unkStruct);
|
data->func(data);
|
||||||
}
|
}
|
||||||
|
sUnkUtil->numActive = 0;
|
||||||
gUnknown_203982C->unk_04 = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool8 sub_8096C40(u8 *dest, u16 dLeft, u16 dTop, const u8 *src, u16 sLeft, u16 sTop, u16 width, u16 height, u16 unkArg)
|
// Unused
|
||||||
|
static bool8 UnkUtil_CpuAdd(u8 *dest, u16 dLeft, u16 dTop, const u8 *src, u16 sLeft, u16 sTop, u16 width, u16 height, u16 unkArg)
|
||||||
{
|
{
|
||||||
struct UnkUtilData *unkStruct;
|
struct UnkUtilData *data;
|
||||||
|
|
||||||
if (gUnknown_203982C->unk_04 >= gUnknown_203982C->unk_05)
|
if (sUnkUtil->numActive >= sUnkUtil->max)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
unkStruct = &gUnknown_203982C->unk_00[gUnknown_203982C->unk_04++];
|
data = &sUnkUtil->data[sUnkUtil->numActive++];
|
||||||
unkStruct->size = width * 2;
|
data->size = width * 2;
|
||||||
unkStruct->dest = dest + 2 * (dTop * 32 + dLeft);
|
data->dest = dest + 2 * (dTop * 32 + dLeft);
|
||||||
unkStruct->src = src + 2 * (sTop * unkArg + sLeft);
|
data->src = src + 2 * (sTop * unkArg + sLeft);
|
||||||
unkStruct->height = height;
|
data->height = height;
|
||||||
unkStruct->unk = unkArg;
|
data->unk = unkArg;
|
||||||
unkStruct->func = sub_8096CDC;
|
data->func = UnkUtil_CpuRun;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8096CDC(struct UnkUtilData *unkStruct)
|
// Functionally unused
|
||||||
|
static void UnkUtil_CpuRun(struct UnkUtilData *data)
|
||||||
{
|
{
|
||||||
u16 i;
|
u16 i;
|
||||||
|
|
||||||
for (i = 0; i < unkStruct->height; i++)
|
for (i = 0; i < data->height; i++)
|
||||||
{
|
{
|
||||||
CpuCopy16(unkStruct->src, unkStruct->dest, unkStruct->size);
|
CpuCopy16(data->src, data->dest, data->size);
|
||||||
unkStruct->dest += 64;
|
data->dest += 64;
|
||||||
unkStruct->src += (unkStruct->unk * 2);
|
data->src += (data->unk * 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool8 sub_8096D14(void *dest, u16 dLeft, u16 dTop, u16 width, u16 height)
|
// Unused
|
||||||
|
static bool8 UnkUtil_DmaAdd(void *dest, u16 dLeft, u16 dTop, u16 width, u16 height)
|
||||||
{
|
{
|
||||||
struct UnkUtilData *unkStruct;
|
struct UnkUtilData *data;
|
||||||
|
|
||||||
if (gUnknown_203982C->unk_04 >= gUnknown_203982C->unk_05)
|
if (sUnkUtil->numActive >= sUnkUtil->max)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
unkStruct = &gUnknown_203982C->unk_00[gUnknown_203982C->unk_04++];
|
data = &sUnkUtil->data[sUnkUtil->numActive++];
|
||||||
unkStruct->size = width * 2;
|
data->size = width * 2;
|
||||||
unkStruct->dest = dest + ((dTop * 32) + dLeft) * 2;
|
data->dest = dest + ((dTop * 32) + dLeft) * 2;
|
||||||
unkStruct->height = height;
|
data->height = height;
|
||||||
unkStruct->func = sub_8096D70;
|
data->func = UnkUtil_DmaRun;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8096D70(struct UnkUtilData *data)
|
// Functionally unused
|
||||||
|
static void UnkUtil_DmaRun(struct UnkUtilData *data)
|
||||||
{
|
{
|
||||||
u16 i;
|
u16 i;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user