Merge branch 'master' into trade

This commit is contained in:
PikalaxALT
2019-10-14 10:41:27 -04:00
145 changed files with 17677 additions and 37125 deletions
+917
View File
@@ -137,6 +137,7 @@ void sub_804C718(void)
SetMainCallback2(sub_804C728);
}
#ifdef NONMATCHING
void sub_804C728(void)
{
int i;
@@ -319,6 +320,10 @@ void sub_804C728(void)
CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
}
/*
* These three lines are a pain to match due to register alloc and
* pointer arithmetic misbehavior.
*/
id = GetMultiplayerId();
id ^= 1;
width = GetStringWidth(1, gLinkPlayers[id].name, 0);
@@ -406,3 +411,915 @@ void sub_804C728(void)
BuildOamBuffer();
UpdatePaletteFade();
}
#else
NAKED
void sub_804C728(void)
{
asm_unified("\tpush {r4-r7,lr}\n"
"\tmov r7, r8\n"
"\tpush {r7}\n"
"\tsub sp, 0x28\n"
"\tldr r1, _0804C74C @ =gMain\n"
"\tmovs r2, 0x87\n"
"\tlsls r2, 3\n"
"\tadds r0, r1, r2\n"
"\tldrb r0, [r0]\n"
"\tadds r3, r1, 0\n"
"\tcmp r0, 0x16\n"
"\tbls _0804C742\n"
"\tb _0804CEE6\n"
"_0804C742:\n"
"\tlsls r0, 2\n"
"\tldr r1, _0804C750 @ =_0804C754\n"
"\tadds r0, r1\n"
"\tldr r0, [r0]\n"
"\tmov pc, r0\n"
"\t.align 2, 0\n"
"_0804C74C: .4byte gMain\n"
"_0804C750: .4byte _0804C754\n"
"\t.align 2, 0\n"
"_0804C754:\n"
"\t.4byte _0804C7B0\n"
"\t.4byte _0804C7FC\n"
"\t.4byte _0804C8C8\n"
"\t.4byte _0804C8F4\n"
"\t.4byte _0804C950\n"
"\t.4byte _0804C9B0\n"
"\t.4byte _0804C9F0\n"
"\t.4byte _0804CA10\n"
"\t.4byte _0804CB50\n"
"\t.4byte _0804CB78\n"
"\t.4byte _0804CB9C\n"
"\t.4byte _0804CC30\n"
"\t.4byte _0804CC3E\n"
"\t.4byte _0804CD10\n"
"\t.4byte _0804CDE0\n"
"\t.4byte _0804CE20\n"
"\t.4byte _0804CE3A\n"
"\t.4byte _0804CE48\n"
"\t.4byte _0804CE5C\n"
"\t.4byte _0804CE7C\n"
"\t.4byte _0804CE9C\n"
"\t.4byte _0804CEB0\n"
"\t.4byte _0804CED0\n"
"_0804C7B0:\n"
"\tldr r4, _0804C7E8 @ =gUnknown_2031DA8\n"
"\tldr r0, _0804C7EC @ =0x000010f0\n"
"\tbl AllocZeroed\n"
"\tstr r0, [r4]\n"
"\tbl sub_804C600\n"
"\tldr r4, _0804C7F0 @ =gUnknown_2031C90\n"
"\tmovs r0, 0xE0\n"
"\tlsls r0, 4\n"
"\tbl AllocZeroed\n"
"\tstr r0, [r4]\n"
"\tmovs r6, 0\n"
"\tldr r2, _0804C7F4 @ =gUnknown_2031C94\n"
"_0804C7CE:\n"
"\tlsls r1, r6, 8\n"
"\tldr r0, [r4]\n"
"\tadds r0, r1\n"
"\tstm r2!, {r0}\n"
"\tadds r6, 0x1\n"
"\tcmp r6, 0xD\n"
"\tble _0804C7CE\n"
"\tldr r1, _0804C7F8 @ =gMain\n"
"\tmovs r3, 0x87\n"
"\tlsls r3, 3\n"
"\tadds r1, r3\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804C7E8: .4byte gUnknown_2031DA8\n"
"_0804C7EC: .4byte 0x000010f0\n"
"_0804C7F0: .4byte gUnknown_2031C90\n"
"_0804C7F4: .4byte gUnknown_2031C94\n"
"_0804C7F8: .4byte gMain\n"
"_0804C7FC:\n"
"\tldr r2, _0804C864 @ =gPaletteFade\n"
"\tldrb r1, [r2, 0x8]\n"
"\tmovs r0, 0x7F\n"
"\tands r0, r1\n"
"\tstrb r0, [r2, 0x8]\n"
"\tmovs r6, 0\n"
"\tmovs r4, 0\n"
"_0804C80A:\n"
"\tmovs r0, 0x64\n"
"\tmuls r0, r6\n"
"\tldr r1, _0804C868 @ =gEnemyParty\n"
"\tadds r0, r1\n"
"\tstr r4, [sp]\n"
"\tstr r4, [sp, 0x4]\n"
"\tstr r4, [sp, 0x8]\n"
"\tstr r4, [sp, 0xC]\n"
"\tmovs r1, 0\n"
"\tmovs r2, 0\n"
"\tmovs r3, 0x20\n"
"\tbl CreateMon\n"
"\tadds r6, 0x1\n"
"\tcmp r6, 0x5\n"
"\tble _0804C80A\n"
"\tmovs r0, 0\n"
"\tbl sub_804F5BC\n"
"\tmovs r0, 0\n"
"\tbl ShowBg\n"
"\tldr r0, _0804C86C @ =gReceivedRemoteLinkPlayers\n"
"\tldrb r2, [r0]\n"
"\tcmp r2, 0\n"
"\tbne _0804C8B4\n"
"\tldr r1, _0804C870 @ =gLinkType\n"
"\tldr r5, _0804C874 @ =0x00001122\n"
"\tadds r0, r5, 0\n"
"\tstrh r0, [r1]\n"
"\tldr r0, _0804C878 @ =gUnknown_2031DA8\n"
"\tldr r0, [r0]\n"
"\tadds r0, 0xA8\n"
"\tstrb r2, [r0]\n"
"\tldr r0, _0804C87C @ =gWirelessCommType\n"
"\tldrb r0, [r0]\n"
"\tcmp r0, 0\n"
"\tbeq _0804C880\n"
"\tbl sub_800B1F4\n"
"\tbl OpenLink\n"
"\tbl sub_80FBB20\n"
"\tb _0804C892\n"
"\t.align 2, 0\n"
"_0804C864: .4byte gPaletteFade\n"
"_0804C868: .4byte gEnemyParty\n"
"_0804C86C: .4byte gReceivedRemoteLinkPlayers\n"
"_0804C870: .4byte gLinkType\n"
"_0804C874: .4byte 0x00001122\n"
"_0804C878: .4byte gUnknown_2031DA8\n"
"_0804C87C: .4byte gWirelessCommType\n"
"_0804C880:\n"
"\tbl OpenLink\n"
"\tldr r1, _0804C8A8 @ =gMain\n"
"\tmovs r7, 0x87\n"
"\tlsls r7, 3\n"
"\tadds r1, r7\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"_0804C892:\n"
"\tldr r0, _0804C8AC @ =gWirelessCommType\n"
"\tldrb r0, [r0]\n"
"\tcmp r0, 0\n"
"\tbeq _0804C89C\n"
"\tb _0804CEE6\n"
"_0804C89C:\n"
"\tldr r0, _0804C8B0 @ =sub_8081A90\n"
"\tmovs r1, 0x1\n"
"\tbl CreateTask\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
"_0804C8A8: .4byte gMain\n"
"_0804C8AC: .4byte gWirelessCommType\n"
"_0804C8B0: .4byte sub_8081A90\n"
"_0804C8B4:\n"
"\tldr r0, _0804C8C4 @ =gMain\n"
"\tmovs r1, 0x87\n"
"\tlsls r1, 3\n"
"\tadds r0, r1\n"
"\tmovs r1, 0x4\n"
"\tstrb r1, [r0]\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
"_0804C8C4: .4byte gMain\n"
"_0804C8C8:\n"
"\tldr r2, _0804C8F0 @ =gUnknown_2031DA8\n"
"\tldr r1, [r2]\n"
"\tadds r1, 0xA8\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"\tldr r0, [r2]\n"
"\tadds r1, r0, 0\n"
"\tadds r1, 0xA8\n"
"\tldrb r0, [r1]\n"
"\tcmp r0, 0xB\n"
"\tbhi _0804C8E2\n"
"\tb _0804CEE6\n"
"_0804C8E2:\n"
"\tmovs r0, 0\n"
"\tstrb r0, [r1]\n"
"\tmovs r2, 0x87\n"
"\tlsls r2, 3\n"
"\tadds r1, r3, r2\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804C8F0: .4byte gUnknown_2031DA8\n"
"_0804C8F4:\n"
"\tbl GetLinkPlayerCount_2\n"
"\tadds r4, r0, 0\n"
"\tbl GetSavedPlayerCount\n"
"\tlsls r4, 24\n"
"\tlsls r0, 24\n"
"\tcmp r4, r0\n"
"\tbcs _0804C908\n"
"\tb _0804CEE6\n"
"_0804C908:\n"
"\tbl IsLinkMaster\n"
"\tlsls r0, 24\n"
"\tcmp r0, 0\n"
"\tbeq _0804C940\n"
"\tldr r0, _0804C938 @ =gUnknown_2031DA8\n"
"\tldr r1, [r0]\n"
"\tadds r1, 0xA8\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"\tlsls r0, 24\n"
"\tlsrs r0, 24\n"
"\tcmp r0, 0x1E\n"
"\tbhi _0804C928\n"
"\tb _0804CEE6\n"
"_0804C928:\n"
"\tbl CheckShouldAdvanceLinkState\n"
"\tldr r1, _0804C93C @ =gMain\n"
"\tmovs r3, 0x87\n"
"\tlsls r3, 3\n"
"\tadds r1, r3\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804C938: .4byte gUnknown_2031DA8\n"
"_0804C93C: .4byte gMain\n"
"_0804C940:\n"
"\tldr r1, _0804C94C @ =gMain\n"
"\tmovs r5, 0x87\n"
"\tlsls r5, 3\n"
"\tadds r1, r5\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804C94C: .4byte gMain\n"
"_0804C950:\n"
"\tldr r0, _0804C9A0 @ =gReceivedRemoteLinkPlayers\n"
"\tldrb r0, [r0]\n"
"\tcmp r0, 0x1\n"
"\tbeq _0804C95A\n"
"\tb _0804CEE6\n"
"_0804C95A:\n"
"\tbl IsLinkPlayerDataExchangeComplete\n"
"\tlsls r0, 24\n"
"\tlsrs r0, 24\n"
"\tcmp r0, 0x1\n"
"\tbeq _0804C968\n"
"\tb _0804CEE6\n"
"_0804C968:\n"
"\tbl sub_80FBB4C\n"
"\tbl CalculatePlayerPartyCount\n"
"\tldr r1, _0804C9A4 @ =gMain\n"
"\tmovs r7, 0x87\n"
"\tlsls r7, 3\n"
"\tadds r1, r7\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tmovs r2, 0\n"
"\tstrb r0, [r1]\n"
"\tldr r0, _0804C9A8 @ =gUnknown_2031DA8\n"
"\tldr r0, [r0]\n"
"\tadds r0, 0xA8\n"
"\tstrb r2, [r0]\n"
"\tldr r0, _0804C9AC @ =gWirelessCommType\n"
"\tldrb r0, [r0]\n"
"\tcmp r0, 0\n"
"\tbne _0804C992\n"
"\tb _0804CEE6\n"
"_0804C992:\n"
"\tmovs r0, 0x1\n"
"\tbl sub_80FA484\n"
"\tbl sub_800AB9C\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
"_0804C9A0: .4byte gReceivedRemoteLinkPlayers\n"
"_0804C9A4: .4byte gMain\n"
"_0804C9A8: .4byte gUnknown_2031DA8\n"
"_0804C9AC: .4byte gWirelessCommType\n"
"_0804C9B0:\n"
"\tldr r0, _0804C9E0 @ =gWirelessCommType\n"
"\tldrb r0, [r0]\n"
"\tcmp r0, 0\n"
"\tbeq _0804C9E8\n"
"\tbl IsRfuTaskFinished\n"
"\tlsls r0, 24\n"
"\tcmp r0, 0\n"
"\tbne _0804C9C4\n"
"\tb _0804CEE6\n"
"_0804C9C4:\n"
"\tldr r1, _0804C9E4 @ =gMain\n"
"\tmovs r0, 0x87\n"
"\tlsls r0, 3\n"
"\tadds r1, r0\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"\tbl LoadWirelessStatusIndicatorSpriteGfx\n"
"\tmovs r0, 0\n"
"\tmovs r1, 0\n"
"\tbl CreateWirelessStatusIndicatorSprite\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
"_0804C9E0: .4byte gWirelessCommType\n"
"_0804C9E4: .4byte gMain\n"
"_0804C9E8:\n"
"\tmovs r2, 0x87\n"
"\tlsls r2, 3\n"
"\tadds r1, r3, r2\n"
"\tb _0804CEC2\n"
"_0804C9F0:\n"
"\tbl shedinja_maker_maybe\n"
"\tlsls r0, 24\n"
"\tcmp r0, 0\n"
"\tbne _0804C9FC\n"
"\tb _0804CEE6\n"
"_0804C9FC:\n"
"\tbl sub_804F9D8\n"
"\tldr r1, _0804CA0C @ =gMain\n"
"\tmovs r3, 0x87\n"
"\tlsls r3, 3\n"
"\tadds r1, r3\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CA0C: .4byte gMain\n"
"_0804CA10:\n"
"\tbl CalculateEnemyPartyCount\n"
"\tmovs r0, 0\n"
"\tmovs r1, 0\n"
"\tbl SetGpuReg\n"
"\tmovs r0, 0x50\n"
"\tmovs r1, 0\n"
"\tbl SetGpuReg\n"
"\tldr r2, _0804CB2C @ =gUnknown_2031DA8\n"
"\tldr r0, [r2]\n"
"\tldr r1, _0804CB30 @ =gPlayerPartyCount\n"
"\tldrb r1, [r1]\n"
"\tadds r0, 0x36\n"
"\tstrb r1, [r0]\n"
"\tldr r0, [r2]\n"
"\tldr r1, _0804CB34 @ =gEnemyPartyCount\n"
"\tldrb r1, [r1]\n"
"\tadds r0, 0x37\n"
"\tstrb r1, [r0]\n"
"\tmovs r6, 0\n"
"\tldr r0, [r2]\n"
"\tadds r0, 0x36\n"
"\tldrb r0, [r0]\n"
"\tcmp r6, r0\n"
"\tbge _0804CAA8\n"
"\tmov r8, r2\n"
"\tldr r7, _0804CB38 @ =gTradeMonSpriteCoords\n"
"_0804CA4A:\n"
"\tmovs r0, 0x64\n"
"\tadds r4, r6, 0\n"
"\tmuls r4, r0\n"
"\tldr r0, _0804CB3C @ =gPlayerParty\n"
"\tadds r4, r0\n"
"\tadds r0, r4, 0\n"
"\tmovs r1, 0x41\n"
"\tbl GetMonData\n"
"\tadds r5, r0, 0\n"
"\tlsls r5, 16\n"
"\tlsrs r5, 16\n"
"\tadds r0, r4, 0\n"
"\tmovs r1, 0\n"
"\tbl GetMonData\n"
"\tldrb r2, [r7]\n"
"\tlsls r2, 19\n"
"\tmovs r1, 0xE0\n"
"\tlsls r1, 12\n"
"\tadds r2, r1\n"
"\tasrs r2, 16\n"
"\tldrb r3, [r7, 0x1]\n"
"\tlsls r3, 19\n"
"\tldr r1, _0804CB40 @ =0xfff40000\n"
"\tadds r3, r1\n"
"\tasrs r3, 16\n"
"\tmovs r1, 0x1\n"
"\tstr r1, [sp]\n"
"\tstr r0, [sp, 0x4]\n"
"\tstr r1, [sp, 0x8]\n"
"\tadds r0, r5, 0\n"
"\tldr r1, _0804CB44 @ =sub_809718C\n"
"\tbl CreateMonIcon\n"
"\tmov r2, r8\n"
"\tldr r1, [r2]\n"
"\tadds r1, 0x28\n"
"\tadds r1, r6\n"
"\tstrb r0, [r1]\n"
"\tadds r7, 0x2\n"
"\tadds r6, 0x1\n"
"\tldr r0, [r2]\n"
"\tadds r0, 0x36\n"
"\tldrb r0, [r0]\n"
"\tcmp r6, r0\n"
"\tblt _0804CA4A\n"
"_0804CAA8:\n"
"\tmovs r6, 0\n"
"\tldr r1, _0804CB2C @ =gUnknown_2031DA8\n"
"\tldr r0, [r1]\n"
"\tadds r0, 0x37\n"
"\tldrb r0, [r0]\n"
"\tcmp r6, r0\n"
"\tbge _0804CB20\n"
"\tldr r0, _0804CB38 @ =gTradeMonSpriteCoords\n"
"\tmov r8, r1\n"
"\tadds r7, r0, 0\n"
"\tadds r7, 0xC\n"
"_0804CABE:\n"
"\tmovs r0, 0x64\n"
"\tadds r4, r6, 0\n"
"\tmuls r4, r0\n"
"\tldr r0, _0804CB48 @ =gEnemyParty\n"
"\tadds r4, r0\n"
"\tadds r0, r4, 0\n"
"\tmovs r1, 0x41\n"
"\tmovs r2, 0\n"
"\tbl GetMonData\n"
"\tadds r5, r0, 0\n"
"\tlsls r5, 16\n"
"\tlsrs r5, 16\n"
"\tadds r0, r4, 0\n"
"\tmovs r1, 0\n"
"\tbl GetMonData\n"
"\tldrb r2, [r7]\n"
"\tlsls r2, 19\n"
"\tmovs r3, 0xE0\n"
"\tlsls r3, 12\n"
"\tadds r2, r3\n"
"\tasrs r2, 16\n"
"\tldrb r3, [r7, 0x1]\n"
"\tlsls r3, 19\n"
"\tldr r1, _0804CB40 @ =0xfff40000\n"
"\tadds r3, r1\n"
"\tasrs r3, 16\n"
"\tmovs r1, 0x1\n"
"\tstr r1, [sp]\n"
"\tstr r0, [sp, 0x4]\n"
"\tmovs r0, 0\n"
"\tstr r0, [sp, 0x8]\n"
"\tadds r0, r5, 0\n"
"\tldr r1, _0804CB44 @ =sub_809718C\n"
"\tbl CreateMonIcon\n"
"\tmov r2, r8\n"
"\tldr r1, [r2]\n"
"\tadds r1, 0x2E\n"
"\tadds r1, r6\n"
"\tstrb r0, [r1]\n"
"\tadds r7, 0x2\n"
"\tadds r6, 0x1\n"
"\tldr r0, [r2]\n"
"\tadds r0, 0x37\n"
"\tldrb r0, [r0]\n"
"\tcmp r6, r0\n"
"\tblt _0804CABE\n"
"_0804CB20:\n"
"\tldr r1, _0804CB4C @ =gMain\n"
"\tmovs r3, 0x87\n"
"\tlsls r3, 3\n"
"\tadds r1, r3\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CB2C: .4byte gUnknown_2031DA8\n"
"_0804CB30: .4byte gPlayerPartyCount\n"
"_0804CB34: .4byte gEnemyPartyCount\n"
"_0804CB38: .4byte gTradeMonSpriteCoords\n"
"_0804CB3C: .4byte gPlayerParty\n"
"_0804CB40: .4byte 0xfff40000\n"
"_0804CB44: .4byte sub_809718C\n"
"_0804CB48: .4byte gEnemyParty\n"
"_0804CB4C: .4byte gMain\n"
"_0804CB50:\n"
"\tbl LoadHeldItemIcons\n"
"\tldr r0, _0804CB70 @ =gUnknown_2031DA8\n"
"\tldr r1, [r0]\n"
"\tadds r0, r1, 0\n"
"\tadds r0, 0x36\n"
"\tadds r1, 0x28\n"
"\tmovs r2, 0\n"
"\tbl sub_812256C\n"
"\tldr r1, _0804CB74 @ =gMain\n"
"\tmovs r5, 0x87\n"
"\tlsls r5, 3\n"
"\tadds r1, r5\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CB70: .4byte gUnknown_2031DA8\n"
"_0804CB74: .4byte gMain\n"
"_0804CB78:\n"
"\tldr r0, _0804CB94 @ =gUnknown_2031DA8\n"
"\tldr r1, [r0]\n"
"\tadds r0, r1, 0\n"
"\tadds r0, 0x36\n"
"\tadds r1, 0x28\n"
"\tmovs r2, 0x1\n"
"\tbl sub_812256C\n"
"\tldr r1, _0804CB98 @ =gMain\n"
"\tmovs r7, 0x87\n"
"\tlsls r7, 3\n"
"\tadds r1, r7\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CB94: .4byte gUnknown_2031DA8\n"
"_0804CB98: .4byte gMain\n"
"_0804CB9C:\n"
"\tldr r0, _0804CC14 @ =gSaveBlock2Ptr\n"
"\tldr r0, [r0]\n"
"\tldr r6, _0804CC18 @ =gUnknown_2031C94\n"
"\tldr r1, [r6]\n"
"\tldr r5, _0804CC1C @ =gDecompressionBuffer\n"
"\tstr r5, [sp]\n"
"\tmovs r4, 0x3\n"
"\tstr r4, [sp, 0x4]\n"
"\tmovs r2, 0\n"
"\tmovs r3, 0\n"
"\tbl sub_808BEB4\n"
"\tbl GetMultiplayerId\n"
"\tlsls r0, 24\n"
"\tmovs r1, 0x80\n"
"\tlsls r1, 17\n"
"\teors r1, r0\n"
"\tlsrs r1, 24\n"
"\tlsls r0, r1, 3\n"
"\tsubs r0, r1\n"
"\tlsls r0, 2\n"
"\tldr r1, _0804CC20 @ =gLinkPlayers + 8\n"
"\tadds r0, r1\n"
"\tldr r1, [r6, 0xC]\n"
"\tstr r5, [sp]\n"
"\tstr r4, [sp, 0x4]\n"
"\tmovs r2, 0\n"
"\tmovs r3, 0\n"
"\tbl sub_808BEB4\n"
"\tldr r4, _0804CC24 @ =gUnknown_8261ECC\n"
"\tldr r0, [r4]\n"
"\tldr r1, [r6, 0x18]\n"
"\tstr r5, [sp]\n"
"\tmovs r2, 0x2\n"
"\tstr r2, [sp, 0x4]\n"
"\tmovs r2, 0\n"
"\tmovs r3, 0\n"
"\tbl sub_808BEB4\n"
"\tldr r0, [r4, 0x4]\n"
"\tldr r1, [r6, 0x20]\n"
"\tmovs r2, 0x18\n"
"\tbl sub_804F728\n"
"\tldr r1, _0804CC28 @ =gMain\n"
"\tmovs r0, 0x87\n"
"\tlsls r0, 3\n"
"\tadds r1, r0\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tmovs r2, 0\n"
"\tstrb r0, [r1]\n"
"\tldr r0, _0804CC2C @ =gUnknown_2031DA8\n"
"\tldr r0, [r0]\n"
"\tadds r0, 0xA8\n"
"\tstrb r2, [r0]\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
"_0804CC14: .4byte gSaveBlock2Ptr\n"
"_0804CC18: .4byte gUnknown_2031C94\n"
"_0804CC1C: .4byte gDecompressionBuffer\n"
"_0804CC20: .4byte gLinkPlayers + 8\n"
"_0804CC24: .4byte gUnknown_8261ECC\n"
"_0804CC28: .4byte gMain\n"
"_0804CC2C: .4byte gUnknown_2031DA8\n"
"_0804CC30:\n"
"\tbl sub_804F610\n"
"\tlsls r0, 24\n"
"\tcmp r0, 0\n"
"\tbne _0804CC3C\n"
"\tb _0804CEE6\n"
"_0804CC3C:\n"
"\tb _0804CEBA\n"
"_0804CC3E:\n"
"\tldr r0, _0804CCFC @ =gSaveBlock2Ptr\n"
"\tldr r1, [r0]\n"
"\tmovs r0, 0x1\n"
"\tmovs r2, 0\n"
"\tbl GetStringWidth\n"
"\tadds r1, r0, 0\n"
"\tmovs r0, 0x38\n"
"\tsubs r0, r1\n"
"\tlsrs r1, r0, 31\n"
"\tadds r0, r1\n"
"\tmovs r6, 0\n"
"\tadd r5, sp, 0x10\n"
"\tldr r3, _0804CD00 @ =gTradeUnknownSpriteCoords\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"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldrh r0, [r5]\n"
"\tadds r0, r6\n"
"\tstrh r0, [r5]\n"
"\tlsls r1, r4, 16\n"
"\tasrs r1, 16\n"
"\tadd r0, sp, 0x10\n"
"\tmov r3, r8\n"
"\tldrb r2, [r3, 0x5]\n"
"\tmovs r3, 0x1\n"
"\tbl CreateSprite\n"
"\tadds r4, 0x20\n"
"\tadds r6, 0x1\n"
"\tcmp r6, 0x2\n"
"\tble _0804CC62\n"
"\tbl GetMultiplayerId\n"
"\tlsls r0, 24\n"
"\tmovs r1, 0x80\n"
"\tlsls r1, 17\n"
"\teors r1, r0\n"
"\tlsrs r1, 24\n"
"\tlsls r0, r1, 3\n"
"\tsubs r0, r1\n"
"\tlsls r0, 2\n"
"\tldr r1, _0804CD08 @ =gLinkPlayers + 8\n"
"\tadds r1, r0, r1\n"
"\tmovs r0, 0x1\n"
"\tmovs r2, 0\n"
"\tbl GetStringWidth\n"
"\tadds r1, r0, 0\n"
"\tmovs r0, 0x38\n"
"\tsubs r0, r1\n"
"\tlsrs r1, r0, 31\n"
"\tadds r0, r1\n"
"\tmovs r6, 0\n"
"\tadd r5, sp, 0x10\n"
"\tldr r7, _0804CD00 @ =gTradeUnknownSpriteCoords\n"
"\tmov r8, r7\n"
"\tasrs r0, 1\n"
"\tmov r1, r8\n"
"\tldrb r1, [r1, 0x6]\n"
"\tadds r4, r0, r1\n"
"_0804CCC6:\n"
"\tadd r1, sp, 0x10\n"
"\tldr r0, _0804CD04 @ =gUnknown_8261CC8\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tadds r0, r6, 0x3\n"
"\tldrh r1, [r5]\n"
"\tadds r0, r1\n"
"\tstrh r0, [r5]\n"
"\tlsls r1, r4, 16\n"
"\tasrs r1, 16\n"
"\tadd r0, sp, 0x10\n"
"\tmov r3, r8\n"
"\tldrb r2, [r3, 0x7]\n"
"\tmovs r3, 0x1\n"
"\tbl CreateSprite\n"
"\tadds r4, 0x20\n"
"\tadds r6, 0x1\n"
"\tcmp r6, 0x2\n"
"\tble _0804CCC6\n"
"\tldr r1, _0804CD0C @ =gMain\n"
"\tmovs r5, 0x87\n"
"\tlsls r5, 3\n"
"\tadds r1, r5\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CCFC: .4byte gSaveBlock2Ptr\n"
"_0804CD00: .4byte gTradeUnknownSpriteCoords\n"
"_0804CD04: .4byte gUnknown_8261CC8\n"
"_0804CD08: .4byte gLinkPlayers + 8\n"
"_0804CD0C: .4byte gMain\n"
"_0804CD10:\n"
"\tldr r4, _0804CDCC @ =gUnknown_8261CC8\n"
"\tadd r1, sp, 0x10\n"
"\tadds r0, r4, 0\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r5,r7}\n"
"\tstm r1!, {r2,r5,r7}\n"
"\tadd r1, sp, 0x10\n"
"\tadds r0, r1, 0\n"
"\tldrh r0, [r0]\n"
"\tadds r0, 0x6\n"
"\tstrh r0, [r1]\n"
"\tadds r0, r1, 0\n"
"\tmovs r1, 0xD7\n"
"\tmovs r2, 0x97\n"
"\tmovs r3, 0x1\n"
"\tbl CreateSprite\n"
"\tadd r0, sp, 0x10\n"
"\tldm r4!, {r3,r5,r7}\n"
"\tstm r0!, {r3,r5,r7}\n"
"\tldm r4!, {r1-r3}\n"
"\tstm r0!, {r1-r3}\n"
"\tadd r1, sp, 0x10\n"
"\tadds r0, r1, 0\n"
"\tldrh r0, [r0]\n"
"\tadds r0, 0x7\n"
"\tstrh r0, [r1]\n"
"\tadds r0, r1, 0\n"
"\tmovs r1, 0xF7\n"
"\tmovs r2, 0x97\n"
"\tmovs r3, 0x1\n"
"\tbl CreateSprite\n"
"\tmovs r6, 0\n"
"\tadd r4, sp, 0x10\n"
"\tmovs r5, 0xC0\n"
"\tlsls r5, 13\n"
"_0804CD5C:\n"
"\tadd r1, sp, 0x10\n"
"\tldr r0, _0804CDCC @ =gUnknown_8261CC8\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tldm r0!, {r2,r3,r7}\n"
"\tstm r1!, {r2,r3,r7}\n"
"\tadds r0, r6, 0\n"
"\tadds r0, 0x8\n"
"\tldrh r7, [r4]\n"
"\tadds r0, r7\n"
"\tstrh r0, [r4]\n"
"\tasrs r1, r5, 16\n"
"\tadd r0, sp, 0x10\n"
"\tmovs r2, 0x96\n"
"\tmovs r3, 0x1\n"
"\tbl CreateSprite\n"
"\tmovs r0, 0x80\n"
"\tlsls r0, 14\n"
"\tadds r5, r0\n"
"\tadds r6, 0x1\n"
"\tcmp r6, 0x5\n"
"\tble _0804CD5C\n"
"\tldr r0, _0804CDD0 @ =gUnknown_8261CB0\n"
"\tldr r2, _0804CDD4 @ =gTradeMonSpriteCoords\n"
"\tldrb r1, [r2]\n"
"\tlsls r1, 19\n"
"\tmovs r3, 0x80\n"
"\tlsls r3, 14\n"
"\tadds r1, r3\n"
"\tasrs r1, 16\n"
"\tldrb r2, [r2, 0x1]\n"
"\tlsls r2, 3\n"
"\tmovs r3, 0x2\n"
"\tbl CreateSprite\n"
"\tldr r2, _0804CDD8 @ =gUnknown_2031DA8\n"
"\tldr r1, [r2]\n"
"\tadds r1, 0x34\n"
"\tmovs r3, 0\n"
"\tstrb r0, [r1]\n"
"\tldr r0, [r2]\n"
"\tadds r0, 0x35\n"
"\tstrb r3, [r0]\n"
"\tldr r1, _0804CDDC @ =gMain\n"
"\tmovs r5, 0x87\n"
"\tlsls r5, 3\n"
"\tadds r1, r5\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"\tmovs r0, 0\n"
"\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"
"_0804CDD8: .4byte gUnknown_2031DA8\n"
"_0804CDDC: .4byte gMain\n"
"_0804CDE0:\n"
"\tmovs r0, 0\n"
"\tbl sub_804F748\n"
"\tmovs r0, 0\n"
"\tbl sub_804F020\n"
"\tldr r2, _0804CE14 @ =gUnknown_2031DA8\n"
"\tldr r0, [r2]\n"
"\tmovs r1, 0\n"
"\tstrb r1, [r0]\n"
"\tldr r0, [r2]\n"
"\tstrb r1, [r0, 0x1]\n"
"\tbl sub_804D764\n"
"\tldr r1, _0804CE18 @ =gMain\n"
"\tmovs r7, 0x87\n"
"\tlsls r7, 3\n"
"\tadds r1, r7\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"\tldr r0, _0804CE1C @ =0x00000111\n"
"\tbl PlayBGM\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
"_0804CE14: .4byte gUnknown_2031DA8\n"
"_0804CE18: .4byte gMain\n"
"_0804CE1C: .4byte 0x00000111\n"
"_0804CE20:\n"
"\tmovs r0, 0x1\n"
"\tbl sub_804F748\n"
"\tmovs r0, 0x1\n"
"\tbl sub_804F020\n"
"\tldr r1, _0804CE44 @ =gMain\n"
"\tmovs r0, 0x87\n"
"\tlsls r0, 3\n"
"\tadds r1, r0\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"_0804CE3A:\n"
"\tmovs r0, 0\n"
"\tbl sub_804D694\n"
"\tb _0804CEBA\n"
"\t.align 2, 0\n"
"_0804CE44: .4byte gMain\n"
"_0804CE48:\n"
"\tmovs r0, 0x1\n"
"\tbl sub_804D694\n"
"\tldr r1, _0804CE58 @ =gMain\n"
"\tmovs r3, 0x87\n"
"\tlsls r3, 3\n"
"\tadds r1, r3\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CE58: .4byte gMain\n"
"_0804CE5C:\n"
"\tmovs r0, 0x1\n"
"\tnegs r0, r0\n"
"\tmovs r1, 0\n"
"\tstr r1, [sp]\n"
"\tmovs r2, 0x10\n"
"\tmovs r3, 0\n"
"\tbl BeginNormalPaletteFade\n"
"\tldr r1, _0804CE78 @ =gMain\n"
"\tmovs r5, 0x87\n"
"\tlsls r5, 3\n"
"\tadds r1, r5\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CE78: .4byte gMain\n"
"_0804CE7C:\n"
"\tmovs r1, 0x82\n"
"\tlsls r1, 5\n"
"\tmovs r0, 0\n"
"\tbl SetGpuReg\n"
"\tmovs r0, 0x2\n"
"\tbl sub_804D694\n"
"\tldr r1, _0804CE98 @ =gMain\n"
"\tmovs r7, 0x87\n"
"\tlsls r7, 3\n"
"\tadds r1, r7\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CE98: .4byte gMain\n"
"_0804CE9C:\n"
"\tmovs r0, 0\n"
"\tbl sub_804F890\n"
"\tldr r1, _0804CEAC @ =gMain\n"
"\tmovs r0, 0x87\n"
"\tlsls r0, 3\n"
"\tadds r1, r0\n"
"\tb _0804CEC2\n"
"\t.align 2, 0\n"
"_0804CEAC: .4byte gMain\n"
"_0804CEB0:\n"
"\tmovs r0, 0x1\n"
"\tbl sub_804F890\n"
"\tbl sub_804F964\n"
"_0804CEBA:\n"
"\tldr r1, _0804CECC @ =gMain\n"
"\tmovs r2, 0x87\n"
"\tlsls r2, 3\n"
"\tadds r1, r2\n"
"_0804CEC2:\n"
"\tldrb r0, [r1]\n"
"\tadds r0, 0x1\n"
"\tstrb r0, [r1]\n"
"\tb _0804CEE6\n"
"\t.align 2, 0\n"
"_0804CECC: .4byte gMain\n"
"_0804CED0:\n"
"\tldr r0, _0804CF08 @ =gPaletteFade\n"
"\tldrb r1, [r0, 0x7]\n"
"\tmovs r0, 0x80\n"
"\tands r0, r1\n"
"\tcmp r0, 0\n"
"\tbne _0804CEE6\n"
"\tldr r0, _0804CF0C @ =sub_804DFF0\n"
"\tstr r0, [r3]\n"
"\tldr r0, _0804CF10 @ =sub_804D638\n"
"\tbl SetMainCallback2\n"
"_0804CEE6:\n"
"\tbl RunTextPrinters\n"
"\tbl RunTasks\n"
"\tbl AnimateSprites\n"
"\tbl BuildOamBuffer\n"
"\tbl UpdatePaletteFade\n"
"\tadd sp, 0x28\n"
"\tpop {r3}\n"
"\tmov r8, r3\n"
"\tpop {r4-r7}\n"
"\tpop {r0}\n"
"\tbx r0\n"
"\t.align 2, 0\n"
"_0804CF08: .4byte gPaletteFade\n"
"_0804CF0C: .4byte sub_804DFF0\n"
"_0804CF10: .4byte sub_804D638");
}
#endif //NONMATCHING