summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-02 10:18:29 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-02 10:18:29 -0400
commitaf86929d787ca449ab86b3bd8674cbd5c44fb7ea (patch)
treee4259d5129071530300b6321d99f533dce907bae
parente3ecbe5d7850c50de8882385c1400ed4e77c61b5 (diff)
sub_8048D44
-rw-r--r--asm/trade.s378
-rw-r--r--data/trade.s69
-rw-r--r--include/text.h1
-rw-r--r--src/trade.c208
4 files changed, 207 insertions, 449 deletions
diff --git a/asm/trade.s b/asm/trade.s
index cad31d7d7..abfbc523f 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -10,384 +10,6 @@
.set sub_804A96C_alt, sub_804A96C
.endif
- thumb_func_start sub_8048D44
-sub_8048D44: @ 8048D44
- push {r4-r7,lr}
- sub sp, 0xC
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, _08048D90 @ =gUnknown_03004824
- ldr r0, [r6]
- adds r0, 0x75
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0x64
- bl __udivsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetLinkDebugValues
- ldr r0, [r6]
- adds r0, 0x75
- ldrb r0, [r0]
- cmp r0, 0x10
- bls _08048D86
- b _0804907C
-_08048D86:
- lsls r0, 2
- ldr r1, _08048D94 @ =_08048D98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08048D90: .4byte gUnknown_03004824
-_08048D94: .4byte _08048D98
- .align 2, 0
-_08048D98:
- .4byte _08048DDC
- .4byte _08048DF8
- .4byte _08048E28
- .4byte _08048E3C
- .4byte _08048E74
- .4byte _08048E90
- .4byte _08048EA4
- .4byte _08048EDC
- .4byte _08048EF8
- .4byte _08048F0C
- .4byte _08048F44
- .4byte _08048F60
- .4byte _08048F74
- .4byte _08048FAC
- .4byte _08048FC8
- .4byte _08048FDC
- .4byte _08049018
-_08048DDC:
- ldr r0, _08048DEC @ =gBlockSendBuffer
- ldr r1, _08048DF0 @ =gPlayerParty
- movs r2, 0xC8
- bl sub_8048D24
- ldr r0, _08048DF4 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048DEC: .4byte gBlockSendBuffer
-_08048DF0: .4byte gPlayerParty
-_08048DF4: .4byte gUnknown_03004824
-_08048DF8:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _08048E04
- b _0804907C
-_08048E04:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _08048E18
- ldr r0, _08048E14 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E14: .4byte gUnknown_03004824
-_08048E18:
- bl ResetBlockReceivedFlags
- ldr r0, _08048E24 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E24: .4byte gUnknown_03004824
-_08048E28:
- cmp r7, 0
- bne _08048E32
- movs r0, 0x1
- bl sub_8007E9C
-_08048E32:
- ldr r0, _08048E38 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E38: .4byte gUnknown_03004824
-_08048E3C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048E4A
- b _0804907C
-_08048E4A:
- ldr r0, _08048E68 @ =gEnemyParty
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048E6C @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048E70 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E68: .4byte gEnemyParty
-_08048E6C: .4byte gBlockRecvBuffer
-_08048E70: .4byte gUnknown_03004824
-_08048E74:
- ldr r0, _08048E84 @ =gBlockSendBuffer
- ldr r1, _08048E88 @ =gPlayerParty + 2 * 0x64
- movs r2, 0xC8
- bl sub_8048D24
- ldr r0, _08048E8C @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048E84: .4byte gBlockSendBuffer
-_08048E88: .4byte gPlayerParty + 2 * 0x64
-_08048E8C: .4byte gUnknown_03004824
-_08048E90:
- cmp r7, 0
- bne _08048E9A
- movs r0, 0x1
- bl sub_8007E9C
-_08048E9A:
- ldr r0, _08048EA0 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048EA0: .4byte gUnknown_03004824
-_08048EA4:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048EB2
- b _0804907C
-_08048EB2:
- ldr r0, _08048ED0 @ =gEnemyParty + 2 * 0x64
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048ED4 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048ED8 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048ED0: .4byte gEnemyParty + 2 * 0x64
-_08048ED4: .4byte gBlockRecvBuffer
-_08048ED8: .4byte gUnknown_03004824
-_08048EDC:
- ldr r0, _08048EEC @ =gBlockSendBuffer
- ldr r1, _08048EF0 @ =gPlayerParty + 4 * 0x64
- movs r2, 0xC8
- bl sub_8048D24
- ldr r0, _08048EF4 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048EEC: .4byte gBlockSendBuffer
-_08048EF0: .4byte gPlayerParty + 4 * 0x64
-_08048EF4: .4byte gUnknown_03004824
-_08048EF8:
- cmp r7, 0
- bne _08048F02
- movs r0, 0x1
- bl sub_8007E9C
-_08048F02:
- ldr r0, _08048F08 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F08: .4byte gUnknown_03004824
-_08048F0C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048F1A
- b _0804907C
-_08048F1A:
- ldr r0, _08048F38 @ =gEnemyParty + 4 * 0x64
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048F3C @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xC8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048F40 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F38: .4byte gEnemyParty + 4 * 0x64
-_08048F3C: .4byte gBlockRecvBuffer
-_08048F40: .4byte gUnknown_03004824
-_08048F44:
- ldr r0, _08048F54 @ =gBlockSendBuffer
- ldr r1, _08048F58 @ =gSaveBlock1 + 0x2B4C
- movs r2, 0xDC
- bl sub_8048D24
- ldr r0, _08048F5C @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F54: .4byte gBlockSendBuffer
-_08048F58: .4byte gSaveBlock1 + 0x2B4C
-_08048F5C: .4byte gUnknown_03004824
-_08048F60:
- cmp r7, 0
- bne _08048F6A
- movs r0, 0x3
- bl sub_8007E9C
-_08048F6A:
- ldr r0, _08048F70 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048F70: .4byte gUnknown_03004824
-_08048F74:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08048F82
- b _0804907C
-_08048F82:
- ldr r0, _08048FA0 @ =gUnknown_02029700
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08048FA4 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xD8
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r0, _08048FA8 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048FA0: .4byte gUnknown_02029700
-_08048FA4: .4byte gBlockRecvBuffer
-_08048FA8: .4byte gUnknown_03004824
-_08048FAC:
- ldr r0, _08048FBC @ =gBlockSendBuffer
- ldr r1, _08048FC0 @ =gSaveBlock1 + 0x3110
- movs r2, 0xB
- bl sub_8048D24
- ldr r0, _08048FC4 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048FBC: .4byte gBlockSendBuffer
-_08048FC0: .4byte gSaveBlock1 + 0x3110
-_08048FC4: .4byte gUnknown_03004824
-_08048FC8:
- cmp r7, 0
- bne _08048FD2
- movs r0, 0x4
- bl sub_8007E9C
-_08048FD2:
- ldr r0, _08048FD8 @ =gUnknown_03004824
- ldr r1, [r0]
- b _08049006
- .align 2, 0
-_08048FD8: .4byte gUnknown_03004824
-_08048FDC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0804907C
- ldr r4, _08049010 @ =gUnknown_03004824
- ldr r0, [r4]
- adds r0, 0xB5
- movs r2, 0x1
- adds r1, r7, 0
- eors r1, r2
- lsls r1, 8
- ldr r2, _08049014 @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0xB
- bl sub_8048D24
- bl ResetBlockReceivedFlags
- ldr r1, [r4]
-_08049006:
- adds r1, 0x75
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804907C
- .align 2, 0
-_08049010: .4byte gUnknown_03004824
-_08049014: .4byte gBlockRecvBuffer
-_08049018:
- ldr r4, _0804906C @ =gEnemyParty
- ldr r6, _08049070 @ =0x0000012f
- movs r5, 0x5
-_0804901E:
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _0804905E
- cmp r0, r6
- bne _0804905E
- adds r0, r4, 0
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x1
- beq _0804905E
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- ldr r1, _08049074 @ =gUnknown_0820C3B0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _0804905E
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, _08049078 @ =gSpeciesNames + 0xD05
- bl SetMonData
-_0804905E:
- adds r4, 0x64
- subs r5, 0x1
- cmp r5, 0
- bge _0804901E
- movs r0, 0x1
- b _0804907E
- .align 2, 0
-_0804906C: .4byte gEnemyParty
-_08049070: .4byte 0x0000012f
-_08049074: .4byte gUnknown_0820C3B0
-_08049078: .4byte gSpeciesNames + 0xD05
-_0804907C:
- movs r0, 0
-_0804907E:
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8048D44
-
thumb_func_start sub_8049088
sub_8049088: @ 8049088
push {lr}
diff --git a/data/trade.s b/data/trade.s
index fcfbd8187..9d224bf36 100644
--- a/data/trade.s
+++ b/data/trade.s
@@ -14,75 +14,6 @@
@ 12
.align 2
-gUnknown_0820C2F0:: @ 820C2F0
- .4byte TradeText_LinkStandby
- .4byte TradeText_TradeCancelled
- .4byte TradeText_OnlyPoke
- .4byte TradeText_NonTradablePoke
- .4byte TradeText_WaitingForFriend
- .4byte TradeText_WantToTrade
-
-gTradeMessageWindowRects:: @ 820C308
- .byte 8, 7, 22, 12
- .byte 8, 7, 22, 12
- .byte 6, 7, 24, 12
- .byte 6, 7, 24, 12
- .byte 8, 7, 22, 12
- .byte 7, 7, 23, 12
-
- .align 2
-gUnknown_0820C320:: @ 820C320
- .4byte TradeText_Summary2, sub_804A9F4 @unknown
- .4byte TradeText_Trade2, sub_804AA00
-
-gUnknown_0820C330:: @ 820C330
- .byte 0, 14
- .byte 15, 29
-
-gUnknown_0820C334:: @ 820C334
- .byte 3, 5
- .byte 3, 7
- .byte 18, 5
- .byte 18, 7
-
-gOtherText_Terminator::
- .string "$"
-
-gOtherText_MaleSymbol3:: @ 820C33D
- .string "♂$"
-
-gOtherText_FemaleSymbol3:: @ 820C33F
- .string "♀$"
-
-gOtherText_GenderlessSymbol:: @ 820C341
- .string "$$"
-
- .align 2
- .4byte gTileBuffer
-
-@ Unused debug strings?
- .string "かいめの そうしん$", 13
- .string "かいめの じゅしん$", 13
- .string "ポケモンアイコンセット$", 13
- .string "OBJテキストセット$", 13
- .string "セルセット$", 13
- .string "OBJテキストADD$", 13
- .string "システムメッセージADD$", 13
- .string "はいけいセット$", 13
-
-@ Shedinja's Japanese name
-@ sub_8048D44 compares a pokemon name with this string
-gUnknown_0820C3B0:: @ 820C3B0
- .string "ヌケニン$"
-
- .string "こうかんせいりつ $" @ trade completed
- .string "だめだたらしいよ $" @ it's no good (trade failed maybe?)
-
-gUnknown_0820C3D1:: @ 820C3D1
- .byte 4, 3
- .byte 19, 3
-
- .align 2
gTradeBallPalette:: @ 820C3D8
.incbin "graphics/trade/ball.gbapal"
diff --git a/include/text.h b/include/text.h
index 9a70dec11..d0c9f0d9d 100644
--- a/include/text.h
+++ b/include/text.h
@@ -202,6 +202,7 @@ extern u8 gStringVar1[];
extern u8 gStringVar2[];
extern u8 gStringVar3[];
extern u8 gStringVar4[];
+extern u8 gTileBuffer[];
void LoadFontDefaultPalette(const struct WindowConfig *winConfig);
void SetUpWindowConfig(const struct WindowConfig *winConfig);
diff --git a/src/trade.c b/src/trade.c
index 60b11b63f..d4d5e0b50 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -19,6 +19,7 @@
#include "party_menu.h"
#include "songs.h"
#include "sound.h"
+#include "data2.h"
struct InGameTrade {
/*0x00*/ u8 name[11];
@@ -87,7 +88,8 @@ struct TradeEwramSubstruct {
/*0x008a*/ u8 unk_008a;
/*0x008b*/ u8 filler_008b[0x29];
/*0x00b4*/ u8 unk_00b4;
- /*0x00b5*/ u8 filler_00b5[0x13];
+ /*0x00b5*/ u8 unk_00b5[7];
+ /*0x00bc*/ u8 filler_00bc[12];
/*0x00c8*/ struct UnkStructE unk_00c8;
/*0x08dc*/ u8 filler_04dc[0x724];
};
@@ -133,11 +135,14 @@ void sub_804AB30(void);
void sub_8049ED4(u8);
void sub_804A6DC(u8);
void sub_804A938(struct UnkStructE *);
+u8 sub_804A9F4(void);
+u8 sub_804AA00(void);
extern u8 gUnknown_020297D8[2];
extern u8 *gUnknown_020296CC[13];
extern struct TradeEwramSubstruct *gUnknown_03004824;
extern u8 gUnknown_03000508;
+extern struct MailStruct gUnknown_02029700[16];
extern u8 ewram[];
#define ewram_2010000 (*(struct TradeEwramStruct *)(ewram + 0x10000))
@@ -430,8 +435,68 @@ const u8 gTradeUnknownSpriteCoords[][2][2] = {
}
};
+const u8 *const gUnknown_0820C2F0[] = {
+ TradeText_LinkStandby,
+ TradeText_TradeCancelled,
+ TradeText_OnlyPoke,
+ TradeText_NonTradablePoke,
+ TradeText_WaitingForFriend,
+ TradeText_WantToTrade
+};
+
+const u8 gTradeMessageWindowRects[][4] = {
+ {8, 7, 22, 12},
+ {8, 7, 22, 12},
+ {6, 7, 24, 12},
+ {6, 7, 24, 12},
+ {8, 7, 22, 12},
+ {7, 7, 23, 12}
+};
+
+const struct MenuAction gUnknown_0820C320[] = {
+ {TradeText_Summary2, sub_804A9F4},
+ {TradeText_Trade2, sub_804AA00}
+};
+
+const u8 gUnknown_0820C330[][2] = {
+ { 0, 14},
+ {15, 29}
+};
+
+const u8 gUnknown_0820C334[][2] = {
+ { 3, 5},
+ { 3, 7},
+ {18, 5},
+ {18, 7}
+};
+
+const u8 gOtherText_Terminator[] = _("");
+const u8 gOtherText_MaleSymbol3[] = _("♂");
+const u8 gOtherText_FemaleSymbol3[] = _("♀");
+const u8 gOtherText_GenderlessSymbol[] = _("$");
+
+u8 *const unref_data_820C344 = gTileBuffer;
+const u8 unref_strings_820C348[][13] = {
+ _("かいめの そうしん"),
+ _("かいめの じゅしん"),
+ _("ポケモンアイコンセット"),
+ _("OBJテキストセット"),
+ _("セルセット"),
+ _("OBJテキストADD"),
+ _("システムメッセージADD"),
+ _("はいけいセット"),
+};
+
+const u8 gUnknown_0820C3B0[] = _("ヌケニン");
+const u8 unref_string_0820C3B5[] = _("こうかんせいりつ ");
+const u8 unref_string_0820C3C3[] = _("だめだたらしいよ ");
+const u8 gUnknown_0820C3D1[][2] = {
+ { 4, 3},
+ {19, 3}
+};
asm(".section .rodata.igt");
+
const struct InGameTrade gIngameTrades[] = {
{
_("MAKIT"), SPECIES_MAKUHITA,
@@ -520,6 +585,8 @@ const s8 gTradeBallVerticalVelocityTable[] = {
1, 1, 2, 3
};
+// .text
+
void sub_8047CD8(void)
{
SetMainCallback2(sub_8047EC0);
@@ -1215,12 +1282,149 @@ void sub_8048C70(void)
void nullsub_5(u8 a0, u8 a1) {}
-void sub_8048D24(u8 *dest, const u8 *src, u32 size)
+static void sub_8048D24(u8 *dest, const u8 *src, u32 size)
{
int i;
for (i = 0; i < size; i ++) dest[i] = src[i];
}
+bool8 sub_8048D44(void)
+{
+ u8 mpId = GetMultiplayerId();
+ int i;
+ u16 species;
+ u8 nickname[11];
+ struct Pokemon *pokemon;
+
+ SetLinkDebugValues(gUnknown_03004824->unk_0075 / 100, gUnknown_03004824->unk_0075 % 100);
+ switch (gUnknown_03004824->unk_0075)
+ {
+ case 0:
+ sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[0], 2 * sizeof(struct Pokemon));
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 1:
+ if (sub_8007ECC())
+ {
+ if (GetBlockReceivedStatus() == 0)
+ {
+ gUnknown_03004824->unk_0075 ++;
+ }
+ else
+ {
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ }
+ break;
+ case 2:
+ if (mpId == 0)
+ {
+ sub_8007E9C(1);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 3:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ sub_8048D24((u8 *)&gEnemyParty[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 4:
+ sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[2], 2 * sizeof(struct Pokemon));
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 5:
+ if (mpId == 0)
+ {
+ sub_8007E9C(1);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 6:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ sub_8048D24((u8 *)&gEnemyParty[2], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 7:
+ sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[4], 2 * sizeof(struct Pokemon));
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 8:
+ if (mpId == 0)
+ {
+ sub_8007E9C(1);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 9:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ sub_8048D24((u8 *)&gEnemyParty[4], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 10:
+ sub_8048D24(gBlockSendBuffer, (const u8 *)&gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4);
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 11:
+ if (mpId == 0)
+ {
+ sub_8007E9C(3);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 12:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ sub_8048D24((u8 *)&gUnknown_02029700[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct));
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 13:
+ sub_8048D24(gBlockSendBuffer, (const u8 *)gSaveBlock1.giftRibbons, 11);
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 14:
+ if (mpId == 0)
+ {
+ sub_8007E9C(4);
+ }
+ gUnknown_03004824->unk_0075 ++;
+ break;
+ case 15:
+ if (GetBlockReceivedStatus() == 3)
+ {
+ sub_8048D24((u8 *)gUnknown_03004824->unk_00b5, (const u8 *)gBlockRecvBuffer[mpId ^ 1], 11);
+ ResetBlockReceivedFlags();
+ gUnknown_03004824->unk_0075 ++;
+ }
+ break;
+ case 16:
+ pokemon = gEnemyParty;
+ for (i = 0; i < PARTY_SIZE; i ++)
+ {
+ if ((species = GetMonData(pokemon, MON_DATA_SPECIES)) != SPECIES_NONE && species == SPECIES_SHEDINJA && GetMonData(pokemon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE)
+ {
+ GetMonData(pokemon, MON_DATA_NICKNAME, nickname);
+ if (!StringCompareWithoutExtCtrlCodes(nickname, gUnknown_0820C3B0))
+ SetMonData(pokemon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]);
+ }
+ pokemon ++;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
asm(".section .text.sub_804A96C");
void sub_804A96C(struct UnkStructD *arg0, u8 left, u8 top, u16 *tilemap, u8 width, u8 height, u16 sp8) {