summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2019-10-30 21:06:15 -0400
committerPikalaxALT <PikalaxALT@gmail.com>2019-10-30 21:06:15 -0400
commitf86bb07027d2a93b3d0abc572d2741f9ee2e795d (patch)
tree49060b9631b96b7b50d80657ce20ce0d069f7fff
parent71dbb008004342bdb9a6e9ac0a181408a016d07b (diff)
Review comments and documentation
-rw-r--r--asm/battle_tower.s4
-rw-r--r--asm/cable_club.s4
-rw-r--r--asm/evolution_scene.s2
-rw-r--r--asm/link_rfu_3.s2
-rw-r--r--asm/party_menu.s20
-rw-r--r--baserom.ipsbin553618 -> 537206 bytes
-rw-r--r--data/graphics.s26
-rw-r--r--graphics/trade/menu.pngbin608 -> 609 bytes
-rw-r--r--graphics/trade/menu_mon_box.binbin0 -> 36 bytes
-rw-r--r--graphics/trade/pokeball.pngbin0 -> 464 bytes
-rw-r--r--graphics/trade/unknown_DDB444.pal19
-rw-r--r--graphics/trade/unknown_DDCF04.binbin0 -> 2048 bytes
-rw-r--r--graphics/unused/unused_DDCEE4.binbin0 -> 32 bytes
-rw-r--r--include/graphics.h10
-rw-r--r--include/pokemon_icon.h8
-rw-r--r--include/trade.h2
-rw-r--r--include/trade_scene.h2
-rw-r--r--include/util.h2
-rw-r--r--src/data/ingame_trades.h4
-rw-r--r--src/trade.c199
-rw-r--r--src/trade_scene.c595
21 files changed, 467 insertions, 432 deletions
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 87f01b7fb..fe6aac664 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -2832,7 +2832,7 @@ _080E6F68:
ldrb r1, [r0]
movs r0, 0x64
muls r0, r1
- ldr r1, _080E6FB4 @ =gEnemyParty + 0x1f4
+ ldr r1, _080E6FB4 @ =gEnemyParty + 500 @ &gEnemyParty[5]
adds r0, r1
movs r1, 0x2C
muls r1, r4
@@ -2855,7 +2855,7 @@ _080E6FA4: .4byte gSaveBlock2Ptr
_080E6FA8: .4byte gSaveBlock1Ptr
_080E6FAC: .4byte 0x00002cac
_080E6FB0: .4byte 0x0000056d
-_080E6FB4: .4byte gEnemyParty + 0x1f4
+_080E6FB4: .4byte gEnemyParty + 500 @ &gEnemyParty[5]
thumb_func_end sub_80E6EE0
thumb_func_start SaveBattleTowerProgress
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 9b4c173c9..d19bb3a35 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -2211,7 +2211,7 @@ _080818C4:
ldrb r0, [r0]
cmp r0, 0
bne _080818D8
- ldr r0, _080818E4 @ =sub_804C718
+ ldr r0, _080818E4 @ =CB2_ReturnFromLinkTrade
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -2221,7 +2221,7 @@ _080818D8:
bx r0
.align 2, 0
_080818E0: .4byte gReceivedRemoteLinkPlayers
-_080818E4: .4byte sub_804C718
+_080818E4: .4byte CB2_ReturnFromLinkTrade
thumb_func_end sub_8081850
thumb_func_start sub_80818E8
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index 710ee2b67..dac85320e 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -738,7 +738,7 @@ _080CE3D8: .4byte nullsub_76
_080CE3DC: .4byte sub_80D00D8
_080CE3E0: .4byte gMain
_080CE3E4:
- bl sub_80544FC
+ bl LoadTradeAnimGfx
b _080CE4EC
_080CE3EA:
movs r0, 0x20
diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s
index 4decd66ff..63a894247 100644
--- a/asm/link_rfu_3.s
+++ b/asm/link_rfu_3.s
@@ -2939,7 +2939,7 @@ sub_8117100: @ 8117100
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_804C718
+ bl CB2_ReturnFromLinkTrade
adds r0, r4, 0
bl DestroyTask
pop {r4}
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 91e19ebf2..43a7a6e31 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -3033,7 +3033,7 @@ _081201C0:
lsrs r6, r0, 29
cmp r6, 0x3
bne _081201F0
- ldr r0, _081201EC @ =gPlayerParty + 0x12C
+ ldr r0, _081201EC @ =gPlayerParty + 300 @ &gPlayerParty[3]
movs r1, 0xB
bl GetMonData
cmp r0, 0
@@ -3042,12 +3042,12 @@ _081201C0:
b _08120290
.align 2, 0
_081201E8: .4byte gUnknown_203B09C
-_081201EC: .4byte gPlayerParty + 0x12C
+_081201EC: .4byte gPlayerParty + 300 @ &gPlayerParty[3]
_081201F0:
- ldr r0, _081201F4 @ =gPlayerParty + 0xC8
+ ldr r0, _081201F4 @ =gPlayerParty + 200 @ &gPlayerParty[2]
b _0812020C
.align 2, 0
-_081201F4: .4byte gPlayerParty + 0xC8
+_081201F4: .4byte gPlayerParty + 200 @ &gPlayerParty[2]
_081201F8:
cmp r0, 0x1
bne _08120290
@@ -3058,7 +3058,7 @@ _081201F8:
lsrs r5, r0, 29
cmp r5, 0x5
bne _08120224
- ldr r0, _08120220 @ =gPlayerParty + 0x1F4
+ ldr r0, _08120220 @ =gPlayerParty + 500 @ &gPlayerParty[5]
_0812020C:
movs r1, 0xB
bl GetMonData
@@ -3068,9 +3068,9 @@ _0812020C:
b _08120290
.align 2, 0
_0812021C: .4byte gUnknown_203B09C
-_08120220: .4byte gPlayerParty + 0x1F4
+_08120220: .4byte gPlayerParty + 500 @ &gPlayerParty[5]
_08120224:
- ldr r0, _08120234 @ =gPlayerParty + 0x190
+ ldr r0, _08120234 @ =gPlayerParty + 400 @ &gPlayerParty[4]
movs r1, 0xB
bl GetMonData
cmp r0, 0
@@ -3078,7 +3078,7 @@ _08120224:
movs r0, 0x4
b _0812028E
.align 2, 0
-_08120234: .4byte gPlayerParty + 0x190
+_08120234: .4byte gPlayerParty + 400 @ &gPlayerParty[4]
_08120238:
ldrb r1, [r4]
subs r0, r1, 0x2
@@ -18129,7 +18129,7 @@ _08127A80: .4byte sub_811FB28
sub_8127A84: @ 8127A84
push {r4,lr}
adds r4, r0, 0
- ldr r0, _08127AA4 @ =gPlayerParty + 0x64
+ ldr r0, _08127AA4 @ =gPlayerParty + 100 @ &gPlayerParty[1]
movs r1, 0xB
bl GetMonData
cmp r0, 0
@@ -18143,7 +18143,7 @@ _08127AA0:
movs r0, 0x7
b _08127ABA
.align 2, 0
-_08127AA4: .4byte gPlayerParty + 0x64
+_08127AA4: .4byte gPlayerParty + 100 @ &gPlayerParty[1]
_08127AA8:
ldr r0, _08127AB4 @ =gUnknown_203B0A0
ldrb r0, [r0, 0xB]
diff --git a/baserom.ips b/baserom.ips
index 02b5aab21..5fc13b159 100644
--- a/baserom.ips
+++ b/baserom.ips
Binary files differ
diff --git a/data/graphics.s b/data/graphics.s
index 93c5b6614..67e88a6cd 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -16214,26 +16214,26 @@ gUnknown_8E9CB9C:: @ 8E9CB9C
gUnknown_8E9CBBC:: @ 8E9CBBC
.incbin "baserom.gba", 0xE9CBBC, 0x320 @UNKNOWN
-gUnknown_8E9CEDC:: @ 8E9CEDC
- .incbin "baserom.gba", 0xE9CEDC, 0x60 @UNKNOWN
+gTradeMenu_Pal:: @ 8E9CEDC
+ .incbin "graphics/trade/menu.gbapal"
-gUnknown_8E9CF3C::
- .incbin "baserom.gba", 0xE9CF3C, 0x20 @UNKNOWN
+gTradeButtons_Pal:: @ E9CF3C
+ .incbin "graphics/trade/unknown_DDB444.gbapal"
-gUnknown_8E9CF5C:: @ 8E9CF5C
- .incbin "baserom.gba", 0xE9CF5C, 0x1280 @UNKNOWN
+gTradeMenu_Gfx:: @ 8E9CF5C
+ .incbin "graphics/trade/menu.4bpp"
-gUnknown_8E9E1DC::
- .incbin "baserom.gba", 0xE9E1DC, 0x800 @UNKNOWN
+gTradeButtons_Gfx:: @ E9E1DC
+ .incbin "graphics/trade/buttons.4bpp"
-gUnknown_8E9E9DC::
- .incbin "baserom.gba", 0xE9E9DC, 0x20 @UNKNOWN
+gUnknown_8E9E9DC:: @ E9E9DC
+ .incbin "graphics/unused/unused_DDCEE4.bin"
gUnknown_8E9E9FC:: @ 8E9E9FC
- .incbin "baserom.gba", 0xE9E9FC, 0x800 @UNKNOWN
+ .incbin "graphics/trade/unknown_DDCF04.bin"
-gUnknown_8E9F1FC:: @ 8E9F1FC
- .incbin "baserom.gba", 0xE9F1FC, 0x24 @UNKNOWN
+gTradeMenuMonBox_Tilemap:: @ 8E9F1FC
+ .incbin "graphics/trade/menu_mon_box.bin"
gFameCheckerBgPals:: @ 8E9F220
.incbin "data/graphics/fame_checker_bg.gbapal"
diff --git a/graphics/trade/menu.png b/graphics/trade/menu.png
index 91bc0f7eb..f06e5b35c 100644
--- a/graphics/trade/menu.png
+++ b/graphics/trade/menu.png
Binary files differ
diff --git a/graphics/trade/menu_mon_box.bin b/graphics/trade/menu_mon_box.bin
new file mode 100644
index 000000000..354866137
--- /dev/null
+++ b/graphics/trade/menu_mon_box.bin
Binary files differ
diff --git a/graphics/trade/pokeball.png b/graphics/trade/pokeball.png
new file mode 100644
index 000000000..97cc86a6f
--- /dev/null
+++ b/graphics/trade/pokeball.png
Binary files differ
diff --git a/graphics/trade/unknown_DDB444.pal b/graphics/trade/unknown_DDB444.pal
new file mode 100644
index 000000000..bb74b34a2
--- /dev/null
+++ b/graphics/trade/unknown_DDB444.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+123 131 222
+98 98 180
+123 106 222
+106 172 238
+82 148 205
+180 189 230
+148 156 189
+205 106 0
+255 189 49
+246 148 0
+255 213 115
+205 74 90
+255 98 32
+205 205 222
+255 98 32
diff --git a/graphics/trade/unknown_DDCF04.bin b/graphics/trade/unknown_DDCF04.bin
new file mode 100644
index 000000000..46218245f
--- /dev/null
+++ b/graphics/trade/unknown_DDCF04.bin
Binary files differ
diff --git a/graphics/unused/unused_DDCEE4.bin b/graphics/unused/unused_DDCEE4.bin
new file mode 100644
index 000000000..481183cbd
--- /dev/null
+++ b/graphics/unused/unused_DDCEE4.bin
Binary files differ
diff --git a/include/graphics.h b/include/graphics.h
index 20e322bc1..56a51e67c 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4215,11 +4215,11 @@ extern const u8 gMonIcon_Unown_QuestionMark[];
extern const u8 gMonIcon_QuestionMark[];
// trade
-extern const u16 gUnknown_8E9CEDC[];
-extern const u16 gUnknown_8E9CF3C[];
-extern const u16 gUnknown_8E9CF5C[];
+extern const u16 gTradeMenu_Pal[];
+extern const u16 gTradeButtons_Pal[];
+extern const u16 gTradeMenu_Gfx[];
extern const u16 gUnknown_8E9E9FC[];
-extern const u16 gUnknown_8E9E1DC[];
-extern const u16 gUnknown_8E9F1FC[];
+extern const u16 gTradeButtons_Gfx[];
+extern const u16 gTradeMenuMonBox_Tilemap[];
#endif //GUARD_GRAPHICS_H
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index 13228e55e..cfc3c18f0 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -8,18 +8,18 @@ const u8 *GetMonIconTiles(u16 iconSpecies, bool32 extra);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
u16 sub_80D2E84(u16 speciesId);
void sub_80D2F68(u16 iconId);
-u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
+u8 sub_80D2D78(u16 iconId, SpriteCallback callback, u16 x, u16 y, u16 a4, u8 a5);
void sub_80D2FF0(u16 iconId);
-void sub_80D2EF8(struct Sprite *sprite);
+void sub_80D2EF8(struct Sprite * sprite);
void LoadMonIconPalettes(void);
void FreeMonIconPalettes(void);
u16 MailSpeciesToIconSpecies(u16);
-u8 CreateMonIcon_HandleDeoxys(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, bool32 extra);
+u8 CreateMonIcon_HandleDeoxys(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, bool32 extra);
void DestroyMonIcon(struct Sprite *);
u16 GetUnownLetterByPersonality(u32 personality);
void SpriteCB_MonIcon(struct Sprite *);
u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra);
-u8 UpdateMonIconFrame(struct Sprite *sprite);
+u8 UpdateMonIconFrame(struct Sprite * sprite);
void LoadMonIconPalette(u16 iconId);
void FreeMonIconPalette(u16 iconId);
void MonIcon_SetAnim(struct Sprite * sprite, u8 animNum);
diff --git a/include/trade.h b/include/trade.h
index b1ae5669e..257357053 100644
--- a/include/trade.h
+++ b/include/trade.h
@@ -5,7 +5,7 @@ extern struct MailStruct gLinkPartnerMail[6];
extern u8 gSelectedTradeMonPositions[2];
extern const u16 gUnknown_826601C[];
-void sub_804C718(void);
+void CB2_ReturnFromLinkTrade(void);
s32 sub_804FB34(void);
#endif //GUARD_TRADE_H
diff --git a/include/trade_scene.h b/include/trade_scene.h
index 347df033f..13cb1a56c 100644
--- a/include/trade_scene.h
+++ b/include/trade_scene.h
@@ -9,7 +9,7 @@ u16 GetInGameTradeSpeciesInfo(void);
u16 GetTradeSpecies(void);
void sub_805049C(void);
void sub_80504B0(void);
-void sub_80544FC(void);
+void LoadTradeAnimGfx(void);
extern const u16 gUnknown_826601C[];
extern const struct WindowTemplate gUnknown_826D1CC;
diff --git a/include/util.h b/include/util.h
index db86c184c..ef1c15faa 100644
--- a/include/util.h
+++ b/include/util.h
@@ -14,7 +14,7 @@ void LoadWordFromTwoHalfwords(u16 *, u32 *);
int CountTrailingZeroBits(u32 value);
u16 CalcCRC16(const u8 *data, u32 length);
u16 CalcCRC16WithTable(const u8 *data, u32 length);
-u32 CalcByteArraySum(const u8* data, u32 length);
+u32 CalcByteArraySum(const u8 *data, u32 length);
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
void DoBgAffineSet(struct BgAffineDstData * dest, u32 texX, u32 texY, s16 srcX, s16 srcY, s16 sx, s16 sy, u16 alpha);
diff --git a/src/data/ingame_trades.h b/src/data/ingame_trades.h
index ba8abb47b..59304242b 100644
--- a/src/data/ingame_trades.h
+++ b/src/data/ingame_trades.h
@@ -1,4 +1,4 @@
-const struct InGameTrade gInGameTrades[] = {
+static const struct InGameTrade sInGameTrades[] = {
{
.nickname = _("MIMIEN"),
.species = SPECIES_MR_MIME,
@@ -129,7 +129,7 @@ const struct InGameTrade gInGameTrades[] = {
}
};
-const u16 sInGameTradeMailMessages[][10] = {
+static const u16 sInGameTradeMailMessages[][10] = {
{
EC_WORD_THAT_S,
EC_WORD_A,
diff --git a/src/trade.c b/src/trade.c
index 817182efe..5151ecedd 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -130,7 +130,7 @@ static void TradeMenuAction_Summary(u8 taskId);
static void TradeMenuAction_Trade(u8 taskId);
static void ScheduleLinkTaskWithDelay(u16 delay, u8 kind);
static void RunScheduledLinkTasks(void);
-static void PrintTradeErrorOrStatusMessage(u8 str_idx);
+static void PrintTradeErrorOrStatusMessage(u8 strIdx);
static bool8 sub_804F610(void);
static void RenderTextToVramViaBuffer(const u8 *name, u8 *a1, u8 unused);
static void sub_804F748(u8 side);
@@ -150,10 +150,10 @@ static const size_t gUnknown_8260814[] = {
0x528 // unk
};
-static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin");
-static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin");
-static const u8 gTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin");
-static const u8 gTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin");
+static const u16 sTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin");
+static const u16 sTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin");
+static const u8 sTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin");
+static const u8 sTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin");
static const struct OamData gOamData_8261C30 = {
.shape = SPRITE_SHAPE(32x16),
@@ -182,14 +182,14 @@ static const union AnimCmd *const gSpriteAnimTable_8261C50[] = {
gSpriteAnim_8261C48
};
-static const struct SpriteSheet gUnknown_8261C58 = {
- gUnknown_8E9E1DC,
+static const struct SpriteSheet sTradeButtons_SpriteSheet = {
+ gTradeButtons_Gfx,
0x800,
300
};
-static const struct SpritePalette gUnknown_8261C60 = {
- gUnknown_8E9CF3C,
+static const struct SpritePalette sTradeButtons_SpritePal = {
+ gTradeButtons_Pal,
2345
};
@@ -233,7 +233,7 @@ static const union AnimCmd *const gSpriteAnimTable_8261C98[] = {
gSpriteAnim_8261C90
};
-static const struct SpriteTemplate gUnknown_8261CB0 = {
+static const struct SpriteTemplate sSpriteTemplate_TradeButtons = {
.tileTag = 300,
.paletteTag = 2345,
.oam = &gOamData_8261C38,
@@ -242,7 +242,7 @@ static const struct SpriteTemplate gUnknown_8261CB0 = {
.callback = SpriteCallbackDummy
};
-static const struct SpriteTemplate gUnknown_8261CC8 = {
+static const struct SpriteTemplate sSpriteTemplate_Text = {
.tileTag = 200,
.paletteTag = 4925,
.oam = &gOamData_8261C30,
@@ -251,10 +251,10 @@ static const struct SpriteTemplate gUnknown_8261CC8 = {
.callback = SpriteCallbackDummy
};
-static const u16 gUnknown_8261CE0[] = INCBIN_U16("graphics/trade/text.gbapal");
+static const u16 sTradeTextPal[] = INCBIN_U16("graphics/trade/text.gbapal");
-static const struct SpritePalette gUnknown_8261D00 = {
- gUnknown_8261CE0,
+static const struct SpritePalette sSpritePalette_Text = {
+ sTradeTextPal,
4925
};
@@ -347,7 +347,7 @@ static const u8 sCursorMoveDestinations[][4][6] = {
}
};
-static const u8 gTradeMonSpriteCoords[][2] = {
+static const u8 sTradeMonSpriteCoords[][2] = {
{0x01, 0x05},
{0x08, 0x05},
{0x01, 0x0a},
@@ -365,6 +365,7 @@ static const u8 gTradeMonSpriteCoords[][2] = {
{0x17, 0x12},
};
+// No idea if a 4D array is correct
static const u8 gUnknown_8261E5A[][2][6][2] = {
{
{
@@ -401,7 +402,7 @@ static const u8 gUnknown_8261E5A[][2][6][2] = {
}
};
-static const u8 gTradeUnknownSpriteCoords[][4] = {
+static const u8 sTradeUnknownSpriteCoords[][4] = {
{0x3c, 0x09, 0xb4, 0x09},
{0x30, 0x09, 0xa8, 0x09}
};
@@ -719,7 +720,7 @@ static void sub_804C600(void)
}
}
-void sub_804C718(void)
+void CB2_ReturnFromLinkTrade(void)
{
SetMainCallback2(sub_804C728);
}
@@ -853,11 +854,11 @@ static void sub_804C728(void)
for (i = 0; i < sTradeMenuResourcesPtr->partyCounts[0]; i++)
{
- struct Pokemon *mon = &gPlayerParty[i];
+ struct Pokemon * mon = &gPlayerParty[i];
sTradeMenuResourcesPtr->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2),
SpriteCB_MonIcon,
- (gTradeMonSpriteCoords[i][0] * 8) + 14,
- (gTradeMonSpriteCoords[i][1] * 8) - 12,
+ (sTradeMonSpriteCoords[i][0] * 8) + 14,
+ (sTradeMonSpriteCoords[i][1] * 8) - 12,
1,
GetMonData(mon, MON_DATA_PERSONALITY),
TRUE);
@@ -865,11 +866,11 @@ static void sub_804C728(void)
for (i = 0; i < sTradeMenuResourcesPtr->partyCounts[1]; i++)
{
- struct Pokemon *mon = &gEnemyParty[i];
+ struct Pokemon * mon = &gEnemyParty[i];
sTradeMenuResourcesPtr->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
SpriteCB_MonIcon,
- (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
- (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
+ (sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
+ (sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
1,
GetMonData(mon, MON_DATA_PERSONALITY),
FALSE);
@@ -903,9 +904,9 @@ static void sub_804C728(void)
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += i;
- CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
+ CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
}
/*
@@ -918,28 +919,28 @@ static void sub_804C728(void)
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += i + 3;
- CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][2] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][3], 1);
+ CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][2] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][3], 1);
}
gMain.state++;
break;
case 13:
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += 6;
CreateSprite(&temp, 215, 151, 1);
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += 7;
CreateSprite(&temp, 247, 151, 1);
for (i = 0; i < PARTY_SIZE; i++)
{
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += i + 8;
CreateSprite(&temp, (i * 32) + 24, 150, 1);
}
- sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx = CreateSprite(&gUnknown_8261CB0, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2);
+ sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx = CreateSprite(&sSpriteTemplate_TradeButtons, sTradeMonSpriteCoords[0][0] * 8 + 32, sTradeMonSpriteCoords[0][1] * 8, 2);
sTradeMenuResourcesPtr->tradeMenuCursorPosition = 0;
gMain.state++;
rbox_fill_rectangle(0);
@@ -1353,7 +1354,7 @@ static void sub_804C728(void)
"\tcmp r6, r0\n"
"\tbge _0804CAA8\n"
"\tmov r8, r2\n"
- "\tldr r7, _0804CB38 @ =gTradeMonSpriteCoords\n"
+ "\tldr r7, _0804CB38 @ =sTradeMonSpriteCoords\n"
"_0804CA4A:\n"
"\tmovs r0, 0x64\n"
"\tadds r4, r6, 0\n"
@@ -1407,7 +1408,7 @@ static void sub_804C728(void)
"\tldrb r0, [r0]\n"
"\tcmp r6, r0\n"
"\tbge _0804CB20\n"
- "\tldr r0, _0804CB38 @ =gTradeMonSpriteCoords\n"
+ "\tldr r0, _0804CB38 @ =sTradeMonSpriteCoords\n"
"\tmov r8, r1\n"
"\tadds r7, r0, 0\n"
"\tadds r7, 0xC\n"
@@ -1468,7 +1469,7 @@ static void sub_804C728(void)
"_0804CB2C: .4byte sTradeMenuResourcesPtr\n"
"_0804CB30: .4byte gPlayerPartyCount\n"
"_0804CB34: .4byte gEnemyPartyCount\n"
- "_0804CB38: .4byte gTradeMonSpriteCoords\n"
+ "_0804CB38: .4byte sTradeMonSpriteCoords\n"
"_0804CB3C: .4byte gPlayerParty\n"
"_0804CB40: .4byte 0xfff40000\n"
"_0804CB44: .4byte SpriteCB_MonIcon\n"
@@ -1591,14 +1592,14 @@ static void sub_804C728(void)
"\tadds r0, r1\n"
"\tmovs r6, 0\n"
"\tadd r5, sp, 0x10\n"
- "\tldr r3, _0804CD00 @ =gTradeUnknownSpriteCoords\n"
+ "\tldr r3, _0804CD00 @ =sTradeUnknownSpriteCoords\n"
"\tmov r8, r3\n"
"\tasrs r0, 1\n"
"\tldrb r7, [r3, 0x4]\n"
"\tadds r4, r0, r7\n"
"_0804CC62:\n"
"\tadd r1, sp, 0x10\n"
- "\tldr r0, _0804CD04 @ =gUnknown_8261CC8\n"
+ "\tldr r0, _0804CD04 @ =sSpriteTemplate_Text\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -1638,7 +1639,7 @@ static void sub_804C728(void)
"\tadds r0, r1\n"
"\tmovs r6, 0\n"
"\tadd r5, sp, 0x10\n"
- "\tldr r7, _0804CD00 @ =gTradeUnknownSpriteCoords\n"
+ "\tldr r7, _0804CD00 @ =sTradeUnknownSpriteCoords\n"
"\tmov r8, r7\n"
"\tasrs r0, 1\n"
"\tmov r1, r8\n"
@@ -1646,7 +1647,7 @@ static void sub_804C728(void)
"\tadds r4, r0, r1\n"
"_0804CCC6:\n"
"\tadd r1, sp, 0x10\n"
- "\tldr r0, _0804CD04 @ =gUnknown_8261CC8\n"
+ "\tldr r0, _0804CD04 @ =sSpriteTemplate_Text\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -1673,12 +1674,12 @@ static void sub_804C728(void)
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CCFC: .4byte gSaveBlock2Ptr\n"
- "_0804CD00: .4byte gTradeUnknownSpriteCoords\n"
- "_0804CD04: .4byte gUnknown_8261CC8\n"
+ "_0804CD00: .4byte sTradeUnknownSpriteCoords\n"
+ "_0804CD04: .4byte sSpriteTemplate_Text\n"
"_0804CD08: .4byte gLinkPlayers + 8\n"
"_0804CD0C: .4byte gMain\n"
"_0804CD10:\n"
- "\tldr r4, _0804CDCC @ =gUnknown_8261CC8\n"
+ "\tldr r4, _0804CDCC @ =sSpriteTemplate_Text\n"
"\tadd r1, sp, 0x10\n"
"\tadds r0, r4, 0\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -1716,7 +1717,7 @@ static void sub_804C728(void)
"\tlsls r5, 13\n"
"_0804CD5C:\n"
"\tadd r1, sp, 0x10\n"
- "\tldr r0, _0804CDCC @ =gUnknown_8261CC8\n"
+ "\tldr r0, _0804CDCC @ =sSpriteTemplate_Text\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -1737,8 +1738,8 @@ static void sub_804C728(void)
"\tadds r6, 0x1\n"
"\tcmp r6, 0x5\n"
"\tble _0804CD5C\n"
- "\tldr r0, _0804CDD0 @ =gUnknown_8261CB0\n"
- "\tldr r2, _0804CDD4 @ =gTradeMonSpriteCoords\n"
+ "\tldr r0, _0804CDD0 @ =sSpriteTemplate_TradeButtons\n"
+ "\tldr r2, _0804CDD4 @ =sTradeMonSpriteCoords\n"
"\tldrb r1, [r2]\n"
"\tlsls r1, 19\n"
"\tmovs r3, 0x80\n"
@@ -1768,9 +1769,9 @@ static void sub_804C728(void)
"\tbl rbox_fill_rectangle\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
- "_0804CDCC: .4byte gUnknown_8261CC8\n"
- "_0804CDD0: .4byte gUnknown_8261CB0\n"
- "_0804CDD4: .4byte gTradeMonSpriteCoords\n"
+ "_0804CDCC: .4byte sSpriteTemplate_Text\n"
+ "_0804CDD0: .4byte sSpriteTemplate_TradeButtons\n"
+ "_0804CDD4: .4byte sTradeMonSpriteCoords\n"
"_0804CDD8: .4byte sTradeMenuResourcesPtr\n"
"_0804CDDC: .4byte gMain\n"
"_0804CDE0:\n"
@@ -1965,8 +1966,8 @@ void sub_804CF14(void)
sTradeMenuResourcesPtr->partyIcons[0][i] = CreateMonIcon(
GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL),
SpriteCB_MonIcon,
- gTradeMonSpriteCoords[i][0] * 8 + 14,
- gTradeMonSpriteCoords[i][1] * 8 - 12,
+ sTradeMonSpriteCoords[i][0] * 8 + 14,
+ sTradeMonSpriteCoords[i][1] * 8 - 12,
1,
GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY),
TRUE
@@ -1977,8 +1978,8 @@ void sub_804CF14(void)
sTradeMenuResourcesPtr->partyIcons[1][i] = CreateMonIcon(
GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2, NULL),
SpriteCB_MonIcon,
- gTradeMonSpriteCoords[i + 6][0] * 8 + 14,
- gTradeMonSpriteCoords[i + 6][1] * 8 - 12,
+ sTradeMonSpriteCoords[i + 6][0] * 8 + 14,
+ sTradeMonSpriteCoords[i + 6][1] * 8 - 12,
1,
GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY),
FALSE
@@ -2015,9 +2016,9 @@ void sub_804CF14(void)
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += i;
- CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
+ CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
}
/*
@@ -2030,23 +2031,23 @@ void sub_804CF14(void)
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += i + 3;
- CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][2] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][3], 1);
+ CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][2] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][3], 1);
}
gMain.state++;
break;
case 13:
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += 6;
CreateSprite(&temp, 215, 151, 1);
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += 7;
CreateSprite(&temp, 247, 151, 1);
for (i = 0; i < PARTY_SIZE; i++)
{
- temp = gUnknown_8261CC8;
+ temp = sSpriteTemplate_Text;
temp.tileTag += i + 8;
CreateSprite(&temp, (i * 32) + 24, 150, 1);
}
@@ -2056,7 +2057,7 @@ void sub_804CF14(void)
else
sTradeMenuResourcesPtr->tradeMenuCursorPosition = sub_8138B20() + 6;
- sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx = CreateSprite(&gUnknown_8261CB0, gTradeMonSpriteCoords[sTradeMenuResourcesPtr->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[sTradeMenuResourcesPtr->tradeMenuCursorPosition][1] * 8, 2);
+ sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx = CreateSprite(&sSpriteTemplate_TradeButtons, sTradeMonSpriteCoords[sTradeMenuResourcesPtr->tradeMenuCursorPosition][0] * 8 + 32, sTradeMonSpriteCoords[sTradeMenuResourcesPtr->tradeMenuCursorPosition][1] * 8, 2);
gMain.state = 16;
break;
case 16:
@@ -2234,7 +2235,7 @@ void sub_804CF14(void)
"\tcmp r6, r0\n"
"\tbge _0804D0A8\n"
"\tmov r8, r4\n"
- "\tldr r7, _0804D138 @ =gTradeMonSpriteCoords\n"
+ "\tldr r7, _0804D138 @ =sTradeMonSpriteCoords\n"
"_0804D048:\n"
"\tmovs r0, 0x64\n"
"\tadds r4, r6, 0\n"
@@ -2289,7 +2290,7 @@ void sub_804CF14(void)
"\tldrb r0, [r0]\n"
"\tcmp r6, r0\n"
"\tbge _0804D120\n"
- "\tldr r0, _0804D138 @ =gTradeMonSpriteCoords\n"
+ "\tldr r0, _0804D138 @ =sTradeMonSpriteCoords\n"
"\tmov r8, r1\n"
"\tadds r7, r0, 0\n"
"\tadds r7, 0xC\n"
@@ -2350,7 +2351,7 @@ void sub_804CF14(void)
"_0804D12C: .4byte sTradeMenuResourcesPtr\n"
"_0804D130: .4byte gPlayerPartyCount\n"
"_0804D134: .4byte gEnemyPartyCount\n"
- "_0804D138: .4byte gTradeMonSpriteCoords\n"
+ "_0804D138: .4byte sTradeMonSpriteCoords\n"
"_0804D13C: .4byte gPlayerParty\n"
"_0804D140: .4byte 0xfff40000\n"
"_0804D144: .4byte SpriteCB_MonIcon\n"
@@ -2480,14 +2481,14 @@ void sub_804CF14(void)
"\tadds r0, r1\n"
"\tmovs r6, 0\n"
"\tadd r5, sp, 0xC\n"
- "\tldr r3, _0804D310 @ =gTradeUnknownSpriteCoords\n"
+ "\tldr r3, _0804D310 @ =sTradeUnknownSpriteCoords\n"
"\tmov r8, r3\n"
"\tasrs r0, 1\n"
"\tldrb r7, [r3, 0x4]\n"
"\tadds r4, r0, r7\n"
"_0804D270:\n"
"\tadd r1, sp, 0xC\n"
- "\tldr r0, _0804D314 @ =gUnknown_8261CC8\n"
+ "\tldr r0, _0804D314 @ =sSpriteTemplate_Text\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -2527,7 +2528,7 @@ void sub_804CF14(void)
"\tadds r0, r1\n"
"\tmovs r6, 0\n"
"\tadd r5, sp, 0xC\n"
- "\tldr r7, _0804D310 @ =gTradeUnknownSpriteCoords\n"
+ "\tldr r7, _0804D310 @ =sTradeUnknownSpriteCoords\n"
"\tmov r8, r7\n"
"\tasrs r0, 1\n"
"\tmov r1, r8\n"
@@ -2535,7 +2536,7 @@ void sub_804CF14(void)
"\tadds r4, r0, r1\n"
"_0804D2D4:\n"
"\tadd r1, sp, 0xC\n"
- "\tldr r0, _0804D314 @ =gUnknown_8261CC8\n"
+ "\tldr r0, _0804D314 @ =sSpriteTemplate_Text\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -2562,12 +2563,12 @@ void sub_804CF14(void)
"\tb _0804D4B4\n"
"\t.align 2, 0\n"
"_0804D30C: .4byte gSaveBlock2Ptr\n"
- "_0804D310: .4byte gTradeUnknownSpriteCoords\n"
- "_0804D314: .4byte gUnknown_8261CC8\n"
+ "_0804D310: .4byte sTradeUnknownSpriteCoords\n"
+ "_0804D314: .4byte sSpriteTemplate_Text\n"
"_0804D318: .4byte gLinkPlayers + 8\n"
"_0804D31C: .4byte gMain\n"
"_0804D320:\n"
- "\tldr r4, _0804D3B0 @ =gUnknown_8261CC8\n"
+ "\tldr r4, _0804D3B0 @ =sSpriteTemplate_Text\n"
"\tadd r1, sp, 0xC\n"
"\tadds r0, r4, 0\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -2605,7 +2606,7 @@ void sub_804CF14(void)
"\tlsls r5, 13\n"
"_0804D36C:\n"
"\tadd r1, sp, 0xC\n"
- "\tldr r0, _0804D3B0 @ =gUnknown_8261CC8\n"
+ "\tldr r0, _0804D3B0 @ =sSpriteTemplate_Text\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
@@ -2636,7 +2637,7 @@ void sub_804CF14(void)
"\tldr r1, [r4]\n"
"\tb _0804D3C0\n"
"\t.align 2, 0\n"
- "_0804D3B0: .4byte gUnknown_8261CC8\n"
+ "_0804D3B0: .4byte sSpriteTemplate_Text\n"
"_0804D3B4: .4byte sTradeMenuResourcesPtr\n"
"_0804D3B8:\n"
"\tbl sub_8138B20\n"
@@ -2645,8 +2646,8 @@ void sub_804CF14(void)
"_0804D3C0:\n"
"\tadds r1, 0x35\n"
"\tstrb r0, [r1]\n"
- "\tldr r0, _0804D404 @ =gUnknown_8261CB0\n"
- "\tldr r3, _0804D408 @ =gTradeMonSpriteCoords\n"
+ "\tldr r0, _0804D404 @ =sSpriteTemplate_TradeButtons\n"
+ "\tldr r3, _0804D408 @ =sTradeMonSpriteCoords\n"
"\tldr r4, _0804D40C @ =sTradeMenuResourcesPtr\n"
"\tldr r1, [r4]\n"
"\tadds r1, 0x35\n"
@@ -2676,8 +2677,8 @@ void sub_804CF14(void)
"\tstrb r1, [r0]\n"
"\tb _0804D4D2\n"
"\t.align 2, 0\n"
- "_0804D404: .4byte gUnknown_8261CB0\n"
- "_0804D408: .4byte gTradeMonSpriteCoords\n"
+ "_0804D404: .4byte sSpriteTemplate_TradeButtons\n"
+ "_0804D408: .4byte sTradeMonSpriteCoords\n"
"_0804D40C: .4byte sTradeMenuResourcesPtr\n"
"_0804D410: .4byte gMain\n"
"_0804D414:\n"
@@ -2824,7 +2825,7 @@ static void sub_804D548(void)
static void sub_804D5A4(void)
{
- gMain.savedCallback = sub_804C718;
+ gMain.savedCallback = CB2_ReturnFromLinkTrade;
if (gWirelessCommType != 0)
{
if (IsLinkRfuTaskFinished())
@@ -2872,13 +2873,13 @@ static void sub_804D694(u8 state)
switch (state)
{
case 0:
- LoadPalette(gUnknown_8E9CEDC, 0x00, 0x60);
- LoadBgTiles(1, gUnknown_8E9CF5C, 0x1280, 0);
+ LoadPalette(gTradeMenu_Pal, 0x00, 0x60);
+ LoadBgTiles(1, gTradeMenu_Gfx, 0x1280, 0);
CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_8E9E9FC, 0, 0, 32, 20, 0);
- LoadBgTilemap(2, gTradeStripesBG2Tilemap, 0x800, 0);
+ LoadBgTilemap(2, sTradeStripesBG2Tilemap, 0x800, 0);
break;
case 1:
- LoadBgTilemap(3, gTradeStripesBG3Tilemap, 0x800, 0);
+ LoadBgTilemap(3, sTradeStripesBG3Tilemap, 0x800, 0);
sub_804F284(0);
sub_804F284(1);
CopyBgTilemapBufferToVram(1);
@@ -2937,7 +2938,7 @@ static bool8 shedinja_maker_maybe(void)
{
u8 id = GetMultiplayerId();
int i;
- struct Pokemon *mon;
+ struct Pokemon * mon;
switch (sTradeMenuResourcesPtr->unk_69)
{
@@ -3287,8 +3288,8 @@ static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction)
else
{
StartSpriteAnim(&gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx], 0);
- gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32;
- gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8;
+ gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.x = sTradeMonSpriteCoords[newPosition][0] * 8 + 32;
+ gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.y = sTradeMonSpriteCoords[newPosition][1] * 8;
}
if (*tradeMenuCursorPosition != newPosition)
@@ -3582,7 +3583,7 @@ static void sub_804E880(void)
{
int i;
- if (gMain.newKeys & A_BUTTON)
+ if (JOY_NEW(A_BUTTON))
{
PlaySE(SE_SELECT);
rbox_fill_rectangle(0);
@@ -3749,12 +3750,12 @@ static void sub_804EAE4(u8 a0)
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].invisible = FALSE;
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[0] = 20;
- gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[2] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
- gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
+ gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[2] = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
+ 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);
sTradeMenuResourcesPtr->unk_74[a0]++;
sub_8075490(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]);
- CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(0);
@@ -3766,10 +3767,10 @@ static void sub_804EAE4(u8 a0)
sTradeMenuResourcesPtr->unk_74[a0] = 3;
break;
case 3:
- CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1);
- gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
- gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
+ gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
+ gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.x = 0;
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.y = 0;
nameStringWidth = sub_804EE6C(nickname, whichParty, partyIdx);
@@ -3871,7 +3872,7 @@ static void sub_804F08C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5)
u8 gender;
u8 nickname[12];
- CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_8E9F1FC, a4, a5, 6, 3, 0);
+ CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenuMonBox_Tilemap, a4, a5, 6, 3, 0);
CopyBgTilemapBufferToVram(1);
if (whichParty == 0)
@@ -4005,8 +4006,8 @@ static void sub_804F2E8(u8 whichParty)
for (i = 0; i < sTradeMenuResourcesPtr->partyCounts[whichParty]; i++)
{
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].invisible = FALSE;
- gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14;
- gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12;
+ gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos1.x = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14;
+ gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos1.y = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12;
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos2.x = 0;
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos2.y = 0;
}
@@ -4020,7 +4021,7 @@ static void sub_804F3B4(void)
static void sub_804F3C8(u8 whichParty)
{
- CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, 15 * whichParty, 0, 15, 17, 0);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, 15 * whichParty, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1);
sub_804F284(whichParty);
sub_804F020(whichParty);
@@ -4137,15 +4138,15 @@ static bool8 sub_804F610(void)
sTradeMenuResourcesPtr->unk_A8++;
break;
case 14:
- LoadSpritePalette(&gUnknown_8261D00);
+ LoadSpritePalette(&sSpritePalette_Text);
sTradeMenuResourcesPtr->unk_A8++;
break;
case 15:
- LoadSpritePalette(&gUnknown_8261C60);
+ LoadSpritePalette(&sTradeButtons_SpritePal);
sTradeMenuResourcesPtr->unk_A8++;
break;
case 16:
- LoadSpriteSheet(&gUnknown_8261C58);
+ LoadSpriteSheet(&sTradeButtons_SpriteSheet);
sTradeMenuResourcesPtr->unk_A8++;
break;
case 17:
@@ -4257,10 +4258,10 @@ static void sub_804F9D8(void)
}
}
-static u32 sub_804FA14(struct Pokemon *party, int partyCount, int cursorPos)
+static u32 sub_804FA14(struct Pokemon * party, int partyCount, int cursorPos)
{
int i, sum;
- struct LinkPlayer *player;
+ struct LinkPlayer * player;
int species[6];
int species2[6];
diff --git a/src/trade_scene.c b/src/trade_scene.c
index 0c8029685..6adec72d8 100644
--- a/src/trade_scene.c
+++ b/src/trade_scene.c
@@ -43,6 +43,16 @@
#include "constants/region_map.h"
#include "constants/moves.h"
+#define TAG_GLOW1_TILES 5550
+#define TAG_GLOW_PAL 5551
+#define TAG_GLOW2_TILES 5552
+#define TAG_UNUSED_5553 5553
+#define TAG_CABLE_END_TILES 5554
+#define TAG_GBA_PAL 5555
+#define TAG_GBA_SCREEN_TILES 5556
+#define TAG_BALL_TILES 5557
+#define TAG_BALL_PAL 5558
+
struct InGameTrade {
/*0x00*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
/*0x0C*/ u16 species;
@@ -64,18 +74,18 @@ struct TradeAnimationResources {
/*0x64*/ u32 timer;
/*0x68*/ u32 monPersonalities[2];
/*0x70*/ u8 filler_70[2];
- /*0x72*/ u8 unk_72;
- /*0x73*/ u8 unk_73;
+ /*0x72*/ u8 tradeStatus1;
+ /*0x73*/ u8 tradeStatus2;
/*0x74*/ u16 linkData[10];
- /*0x88*/ u8 unk_88;
- /*0x89*/ u8 unk_89;
- /*0x8A*/ u16 unk_8A;
+ /*0x88*/ u8 linkTimeoutCheck1;
+ /*0x89*/ u8 linkTimeoutCheck2;
+ /*0x8A*/ u16 linkTimeoutTimer;
/*0x8C*/ u16 unk_8C;
/*0x8E*/ u8 pokePicSpriteIdxs[2];
- /*0x90*/ u8 unk_90;
- /*0x91*/ u8 unk_91;
- /*0x92*/ u8 unk_92;
- /*0x93*/ u8 unk_93;
+ /*0x90*/ u8 tradeGlow1SpriteId;
+ /*0x91*/ u8 gbaScreenSpriteID;
+ /*0x92*/ u8 linkCableEndSpriteId;
+ /*0x93*/ u8 scheduleLinkTransfer;
/*0x94*/ u16 state;
/*0x96*/ u8 filler_96[0xD2 - 0x96];
/*0xD2*/ u8 pokeballSpriteId;
@@ -91,7 +101,7 @@ struct TradeAnimationResources {
/*0xE4*/ s16 bg2vofs;
/*0xE6*/ s16 bg2hofs;
/*0xE8*/ u16 sXY;
- /*0xEA*/ u16 unk_EA;
+ /*0xEA*/ u16 bg2Zoom;
/*0xEC*/ u16 bg2alpha;
/*0xEE*/ bool8 isLinkTrade;
/*0xF0*/ u16 tradeSpecies[2];
@@ -102,7 +112,7 @@ struct TradeAnimationResources {
/*0x103*/ u8 filler_103[1];
/*0x104*/ u8 textColor[3];
/*0x107*/ u8 filler_107[1];
- /*0x108*/ u8 isCableTrade;
+ /*0x108*/ bool8 isCableTrade;
/*0x109*/ u8 win0left;
/*0x10A*/ u8 win0top;
/*0x10B*/ u8 win0right;
@@ -116,15 +126,15 @@ static void SpriteCB_TradeGlowWireless(struct Sprite * sprite);
static void SpriteCB_TradeGlowCore(struct Sprite * sprite);
static void SpriteCB_GameLinkCableEnd_Outbound(struct Sprite * sprite);
static void SpriteCB_GameLinkCableEnd_Inbound(struct Sprite * sprite);
-static void sub_804FE00(struct Sprite * sprite);
+static void SpriteCB_TradeGBAScreen(struct Sprite * sprite);
static void TradeAnimInit_LoadGfx(void);
static void CB2_RunTradeAnim_InGameTrade(void);
static void SetTradeSequenceBgGpuRegs(u8 idx);
-static void sub_8050DE0(void);
-static void sub_8050E24(void);
-static u8 sub_8050F14(void);
-static u8 sub_8050F3C(void);
-static u8 sub_805232C(void);
+static void LoadTradeGbaSpriteGfx(void);
+static void TradeBufferOTnameAndNicknames(void);
+static u8 DoTradeAnim(void);
+static u8 DoTradeAnim_Cable(void);
+static u8 DoTradeAnim_Wireless(void);
static void SpriteCB_TradePokeball_Default(struct Sprite * sprite);
static void SpriteCB_TradePokeball_Outbound(struct Sprite * sprite);
static void SpriteCB_TradePokeball_Outbound2(struct Sprite * sprite);
@@ -132,29 +142,29 @@ static void SpriteCB_TradePokeball_Inbound(struct Sprite * sprite);
static void BufferInGameTradeMonName(void);
static void GetInGameTradeMail(struct MailStruct * mail, const struct InGameTrade * inGameTrade);
static void CB2_RunTradeAnim_LinkTrade(void);
-static void sub_8053E1C(void);
+static void CB2_WaitAndAckTradeComplete(void);
static void sub_8053E8C(void);
-static void sub_80543C4(void);
-static void sub_8054470(u8 taskId);
+static void LinkTrade_TearDownAssets(void);
+static void Task_WaitFadeAndStartInGameTradeAnim(u8 taskId);
static void CheckPartnersMonForRibbons(void);
static void Task_AnimateWirelessSignal(u8 taskId);
-static void c3_0805465C(u8 taskId);
-static void sub_8054734(u8 taskId);
+static void Task_OpenCetnerWhiteColumn(u8 taskId);
+static void Task_CloseCetnerWhiteColumn(u8 taskId);
-static const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal");
-static const u8 gTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp");
+static const u16 sTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal");
+static const u8 sTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp");
static const u8 gUnknown_826267C[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp");
static const u16 gUnknown_826407C[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin");
static const u16 gUnknown_083307C0[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin");
static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal");
-static const u16 gUnknown_826499C[] = INCBIN_U16("graphics/trade/gba.gbapal");
+static const u16 sTradeGbaPal[] = INCBIN_U16("graphics/trade/gba.gbapal");
static const u16 gUnref_08330900[] = INCBIN_U16("graphics/trade/shadow.gbapal");
static const u16 gUnref_08330920[] = INCBIN_U16("graphics/trade/black.gbapal");
-static const u16 gUnknown_82649FC[] = INCBIN_U16("graphics/trade/misc.gbapal");
-static const u8 gTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp");
-static const u8 gTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp");
-static const u8 gTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp");
-static const u8 gTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp");
+static const u16 sTradeGlowPal[] = INCBIN_U16("graphics/trade/misc.gbapal");
+static const u8 sTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp");
+static const u8 sTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp");
+static const u8 sTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp");
+static const u8 sTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp");
const u16 gUnknown_826601C[] = INCBIN_U16("graphics/trade/shadow_map.bin");
static const u8 gUnknown_826701C[] = INCBIN_U8("graphics/trade/gba_affine.8bpp");
static const u8 sFiller_08335760[64] = {};
@@ -162,12 +172,12 @@ static const u8 gUnknown_826985C[] = INCBIN_U8("graphics/trade/gba_affine_map_ca
static const u8 gUnknown_826995C[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin");
static const u16 gUnknown_8269A5C[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin");
static const u16 gUnknown_826AA5C[] = INCBIN_U16("graphics/trade/gba_map_cable.bin");
-static const u32 gUnknown_3379A0Bin[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz");
-static const u16 gUnknown_826BB5C[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal");
-static const u16 gUnknown_826BD5C[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal");
-static const u16 gUnknown_826BF5C[] = INCBIN_U16("graphics/trade/black.gbapal");
-static const u32 gWirelessSignal4bpp[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
-static const u32 gUnknown_826C60C[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
+static const u32 sUnknown_3379A0Bin[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz");
+static const u16 sWirelessSignalAnimPals_Outbound[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal");
+static const u16 sWirelessSignalAnimPals_Inbound[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal");
+static const u16 sWirelessSignalAnimPals_Off[] = INCBIN_U16("graphics/trade/black.gbapal");
+static const u32 sWirelessSignal4bpp[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
+static const u32 sWirelessSignalTilemap[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
static const struct OamData gOamData_826CD00 = {
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -239,20 +249,20 @@ static const union AffineAnimCmd *const gSpriteAffineAnimTable_826CDC8[] = {
gAffineAnimCmd_826CDA8
};
-static const struct SpriteSheet gUnknown_826CDD4 = {
- gTradeBallTiles,
+static const struct SpriteSheet sTradeBallSpriteSheet = {
+ sTradeBallTiles,
0x600,
- 5557
+ TAG_BALL_TILES
};
-static const struct SpritePalette gUnknown_826CDDC = {
- gTradeBallPalette,
- 5558
+static const struct SpritePalette sTradeBallSpritePal = {
+ sTradeBallPalette,
+ TAG_BALL_PAL
};
static const struct SpriteTemplate sTradePokeballSpriteTemplate = {
- .tileTag = 5557,
- .paletteTag = 5558,
+ .tileTag = TAG_BALL_TILES,
+ .paletteTag = TAG_BALL_PAL,
.oam = &gOamData_826CD00,
.anims = gSpriteAnimTable_826CD80,
.affineAnims = gSpriteAffineAnimTable_826CDC8,
@@ -286,25 +296,25 @@ static const union AffineAnimCmd *const gSpriteAffineAnimTable_826CE28[] = {
gAffineAnimCmd_826CE10
};
-static const struct SpriteSheet gUnknown_826CE2C = {
- gTradeGlow1Tiles,
+static const struct SpriteSheet sTradeGlow1SpriteSheet = {
+ sTradeGlow1Tiles,
0x200,
- 5550
+ TAG_GLOW1_TILES
};
-static const struct SpritePalette gUnknown_826CE34 = {
- gUnknown_82649FC,
- 5551
+static const struct SpritePalette sTradeGlowSpritePal = {
+ sTradeGlowPal,
+ TAG_GLOW_PAL
};
-static const struct SpritePalette gUnknown_826CE3C = {
- gUnknown_826499C,
- 5555
+static const struct SpritePalette sTradeGbaSpritePal = {
+ sTradeGbaPal,
+ TAG_GBA_PAL
};
-static const struct SpriteTemplate gUnknown_826CE44 = {
- .tileTag = 5550,
- .paletteTag = 5551,
+static const struct SpriteTemplate sTradeGlow1SpriteTemplate = {
+ .tileTag = TAG_GLOW1_TILES,
+ .paletteTag = TAG_GLOW_PAL,
.oam = &gOamData_826CDFC,
.anims = gSpriteAnimTable_826CE0C,
.affineAnims = gSpriteAffineAnimTable_826CE28,
@@ -332,15 +342,15 @@ static const union AnimCmd *const gSpriteAnimTable_826CE74[] = {
gAnimCmd_826CE6C
};
-static const struct SpriteSheet gUnknown_826CE7C = {
- gTradeGlow2Tiles,
+static const struct SpriteSheet sTradeGlow2SpriteSheet = {
+ sTradeGlow2Tiles,
0x300,
- 5552
+ TAG_GLOW2_TILES
};
static const struct SpriteTemplate sGlowBallSpriteTemplate = {
- .tileTag = 5552,
- .paletteTag = 5551,
+ .tileTag = TAG_GLOW2_TILES,
+ .paletteTag = TAG_GLOW_PAL,
.oam = &gOamData_826CE5C,
.anims = gSpriteAnimTable_826CE74,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -362,15 +372,15 @@ static const union AnimCmd *const gSpriteAnimTable_826CEAC[] = {
gAnimCmd_826CEA4
};
-static const struct SpriteSheet gUnknown_826CEB0 = {
- gTradeCableEndTiles,
+static const struct SpriteSheet sTradeCableEndSpriteSheet = {
+ sTradeCableEndTiles,
0x100,
- 5554
+ TAG_CABLE_END_TILES
};
static const struct SpriteTemplate sGameLinkCableEndSpriteTemplate = {
- .tileTag = 5554,
- .paletteTag = 5555,
+ .tileTag = TAG_CABLE_END_TILES,
+ .paletteTag = TAG_GBA_PAL,
.oam = &gOamData_826CE9C,
.anims = gSpriteAnimTable_826CEAC,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -415,28 +425,28 @@ static const union AnimCmd *const gSpriteAnimTable_826CF24[] = {
gAnimCmd_826CEFC
};
-static const struct SpriteSheet gUnknown_826CF28 = {
- gTradeGBAScreenTiles,
+static const struct SpriteSheet sTradeGBAScreenSpriteSheet = {
+ sTradeGBAScreenTiles,
0x1000,
- 5556
+ TAG_GBA_SCREEN_TILES
};
-static const struct SpriteTemplate gUnknown_826CF30 = {
- .tileTag = 5556,
- .paletteTag = 5555,
+static const struct SpriteTemplate sTradeGBAScreenSpriteTemplate1 = {
+ .tileTag = TAG_GBA_SCREEN_TILES,
+ .paletteTag = TAG_GBA_PAL,
.oam = &gOamData_826CED0,
.anims = gSpriteAnimTable_826CF20,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_804FE00
+ .callback = SpriteCB_TradeGBAScreen
};
-static const struct SpriteTemplate gUnknown_826CF48 = {
- .tileTag = 5556,
- .paletteTag = 5555,
+static const struct SpriteTemplate sTradeGBAScreenSpriteTemplate2 = {
+ .tileTag = TAG_GBA_SCREEN_TILES,
+ .paletteTag = TAG_GBA_PAL,
.oam = &gOamData_826CED0,
.anims = gSpriteAnimTable_826CF24,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_804FE00
+ .callback = SpriteCB_TradeGBAScreen
};
static const u16 gTradeGlow2PaletteAnimTable[] = {
@@ -459,7 +469,7 @@ static const union AffineAnimCmd gAffineAnimCmd_826CF78[] = {
AFFINEANIMCMD_JUMP(0)
};
-static const union AffineAnimCmd *const gUnknown_826CF88[] = {
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_PlayerPokePicAlt[] = {
gAffineAnimCmd_826CF78
};
@@ -523,7 +533,7 @@ static const struct BgTemplate gUnknown_826D1D4[] = {
}
};
-static const s8 gTradeBallVerticalVelocityTable[] = {
+static const s8 sTradeBallVerticalVelocityTable[] = {
0, 0, 1, 0,
1, 0, 1, 1,
1, 1, 2, 2,
@@ -553,7 +563,7 @@ static const s8 gTradeBallVerticalVelocityTable[] = {
1, 1, 2, 3
};
-static const u8 gUnknown_826D250[][2] = {
+static const u8 sWirelessSignalAnimParams[][2] = {
{0, 1},
{1, 1},
{2, 1},
@@ -626,6 +636,7 @@ static void SpriteCB_TradeGlowCore(struct Sprite * sprite)
}
}
+// Move down for 10 frames
static void SpriteCB_GameLinkCableEnd_Outbound(struct Sprite * sprite)
{
sprite->data[0]++;
@@ -634,6 +645,7 @@ static void SpriteCB_GameLinkCableEnd_Outbound(struct Sprite * sprite)
DestroySprite(sprite);
}
+// Move up for 10 frames
static void SpriteCB_GameLinkCableEnd_Inbound(struct Sprite * sprite)
{
sprite->data[0]++;
@@ -642,7 +654,8 @@ static void SpriteCB_GameLinkCableEnd_Inbound(struct Sprite * sprite)
DestroySprite(sprite);
}
-static void sub_804FE00(struct Sprite * sprite)
+// Play a sound every 15 frames
+static void SpriteCB_TradeGBAScreen(struct Sprite * sprite)
{
sprite->data[0]++;
if (sprite->data[0] == 15)
@@ -691,43 +704,43 @@ static void VBlankCB_TradeAnim(void)
TransferPlttBuffer();
}
-static void sub_804FF24(void)
+static void InitLinkTimeoutTracker(void)
{
- sTradeData->unk_8A = 0;
- sTradeData->unk_88 = 0;
- sTradeData->unk_89 = 0;
+ sTradeData->linkTimeoutTimer = 0;
+ sTradeData->linkTimeoutCheck1 = 0;
+ sTradeData->linkTimeoutCheck2 = 0;
}
-static void sub_804FF4C(void)
+static void CheckLinkTimeout(void)
{
- if (sTradeData->unk_88 == sTradeData->unk_89)
- sTradeData->unk_8A++;
+ if (sTradeData->linkTimeoutCheck1 == sTradeData->linkTimeoutCheck2)
+ sTradeData->linkTimeoutTimer++;
else
- sTradeData->unk_8A = 0;
+ sTradeData->linkTimeoutTimer = 0;
- if (sTradeData->unk_8A > 300)
+ if (sTradeData->linkTimeoutTimer > 300)
{
CloseLink();
SetMainCallback2(CB2_LinkError);
- sTradeData->unk_8A = 0;
- sTradeData->unk_89 = 0;
- sTradeData->unk_88 = 0;
+ sTradeData->linkTimeoutTimer = 0;
+ sTradeData->linkTimeoutCheck2 = 0;
+ sTradeData->linkTimeoutCheck1 = 0;
}
- sTradeData->unk_89 = sTradeData->unk_88;
+ sTradeData->linkTimeoutCheck2 = sTradeData->linkTimeoutCheck1;
}
-static u32 sub_804FFC4(void)
+static u32 GetMultiplayerIdIfLinkTrade(void)
{
if (gReceivedRemoteLinkPlayers)
return GetMultiplayerId();
return 0;
}
-static void sub_804FFE4(u8 whichParty, u8 a1)
+static void LoadTradeMonPic(u8 whichParty, u8 action)
{
int pos = 0;
- struct Pokemon *mon = NULL;
+ struct Pokemon * mon = NULL;
u16 species;
u32 personality;
@@ -737,15 +750,16 @@ static void sub_804FFE4(u8 whichParty, u8 a1)
pos = 1;
}
- if (whichParty == 1)
+ /*else*/ if (whichParty == 1)
{
mon = &gEnemyParty[gSelectedTradeMonPositions[1] % PARTY_SIZE];
pos = 3;
}
- switch (a1)
+ switch (action)
{
case 0:
+ // Load graphics
species = GetMonData(mon, MON_DATA_SPECIES2);
personality = GetMonData(mon, MON_DATA_PERSONALITY);
@@ -759,6 +773,7 @@ static void sub_804FFE4(u8 whichParty, u8 a1)
sTradeData->monPersonalities[whichParty] = personality;
break;
case 1:
+ // Create sprite
SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos);
sTradeData->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6);
gSprites[sTradeData->pokePicSpriteIdxs[whichParty]].invisible = TRUE;
@@ -784,7 +799,7 @@ void CB2_InitTradeAnim_LinkTrade(void)
FreeAllSpritePalettes();
SetVBlankCallback(VBlankCB_TradeAnim);
TradeAnimInit_LoadGfx();
- sub_804FF24();
+ InitLinkTimeoutTracker();
gMain.state++;
sTradeData->unk_8C = 0;
sTradeData->state = 0;
@@ -833,7 +848,7 @@ void CB2_InitTradeAnim_LinkTrade(void)
}
else
{
- sub_804FF4C();
+ CheckLinkTimeout();
}
}
else
@@ -842,36 +857,36 @@ void CB2_InitTradeAnim_LinkTrade(void)
}
break;
case 4:
- sub_804FF4C();
+ CheckLinkTimeout();
if (gReceivedRemoteLinkPlayers == 1 && IsLinkPlayerDataExchangeComplete() == 1)
{
gMain.state++;
}
break;
case 5:
- sTradeData->unk_72 = 0;
- sTradeData->unk_73 = 0;
- sTradeData->unk_93 = 0;
- sub_804FFE4(0, 0);
+ sTradeData->tradeStatus1 = 0;
+ sTradeData->tradeStatus2 = 0;
+ sTradeData->scheduleLinkTransfer = 0;
+ LoadTradeMonPic(0, 0);
gMain.state++;
break;
case 6:
- sub_804FFE4(0, 1);
+ LoadTradeMonPic(0, 1);
gMain.state++;
break;
case 7:
- sub_804FFE4(1, 0);
+ LoadTradeMonPic(1, 0);
gMain.state++;
break;
case 8:
- sub_804FFE4(1, 1);
+ LoadTradeMonPic(1, 1);
sub_80504B0();
gMain.state++;
break;
case 9:
- sub_8050DE0();
- LoadSpriteSheet(&gUnknown_826CDD4);
- LoadSpritePalette(&gUnknown_826CDDC);
+ LoadTradeGbaSpriteGfx();
+ LoadSpriteSheet(&sTradeBallSpriteSheet);
+ LoadSpritePalette(&sTradeBallSpritePal);
gMain.state++;
break;
case 10:
@@ -884,7 +899,7 @@ void CB2_InitTradeAnim_LinkTrade(void)
break;
case 11:
sub_805049C();
- sub_8050E24();
+ TradeBufferOTnameAndNicknames();
gMain.state++;
break;
case 12:
@@ -977,29 +992,29 @@ static void CB2_InitTradeAnim_InGameTrade(void)
gMain.state = 5;
break;
case 5:
- sub_804FFE4(0, 0);
+ LoadTradeMonPic(0, 0);
gMain.state++;
break;
case 6:
- sub_804FFE4(0, 1);
+ LoadTradeMonPic(0, 1);
gMain.state++;
break;
case 7:
- sub_804FFE4(1, 0);
+ LoadTradeMonPic(1, 0);
ShowBg(0);
gMain.state++;
break;
case 8:
- sub_804FFE4(1, 1);
+ LoadTradeMonPic(1, 1);
FillWindowPixelBuffer(0, PIXEL_FILL(15));
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
gMain.state++;
break;
case 9:
- sub_8050DE0();
- LoadSpriteSheet(&gUnknown_826CDD4);
- LoadSpritePalette(&gUnknown_826CDDC);
+ LoadTradeGbaSpriteGfx();
+ LoadSpriteSheet(&sTradeBallSpriteSheet);
+ LoadSpritePalette(&sTradeBallSpritePal);
gMain.state++;
break;
case 10:
@@ -1009,7 +1024,7 @@ static void CB2_InitTradeAnim_InGameTrade(void)
case 11:
SetTradeSequenceBgGpuRegs(5);
SetTradeSequenceBgGpuRegs(0);
- sub_8050E24();
+ TradeBufferOTnameAndNicknames();
gMain.state++;
break;
case 12:
@@ -1026,7 +1041,7 @@ static void CB2_InitTradeAnim_InGameTrade(void)
static void ReceivedMonSetPokedexFlags(u8 partyIdx)
{
- struct Pokemon *mon = &gPlayerParty[partyIdx];
+ struct Pokemon * mon = &gPlayerParty[partyIdx];
if (!GetMonData(mon, MON_DATA_IS_EGG))
{
@@ -1051,10 +1066,10 @@ static void TradeMons(u8 playerPartyIdx, u8 partnerPartyIdx)
u8 friendship;
// Get whether the offered Pokemon have mail
- struct Pokemon *playerMon = &gPlayerParty[playerPartyIdx];
+ struct Pokemon * playerMon = &gPlayerParty[playerPartyIdx];
u16 playerMail = GetMonData(playerMon, MON_DATA_MAIL);
- struct Pokemon *partnerMon = &gEnemyParty[partnerPartyIdx];
+ struct Pokemon * partnerMon = &gEnemyParty[partnerPartyIdx];
u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL);
// The mail attached to the sent Pokemon no longer exists in your file.
@@ -1080,25 +1095,25 @@ static void TradeMons(u8 playerPartyIdx, u8 partnerPartyIdx)
RS_TryEnableNationalPokedex();
}
-static void sub_80508F4(void)
+static void HandleLinkDataSend(void)
{
- switch (sTradeData->unk_93)
+ switch (sTradeData->scheduleLinkTransfer)
{
case 1:
if (IsLinkTaskFinished())
{
SendBlock(bitmask_all_link_players_but_self(), sTradeData->linkData, 20);
- sTradeData->unk_93++;
+ sTradeData->scheduleLinkTransfer++;
}
case 2:
- sTradeData->unk_93 = 0;
+ sTradeData->scheduleLinkTransfer = 0;
break;
}
}
static void CB2_RunTradeAnim_InGameTrade(void)
{
- sub_8050F14();
+ DoTradeAnim();
RunTasks();
RunTextPrinters();
AnimateSprites();
@@ -1139,10 +1154,10 @@ static void SetTradeSequenceBgGpuRegs(u8 state)
case 2:
sTradeData->bg1vofs = 0;
sTradeData->bg1hofs = 0;
- if (sTradeData->isCableTrade == FALSE)
+ if (!sTradeData->isCableTrade)
{
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON);
- LZ77UnCompVram(gUnknown_3379A0Bin, (void *)BG_SCREEN_ADDR(5));
+ LZ77UnCompVram(sUnknown_3379A0Bin, (void *)BG_SCREEN_ADDR(5));
BlendPalettes(0x000000008, 0x10, RGB_BLACK);
}
else
@@ -1153,9 +1168,9 @@ static void SetTradeSequenceBgGpuRegs(u8 state)
}
break;
case 3:
- LoadPalette(gUnknown_826BF5C, 0x30, 0x20);
- LZ77UnCompVram(gWirelessSignal4bpp, BG_CHAR_ADDR(1));
- LZ77UnCompVram(gUnknown_826C60C, BG_SCREEN_ADDR(18));
+ LoadPalette(sWirelessSignalAnimPals_Off, 0x30, 0x20);
+ LZ77UnCompVram(sWirelessSignal4bpp, BG_CHAR_ADDR(1));
+ LZ77UnCompVram(sWirelessSignalTilemap, BG_SCREEN_ADDR(18));
sTradeData->bg2vofs = 0x50;
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
break;
@@ -1165,7 +1180,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state)
sTradeData->bg2texX = 0x40;
sTradeData->bg2texY = 0x5C;
sTradeData->sXY = 0x20;
- sTradeData->unk_EA = 0x400;
+ sTradeData->bg2Zoom = 0x400;
sTradeData->bg2alpha = 0;
DmaCopyLarge16(3, gUnknown_826701C, (void *)BG_CHAR_ADDR(1), 0x2840, 0x1000);
if (sTradeData->isCableTrade)
@@ -1187,7 +1202,7 @@ static void SetTradeSequenceBgGpuRegs(u8 state)
sTradeData->bg2texX = 0x40;
sTradeData->bg2texY = 0x5C;
sTradeData->sXY = 0x100;
- sTradeData->unk_EA = 0x80;
+ sTradeData->bg2Zoom = 0x80;
sTradeData->bg2srcX = 0x78;
sTradeData->bg2srcY = 0x50;
sTradeData->bg2alpha = 0;
@@ -1213,17 +1228,17 @@ static void SetTradeSequenceBgGpuRegs(u8 state)
}
}
-static void sub_8050DE0(void)
+static void LoadTradeGbaSpriteGfx(void)
{
- LoadSpriteSheet(&gUnknown_826CE2C);
- LoadSpriteSheet(&gUnknown_826CE7C);
- LoadSpriteSheet(&gUnknown_826CEB0);
- LoadSpriteSheet(&gUnknown_826CF28);
- LoadSpritePalette(&gUnknown_826CE34);
- LoadSpritePalette(&gUnknown_826CE3C);
+ LoadSpriteSheet(&sTradeGlow1SpriteSheet);
+ LoadSpriteSheet(&sTradeGlow2SpriteSheet);
+ LoadSpriteSheet(&sTradeCableEndSpriteSheet);
+ LoadSpriteSheet(&sTradeGBAScreenSpriteSheet);
+ LoadSpritePalette(&sTradeGlowSpritePal);
+ LoadSpritePalette(&sTradeGbaSpritePal);
}
-static void sub_8050E24(void)
+static void TradeBufferOTnameAndNicknames(void)
{
u8 nickname[20];
u8 mpId;
@@ -1239,7 +1254,7 @@ static void sub_8050E24(void)
}
else
{
- inGameTrade = &gInGameTrades[gSpecialVar_0x8004];
+ inGameTrade = &sInGameTrades[gSpecialVar_0x8004];
StringCopy(gStringVar1, inGameTrade->otName);
StringCopy10(gStringVar3, inGameTrade->nickname);
GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname);
@@ -1247,15 +1262,15 @@ static void sub_8050E24(void)
}
}
-static bool8 sub_8050F14(void)
+static bool8 DoTradeAnim(void)
{
if (sTradeData->isCableTrade)
- return sub_8050F3C();
+ return DoTradeAnim_Cable();
else
- return sub_805232C();
+ return DoTradeAnim_Wireless();
}
-static bool8 sub_8050F3C(void)
+static bool8 DoTradeAnim_Cable(void)
{
u16 evoTarget;
@@ -1339,31 +1354,31 @@ static bool8 sub_8050F3C(void)
}
break;
case 23:
- if (sTradeData->unk_EA > 0x100)
+ if (sTradeData->bg2Zoom > 0x100)
{
- sTradeData->unk_EA -= 0x34;
+ sTradeData->bg2Zoom -= 0x34;
}
else
{
SetTradeSequenceBgGpuRegs(1);
- sTradeData->unk_EA = 0x80;
+ sTradeData->bg2Zoom = 0x80;
sTradeData->state++;
sTradeData->timer = 0;
}
- sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ sTradeData->sXY = 0x8000 / sTradeData->bg2Zoom;
break;
case 24:
if (++sTradeData->timer > 20)
{
SetTradeBGAffine();
- sTradeData->unk_91 = CreateSprite(&gUnknown_826CF30, 120, 80, 0);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sTradeGBAScreenSpriteTemplate1, 120, 80, 0);
sTradeData->state++;
}
break;
case 25:
- if (gSprites[sTradeData->unk_91].animEnded)
+ if (gSprites[sTradeData->gbaScreenSpriteID].animEnded)
{
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND |
BLDCNT_TGT2_BG1 |
BLDCNT_TGT2_BG2);
@@ -1378,13 +1393,13 @@ static bool8 sub_8050F3C(void)
}
if (sTradeData->bg1vofs == 328)
{
- sTradeData->unk_92 = CreateSprite(&sGameLinkCableEndSpriteTemplate, 128, 65, 0);
+ sTradeData->linkCableEndSpriteId = CreateSprite(&sGameLinkCableEndSpriteTemplate, 128, 65, 0);
}
break;
case 27:
- sTradeData->unk_90 = CreateSprite(&gUnknown_826CE44, 128, 80, 3);
- sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, 80, 0);
- StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ sTradeData->tradeGlow1SpriteId = CreateSprite(&sTradeGlow1SpriteTemplate, 128, 80, 3);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sGlowBallSpriteTemplate, 128, 80, 0);
+ StartSpriteAnim(&gSprites[sTradeData->gbaScreenSpriteID], 1);
sTradeData->state++;
break;
case 28:
@@ -1398,9 +1413,9 @@ static bool8 sub_8050F3C(void)
DISPCNT_OBJ_ON);
break;
case 200:
- gSprites[sTradeData->unk_90].pos1.y -= 2;
- gSprites[sTradeData->unk_91].pos1.y -= 2;
- if (gSprites[sTradeData->unk_90].pos1.y < -8)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos1.y -= 2;
+ gSprites[sTradeData->gbaScreenSpriteID].pos1.y -= 2;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos1.y < -8)
{
sTradeData->state = 29;
}
@@ -1412,16 +1427,16 @@ static bool8 sub_8050F3C(void)
case 30:
if (!gPaletteFade.active)
{
- DestroySprite(&gSprites[sTradeData->unk_90]);
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->tradeGlow1SpriteId]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
SetTradeSequenceBgGpuRegs(2);
sTradeData->state++;
}
break;
case 31:
BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0);
- sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0);
+ sTradeData->tradeGlow1SpriteId = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0);
sTradeData->state++;
break;
case 32:
@@ -1430,16 +1445,16 @@ static bool8 sub_8050F3C(void)
PlaySE(SE_TK_WARPOUT);
sTradeData->state++;
}
- gSprites[sTradeData->unk_90].pos2.y -= 3;
- gSprites[sTradeData->unk_91].pos2.y += 3;
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 3;
break;
case 33:
- gSprites[sTradeData->unk_90].pos2.y -= 3;
- gSprites[sTradeData->unk_91].pos2.y += 3;
- if (gSprites[sTradeData->unk_90].pos2.y <= -90)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 3;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -90)
{
- gSprites[sTradeData->unk_90].data[1] = 1;
- gSprites[sTradeData->unk_91].data[1] = 1;
+ gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 1;
+ gSprites[sTradeData->gbaScreenSpriteID].data[1] = 1;
sTradeData->state++;
}
break;
@@ -1458,7 +1473,7 @@ static bool8 sub_8050F3C(void)
case 37:
if (!IsPokeSpriteNotFlipped(sTradeData->tradeSpecies[0]))
{
- gSprites[sTradeData->pokePicSpriteIdxs[0]].affineAnims = gUnknown_826CF88;
+ gSprites[sTradeData->pokePicSpriteIdxs[0]].affineAnims = sSpriteAffineAnimTable_PlayerPokePicAlt;
gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.affineMode = 3;
CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[0]], 0, 3, 3);
StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[0]], 0);
@@ -1485,8 +1500,8 @@ static bool8 sub_8050F3C(void)
}
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y < -222)
{
- gSprites[sTradeData->unk_90].data[1] = 0;
- gSprites[sTradeData->unk_91].data[1] = 0;
+ gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 0;
+ gSprites[sTradeData->gbaScreenSpriteID].data[1] = 0;
sTradeData->state++;
gSprites[sTradeData->pokePicSpriteIdxs[0]].invisible = TRUE;
gSprites[sTradeData->pokePicSpriteIdxs[1]].invisible = TRUE;
@@ -1494,14 +1509,14 @@ static bool8 sub_8050F3C(void)
}
break;
case 39:
- gSprites[sTradeData->unk_90].pos2.y -= 3;
- gSprites[sTradeData->unk_91].pos2.y += 3;
- if (gSprites[sTradeData->unk_90].pos2.y <= -222)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 3;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -222)
{
BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
sTradeData->state++;
- DestroySprite(&gSprites[sTradeData->unk_90]);
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->tradeGlow1SpriteId]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
}
break;
case 40:
@@ -1510,9 +1525,9 @@ static bool8 sub_8050F3C(void)
sTradeData->state++;
SetTradeSequenceBgGpuRegs(1);
sTradeData->bg1vofs = 166;
- sTradeData->unk_90 = CreateSprite(&gUnknown_826CE44, 128, -20, 3);
- sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, -20, 0);
- StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ sTradeData->tradeGlow1SpriteId = CreateSprite(&sTradeGlow1SpriteTemplate, 128, -20, 3);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sGlowBallSpriteTemplate, 128, -20, 0);
+ StartSpriteAnim(&gSprites[sTradeData->gbaScreenSpriteID], 1);
}
break;
case 41:
@@ -1530,9 +1545,9 @@ static bool8 sub_8050F3C(void)
}
break;
case 43:
- gSprites[sTradeData->unk_90].pos2.y += 3;
- gSprites[sTradeData->unk_91].pos2.y += 3;
- if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y += 3;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 3;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y + gSprites[sTradeData->tradeGlow1SpriteId].pos1.y == 64)
{
sTradeData->state++;
}
@@ -1545,8 +1560,8 @@ static bool8 sub_8050F3C(void)
}
break;
case 45:
- DestroySprite(&gSprites[sTradeData->unk_90]);
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->tradeGlow1SpriteId]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
sTradeData->state++;
sTradeData->timer = 0;
break;
@@ -1564,34 +1579,34 @@ static bool8 sub_8050F3C(void)
}
if (sTradeData->bg1vofs == 328 && sTradeData->isCableTrade)
{
- sTradeData->unk_92 = CreateSprite(&sGameLinkCableEndSpriteTemplate, 128, 65, 0);
- gSprites[sTradeData->unk_92].callback = SpriteCB_GameLinkCableEnd_Inbound;
+ sTradeData->linkCableEndSpriteId = CreateSprite(&sGameLinkCableEndSpriteTemplate, 128, 65, 0);
+ gSprites[sTradeData->linkCableEndSpriteId].callback = SpriteCB_GameLinkCableEnd_Inbound;
}
break;
case 48:
- sTradeData->unk_91 = CreateSprite(&gUnknown_826CF30, 120, 80, 0);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sTradeGBAScreenSpriteTemplate1, 120, 80, 0);
sTradeData->state = 50;
break;
case 50:
- if (gSprites[sTradeData->unk_91].animEnded)
+ if (gSprites[sTradeData->gbaScreenSpriteID].animEnded)
{
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
SetTradeSequenceBgGpuRegs(6);
sTradeData->state++;
PlaySE(SE_W028);
}
break;
case 51:
- if (sTradeData->unk_EA < 0x400)
+ if (sTradeData->bg2Zoom < 0x400)
{
- sTradeData->unk_EA += 0x34;
+ sTradeData->bg2Zoom += 0x34;
}
else
{
- sTradeData->unk_EA = 0x400;
+ sTradeData->bg2Zoom = 0x400;
sTradeData->state++;
}
- sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ sTradeData->sXY = 0x8000 / sTradeData->bg2Zoom;
break;
case 52:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
@@ -1752,7 +1767,7 @@ static bool8 sub_8050F3C(void)
return FALSE;
}
-static bool8 sub_805232C(void)
+static bool8 DoTradeAnim_Wireless(void)
{
u16 evoTarget;
@@ -1836,31 +1851,31 @@ static bool8 sub_805232C(void)
}
break;
case 23:
- if (sTradeData->unk_EA > 0x100)
+ if (sTradeData->bg2Zoom > 0x100)
{
- sTradeData->unk_EA -= 0x34;
+ sTradeData->bg2Zoom -= 0x34;
}
else
{
SetTradeSequenceBgGpuRegs(1);
- sTradeData->unk_EA = 0x80;
+ sTradeData->bg2Zoom = 0x80;
sTradeData->state = 124;
sTradeData->timer = 0;
}
- sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ sTradeData->sXY = 0x8000 / sTradeData->bg2Zoom;
break;
case 124:
if (++sTradeData->timer > 20)
{
SetTradeSequenceBgGpuRegs(3);
- sTradeData->unk_91 = CreateSprite(&gUnknown_826CF48, 120, 80, 0);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sTradeGBAScreenSpriteTemplate2, 120, 80, 0);
sTradeData->state++;
}
break;
case 125:
- if (gSprites[sTradeData->unk_91].animEnded)
+ if (gSprites[sTradeData->gbaScreenSpriteID].animEnded)
{
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 |
BLDCNT_TGT1_OBJ |
BLDCNT_EFFECT_BLEND |
@@ -1883,10 +1898,10 @@ static bool8 sub_805232C(void)
}
break;
case 27:
- sTradeData->unk_90 = CreateSprite(&gUnknown_826CE44, 120, 80, 3);
- gSprites[sTradeData->unk_90].callback = SpriteCB_TradeGlowWireless;
- sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, 80, 0);
- StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ sTradeData->tradeGlow1SpriteId = CreateSprite(&sTradeGlow1SpriteTemplate, 120, 80, 3);
+ gSprites[sTradeData->tradeGlow1SpriteId].callback = SpriteCB_TradeGlowWireless;
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sGlowBallSpriteTemplate, 120, 80, 0);
+ StartSpriteAnim(&gSprites[sTradeData->gbaScreenSpriteID], 1);
sTradeData->state++;
break;
case 28:
@@ -1900,9 +1915,9 @@ static bool8 sub_805232C(void)
DISPCNT_OBJ_ON);
break;
case 200:
- gSprites[sTradeData->unk_90].pos1.y -= 2;
- gSprites[sTradeData->unk_91].pos1.y -= 2;
- if (gSprites[sTradeData->unk_90].pos1.y < -8)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos1.y -= 2;
+ gSprites[sTradeData->gbaScreenSpriteID].pos1.y -= 2;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos1.y < -8)
{
sTradeData->state = 29;
}
@@ -1914,16 +1929,16 @@ static bool8 sub_805232C(void)
case 30:
if (!gPaletteFade.active)
{
- DestroySprite(&gSprites[sTradeData->unk_90]);
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->tradeGlow1SpriteId]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
SetTradeSequenceBgGpuRegs(2);
sTradeData->state++;
}
break;
case 31:
BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0);
- sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0);
+ sTradeData->tradeGlow1SpriteId = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0);
sTradeData->state++;
break;
case 32:
@@ -1932,18 +1947,18 @@ static bool8 sub_805232C(void)
PlaySE(SE_TK_WARPOUT);
sTradeData->state++;
}
- gSprites[sTradeData->unk_90].pos2.y -= 3;
- gSprites[sTradeData->unk_91].pos2.y += 3;
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 3;
break;
case 33:
- gSprites[sTradeData->unk_90].pos2.y -= 3;
- gSprites[sTradeData->unk_91].pos2.y += 3;
- if (gSprites[sTradeData->unk_90].pos2.y <= -90)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 3;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -90)
{
- gSprites[sTradeData->unk_90].data[1] = 1;
- gSprites[sTradeData->unk_91].data[1] = 1;
+ gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 1;
+ gSprites[sTradeData->gbaScreenSpriteID].data[1] = 1;
sTradeData->state++;
- CreateTask(c3_0805465C, 5);
+ CreateTask(Task_OpenCetnerWhiteColumn, 5);
}
break;
case 34:
@@ -1961,7 +1976,7 @@ static bool8 sub_805232C(void)
case 37:
if (!IsPokeSpriteNotFlipped(sTradeData->tradeSpecies[0]))
{
- gSprites[sTradeData->pokePicSpriteIdxs[0]].affineAnims = gUnknown_826CF88;
+ gSprites[sTradeData->pokePicSpriteIdxs[0]].affineAnims = sSpriteAffineAnimTable_PlayerPokePicAlt;
gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.affineMode = 3;
CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[0]], 0, 3, 3);
StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[0]], 0);
@@ -1988,23 +2003,23 @@ static bool8 sub_805232C(void)
}
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y < -222)
{
- gSprites[sTradeData->unk_90].data[1] = 0;
- gSprites[sTradeData->unk_91].data[1] = 0;
+ gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 0;
+ gSprites[sTradeData->gbaScreenSpriteID].data[1] = 0;
sTradeData->state++;
gSprites[sTradeData->pokePicSpriteIdxs[0]].invisible = TRUE;
gSprites[sTradeData->pokePicSpriteIdxs[1]].invisible = TRUE;
- CreateTask(sub_8054734, 5);
+ CreateTask(Task_CloseCetnerWhiteColumn, 5);
}
break;
case 39:
- gSprites[sTradeData->unk_90].pos2.y -= 3;
- gSprites[sTradeData->unk_91].pos2.y += 3;
- if (gSprites[sTradeData->unk_90].pos2.y <= -222)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 3;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -222)
{
BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
sTradeData->state++;
- DestroySprite(&gSprites[sTradeData->unk_90]);
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->tradeGlow1SpriteId]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
}
break;
case 40:
@@ -2015,10 +2030,10 @@ static bool8 sub_805232C(void)
sTradeData->bg1vofs = 166;
SetTradeSequenceBgGpuRegs(3);
sTradeData->bg2vofs = 412;
- sTradeData->unk_90 = CreateSprite(&gUnknown_826CE44, 120, -20, 3);
- gSprites[sTradeData->unk_90].callback = SpriteCB_TradeGlowWireless;
- sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, -20, 0);
- StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ sTradeData->tradeGlow1SpriteId = CreateSprite(&sTradeGlow1SpriteTemplate, 120, -20, 3);
+ gSprites[sTradeData->tradeGlow1SpriteId].callback = SpriteCB_TradeGlowWireless;
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sGlowBallSpriteTemplate, 120, -20, 0);
+ StartSpriteAnim(&gSprites[sTradeData->gbaScreenSpriteID], 1);
}
break;
case 41:
@@ -2036,9 +2051,9 @@ static bool8 sub_805232C(void)
}
break;
case 43:
- gSprites[sTradeData->unk_90].pos2.y += 4;
- gSprites[sTradeData->unk_91].pos2.y += 4;
- if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64)
+ gSprites[sTradeData->tradeGlow1SpriteId].pos2.y += 4;
+ gSprites[sTradeData->gbaScreenSpriteID].pos2.y += 4;
+ if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y + gSprites[sTradeData->tradeGlow1SpriteId].pos1.y == 64)
{
sTradeData->state = 144;
sTradeData->timer = 0;
@@ -2064,8 +2079,8 @@ static bool8 sub_805232C(void)
}
break;
case 145:
- DestroySprite(&gSprites[sTradeData->unk_90]);
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->tradeGlow1SpriteId]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
sTradeData->state++;
sTradeData->timer = 0;
break;
@@ -2090,29 +2105,29 @@ static bool8 sub_805232C(void)
}
break;
case 48:
- sTradeData->unk_91 = CreateSprite(&gUnknown_826CF30, 120, 80, 0);
+ sTradeData->gbaScreenSpriteID = CreateSprite(&sTradeGBAScreenSpriteTemplate1, 120, 80, 0);
sTradeData->state = 50;
break;
case 50:
- if (gSprites[sTradeData->unk_91].animEnded)
+ if (gSprites[sTradeData->gbaScreenSpriteID].animEnded)
{
- DestroySprite(&gSprites[sTradeData->unk_91]);
+ DestroySprite(&gSprites[sTradeData->gbaScreenSpriteID]);
SetTradeSequenceBgGpuRegs(6);
sTradeData->state++;
PlaySE(SE_W028);
}
break;
case 51:
- if (sTradeData->unk_EA < 0x400)
+ if (sTradeData->bg2Zoom < 0x400)
{
- sTradeData->unk_EA += 0x34;
+ sTradeData->bg2Zoom += 0x34;
}
else
{
- sTradeData->unk_EA = 0x400;
+ sTradeData->bg2Zoom = 0x400;
sTradeData->state++;
}
- sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ sTradeData->sXY = 0x8000 / sTradeData->bg2Zoom;
break;
case 52:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
@@ -2299,23 +2314,23 @@ static void sub_8053788(void)
UpdatePaletteFade();
}
-static void sub_805383C(void)
+static void HandleLinkDataReceive(void)
{
u8 recvStatus;
- sub_804FFC4();
+ GetMultiplayerIdIfLinkTrade();
recvStatus = GetBlockReceivedStatus();
if (recvStatus & (1 << 0))
{
if (gBlockRecvBuffer[0][0] == 0xDCBA)
SetMainCallback2(sub_8053788);
if (gBlockRecvBuffer[0][0] == 0xABCD)
- sTradeData->unk_72 = 1;
+ sTradeData->tradeStatus1 = 1;
ResetBlockReceivedFlag(0);
}
if (recvStatus & (1 << 1))
{
if (gBlockRecvBuffer[1][0] == 0xABCD)
- sTradeData->unk_73 = 1;
+ sTradeData->tradeStatus2 = 1;
ResetBlockReceivedFlag(1);
}
}
@@ -2343,7 +2358,7 @@ static void SpriteCB_TradePokeball_Default(struct Sprite * sprite)
static void SpriteCB_TradePokeball_Outbound(struct Sprite * sprite)
{
- sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]];
+ sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]];
if (sprite->data[0] == 22)
PlaySE(SE_KON);
sprite->data[0]++;
@@ -2363,7 +2378,7 @@ static void SpriteCB_TradePokeball_Outbound2(struct Sprite * sprite)
sprite->data[1]++;
if (sprite->data[1] > 20)
{
- sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data[0]];
+ sprite->pos2.y -= sTradeBallVerticalVelocityTable[sprite->data[0]];
sprite->data[0]++;
if (sprite->data[0] == 23)
{
@@ -2393,7 +2408,7 @@ static void SpriteCB_TradePokeball_Inbound(struct Sprite * sprite)
PlaySE(SE_KON3);
if (sprite->data[0] == 107)
PlaySE(SE_KON4);
- sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]];
+ sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]];
sprite->data[0]++;
if (sprite->data[0] == 108)
sprite->callback = SpriteCallbackDummy;
@@ -2405,7 +2420,7 @@ u16 GetInGameTradeSpeciesInfo(void)
// Populates gStringVar1 with the name of the requested species and
// gStringVar2 with the name of the offered species.
// Returns the requested species.
- const struct InGameTrade * inGameTrade = &gInGameTrades[gSpecialVar_0x8004];
+ const struct InGameTrade * inGameTrade = &sInGameTrades[gSpecialVar_0x8004];
StringCopy(gStringVar1, gSpeciesNames[inGameTrade->requestedSpecies]);
StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]);
return inGameTrade->requestedSpecies;
@@ -2416,7 +2431,7 @@ static void BufferInGameTradeMonName(void)
// Populates gStringVar1 with the nickname of the sent Pokemon and
// gStringVar2 with the name of the offered species.
u8 nickname[30];
- const struct InGameTrade * inGameTrade = &gInGameTrades[gSpecialVar_0x8004];
+ const struct InGameTrade * inGameTrade = &sInGameTrades[gSpecialVar_0x8004];
GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname);
StringCopy10(gStringVar1, nickname);
StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]);
@@ -2424,7 +2439,7 @@ static void BufferInGameTradeMonName(void)
static void CreateInGameTradePokemonInternal(u8 playerSlot, u8 inGameTradeIdx)
{
- const struct InGameTrade *inGameTrade = &gInGameTrades[inGameTradeIdx];
+ const struct InGameTrade * inGameTrade = &sInGameTrades[inGameTradeIdx];
u8 level = GetMonData(&gPlayerParty[playerSlot], MON_DATA_LEVEL);
struct MailStruct mail;
u8 metLocation = MAPSEC_IN_GAME_TRADE;
@@ -2495,17 +2510,17 @@ void CreateInGameTradePokemon(void)
static void CB2_RunTradeAnim_LinkTrade(void)
{
- if (sub_8050F14() == TRUE)
+ if (DoTradeAnim() == TRUE)
{
DestroySprite(&gSprites[sTradeData->pokePicSpriteIdxs[0]]);
FreeSpriteOamMatrix(&gSprites[sTradeData->pokePicSpriteIdxs[1]]);
TradeMons(gSelectedTradeMonPositions[0], gSelectedTradeMonPositions[1] % 6);
sTradeData->linkData[0] = 0xABCD;
- sTradeData->unk_93 = 1;
- SetMainCallback2(sub_8053E1C);
+ sTradeData->scheduleLinkTransfer = 1;
+ SetMainCallback2(CB2_WaitAndAckTradeComplete);
}
- sub_80508F4();
- sub_805383C();
+ HandleLinkDataSend();
+ HandleLinkDataReceive();
RunTasks();
RunTextPrinters();
AnimateSprites();
@@ -2513,16 +2528,16 @@ static void CB2_RunTradeAnim_LinkTrade(void)
UpdatePaletteFade();
}
-static void sub_8053E1C(void)
+static void CB2_WaitAndAckTradeComplete(void)
{
- u8 mpId = sub_804FFC4();
- sub_805383C();
- if (mpId == 0 && sTradeData->unk_72 == 1 && sTradeData->unk_73 == 1)
+ u8 mpId = GetMultiplayerIdIfLinkTrade();
+ HandleLinkDataReceive();
+ if (mpId == 0 && sTradeData->tradeStatus1 == 1 && sTradeData->tradeStatus2 == 1)
{
sTradeData->linkData[0] = 0xDCBA;
SendBlock(bitmask_all_link_players_but_self(), sTradeData->linkData, 20);
- sTradeData->unk_72 = 2;
- sTradeData->unk_73 = 2;
+ sTradeData->tradeStatus1 = 2;
+ sTradeData->tradeStatus2 = 2;
}
RunTasks();
AnimateSprites();
@@ -2664,7 +2679,7 @@ static void sub_8053E8C(void)
case 8:
if (IsBGMStopped() == TRUE)
{
- if (gWirelessCommType && gMain.savedCallback == sub_804C718)
+ if (gWirelessCommType && gMain.savedCallback == CB2_ReturnFromLinkTrade)
{
sub_800AB9C();
}
@@ -2676,18 +2691,18 @@ static void sub_8053E8C(void)
}
break;
case 9:
- if (gWirelessCommType && gMain.savedCallback == sub_804C718)
+ if (gWirelessCommType && gMain.savedCallback == CB2_ReturnFromLinkTrade)
{
if (IsLinkRfuTaskFinished())
{
gSoftResetDisabled = FALSE;
- SetMainCallback2(sub_80543C4);
+ SetMainCallback2(LinkTrade_TearDownAssets);
}
}
else if (!gReceivedRemoteLinkPlayers)
{
gSoftResetDisabled = FALSE;
- SetMainCallback2(sub_80543C4);
+ SetMainCallback2(LinkTrade_TearDownAssets);
}
break;
}
@@ -2700,7 +2715,7 @@ static void sub_8053E8C(void)
UpdatePaletteFade();
}
-static void sub_80543C4(void)
+static void LinkTrade_TearDownAssets(void)
{
if (!gPaletteFade.active)
{
@@ -2723,12 +2738,12 @@ static void sub_80543C4(void)
void DoInGameTradeScene(void)
{
ScriptContext2_Enable();
- CreateTask(sub_8054470, 10);
+ CreateTask(Task_WaitFadeAndStartInGameTradeAnim, 10);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
HelpSystem_Disable();
}
-static void sub_8054470(u8 taskId)
+static void Task_WaitFadeAndStartInGameTradeAnim(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -2750,7 +2765,7 @@ static void CheckPartnersMonForRibbons(void)
FlagSet(FLAG_SYS_RIBBON_GET);
}
-void sub_80544FC(void)
+void LoadTradeAnimGfx(void)
{
TradeAnimInit_LoadGfx();
}
@@ -2768,35 +2783,35 @@ void DrawTextOnTradeWindow(u8 windowId, const u8 *str, s8 speed)
static void Task_AnimateWirelessSignal(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- u16 r2 = 16 * gUnknown_826D250[data[0]][0];
+ u16 r2 = 16 * sWirelessSignalAnimParams[data[0]][0];
if (data[2] == 0)
{
if (r2 == 0x100)
- LoadPalette(gUnknown_826BF5C, 0x30, 0x20);
+ LoadPalette(sWirelessSignalAnimPals_Off, 0x30, 0x20);
else
- LoadPalette(&gUnknown_826BB5C[r2], 0x30, 0x20);
+ LoadPalette(&sWirelessSignalAnimPals_Outbound[r2], 0x30, 0x20);
}
else
{
if (r2 == 0x100)
- LoadPalette(gUnknown_826BF5C, 0x30, 0x20);
+ LoadPalette(sWirelessSignalAnimPals_Off, 0x30, 0x20);
else
- LoadPalette(&gUnknown_826BD5C[r2], 0x30, 0x20);
+ LoadPalette(&sWirelessSignalAnimPals_Inbound[r2], 0x30, 0x20);
}
- if (gUnknown_826D250[data[0]][0] == 0 && data[1] == 0)
+ if (sWirelessSignalAnimParams[data[0]][0] == 0 && data[1] == 0)
PlaySE(SE_W215);
- if (data[1] == gUnknown_826D250[data[0]][1])
+ if (data[1] == sWirelessSignalAnimParams[data[0]][1])
{
data[0]++;
data[1] = 0;
- if (gUnknown_826D250[data[0]][1] == 0xFF)
+ if (sWirelessSignalAnimParams[data[0]][1] == 0xFF)
DestroyTask(taskId);
}
else
data[1]++;
}
-static void c3_0805465C(u8 taskId)
+static void Task_OpenCetnerWhiteColumn(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2825,7 +2840,7 @@ static void c3_0805465C(u8 taskId)
}
}
-static void sub_8054734(u8 taskId)
+static void Task_CloseCetnerWhiteColumn(u8 taskId)
{
s16 *data = gTasks[taskId].data;