Name as many symbols as I could in trade.c

This commit is contained in:
PikalaxALT
2020-04-10 12:03:37 -04:00
parent fc7f04322d
commit 5f7ed93363
13 changed files with 133 additions and 130 deletions
+6 -6
View File
@@ -3657,7 +3657,7 @@ sub_8136350: @ 8136350
ldr r1, _0813650C @ =0x000032f8 ldr r1, _0813650C @ =0x000032f8
adds r0, r2, r1 adds r0, r2, r1
ldr r1, [r0] ldr r1, [r0]
ldr r0, _08136510 @ =sub_804CF14 ldr r0, _08136510 @ =CB2_ReturnToTradeMenuFromSummary
cmp r1, r0 cmp r1, r0
beq _081363DA beq _081363DA
b _08136518 b _08136518
@@ -3797,7 +3797,7 @@ _08136500: .4byte 0x00003090
_08136504: .4byte gText_Slash _08136504: .4byte gText_Slash
_08136508: .4byte gUnknown_203B144 _08136508: .4byte gUnknown_203B144
_0813650C: .4byte 0x000032f8 _0813650C: .4byte 0x000032f8
_08136510: .4byte sub_804CF14 _08136510: .4byte CB2_ReturnToTradeMenuFromSummary
_08136514: .4byte 0x00003024 _08136514: .4byte 0x00003024
_08136518: _08136518:
ldr r4, _0813677C @ =gUnknown_203B140 ldr r4, _0813677C @ =gUnknown_203B140
@@ -10237,7 +10237,7 @@ sub_813995C: @ 813995C
ldr r1, _081399D8 @ =0x000032f8 ldr r1, _081399D8 @ =0x000032f8
adds r0, r5, r1 adds r0, r5, r1
ldr r1, [r0] ldr r1, [r0]
ldr r0, _081399DC @ =sub_804CF14 ldr r0, _081399DC @ =CB2_ReturnToTradeMenuFromSummary
cmp r1, r0 cmp r1, r0
bne _081399E8 bne _081399E8
ldr r1, _081399E0 @ =0x00003024 ldr r1, _081399E0 @ =0x00003024
@@ -10265,7 +10265,7 @@ _081399CC: .4byte gUnknown_203B170
_081399D0: .4byte gUnknown_203B140 _081399D0: .4byte gUnknown_203B140
_081399D4: .4byte 0x00003290 _081399D4: .4byte 0x00003290
_081399D8: .4byte 0x000032f8 _081399D8: .4byte 0x000032f8
_081399DC: .4byte sub_804CF14 _081399DC: .4byte CB2_ReturnToTradeMenuFromSummary
_081399E0: .4byte 0x00003024 _081399E0: .4byte 0x00003024
_081399E4: .4byte 0x0000ffff _081399E4: .4byte 0x0000ffff
_081399E8: _081399E8:
@@ -10764,7 +10764,7 @@ sub_8139DBC: @ 8139DBC
ldr r1, _08139E10 @ =0x000032f8 ldr r1, _08139E10 @ =0x000032f8
adds r0, r2, r1 adds r0, r2, r1
ldr r1, [r0] ldr r1, [r0]
ldr r0, _08139E14 @ =sub_804CF14 ldr r0, _08139E14 @ =CB2_ReturnToTradeMenuFromSummary
cmp r1, r0 cmp r1, r0
bne _08139E2C bne _08139E2C
ldr r1, _08139E18 @ =0x00003024 ldr r1, _08139E18 @ =0x00003024
@@ -10781,7 +10781,7 @@ sub_8139DBC: @ 8139DBC
_08139E08: .4byte gUnknown_203B140 _08139E08: .4byte gUnknown_203B140
_08139E0C: .4byte 0x00003290 _08139E0C: .4byte 0x00003290
_08139E10: .4byte 0x000032f8 _08139E10: .4byte 0x000032f8
_08139E14: .4byte sub_804CF14 _08139E14: .4byte CB2_ReturnToTradeMenuFromSummary
_08139E18: .4byte 0x00003024 _08139E18: .4byte 0x00003024
_08139E1C: .4byte SpriteCallbackDummy _08139E1C: .4byte SpriteCallbackDummy
_08139E20: _08139E20:
+1 -1
View File
@@ -391,7 +391,7 @@ void InitAnimBgTilemapBuffer(u32 bgId, const void *src);
void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src); void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src);
u8 GetBattleBgPaletteNum(void); u8 GetBattleBgPaletteNum(void);
void sub_8075458(bool8 arg0); void sub_8075458(bool8 arg0);
void sub_8075490(struct Sprite *sprite); void StartSpriteLinearTranslationFromCurrentPos(struct Sprite *sprite);
void InitSpriteDataForLinearTranslation(struct Sprite *sprite); void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
void InitAnimLinearTranslation(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite);
void StartAnimLinearTranslation(struct Sprite *sprite); void StartAnimLinearTranslation(struct Sprite *sprite);
+1 -1
View File
@@ -8,7 +8,7 @@
// Exported RAM declarations // Exported RAM declarations
// Exported ROM declarations // Exported ROM declarations
void sub_8081A90(u8 taskId); void Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout(u8 taskId);
u8 CreateTask_ReestablishLinkInCableClubRoom(void); u8 CreateTask_ReestablishLinkInCableClubRoom(void);
void CB2_ReturnFromCableClubBattle(void); void CB2_ReturnFromCableClubBattle(void);
bool32 GetSeeingLinkPlayerCardMsg(u8 who); bool32 GetSeeingLinkPlayerCardMsg(u8 who);
+1 -1
View File
@@ -219,7 +219,7 @@ bool32 IsRfuRecvQueueEmpty(void);
u32 GetRfuRecvQueueLength(void); u32 GetRfuRecvQueueLength(void);
void LinkRfu_Shutdown(void); void LinkRfu_Shutdown(void);
void LinkRfu_CreateIdleTask(void); void LinkRfu_CreateIdleTask(void);
bool8 sub_80FA484(bool32 a0); bool8 ToggleLMANlinkRecovery(bool32 a0);
void var_800D_set_xB(void); void var_800D_set_xB(void);
struct GFtgtGname *GetHostRFUtgtGname(void); struct GFtgtGname *GetHostRFUtgtGname(void);
void UpdateWirelessStatusIndicatorSprite(void); void UpdateWirelessStatusIndicatorSprite(void);
+1 -1
View File
@@ -838,7 +838,7 @@ extern const u8 gText_SixIsland[];
extern const u8 gText_SevenIsland[]; extern const u8 gText_SevenIsland[];
// trade // trade
extern const u8 gUnknown_841E0A5[]; extern const u8 gText_IsThisTradeOkay[];
extern const u8 gText_XWillBeSentToY[]; extern const u8 gText_XWillBeSentToY[];
extern const u8 gText_ByeByeVar1[]; extern const u8 gText_ByeByeVar1[];
extern const u8 gText_XSentOverY[]; extern const u8 gText_XSentOverY[];
+1 -1
View File
@@ -14,7 +14,7 @@ extern const u8 gText_GenderlessSymbol[];
extern const u16 gUnknown_826601C[]; extern const u16 gUnknown_826601C[];
void CB2_ReturnFromLinkTrade(void); void CB2_ReturnFromLinkTrade(void);
s32 sub_804FB34(void); s32 Trade_CalcLinkPlayerCompatibilityParam(void);
s32 CanRegisterMonForTradingBoard(struct GFtgtGnameSub rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet); s32 CanRegisterMonForTradingBoard(struct GFtgtGnameSub rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet);
s32 GetUnionRoomTradeMessageId(struct GFtgtGnameSub rfuPlayer, struct GFtgtGnameSub rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet); s32 GetUnionRoomTradeMessageId(struct GFtgtGnameSub rfuPlayer, struct GFtgtGnameSub rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet);
+1 -1
View File
@@ -898,7 +898,7 @@ void sub_8075458(bool8 arg0)
} }
} }
void sub_8075490(struct Sprite *sprite) void StartSpriteLinearTranslationFromCurrentPos(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->data[3] = sprite->pos1.y;
+1 -1
View File
@@ -37,7 +37,7 @@ void HandleLinkBattleSetup(void)
SetWirelessCommType1(); SetWirelessCommType1();
if (!gReceivedRemoteLinkPlayers) if (!gReceivedRemoteLinkPlayers)
OpenLink(); OpenLink();
CreateTask(sub_8081A90, 0); CreateTask(Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout, 0);
CreateTasksForSendRecvLinkBuffers(); CreateTasksForSendRecvLinkBuffers();
} }
} }
+2 -2
View File
@@ -532,7 +532,7 @@ static void Task_ReestablishLinkInCableClubRoom_0(u8 taskId)
{ {
OpenLink(); OpenLink();
ResetLinkPlayers(); ResetLinkPlayers();
CreateTask(sub_8081A90, 80); CreateTask(Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout, 80);
} }
else if (data[0] > 9) else if (data[0] > 9)
gTasks[taskId].func = Task_ReestablishLinkInCableClubRoom_1; gTasks[taskId].func = Task_ReestablishLinkInCableClubRoom_1;
@@ -934,7 +934,7 @@ bool32 GetSeeingLinkPlayerCardMsg(u8 who)
return TRUE; return TRUE;
} }
void sub_8081A90(u8 taskId) void Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout(u8 taskId)
{ {
struct Task * task = &gTasks[taskId]; struct Task * task = &gTasks[taskId];
task->data[0]++; task->data[0]++;
+1 -1
View File
@@ -809,7 +809,7 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper)
{ {
if (gLinkPlayers[0].linkType == 0x1133) if (gLinkPlayers[0].linkType == 0x1133)
{ {
switch (sub_804FB34()) switch (Trade_CalcLinkPlayerCompatibilityParam())
{ {
case 0: case 0:
sPlayerDataExchangeStatus = EXCHANGE_COMPLETE; sPlayerDataExchangeStatus = EXCHANGE_COMPLETE;
+1 -1
View File
@@ -1452,7 +1452,7 @@ bool32 RfuSerialNumberIsValid(u32 serialNo)
return TRUE; return TRUE;
} }
u8 sub_80FA484(bool32 a0) u8 ToggleLMANlinkRecovery(bool32 a0)
{ {
if (!a0) if (!a0)
return rfu_LMAN_setLinkRecovery(0, 0); return rfu_LMAN_setLinkRecovery(0, 0);
+1 -1
View File
@@ -1205,7 +1205,7 @@ const u8 gText_UnusedLv[] = _("Lv");
const u8 gText_UnusedDashes[] = _("---"); const u8 gText_UnusedDashes[] = _("---");
const u8 gText_4Qmark[] = _("????"); const u8 gText_4Qmark[] = _("????");
const u8 gText_UnusedEmpty2[] = _(""); const u8 gText_UnusedEmpty2[] = _("");
const u8 gUnknown_841E0A5[] = _("Is this trade okay?"); const u8 gText_IsThisTradeOkay[] = _("Is this trade okay?");
const u8 gTradeText_Cancel[] = _("CANCEL"); const u8 gTradeText_Cancel[] = _("CANCEL");
const u8 gTradeText_ChooseAPokemon[] = _("Choose a POKéMON."); const u8 gTradeText_ChooseAPokemon[] = _("Choose a POKéMON.");
const u8 gTradeText_Summary[] = _("SUMMARY"); const u8 gTradeText_Summary[] = _("SUMMARY");
+115 -112
View File
@@ -53,7 +53,7 @@ struct TradeMenuResources
/*0x007C*/ u8 filler_7C[0x7E - 0x7C]; /*0x007C*/ u8 filler_7C[0x7E - 0x7C];
/*0x007E*/ u8 otherPlayerCursorPosition; /*0x007E*/ u8 otherPlayerCursorPosition;
/*0x0080*/ u16 linkData[20]; /*0x0080*/ u16 linkData[20];
/*0x00A8*/ u8 loadUiSpritesState; /*0x00A8*/ u8 loadUISpritesState;
/*0x00A9*/ u8 giftRibbons[NUM_TRADED_GIFT_RIBBONS]; /*0x00A9*/ u8 giftRibbons[NUM_TRADED_GIFT_RIBBONS];
/*0x00B4*/ u8 filler_B4[0x8D0-0xB4]; /*0x00B4*/ u8 filler_B4[0x8D0-0xB4];
/*0x08D0*/ struct { /*0x08D0*/ struct {
@@ -83,13 +83,13 @@ EWRAM_DATA struct MailStruct gLinkPartnerMail[6] = {};
EWRAM_DATA u8 gSelectedTradeMonPositions[2] = {0}; EWRAM_DATA u8 gSelectedTradeMonPositions[2] = {0};
static EWRAM_DATA struct TradeMenuResources * sTradeMenuResourcesPtr = NULL; static EWRAM_DATA struct TradeMenuResources * sTradeMenuResourcesPtr = NULL;
static void sub_804C728(void); static void CB2_ReturnFromLinkTrade2(void);
static void VblankCB_Trade(void); static void VblankCB_Trade(void);
static void CB2_TradeMenu(void); static void CB2_TradeMenu(void);
static void sub_804D694(u8 state); static void LoadTradeBackgroundGfxAndPals(u8 state);
static void sub_804D764(void); static void SetTradeMenuOptionActiveFlags(void);
static u8 shedinja_maker_maybe(void); static u8 shedinja_maker_maybe(void);
static void sub_804DFF0(void); static void CB1_HandleBlockReceive(void);
static void RunTradeMenuCallback(void); static void RunTradeMenuCallback(void);
static void SignalRedrawTradeMenus(u8 a0); static void SignalRedrawTradeMenus(u8 a0);
static void HandleRedrawTradeMenuOnSide(u8 side); static void HandleRedrawTradeMenuOnSide(u8 side);
@@ -99,21 +99,21 @@ static void PrintPartyNicknames(u8 side);
static void PrintLevelAndGenderDirectlyOnVram(u8 a0, u8 partyIdx, u8 a2, u8 a3, u8 a4, u8 a5); static void PrintLevelAndGenderDirectlyOnVram(u8 a0, u8 partyIdx, u8 a2, u8 a3, u8 a4, u8 a5);
static void PrintPartyLevelsAndGendersDirectlyOnVram(u8 side); static void PrintPartyLevelsAndGendersDirectlyOnVram(u8 side);
static void PrintTradePartnerPartyNicknames(void); static void PrintTradePartnerPartyNicknames(void);
static void sub_804F3C8(u8 a0); static void RedrawPartyWindow(u8 a0);
static void TradeMenuAction_Summary(u8 taskId); static void TradeMenuAction_Summary(u8 taskId);
static void TradeMenuAction_Trade(u8 taskId); static void TradeMenuAction_Trade(u8 taskId);
static void ScheduleLinkTaskWithDelay(u16 delay, u8 kind); static void ScheduleLinkTaskWithDelay(u16 delay, u8 kind);
static void RunScheduledLinkTasks(void); static void RunScheduledLinkTasks(void);
static void PrintTradeErrorOrStatusMessage(u8 strIdx); static void PrintTradeErrorOrStatusMessage(u8 strIdx);
static bool8 sub_804F610(void); static bool8 LoadUISprites(void);
static void RenderTextToVramViaBuffer(const u8 *name, u8 *a1, u8 unused); static void RenderTextToVramViaBuffer(const u8 *name, u8 *a1, u8 unused);
static void sub_804F748(u8 side); static void ComputePartyTradeableFlags(u8 side);
static void sub_804F890(u8 side); static void ComputePartyHPBarLevels(u8 side);
static void sub_804F964(void); static void SetMonIconsAnimByHPBarLevel(void);
static void CopyGiftRibbonsToSav1(void); static void CopyGiftRibbonsToSav1(void);
static u32 TestWhetherSelectedMonCanBeTraded(struct Pokemon * party, int partyCount, int cursorPos); static u32 TestWhetherSelectedMonCanBeTraded(struct Pokemon * party, int partyCount, int cursorPos);
static const size_t gUnknown_8260814[] = { static const size_t sSizesAndOffsets[] = {
sizeof(struct SaveBlock2), sizeof(struct SaveBlock2),
sizeof(struct SaveBlock1), sizeof(struct SaveBlock1),
sizeof(struct MapLayout), sizeof(struct MapLayout),
@@ -671,7 +671,7 @@ static const u8 gUnknown_8262055[][2] = {
{19, 3} {19, 3}
}; };
static void sub_804C600(void) static void InitTradeMenuResources(void)
{ {
int i; int i;
static vu16 dummy; static vu16 dummy;
@@ -707,16 +707,16 @@ static void sub_804C600(void)
sTradeMenuResourcesPtr->menuRedrawState[1] = 0; sTradeMenuResourcesPtr->menuRedrawState[1] = 0;
sTradeMenuResourcesPtr->unk_7A = 0; sTradeMenuResourcesPtr->unk_7A = 0;
sTradeMenuResourcesPtr->unk_7B = 0; sTradeMenuResourcesPtr->unk_7B = 0;
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
} }
} }
void CB2_ReturnFromLinkTrade(void) void CB2_ReturnFromLinkTrade(void)
{ {
SetMainCallback2(sub_804C728); SetMainCallback2(CB2_ReturnFromLinkTrade2);
} }
static void sub_804C728(void) static void CB2_ReturnFromLinkTrade2(void)
{ {
int i; int i;
struct SpriteTemplate temp; struct SpriteTemplate temp;
@@ -734,7 +734,7 @@ static void sub_804C728(void)
{ {
case 0: case 0:
sTradeMenuResourcesPtr = AllocZeroed(sizeof(*sTradeMenuResourcesPtr)); sTradeMenuResourcesPtr = AllocZeroed(sizeof(*sTradeMenuResourcesPtr));
sub_804C600(); InitTradeMenuResources();
sSpriteTextTileBuffer = AllocZeroed(0xE00); sSpriteTextTileBuffer = AllocZeroed(0xE00);
for (i = 0; i < 14; i++) for (i = 0; i < 14; i++)
@@ -758,7 +758,7 @@ static void sub_804C728(void)
if (!gReceivedRemoteLinkPlayers) if (!gReceivedRemoteLinkPlayers)
{ {
gLinkType = 0x1122; gLinkType = 0x1122;
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
if (gWirelessCommType) if (gWirelessCommType)
{ {
@@ -772,7 +772,7 @@ static void sub_804C728(void)
gMain.state++; gMain.state++;
} }
if (gWirelessCommType == 0) if (gWirelessCommType == 0)
CreateTask(sub_8081A90, 1); CreateTask(Task_WaitForReceivedRemoteLinkPlayers5SecondTimeout, 1);
} }
else else
{ {
@@ -780,10 +780,10 @@ static void sub_804C728(void)
} }
break; break;
case 2: case 2:
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
if (sTradeMenuResourcesPtr->loadUiSpritesState > 11) if (sTradeMenuResourcesPtr->loadUISpritesState > 11)
{ {
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
gMain.state++; gMain.state++;
} }
break; break;
@@ -792,7 +792,7 @@ static void sub_804C728(void)
{ {
if (IsLinkMaster()) if (IsLinkMaster())
{ {
if (++sTradeMenuResourcesPtr->loadUiSpritesState > 30) if (++sTradeMenuResourcesPtr->loadUISpritesState > 30)
{ {
CheckShouldAdvanceLinkState(); CheckShouldAdvanceLinkState();
gMain.state++; gMain.state++;
@@ -810,10 +810,10 @@ static void sub_804C728(void)
LinkRfu_DestroyIdleTask(); LinkRfu_DestroyIdleTask();
CalculatePlayerPartyCount(); CalculatePlayerPartyCount();
gMain.state++; gMain.state++;
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
if (gWirelessCommType) if (gWirelessCommType)
{ {
sub_80FA484(TRUE); ToggleLMANlinkRecovery(TRUE);
PrepareSendLinkCmd2FFE_or_RfuCmd6600(); PrepareSendLinkCmd2FFE_or_RfuCmd6600();
} }
} }
@@ -888,10 +888,10 @@ static void sub_804C728(void)
DrawTextWindowAndBufferTiles(sTradeUITextPtrs[TRADEUITEXT_CANCEL], sSpriteTextTilePtrs[6], 0, 0, gDecompressionBuffer, 2); DrawTextWindowAndBufferTiles(sTradeUITextPtrs[TRADEUITEXT_CANCEL], sSpriteTextTilePtrs[6], 0, 0, gDecompressionBuffer, 2);
RenderTextToVramViaBuffer(sTradeUITextPtrs[TRADEUITEXT_CHOOSE], sSpriteTextTilePtrs[8], 24); RenderTextToVramViaBuffer(sTradeUITextPtrs[TRADEUITEXT_CHOOSE], sSpriteTextTilePtrs[8], 24);
gMain.state++; gMain.state++;
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
break; break;
case 11: case 11:
if (sub_804F610()) if (LoadUISprites())
gMain.state++; gMain.state++;
break; break;
case 12: case 12:
@@ -937,25 +937,25 @@ static void sub_804C728(void)
rbox_fill_rectangle(0); rbox_fill_rectangle(0);
break; break;
case 14: case 14:
sub_804F748(0); ComputePartyTradeableFlags(0);
PrintPartyNicknames(0); PrintPartyNicknames(0);
sTradeMenuResourcesPtr->bg2hofs = 0; sTradeMenuResourcesPtr->bg2hofs = 0;
sTradeMenuResourcesPtr->bg3hofs = 0; sTradeMenuResourcesPtr->bg3hofs = 0;
sub_804D764(); SetTradeMenuOptionActiveFlags();
gMain.state++; gMain.state++;
PlayBGM(MUS_SLOT); PlayBGM(MUS_SLOT);
break; break;
case 15: case 15:
sub_804F748(1); ComputePartyTradeableFlags(1);
PrintPartyNicknames(1); PrintPartyNicknames(1);
gMain.state++; gMain.state++;
// fallthrough // fallthrough
case 16: case 16:
sub_804D694(0); LoadTradeBackgroundGfxAndPals(0);
gMain.state++; gMain.state++;
break; break;
case 17: case 17:
sub_804D694(1); LoadTradeBackgroundGfxAndPals(1);
gMain.state++; gMain.state++;
break; break;
case 18: case 18:
@@ -964,22 +964,22 @@ static void sub_804C728(void)
break; break;
case 19: case 19:
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
sub_804D694(2); LoadTradeBackgroundGfxAndPals(2);
gMain.state++; gMain.state++;
break; break;
case 20: case 20:
sub_804F890(0); ComputePartyHPBarLevels(0);
gMain.state++; gMain.state++;
break; break;
case 21: case 21:
sub_804F890(1); ComputePartyHPBarLevels(1);
sub_804F964(); SetMonIconsAnimByHPBarLevel();
gMain.state++; gMain.state++;
break; break;
case 22: case 22:
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
gMain.callback1 = sub_804DFF0; gMain.callback1 = CB1_HandleBlockReceive;
SetMainCallback2(CB2_TradeMenu); SetMainCallback2(CB2_TradeMenu);
} }
break; break;
@@ -992,7 +992,7 @@ static void sub_804C728(void)
UpdatePaletteFade(); UpdatePaletteFade();
} }
void sub_804CF14(void) void CB2_ReturnToTradeMenuFromSummary(void)
{ {
int i; int i;
struct SpriteTemplate temp; struct SpriteTemplate temp;
@@ -1009,12 +1009,12 @@ void sub_804CF14(void)
switch (gMain.state) switch (gMain.state)
{ {
case 0: case 0:
sub_804C600(); InitTradeMenuResources();
gMain.state++; gMain.state++;
break; break;
case 1: case 1:
gMain.state++; gMain.state++;
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
break; break;
case 2: case 2:
gMain.state++; gMain.state++;
@@ -1086,10 +1086,10 @@ void sub_804CF14(void)
DrawTextWindowAndBufferTiles(sTradeUITextPtrs[TRADEUITEXT_CANCEL], sSpriteTextTilePtrs[6], 0, 0, gDecompressionBuffer, 2); DrawTextWindowAndBufferTiles(sTradeUITextPtrs[TRADEUITEXT_CANCEL], sSpriteTextTilePtrs[6], 0, 0, gDecompressionBuffer, 2);
RenderTextToVramViaBuffer(sTradeUITextPtrs[TRADEUITEXT_CHOOSE], sSpriteTextTilePtrs[8], 24); RenderTextToVramViaBuffer(sTradeUITextPtrs[TRADEUITEXT_CHOOSE], sSpriteTextTilePtrs[8], 24);
gMain.state++; gMain.state++;
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
break; break;
case 11: case 11:
if (sub_804F610()) if (LoadUISprites())
{ {
gMain.state++; gMain.state++;
} }
@@ -1140,14 +1140,14 @@ void sub_804CF14(void)
gMain.state = 16; gMain.state = 16;
break; break;
case 16: case 16:
sub_804D694(0); LoadTradeBackgroundGfxAndPals(0);
gMain.state++; gMain.state++;
break; break;
case 17: case 17:
sub_804D694(1); LoadTradeBackgroundGfxAndPals(1);
sTradeMenuResourcesPtr->bg2hofs = 0; sTradeMenuResourcesPtr->bg2hofs = 0;
sTradeMenuResourcesPtr->bg3hofs = 0; sTradeMenuResourcesPtr->bg3hofs = 0;
sub_804D764(); SetTradeMenuOptionActiveFlags();
gMain.state++; gMain.state++;
break; break;
case 18: case 18:
@@ -1158,14 +1158,14 @@ void sub_804CF14(void)
break; break;
case 19: case 19:
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
sub_804D694(2); LoadTradeBackgroundGfxAndPals(2);
gMain.state++; gMain.state++;
break; break;
case 20: case 20:
gMain.state++; gMain.state++;
break; break;
case 21: case 21:
sub_804F964(); SetMonIconsAnimByHPBarLevel();
gMain.state++; gMain.state++;
break; break;
case 22: case 22:
@@ -1191,7 +1191,7 @@ static void VblankCB_Trade(void)
static void TradeMenuCB_9(void) static void TradeMenuCB_9(void)
{ {
if (++sTradeMenuResourcesPtr->loadUiSpritesState >= 16) if (++sTradeMenuResourcesPtr->loadUISpritesState >= 16)
{ {
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
sTradeMenuResourcesPtr->tradeMenuCBnum = 10; sTradeMenuResourcesPtr->tradeMenuCBnum = 10;
@@ -1259,7 +1259,7 @@ static void CB2_TradeMenu(void)
UpdatePaletteFade(); UpdatePaletteFade();
} }
static void sub_804D694(u8 state) static void LoadTradeBackgroundGfxAndPals(u8 state)
{ {
int i; int i;
@@ -1291,7 +1291,7 @@ static void sub_804D694(u8 state)
} }
} }
static void sub_804D764(void) static void SetTradeMenuOptionActiveFlags(void)
{ {
int i; int i;
for (i = 0; i < PARTY_SIZE; i++) for (i = 0; i < PARTY_SIZE; i++)
@@ -1338,7 +1338,7 @@ static bool8 shedinja_maker_maybe(void)
case 0: case 0:
Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon));
sTradeMenuResourcesPtr->state++; sTradeMenuResourcesPtr->state++;
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
break; break;
case 1: case 1:
if (IsLinkTaskFinished()) if (IsLinkTaskFinished())
@@ -1470,10 +1470,10 @@ static bool8 shedinja_maker_maybe(void)
case 10: case 10:
case 14: case 14:
case 18: case 18:
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
if (sTradeMenuResourcesPtr->loadUiSpritesState > 10) if (sTradeMenuResourcesPtr->loadUISpritesState > 10)
{ {
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
sTradeMenuResourcesPtr->state++; sTradeMenuResourcesPtr->state++;
} }
break; break;
@@ -1481,14 +1481,14 @@ static bool8 shedinja_maker_maybe(void)
return FALSE; return FALSE;
} }
static void sub_804DBAC(void) static void PrintIsThisTradeOkay(void)
{ {
RenderTextToVramViaBuffer(gUnknown_841E0A5, (u8 *)OBJ_VRAM0 + sTradeMenuResourcesPtr->cursorStartTile * 32, 0x18); RenderTextToVramViaBuffer(gText_IsThisTradeOkay, (u8 *)OBJ_VRAM0 + sTradeMenuResourcesPtr->cursorStartTile * 32, 0x18);
} }
static void sub_804DBD4(u8 a0, u8 a1) static void Master_HandleBlockReceivedStatus(u8 mpId, u8 blockReceivedFlags)
{ {
if (a1 & 1) if (blockReceivedFlags & 1)
{ {
switch (gBlockRecvBuffer[0][0]) switch (gBlockRecvBuffer[0][0])
{ {
@@ -1508,7 +1508,7 @@ static void sub_804DBD4(u8 a0, u8 a1)
ResetBlockReceivedFlag(0); ResetBlockReceivedFlag(0);
} }
if (a1 & 2) if (blockReceivedFlags & 2)
{ {
switch (gBlockRecvBuffer[1][0]) switch (gBlockRecvBuffer[1][0])
{ {
@@ -1530,9 +1530,9 @@ static void sub_804DBD4(u8 a0, u8 a1)
} }
} }
static void sub_804DCF4(u8 a0, u8 a1) static void Slave_HandleBlockReceivedStatus(u8 mpId, u8 blockReceivedFlags)
{ {
if (a1 & 1) if (blockReceivedFlags & 1)
{ {
switch (gBlockRecvBuffer[0][0]) switch (gBlockRecvBuffer[0][0])
{ {
@@ -1563,11 +1563,11 @@ static void sub_804DCF4(u8 a0, u8 a1)
ResetBlockReceivedFlag(0); ResetBlockReceivedFlag(0);
} }
if (a1 & 2) if (blockReceivedFlags & 2)
ResetBlockReceivedFlag(1); ResetBlockReceivedFlag(1);
} }
static void sub_804DDF0(void) static void Master_HandleCommunication(void)
{ {
if (sTradeMenuResourcesPtr->unk_78 && sTradeMenuResourcesPtr->unk_79) if (sTradeMenuResourcesPtr->unk_78 && sTradeMenuResourcesPtr->unk_79)
{ {
@@ -1635,22 +1635,22 @@ static void sub_804DDF0(void)
} }
} }
static void sub_804DFF0(void) static void CB1_HandleBlockReceive(void)
{ {
u8 mpId = GetMultiplayerId(); u8 mpId = GetMultiplayerId();
u8 status; u8 status;
if ((status = GetBlockReceivedStatus())) if ((status = GetBlockReceivedStatus()))
{ {
if (mpId == 0) if (mpId == 0)
sub_804DBD4(0, status); Master_HandleBlockReceivedStatus(mpId, status);
else else
sub_804DCF4(mpId, status); Slave_HandleBlockReceivedStatus(mpId, status);
} }
if (mpId == 0) if (mpId == 0)
sub_804DDF0(); Master_HandleCommunication();
} }
static u8 sub_804E028(u8 oldPosition, u8 direction) static u8 TradeMenuGetNewCursorLocation(u8 oldPosition, u8 direction)
{ {
int i; int i;
u8 newPosition = 0; u8 newPosition = 0;
@@ -1670,7 +1670,7 @@ static u8 sub_804E028(u8 oldPosition, u8 direction)
static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction) static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction)
{ {
u8 newPosition = sub_804E028(*tradeMenuCursorPosition, direction); u8 newPosition = TradeMenuGetNewCursorLocation(*tradeMenuCursorPosition, direction);
if (newPosition == 12) // CANCEL if (newPosition == 12) // CANCEL
{ {
@@ -1693,7 +1693,7 @@ static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction)
*tradeMenuCursorPosition = newPosition; *tradeMenuCursorPosition = newPosition;
} }
static void sub_804E134(void) static void CommunicatePlayerSelectedMonForTrade(void)
{ {
PrintTradeErrorOrStatusMessage(TRADESTATMSG_COMMSTANDBY); PrintTradeErrorOrStatusMessage(TRADESTATMSG_COMMSTANDBY);
sTradeMenuResourcesPtr->tradeMenuCBnum = 5; sTradeMenuResourcesPtr->tradeMenuCBnum = 5;
@@ -1702,7 +1702,7 @@ static void sub_804E134(void)
{ {
sTradeMenuResourcesPtr->linkData[0] = 0xAABB; sTradeMenuResourcesPtr->linkData[0] = 0xAABB;
sTradeMenuResourcesPtr->linkData[1] = sTradeMenuResourcesPtr->tradeMenuCursorPosition; sTradeMenuResourcesPtr->linkData[1] = sTradeMenuResourcesPtr->tradeMenuCursorPosition;
SendBlock(bitmask_all_link_players_but_self(), sTradeMenuResourcesPtr->linkData, 0x14); SendBlock(bitmask_all_link_players_but_self(), sTradeMenuResourcesPtr->linkData, 20);
} }
else else
{ {
@@ -1765,7 +1765,7 @@ static void TradeMenuCB_0(void)
} }
} }
static void sub_804E330(void) static void RedrawChooseAPokemonWindow(void)
{ {
PrintTradePartnerPartyNicknames(); PrintTradePartnerPartyNicknames();
sTradeMenuResourcesPtr->tradeMenuCBnum = 0; sTradeMenuResourcesPtr->tradeMenuCBnum = 0;
@@ -1779,32 +1779,32 @@ static void TradeMenuCB_1(void)
{ {
case MENU_B_PRESSED: case MENU_B_PRESSED:
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
sub_804E330(); RedrawChooseAPokemonWindow();
break; break;
case MENU_NOTHING_CHOSEN: case MENU_NOTHING_CHOSEN:
break; break;
case 0: case 0: // SUMMARY
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
sTradeMenuResourcesPtr->tradeMenuCBnum = 2; sTradeMenuResourcesPtr->tradeMenuCBnum = 2;
break; break;
case 1: case 1: // Trade
switch (TestWhetherSelectedMonCanBeTraded(gPlayerParty, gPlayerPartyCount, sTradeMenuResourcesPtr->tradeMenuCursorPosition)) switch (TestWhetherSelectedMonCanBeTraded(gPlayerParty, gPlayerPartyCount, sTradeMenuResourcesPtr->tradeMenuCursorPosition))
{ {
case 0: case 0: // Can trade
sub_804E134(); CommunicatePlayerSelectedMonForTrade();
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].invisible = TRUE; gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].invisible = TRUE;
break; break;
case 1: case 1: // Don't have enough alive mons
ScheduleLinkTaskWithDelay(3, 3); ScheduleLinkTaskWithDelay(3, 3);
sTradeMenuResourcesPtr->tradeMenuCBnum = 8; sTradeMenuResourcesPtr->tradeMenuCBnum = 8;
break; break;
case 2: case 2: // Player lacks national dex
case 4: case 4: // Partner lacks national dex
ScheduleLinkTaskWithDelay(3, 6); ScheduleLinkTaskWithDelay(3, 6);
sTradeMenuResourcesPtr->tradeMenuCBnum = 8; sTradeMenuResourcesPtr->tradeMenuCBnum = 8;
break; break;
case 3: case 3: // Player lacks national dex (egg)
case 5: case 5: // Partner lacks national dex (egg)
ScheduleLinkTaskWithDelay(3, 7); ScheduleLinkTaskWithDelay(3, 7);
sTradeMenuResourcesPtr->tradeMenuCBnum = 8; sTradeMenuResourcesPtr->tradeMenuCBnum = 8;
break; break;
@@ -1818,7 +1818,7 @@ static void TradeMenuCB_15(void)
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
sub_804E330(); RedrawChooseAPokemonWindow();
} }
} }
@@ -1827,9 +1827,9 @@ static void TradeMenuCB_2(void)
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
if (sTradeMenuResourcesPtr->tradeMenuCursorPosition < 6) if (sTradeMenuResourcesPtr->tradeMenuCursorPosition < 6)
ShowPokemonSummaryScreen(gPlayerParty, sTradeMenuResourcesPtr->tradeMenuCursorPosition, sTradeMenuResourcesPtr->partyCounts[0] - 1, sub_804CF14, 4); ShowPokemonSummaryScreen(gPlayerParty, sTradeMenuResourcesPtr->tradeMenuCursorPosition, sTradeMenuResourcesPtr->partyCounts[0] - 1, CB2_ReturnToTradeMenuFromSummary, 4);
else else
ShowPokemonSummaryScreen(gEnemyParty, sTradeMenuResourcesPtr->tradeMenuCursorPosition - 6, sTradeMenuResourcesPtr->partyCounts[1] - 1, sub_804CF14, 4); ShowPokemonSummaryScreen(gEnemyParty, sTradeMenuResourcesPtr->tradeMenuCursorPosition - 6, sTradeMenuResourcesPtr->partyCounts[1] - 1, CB2_ReturnToTradeMenuFromSummary, 4);
FreeAllWindowBuffers(); FreeAllWindowBuffers();
} }
} }
@@ -1908,7 +1908,7 @@ static void TradeMenuCB_3(void)
} }
} }
static void sub_804E6FC(void) static void CommitWindows(void)
{ {
int i; int i;
@@ -1930,12 +1930,12 @@ static void TradeMenuCB_4(void)
ScheduleLinkTaskWithDelay(5, 0); ScheduleLinkTaskWithDelay(5, 0);
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].invisible = TRUE; gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].invisible = TRUE;
sTradeMenuResourcesPtr->tradeMenuCBnum = 100; sTradeMenuResourcesPtr->tradeMenuCBnum = 100;
sub_804E6FC(); CommitWindows();
break; break;
case 1: case 1:
case MENU_B_PRESSED: case MENU_B_PRESSED:
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
sub_804E330(); RedrawChooseAPokemonWindow();
break; break;
} }
} }
@@ -1955,19 +1955,19 @@ static void TradeMenuCB_7(void)
{ {
if (sTradeMenuResourcesPtr->menuRedrawState[0] == 5 && sTradeMenuResourcesPtr->menuRedrawState[1] == 5) if (sTradeMenuResourcesPtr->menuRedrawState[0] == 5 && sTradeMenuResourcesPtr->menuRedrawState[1] == 5)
{ {
sub_804DBAC(); PrintIsThisTradeOkay();
sTradeMenuResourcesPtr->tradeMenuCBnum = 14; sTradeMenuResourcesPtr->tradeMenuCBnum = 14;
} }
} }
static void TradeMenuCB_14(void) static void TradeMenuCB_14(void)
{ {
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
if (sTradeMenuResourcesPtr->loadUiSpritesState > 120) if (sTradeMenuResourcesPtr->loadUISpritesState > 120)
{ {
CreateYesNoMenu(&sWindowTemplate_YesNo, 3, 0, 2, 1, 14, 0); CreateYesNoMenu(&sWindowTemplate_YesNo, 3, 0, 2, 1, 14, 0);
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
sTradeMenuResourcesPtr->tradeMenuCBnum = 3; sTradeMenuResourcesPtr->tradeMenuCBnum = 3;
} }
} }
@@ -1988,8 +1988,8 @@ static void TradeMenuCB_8(void)
rbox_fill_rectangle(i + 14); rbox_fill_rectangle(i + 14);
} }
sub_804F3C8(0); RedrawPartyWindow(0);
sub_804F3C8(1); RedrawPartyWindow(1);
sTradeMenuResourcesPtr->tradeMenuCBnum = 0; sTradeMenuResourcesPtr->tradeMenuCBnum = 0;
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].invisible = FALSE; gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].invisible = FALSE;
} }
@@ -2039,7 +2039,7 @@ static void TradeMenuCB_12(void)
static void TradeMenuCB_16(void) static void TradeMenuCB_16(void)
{ {
if (!sub_80FA484(FALSE)) if (!ToggleLMANlinkRecovery(FALSE))
{ {
PrepareSendLinkCmd2FFE_or_RfuCmd6600(); PrepareSendLinkCmd2FFE_or_RfuCmd6600();
sTradeMenuResourcesPtr->tradeMenuCBnum = 13; sTradeMenuResourcesPtr->tradeMenuCBnum = 13;
@@ -2065,6 +2065,9 @@ static void RunTradeMenuCallback(void)
case 4: case 4:
TradeMenuCB_4(); TradeMenuCB_4();
break; break;
case 5:
// nop
break;
case 6: case 6:
TradeMenuCB_6(); TradeMenuCB_6();
break; break;
@@ -2147,7 +2150,7 @@ static void HandleRedrawTradeMenuOnSide(u8 side)
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
StoreSpriteCallbackInData6(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], SpriteCB_MonIcon); StoreSpriteCallbackInData6(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], SpriteCB_MonIcon);
sTradeMenuResourcesPtr->menuRedrawState[side]++; sTradeMenuResourcesPtr->menuRedrawState[side]++;
sub_8075490(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]); StartSpriteLinearTranslationFromCurrentPos(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]);
CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, side * 15, 0, 15, 17, 0); CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, side * 15, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(0);
@@ -2362,7 +2365,7 @@ static void PrintTradePartnerPartyNicknames(void)
PrintPartyNicknames(1); PrintPartyNicknames(1);
} }
static void sub_804F3C8(u8 whichParty) static void RedrawPartyWindow(u8 whichParty)
{ {
CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, 15 * whichParty, 0, 15, 17, 0); CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, 15 * whichParty, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(1);
@@ -2455,45 +2458,45 @@ static void PrintTradeErrorOrStatusMessage(u8 idx)
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
} }
static bool8 sub_804F610(void) static bool8 LoadUISprites(void)
{ {
struct SpriteSheet sheet; struct SpriteSheet sheet;
if (sTradeMenuResourcesPtr->loadUiSpritesState < 14) if (sTradeMenuResourcesPtr->loadUISpritesState < 14)
{ {
sheet.data = sSpriteTextTilePtrs[sTradeMenuResourcesPtr->loadUiSpritesState]; sheet.data = sSpriteTextTilePtrs[sTradeMenuResourcesPtr->loadUISpritesState];
sheet.size = 0x100; sheet.size = 0x100;
sheet.tag = 200 + sTradeMenuResourcesPtr->loadUiSpritesState; sheet.tag = 200 + sTradeMenuResourcesPtr->loadUISpritesState;
} }
switch (sTradeMenuResourcesPtr->loadUiSpritesState) switch (sTradeMenuResourcesPtr->loadUISpritesState)
{ {
case 0 ... 7: case 0 ... 7:
LoadSpriteSheet(&sheet); LoadSpriteSheet(&sheet);
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
break; break;
case 8: case 8:
sTradeMenuResourcesPtr->cursorStartTile = LoadSpriteSheet(&sheet); sTradeMenuResourcesPtr->cursorStartTile = LoadSpriteSheet(&sheet);
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
break; break;
case 9 ... 13: case 9 ... 13:
LoadSpriteSheet(&sheet); LoadSpriteSheet(&sheet);
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
break; break;
case 14: case 14:
LoadSpritePalette(&sSpritePalette_Text); LoadSpritePalette(&sSpritePalette_Text);
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
break; break;
case 15: case 15:
LoadSpritePalette(&sTradeButtons_SpritePal); LoadSpritePalette(&sTradeButtons_SpritePal);
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
break; break;
case 16: case 16:
LoadSpriteSheet(&sTradeButtons_SpriteSheet); LoadSpriteSheet(&sTradeButtons_SpriteSheet);
sTradeMenuResourcesPtr->loadUiSpritesState++; sTradeMenuResourcesPtr->loadUISpritesState++;
break; break;
case 17: case 17:
sTradeMenuResourcesPtr->loadUiSpritesState = 0; sTradeMenuResourcesPtr->loadUISpritesState = 0;
return TRUE; return TRUE;
} }
@@ -2505,7 +2508,7 @@ static void RenderTextToVramViaBuffer(const u8 *name, u8 *dest, u8 unused)
DrawTextWindowAndBufferTiles(name, dest, 0, 0, gDecompressionBuffer, 6); DrawTextWindowAndBufferTiles(name, dest, 0, 0, gDecompressionBuffer, 6);
} }
static void sub_804F748(u8 who) static void ComputePartyTradeableFlags(u8 who)
{ {
int i; int i;
@@ -2554,7 +2557,7 @@ static void sub_804F748(u8 who)
} }
} }
static void sub_804F890(u8 who) static void ComputePartyHPBarLevels(u8 who)
{ {
u16 i, curHp, maxHp; u16 i, curHp, maxHp;
@@ -2579,7 +2582,7 @@ static void sub_804F890(u8 who)
} }
} }
static void sub_804F964(void) static void SetMonIconsAnimByHPBarLevel(void)
{ {
int i, j; int i, j;
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
@@ -2678,7 +2681,7 @@ static u32 TestWhetherSelectedMonCanBeTraded(struct Pokemon * party, int partyCo
} }
} }
s32 sub_804FB34(void) s32 Trade_CalcLinkPlayerCompatibilityParam(void)
{ {
s32 val; s32 val;
u16 version; u16 version;