summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-09-03 09:35:25 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-09-03 09:35:25 -0400
commit927df6fb3e61b94eee3ceffb08ce0e9d5db2c71e (patch)
tree6e4f120635f95fa88f7b46883caed70679f472c2 /src
parent8e97779987c1e8fd3a943386ef376c8c6911ddab (diff)
sub_8049ED4 (an attempt was made)
Diffstat (limited to 'src')
-rw-r--r--src/trade.c630
1 files changed, 569 insertions, 61 deletions
diff --git a/src/trade.c b/src/trade.c
index efd6a1314..0eb05bb52 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -28,6 +28,7 @@
#ifdef ENGLISH
#define sub_804A96C_alt sub_804A96C
+asm(".set sub_804A96C_alt, sub_804A96C");
#endif
#define Trade_SendData() SendBlock(bitmask_all_link_players_but_self(), gUnknown_03004824->linkData, ARRAY_COUNT(gUnknown_03004824->linkData))
@@ -144,7 +145,7 @@ static void sub_804A940(struct UnkStructD *);
/*static*/ void sub_804B41C(void);
static void sub_8049DE0(void);
static void sub_804AB30(void);
-/*static*/ void sub_8049ED4(u8);
+static void sub_8049ED4(u8);
static void sub_804A6DC(u8);
static void sub_804A938(struct UnkStructD *);
static void sub_804A9F4(u8);
@@ -156,6 +157,14 @@ static u8 sub_80499F0(const u8 *, u8, u8);
static void sub_804A840(u8);
/*static*/ u8 sub_804A2B4(u8 *, u8, u8);
/*static*/ void sub_804A96C_alt(struct UnkStructD *, u8, u8, const u16 *, u8, u8, u16);
+#ifdef NONMATCHING
+static
+#endif
+void sub_804A33C(u8 *, u8, u8);
+#ifdef NONMATCHING
+static
+#endif
+void sub_804A51C(u8, u8, u8, u8, u8, u8);
extern u8 gUnknown_020297D8[2];
extern u8 *gUnknown_020296CC[13];
@@ -2036,66 +2045,559 @@ static void sub_8049E9C(u8 a0)
}
// TODO: Figure out what the f**k is going on here
-//static void sub_8049ED4(u8 a0)
-//{
-// struct Pokemon pokemon;
-// u8 i;
-// u8 temp0 = gUnknown_03004824->unk_0082[a0];
-// u8 sp_plus_6c = temp0 < PARTY_SIZE ? 1 : 0;
-// u8 r8 = temp0 % 6;
-// s8 stringLength;
-// u8 string[50];
-//
-// switch (gUnknown_03004824->unk_0080[a0])
-// {
-// case 1:
-// for (i = 0; i < gUnknown_03004824->partyCounts[a0]; i ++)
-// {
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][i]].invisible = TRUE;
-// }
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].invisible = FALSE;
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].data0 = 20;
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].data2 = (gTradeMonSpriteCoords[sp_plus_6c][0] + gTradeMonSpriteCoords[sp_plus_6c][1]) / 2 * 8 + 14;
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].data4 = gTradeMonSpriteCoords[sp_plus_6c][1] * 8 - 12;
-// oamt_set_x3A_32(&gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]], sub_809D62C);
-// gUnknown_03004824->unk_0080[a0] ++;
-// sub_8078A34(&gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]]);
-// HandleDestroyMenuCursors();
-// FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[sp_plus_6c][1], 0, gUnknown_0820C330[sp_plus_6c][1], 19);
-// sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * sp_plus_6c, 0, gTradePartyBoxTilemap, 15, 17, 0);
-// if (sp_plus_6c == 0)
-// {
-// sub_804A80C();
-// }
-// break;
-// case 2:
-// if (gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].callback == sub_809D62C)
-// {
-// gUnknown_03004824->unk_0080[a0] = 3;
-// }
-// break;
-// case 3:
-// sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * sp_plus_6c, 0, gTradePartyBoxTilemap, 15, 11, 0);
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].pos1.x = (gTradeMonSpriteCoords[sp_plus_6c][0] + gTradeMonSpriteCoords[sp_plus_6c][1]) / 2 * 8 + 14;
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].pos1.y = gTradeMonSpriteCoords[sp_plus_6c][1] * 8 - 12;
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].pos2.x = 0;
-// gSprites[gUnknown_03004824->partyIcons[sp_plus_6c][r8]].pos2.y = 0;
-// stringLength = sub_804A2B4(&string[6], sp_plus_6c, r8);
-// string[0] = 0xFC;
-// string[1] = 0x06;
-// string[2] = 0x04;
-// string[3] = 0xFC;
-// string[4] = 0x11;
-// string[5] = (64 - stringLength) / 2;
-// sub_8003460(&gUnknown_03004824->window, string, sp_plus_6c * 192 + gUnknown_03004824->unk_007a, gUnknown_0820C334[sp_plus_6c][0], gUnknown_0820C334[sp_plus_6c][1]);
-// sub_804A33C()
-// break;
-// case 4:
-// break;
-// }
-//}
-
-asm(".section .text.sub_804A2B4");
+#ifdef NONMATCHING
+static void sub_8049ED4(u8 a0)
+{
+ u8 i;
+ s8 stringLength;
+ u8 whichParty = 1;
+ u8 whichPokemon;
+ u8 string1[40];
+ u8 string2[56];
+ u8 temp0 = gUnknown_03004824->unk_0082[a0];
+ if (temp0 < PARTY_SIZE)
+ whichParty = 0;
+ whichPokemon = temp0 % PARTY_SIZE;
+
+ switch (gUnknown_03004824->unk_0080[a0])
+ {
+ case 1:
+ for (i = 0; i < gUnknown_03004824->partyCounts[a0]; i ++)
+ {
+ gSprites[gUnknown_03004824->partyIcons[whichParty][i]].invisible = TRUE;
+ }
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].invisible = FALSE;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data0 = 20;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data2 = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].data4 = gTradeMonSpriteCoords[6 * whichParty + whichPokemon][1] * 8 - 12;
+ oamt_set_x3A_32(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]], sub_809D62C);
+ gUnknown_03004824->unk_0080[a0] ++;
+ sub_8078A34(&gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]]);
+ HandleDestroyMenuCursors();
+ FillWindowRect_DefaultPalette(&gUnknown_03004824->window, 0, gUnknown_0820C330[whichParty][0], 0, gUnknown_0820C330[whichParty][1], 19);
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * a0, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ if (whichParty == 0)
+ {
+ sub_804A80C();
+ }
+ break;
+ case 2:
+ if (gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].callback == sub_809D62C)
+ {
+ gUnknown_03004824->unk_0080[a0] = 3;
+ }
+ break;
+ case 3:
+ sub_804A96C_alt(&gUnknown_03004824->unk_00c8, 15 * whichParty, 0, gTradePartyBoxTilemap, 15, 17, 0);
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos1.x = (gTradeMonSpriteCoords[6 * whichParty + whichPokemon ][0] + gTradeMonSpriteCoords[6 * whichParty + whichPokemon + 1][0]) / 2 * 8 + 14;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos1.y = gTradeMonSpriteCoords[6 * whichParty + whichPokemon ][1] * 8 - 12;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos2.x = 0;
+ gSprites[gUnknown_03004824->partyIcons[whichParty][whichPokemon]].pos2.y = 0;
+ stringLength = sub_804A2B4(string1 + 6, whichParty, whichPokemon);
+ string1[0] = 0xFC;
+ string1[1] = 0x06;
+ string1[2] = 0x04;
+ string1[3] = 0xFC;
+ string1[4] = 0x11;
+ string1[5] = (64 - stringLength) / 2;
+ sub_8003460(&gUnknown_03004824->window, string1, gUnknown_03004824->unk_007a + whichParty * 6 * 32, gUnknown_0820C334[whichParty][0], gUnknown_0820C334[whichParty][1]);
+ sub_804A33C(string2, whichParty, whichPokemon);
+ sub_8003460(&gUnknown_03004824->window, gOtherText_Terminator2, gUnknown_03004824->unk_007a + whichParty * 6 * 32 + 32, gUnknown_0820C334[whichParty + 1][0], gUnknown_0820C334[whichParty + 1][1] + 1);
+ sub_8003460(&gUnknown_03004824->window, string2, gUnknown_03004824->unk_007a + whichParty * 6 * 32 + 38, gUnknown_0820C334[whichParty + 1][0], gUnknown_0820C334[whichParty + 1][1] + 1);
+ gUnknown_03004824->unk_0080[a0] ++;
+ break;
+ case 4:
+ sub_804ACD8(gUnknown_0820C14C[5], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20);
+ sub_804A51C(a0, whichPokemon, gUnknown_0820C3D1[a0][0] + 4, gUnknown_0820C3D1[a0][1] + 1, gUnknown_0820C3D1[a0][0], gUnknown_0820C3D1[a0][1]);
+ gUnknown_03004824->unk_0080[a0] ++;
+ break;
+ }
+}
+#else
+__attribute__((naked))
+static void sub_8049ED4(u8 a0)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r10\n"
+ "\tmov r6, r9\n"
+ "\tmov r5, r8\n"
+ "\tpush {r5-r7}\n"
+ "\tsub sp, 0x74\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmov r10, r0\n"
+ "\tldr r0, _08049F24 @ =gUnknown_03004824\n"
+ "\tldr r5, [r0]\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x82\n"
+ "\tadd r0, r10\n"
+ "\tldrb r0, [r0]\n"
+ "\tmovs r1, 0x1\n"
+ "\tstr r1, [sp, 0x6C]\n"
+ "\tcmp r0, 0x5\n"
+ "\tbhi _08049EFE\n"
+ "\tmovs r2, 0\n"
+ "\tstr r2, [sp, 0x6C]\n"
+ "_08049EFE:\n"
+ "\tmovs r1, 0x6\n"
+ "\tbl __umodsi3\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmov r8, r0\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x80\n"
+ "\tmov r1, r10\n"
+ "\tadds r3, r0, r1\n"
+ "\tldrb r0, [r3]\n"
+ "\tcmp r0, 0x2\n"
+ "\tbne _08049F1A\n"
+ "\tb _0804A0AC\n"
+ "_08049F1A:\n"
+ "\tcmp r0, 0x2\n"
+ "\tbgt _08049F28\n"
+ "\tcmp r0, 0x1\n"
+ "\tbeq _08049F36\n"
+ "\tb _0804A294\n"
+ "\t.align 2, 0\n"
+ "_08049F24: .4byte gUnknown_03004824\n"
+ "_08049F28:\n"
+ "\tcmp r0, 0x3\n"
+ "\tbne _08049F2E\n"
+ "\tb _0804A0E4\n"
+ "_08049F2E:\n"
+ "\tcmp r0, 0x4\n"
+ "\tbne _08049F34\n"
+ "\tb _0804A244\n"
+ "_08049F34:\n"
+ "\tb _0804A294\n"
+ "_08049F36:\n"
+ "\tmovs r4, 0\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0x42\n"
+ "\tadd r0, r10\n"
+ "\tldr r7, _0804A094 @ =gSprites\n"
+ "\tldr r2, [sp, 0x6C]\n"
+ "\tlsls r2, 1\n"
+ "\tmov r9, r2\n"
+ "\tldr r3, _0804A098 @ =gTradeMonSpriteCoords\n"
+ "\tmov r12, r3\n"
+ "\tmov r5, r10\n"
+ "\tlsls r5, 4\n"
+ "\tstr r5, [sp, 0x70]\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r4, r0\n"
+ "\tbcs _08049F8E\n"
+ "\tadds r6, r7, 0\n"
+ "\tldr r2, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [sp, 0x6C]\n"
+ "\tadd r0, r9\n"
+ "\tlsls r3, r0, 1\n"
+ "\tmovs r5, 0x4\n"
+ "_08049F62:\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r1, r4, r3\n"
+ "\tadds r0, 0x34\n"
+ "\tadds r0, r1\n"
+ "\tldrb r1, [r0]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r6\n"
+ "\tadds r0, 0x3E\n"
+ "\tldrb r1, [r0]\n"
+ "\torrs r1, r5\n"
+ "\tstrb r1, [r0]\n"
+ "\tadds r0, r4, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0x42\n"
+ "\tadd r0, r10\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r4, r0\n"
+ "\tbcc _08049F62\n"
+ "_08049F8E:\n"
+ "\tldr r1, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [r1]\n"
+ "\tldr r5, [sp, 0x6C]\n"
+ "\tadd r5, r9\n"
+ "\tlsls r3, r5, 1\n"
+ "\tmov r2, r8\n"
+ "\tadds r6, r2, r3\n"
+ "\tadds r0, 0x34\n"
+ "\tadds r0, r6\n"
+ "\tldrb r1, [r0]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tadds r0, 0x3E\n"
+ "\tldrb r2, [r0]\n"
+ "\tmovs r1, 0x5\n"
+ "\tnegs r1, r1\n"
+ "\tands r1, r2\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r4, [r0]\n"
+ "\tadds r4, 0x34\n"
+ "\tadds r4, r6\n"
+ "\tldrb r1, [r4]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tmovs r1, 0x14\n"
+ "\tstrh r1, [r0, 0x2E]\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r2, r0, 4\n"
+ "\tadds r2, r0\n"
+ "\tlsls r2, 2\n"
+ "\tadds r2, r7\n"
+ "\tlsls r5, 2\n"
+ "\tmov r1, r12\n"
+ "\tadds r0, r5, r1\n"
+ "\tldrb r0, [r0]\n"
+ "\tadds r3, 0x1\n"
+ "\tlsls r3, 1\n"
+ "\tadd r3, r12\n"
+ "\tldrb r1, [r3]\n"
+ "\tadds r0, r1\n"
+ "\tasrs r0, 1\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, 0xE\n"
+ "\tstrh r0, [r2, 0x32]\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r1, r0, 4\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r7\n"
+ "\tmov r0, r12\n"
+ "\tadds r0, 0x1\n"
+ "\tadds r5, r0\n"
+ "\tldrb r0, [r5]\n"
+ "\tlsls r0, 3\n"
+ "\tsubs r0, 0xC\n"
+ "\tstrh r0, [r1, 0x36]\n"
+ "\tldrb r1, [r4]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tldr r1, _0804A0A0 @ =sub_809D62C\n"
+ "\tbl oamt_set_x3A_32\n"
+ "\tldr r2, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r1, [r2]\n"
+ "\tadds r1, 0x80\n"
+ "\tadd r1, r10\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r0, [r2]\n"
+ "\tadds r0, 0x34\n"
+ "\tadds r0, r6\n"
+ "\tldrb r1, [r0]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r7\n"
+ "\tbl sub_8078A34\n"
+ "\tbl HandleDestroyMenuCursors\n"
+ "\tldr r3, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [r3]\n"
+ "\tadds r0, 0x4\n"
+ "\tldr r1, _0804A0A4 @ =gUnknown_0820C330\n"
+ "\tmov r5, r9\n"
+ "\tadds r2, r5, r1\n"
+ "\tldrb r2, [r2]\n"
+ "\tadds r1, 0x1\n"
+ "\tadd r1, r9\n"
+ "\tldrb r1, [r1]\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r1, 0x13\n"
+ "\tstr r1, [sp, 0x4]\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r3, 0\n"
+ "\tbl FillWindowRect_DefaultPalette\n"
+ "\tldr r1, _0804A09C @ =gUnknown_03004824\n"
+ "\tldr r0, [r1]\n"
+ "\tadds r0, 0xC8\n"
+ "\tldr r2, [sp, 0x70]\n"
+ "\tmov r3, r10\n"
+ "\tsubs r1, r2, r3\n"
+ "\tlsls r1, 24\n"
+ "\tlsrs r1, 24\n"
+ "\tldr r3, _0804A0A8 @ =gTradePartyBoxTilemap\n"
+ "\tmovs r2, 0xF\n"
+ "\tstr r2, [sp]\n"
+ "\tmovs r2, 0x11\n"
+ "\tstr r2, [sp, 0x4]\n"
+ "\tmovs r5, 0\n"
+ "\tstr r5, [sp, 0x8]\n"
+ "\tmovs r2, 0\n"
+ "\tbl sub_804A96C_alt\n"
+ "\tldr r0, [sp, 0x6C]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0804A08C\n"
+ "\tb _0804A294\n"
+ "_0804A08C:\n"
+ "\tbl sub_804A80C\n"
+ "\tb _0804A294\n"
+ "\t.align 2, 0\n"
+ "_0804A094: .4byte gSprites\n"
+ "_0804A098: .4byte gTradeMonSpriteCoords\n"
+ "_0804A09C: .4byte gUnknown_03004824\n"
+ "_0804A0A0: .4byte sub_809D62C\n"
+ "_0804A0A4: .4byte gUnknown_0820C330\n"
+ "_0804A0A8: .4byte gTradePartyBoxTilemap\n"
+ "_0804A0AC:\n"
+ "\tldr r2, _0804A0DC @ =gSprites\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tlsls r0, r1, 1\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 1\n"
+ "\tadd r0, r8\n"
+ "\tadds r1, r5, 0\n"
+ "\tadds r1, 0x34\n"
+ "\tadds r1, r0\n"
+ "\tldrb r1, [r1]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r2, 0x1C\n"
+ "\tadds r0, r2\n"
+ "\tldr r1, [r0]\n"
+ "\tldr r0, _0804A0E0 @ =sub_809D62C\n"
+ "\tcmp r1, r0\n"
+ "\tbeq _0804A0D4\n"
+ "\tb _0804A294\n"
+ "_0804A0D4:\n"
+ "\tmovs r0, 0x3\n"
+ "\tstrb r0, [r3]\n"
+ "\tb _0804A294\n"
+ "\t.align 2, 0\n"
+ "_0804A0DC: .4byte gSprites\n"
+ "_0804A0E0: .4byte sub_809D62C\n"
+ "_0804A0E4:\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r0, 0xC8\n"
+ "\tldr r2, [sp, 0x6C]\n"
+ "\tlsls r1, r2, 4\n"
+ "\tsubs r1, r2\n"
+ "\tlsls r1, 24\n"
+ "\tlsrs r1, 24\n"
+ "\tldr r3, _0804A228 @ =gTradeMovesBoxTilemap\n"
+ "\tmovs r2, 0xF\n"
+ "\tstr r2, [sp]\n"
+ "\tmovs r7, 0x11\n"
+ "\tstr r7, [sp, 0x4]\n"
+ "\tmovs r5, 0\n"
+ "\tstr r5, [sp, 0x8]\n"
+ "\tmovs r2, 0\n"
+ "\tbl sub_804A96C_alt\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r3, [r0]\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tlsls r6, r1, 1\n"
+ "\tadds r1, r6\n"
+ "\tmov r9, r1\n"
+ "\tlsls r1, 1\n"
+ "\tmov r2, r8\n"
+ "\tadds r0, r2, r1\n"
+ "\tadds r3, 0x34\n"
+ "\tadds r3, r0\n"
+ "\tldrb r0, [r3]\n"
+ "\tlsls r2, r0, 4\n"
+ "\tadds r2, r0\n"
+ "\tlsls r2, 2\n"
+ "\tldr r5, _0804A230 @ =gSprites\n"
+ "\tadds r2, r5\n"
+ "\tldr r4, _0804A234 @ =gTradeMonSpriteCoords\n"
+ "\tmov r0, r9\n"
+ "\tlsls r5, r0, 2\n"
+ "\tadds r0, r5, r4\n"
+ "\tldrb r0, [r0]\n"
+ "\tadds r1, 0x1\n"
+ "\tlsls r1, 1\n"
+ "\tadds r1, r4\n"
+ "\tldrb r1, [r1]\n"
+ "\tadds r0, r1\n"
+ "\tasrs r0, 1\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, 0xE\n"
+ "\tstrh r0, [r2, 0x20]\n"
+ "\tldrb r0, [r3]\n"
+ "\tlsls r1, r0, 4\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 2\n"
+ "\tldr r2, _0804A230 @ =gSprites\n"
+ "\tadds r1, r2\n"
+ "\tadds r4, 0x1\n"
+ "\tadds r5, r4\n"
+ "\tldrb r0, [r5]\n"
+ "\tlsls r0, 3\n"
+ "\tsubs r0, 0xC\n"
+ "\tstrh r0, [r1, 0x22]\n"
+ "\tldrb r1, [r3]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r2\n"
+ "\tmovs r5, 0\n"
+ "\tstrh r5, [r0, 0x24]\n"
+ "\tldrb r1, [r3]\n"
+ "\tlsls r0, r1, 4\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r2\n"
+ "\tstrh r5, [r0, 0x26]\n"
+ "\tmov r0, sp\n"
+ "\tadds r0, 0x12\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tmov r2, r8\n"
+ "\tbl sub_804A2B4\n"
+ "\tadd r1, sp, 0xC\n"
+ "\tmovs r3, 0xFC\n"
+ "\tstrb r3, [r1]\n"
+ "\tadds r2, r1, 0\n"
+ "\tmovs r1, 0x6\n"
+ "\tstrb r1, [r2, 0x1]\n"
+ "\tmovs r1, 0x4\n"
+ "\tstrb r1, [r2, 0x2]\n"
+ "\tadds r1, r2, 0\n"
+ "\tstrb r3, [r1, 0x3]\n"
+ "\tstrb r7, [r1, 0x4]\n"
+ "\tlsls r0, 24\n"
+ "\tasrs r0, 24\n"
+ "\tmovs r1, 0x40\n"
+ "\tsubs r1, r0\n"
+ "\tlsrs r0, r1, 31\n"
+ "\tadds r1, r0\n"
+ "\tasrs r1, 1\n"
+ "\tstrb r1, [r2, 0x5]\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r1, [r0]\n"
+ "\tadds r0, r1, 0x4\n"
+ "\tadds r1, 0x7A\n"
+ "\tldrb r2, [r1]\n"
+ "\tmov r1, r9\n"
+ "\tlsls r1, 6\n"
+ "\tmov r9, r1\n"
+ "\tadd r2, r9\n"
+ "\tldr r4, _0804A238 @ =gUnknown_0820C334\n"
+ "\tldr r3, [sp, 0x6C]\n"
+ "\tlsls r1, r3, 2\n"
+ "\tadds r3, r1, r4\n"
+ "\tldrb r3, [r3]\n"
+ "\tldr r5, _0804A23C @ =gUnknown_0820C334 + 0x1\n"
+ "\tadds r1, r5\n"
+ "\tldrb r1, [r1]\n"
+ "\tstr r1, [sp]\n"
+ "\tadd r1, sp, 0xC\n"
+ "\tbl sub_8003460\n"
+ "\tadd r7, sp, 0x34\n"
+ "\tadds r0, r7, 0\n"
+ "\tldr r1, [sp, 0x6C]\n"
+ "\tmov r2, r8\n"
+ "\tbl sub_804A33C\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r2, [r0]\n"
+ "\tadds r0, r2, 0x4\n"
+ "\tldr r1, _0804A240 @ =gOtherText_Terminator2\n"
+ "\tadds r2, 0x7A\n"
+ "\tldrb r2, [r2]\n"
+ "\tadd r2, r9\n"
+ "\tadds r2, 0x20\n"
+ "\tadds r6, 0x1\n"
+ "\tlsls r6, 1\n"
+ "\tadds r4, r6, r4\n"
+ "\tldrb r5, [r4]\n"
+ "\tldr r3, _0804A23C @ =gUnknown_0820C334 + 0x1\n"
+ "\tadds r6, r3\n"
+ "\tldrb r4, [r6]\n"
+ "\tadds r4, 0x1\n"
+ "\tlsls r4, 24\n"
+ "\tlsrs r4, 24\n"
+ "\tstr r4, [sp]\n"
+ "\tadds r3, r5, 0\n"
+ "\tbl sub_8003460\n"
+ "\tldr r0, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r1, [r0]\n"
+ "\tadds r0, r1, 0x4\n"
+ "\tadds r1, 0x7A\n"
+ "\tldrb r2, [r1]\n"
+ "\tadd r2, r9\n"
+ "\tadds r2, 0x26\n"
+ "\tstr r4, [sp]\n"
+ "\tadds r1, r7, 0\n"
+ "\tadds r3, r5, 0\n"
+ "\tbl sub_8003460\n"
+ "\tldr r2, _0804A22C @ =gUnknown_03004824\n"
+ "\tldr r1, [r2]\n"
+ "\tb _0804A28A\n"
+ "\t.align 2, 0\n"
+ "_0804A228: .4byte gTradeMovesBoxTilemap\n"
+ "_0804A22C: .4byte gUnknown_03004824\n"
+ "_0804A230: .4byte gSprites\n"
+ "_0804A234: .4byte gTradeMonSpriteCoords\n"
+ "_0804A238: .4byte gUnknown_0820C334\n"
+ "_0804A23C: .4byte gUnknown_0820C334 + 0x1\n"
+ "_0804A240: .4byte gOtherText_Terminator2\n"
+ "_0804A244:\n"
+ "\tldr r0, _0804A2A4 @ =gUnknown_0820C14C\n"
+ "\tldr r0, [r0, 0x14]\n"
+ "\tadds r1, r5, 0\n"
+ "\tadds r1, 0x7E\n"
+ "\tldrh r1, [r1]\n"
+ "\tlsls r1, 5\n"
+ "\tldr r3, _0804A2A8 @ =0x06010000\n"
+ "\tadds r1, r3\n"
+ "\tmovs r2, 0x14\n"
+ "\tbl sub_804ACD8\n"
+ "\tldr r0, _0804A2AC @ =gUnknown_0820C3D1\n"
+ "\tmov r5, r10\n"
+ "\tlsls r1, r5, 1\n"
+ "\tadds r4, r1, r0\n"
+ "\tldrb r2, [r4]\n"
+ "\tadds r2, 0x4\n"
+ "\tlsls r2, 24\n"
+ "\tlsrs r2, 24\n"
+ "\tadds r0, 0x1\n"
+ "\tadds r1, r0\n"
+ "\tldrb r3, [r1]\n"
+ "\tadds r3, 0x1\n"
+ "\tlsls r3, 24\n"
+ "\tlsrs r3, 24\n"
+ "\tldrb r0, [r4]\n"
+ "\tstr r0, [sp]\n"
+ "\tldrb r0, [r1]\n"
+ "\tstr r0, [sp, 0x4]\n"
+ "\tmov r0, r10\n"
+ "\tmov r1, r8\n"
+ "\tbl sub_804A51C\n"
+ "\tldr r0, _0804A2B0 @ =gUnknown_03004824\n"
+ "\tldr r1, [r0]\n"
+ "_0804A28A:\n"
+ "\tadds r1, 0x80\n"
+ "\tadd r1, r10\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrb r0, [r1]\n"
+ "_0804A294:\n"
+ "\tadd sp, 0x74\n"
+ "\tpop {r3-r5}\n"
+ "\tmov r8, r3\n"
+ "\tmov r9, r4\n"
+ "\tmov r10, r5\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "_0804A2A4: .4byte gUnknown_0820C14C\n"
+ "_0804A2A8: .4byte 0x06010000\n"
+ "_0804A2AC: .4byte gUnknown_0820C3D1\n"
+ "_0804A2B0: .4byte gUnknown_03004824");
+}
+#endif
u8 sub_804A2B4(u8 *a0, u8 whichParty, u8 whichPokemon)
{
@@ -2117,6 +2619,9 @@ u8 sub_804A2B4(u8 *a0, u8 whichParty, u8 whichPokemon)
return GetStringWidthGivenWindowConfig(&gWindowConfig_81E7294, a0);
}
+#ifdef NONMATCHING
+static
+#endif
void sub_804A33C(u8 *a0, u8 whichParty, u8 whichPokemon)
{
u16 i;
@@ -2303,6 +2808,9 @@ static void sub_804A41C(u8 whichParty)
}
#endif
+#ifdef NONMATCHING
+static
+#endif
void sub_804A51C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5)
{
u8 nickname[24];