Name as many symbols as I could in trade.c
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user