summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-12-19 13:43:11 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-12-19 13:43:11 +0800
commit84d9a1e7234fab97835f09c35100eaf6536984d5 (patch)
treeed9a2079be0f859508ddd45824a939bdbc07cb30 /src
parent7984a91c0892e0bd96ace89405d565ec0b43e084 (diff)
sub_804C728; sub_804CF14
Diffstat (limited to 'src')
-rw-r--r--src/title_screen.c12
-rw-r--r--src/trade.c1642
-rw-r--r--src/trainer_tower.c8
-rw-r--r--src/vs_seeker.c2
4 files changed, 34 insertions, 1630 deletions
diff --git a/src/title_screen.c b/src/title_screen.c
index 2d6b6cf15..a67c2cb36 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -54,7 +54,7 @@ static void SetGpuRegsForTitleScreenRun(void);
static void SetTitleScreenScene_Restart(s16 * data);
static void SetTitleScreenScene_Cry(s16 * data);
static void Task_TitleScreen_SlideWin0(u8 taskId);
-static void Task_TitleScreen_PaletteSomething(u8 taskId);
+static void Task_TitleScreen_BlinkPressStart(u8 taskId);
static void SignalEndTitleScreenPaletteSomethingTask(void);
static void UpdateScanlineEffectRegBuffer(s16 a0);
static void ScheduleStopScanlineEffect(void);
@@ -509,7 +509,7 @@ static void SetTitleScreenScene_Run(s16 * data)
{
case 0:
HelpSystem_SetSomeVariable2(1);
- CreateTask(Task_TitleScreen_PaletteSomething, 0);
+ CreateTask(Task_TitleScreen_BlinkPressStart, 0);
CreateTask(Task_FlameOrLeafSpawner, 5);
SetGpuRegsForTitleScreenRun();
data[6] = CreateSlashSprite();
@@ -569,7 +569,7 @@ static void SetTitleScreenScene_Restart(s16 * data)
case 2:
if (IsNotWaitingForBGMStop() && !gPaletteFade.active)
{
- DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething));
+ DestroyTask(FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart));
data[2] = 0;
data[1]++;
}
@@ -578,7 +578,7 @@ static void SetTitleScreenScene_Restart(s16 * data)
data[2]++;
if (data[2] >= 20)
{
- DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething));
+ DestroyTask(FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart));
data[1]++;
}
break;
@@ -692,7 +692,7 @@ static void Task_TitleScreen_SlideWin0(u8 taskId)
}
}
-static void Task_TitleScreen_PaletteSomething(u8 taskId)
+static void Task_TitleScreen_BlinkPressStart(u8 taskId)
{
s16 * data = gTasks[taskId].data;
s32 i;
@@ -738,7 +738,7 @@ static void Task_TitleScreen_PaletteSomething(u8 taskId)
static void SignalEndTitleScreenPaletteSomethingTask(void)
{
- u8 taskId = FindTaskIdByFunc(Task_TitleScreen_PaletteSomething);
+ u8 taskId = FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart);
gTasks[taskId].data[15] = TRUE;
}
diff --git a/src/trade.c b/src/trade.c
index f52950d82..42ff22978 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -725,8 +725,6 @@ void CB2_ReturnFromLinkTrade(void)
SetMainCallback2(sub_804C728);
}
-#ifdef NONMATCHING
-// See note on case 12 below
static void sub_804C728(void)
{
int i;
@@ -734,6 +732,12 @@ static void sub_804C728(void)
u8 id;
s32 width;
u32 xPos;
+#ifndef NONMATCHING
+ register u32 r0 asm("r0");
+#else
+ u32 r0;
+#endif
+ u8 *name;
switch (gMain.state)
{
@@ -879,11 +883,11 @@ static void sub_804C728(void)
break;
case 8:
LoadHeldItemIcons();
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 0);
gMain.state++;
break;
case 9:
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 1);
gMain.state++;
break;
case 10:
@@ -908,14 +912,10 @@ static void sub_804C728(void)
temp.tileTag += i;
CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[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);
+ r0 = (id ^ 1) * sizeof(*gLinkPlayers);
+ name = gLinkPlayers->name;
+ width = GetStringWidth(1, name + r0, 0);
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
@@ -1000,921 +1000,7 @@ static void sub_804C728(void)
BuildOamBuffer();
UpdatePaletteFade();
}
-#else
-NAKED
-static 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 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, _0804C7EC @ =0x000010f0\n"
- "\tbl AllocZeroed\n"
- "\tstr r0, [r4]\n"
- "\tbl sub_804C600\n"
- "\tldr r4, _0804C7F0 @ =sSpriteTextTileBuffer\n"
- "\tmovs r0, 0xE0\n"
- "\tlsls r0, 4\n"
- "\tbl AllocZeroed\n"
- "\tstr r0, [r4]\n"
- "\tmovs r6, 0\n"
- "\tldr r2, _0804C7F4 @ =sSpriteTextTilePtrs\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 sTradeMenuResourcesPtr\n"
- "_0804C7EC: .4byte 0x000010f0\n"
- "_0804C7F0: .4byte sSpriteTextTileBuffer\n"
- "_0804C7F4: .4byte sSpriteTextTilePtrs\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 PrintTradeErrorOrStatusMessage\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 @ =sTradeMenuResourcesPtr\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 sTradeMenuResourcesPtr\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 @ =sTradeMenuResourcesPtr\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 sTradeMenuResourcesPtr\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 @ =sTradeMenuResourcesPtr\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 sTradeMenuResourcesPtr\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 @ =sTradeMenuResourcesPtr\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 sTradeMenuResourcesPtr\n"
- "_0804C9AC: .4byte gWirelessCommType\n"
- "_0804C9B0:\n"
- "\tldr r0, _0804C9E0 @ =gWirelessCommType\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbeq _0804C9E8\n"
- "\tbl IsLinkRfuTaskFinished\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 @ =sTradeMenuResourcesPtr\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 @ =sTradeMonSpriteCoords\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 @ =SpriteCB_MonIcon\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 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0x37\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tbge _0804CB20\n"
- "\tldr r0, _0804CB38 @ =sTradeMonSpriteCoords\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 @ =SpriteCB_MonIcon\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 sTradeMenuResourcesPtr\n"
- "_0804CB30: .4byte gPlayerPartyCount\n"
- "_0804CB34: .4byte gEnemyPartyCount\n"
- "_0804CB38: .4byte sTradeMonSpriteCoords\n"
- "_0804CB3C: .4byte gPlayerParty\n"
- "_0804CB40: .4byte 0xfff40000\n"
- "_0804CB44: .4byte SpriteCB_MonIcon\n"
- "_0804CB48: .4byte gEnemyParty\n"
- "_0804CB4C: .4byte gMain\n"
- "_0804CB50:\n"
- "\tbl LoadHeldItemIcons\n"
- "\tldr r0, _0804CB70 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0\n"
- "\tbl DrawHeldItemIconsForTrade\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 sTradeMenuResourcesPtr\n"
- "_0804CB74: .4byte gMain\n"
- "_0804CB78:\n"
- "\tldr r0, _0804CB94 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0x1\n"
- "\tbl DrawHeldItemIconsForTrade\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 sTradeMenuResourcesPtr\n"
- "_0804CB98: .4byte gMain\n"
- "_0804CB9C:\n"
- "\tldr r0, _0804CC14 @ =gSaveBlock2Ptr\n"
- "\tldr r0, [r0]\n"
- "\tldr r6, _0804CC18 @ =sSpriteTextTilePtrs\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 PSS_RenderTextToVramViaBuffer\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 PSS_RenderTextToVramViaBuffer\n"
- "\tldr r4, _0804CC24 @ =sTradeUITextPtrs\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 PSS_RenderTextToVramViaBuffer\n"
- "\tldr r0, [r4, 0x4]\n"
- "\tldr r1, [r6, 0x20]\n"
- "\tmovs r2, 0x18\n"
- "\tbl RenderTextToVramViaBuffer\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 @ =sTradeMenuResourcesPtr\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 sSpriteTextTilePtrs\n"
- "_0804CC1C: .4byte gDecompressionBuffer\n"
- "_0804CC20: .4byte gLinkPlayers + 8\n"
- "_0804CC24: .4byte sTradeUITextPtrs\n"
- "_0804CC28: .4byte gMain\n"
- "_0804CC2C: .4byte sTradeMenuResourcesPtr\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 @ =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 @ =sSpriteTemplate_Text\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 @ =sTradeUnknownSpriteCoords\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 @ =sSpriteTemplate_Text\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 sTradeUnknownSpriteCoords\n"
- "_0804CD04: .4byte sSpriteTemplate_Text\n"
- "_0804CD08: .4byte gLinkPlayers + 8\n"
- "_0804CD0C: .4byte gMain\n"
- "_0804CD10:\n"
- "\tldr r4, _0804CDCC @ =sSpriteTemplate_Text\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 @ =sSpriteTemplate_Text\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 @ =sSpriteTemplate_TradeButtons\n"
- "\tldr r2, _0804CDD4 @ =sTradeMonSpriteCoords\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 @ =sTradeMenuResourcesPtr\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 sSpriteTemplate_Text\n"
- "_0804CDD0: .4byte sSpriteTemplate_TradeButtons\n"
- "_0804CDD4: .4byte sTradeMonSpriteCoords\n"
- "_0804CDD8: .4byte sTradeMenuResourcesPtr\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 @ =sTradeMenuResourcesPtr\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 sTradeMenuResourcesPtr\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
-#ifdef NONMATCHING
-// Nonmatching behaviour is the same as the function above
void sub_804CF14(void)
{
int i;
@@ -1922,6 +1008,12 @@ void sub_804CF14(void)
u8 id;
s32 width;
u32 xPos;
+#ifndef NONMATCHING
+ register u32 r0 asm("r0");
+#else
+ u32 r0;
+#endif
+ u8 *name;
switch (gMain.state)
{
@@ -1989,11 +1081,11 @@ void sub_804CF14(void)
break;
case 8:
LoadHeldItemIcons();
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 0);
gMain.state++;
break;
case 9:
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 1);
gMain.state++;
break;
case 10:
@@ -2020,14 +1112,10 @@ void sub_804CF14(void)
temp.tileTag += i;
CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[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);
+ r0 = (id ^ 1) * sizeof(*gLinkPlayers);
+ name = gLinkPlayers->name;
+ width = GetStringWidth(1, name + r0, 0);
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
@@ -2102,692 +1190,6 @@ void sub_804CF14(void)
BuildOamBuffer();
UpdatePaletteFade();
}
-#else
-NAKED
-void sub_804CF14(void)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r8\n"
- "\tpush {r7}\n"
- "\tsub sp, 0x24\n"
- "\tldr r1, _0804CF38 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r0, r1, r2\n"
- "\tldrb r0, [r0]\n"
- "\tadds r2, r1, 0\n"
- "\tcmp r0, 0x16\n"
- "\tbls _0804CF2E\n"
- "\tb _0804D4D2\n"
- "_0804CF2E:\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _0804CF3C @ =_0804CF40\n"
- "\tadds r0, r1\n"
- "\tldr r0, [r0]\n"
- "\tmov pc, r0\n"
- "\t.align 2, 0\n"
- "_0804CF38: .4byte gMain\n"
- "_0804CF3C: .4byte _0804CF40\n"
- "\t.align 2, 0\n"
- "_0804CF40:\n"
- "\t.4byte _0804CF9C\n"
- "\t.4byte _0804CFB0\n"
- "\t.4byte _0804CFB8\n"
- "\t.4byte _0804CFC0\n"
- "\t.4byte _0804CFC8\n"
- "\t.4byte _0804CFDC\n"
- "\t.4byte _0804D004\n"
- "\t.4byte _0804D00C\n"
- "\t.4byte _0804D150\n"
- "\t.4byte _0804D178\n"
- "\t.4byte _0804D19C\n"
- "\t.4byte _0804D230\n"
- "\t.4byte _0804D24C\n"
- "\t.4byte _0804D320\n"
- "\t.4byte _0804D4D2\n"
- "\t.4byte _0804D4D2\n"
- "\t.4byte _0804D414\n"
- "\t.4byte _0804D41C\n"
- "\t.4byte _0804D444\n"
- "\t.4byte _0804D480\n"
- "\t.4byte _0804D4A0\n"
- "\t.4byte _0804D4A8\n"
- "\t.4byte _0804D4C0\n"
- "_0804CF9C:\n"
- "\tbl sub_804C600\n"
- "\tldr r1, _0804CFAC @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804CFAC: .4byte gMain\n"
- "_0804CFB0:\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r2, r5\n"
- "\tb _0804D200\n"
- "_0804CFB8:\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r2, r7\n"
- "\tb _0804D4B4\n"
- "_0804CFC0:\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r2, r0\n"
- "\tb _0804D4B4\n"
- "_0804CFC8:\n"
- "\tbl CalculatePlayerPartyCount\n"
- "\tldr r1, _0804CFD8 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804CFD8: .4byte gMain\n"
- "_0804CFDC:\n"
- "\tldr r0, _0804CFFC @ =gWirelessCommType\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbeq _0804CFF0\n"
- "\tbl LoadWirelessStatusIndicatorSpriteGfx\n"
- "\tmovs r0, 0\n"
- "\tmovs r1, 0\n"
- "\tbl CreateWirelessStatusIndicatorSprite\n"
- "_0804CFF0:\n"
- "\tldr r1, _0804D000 @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804CFFC: .4byte gWirelessCommType\n"
- "_0804D000: .4byte gMain\n"
- "_0804D004:\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r2, r5\n"
- "\tb _0804D4B4\n"
- "_0804D00C:\n"
- "\tbl CalculateEnemyPartyCount\n"
- "\tldr r4, _0804D12C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, _0804D130 @ =gPlayerPartyCount\n"
- "\tldrb r1, [r1]\n"
- "\tadds r0, 0x36\n"
- "\tstrb r1, [r0]\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, _0804D134 @ =gEnemyPartyCount\n"
- "\tldrb r1, [r1]\n"
- "\tadds r0, 0x37\n"
- "\tstrb r1, [r0]\n"
- "\tmovs r0, 0\n"
- "\tbl ClearWindowTilemap\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804F020\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804F020\n"
- "\tmovs r6, 0\n"
- "\tldr r0, [r4]\n"
- "\tadds r0, 0x36\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tbge _0804D0A8\n"
- "\tmov r8, r4\n"
- "\tldr r7, _0804D138 @ =sTradeMonSpriteCoords\n"
- "_0804D048:\n"
- "\tmovs r0, 0x64\n"
- "\tadds r4, r6, 0\n"
- "\tmuls r4, r0\n"
- "\tldr r0, _0804D13C @ =gPlayerParty\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 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, _0804D140 @ =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, _0804D144 @ =SpriteCB_MonIcon\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 _0804D048\n"
- "_0804D0A8:\n"
- "\tmovs r6, 0\n"
- "\tldr r1, _0804D12C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0x37\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tbge _0804D120\n"
- "\tldr r0, _0804D138 @ =sTradeMonSpriteCoords\n"
- "\tmov r8, r1\n"
- "\tadds r7, r0, 0\n"
- "\tadds r7, 0xC\n"
- "_0804D0BE:\n"
- "\tmovs r0, 0x64\n"
- "\tadds r4, r6, 0\n"
- "\tmuls r4, r0\n"
- "\tldr r0, _0804D148 @ =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, _0804D140 @ =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, _0804D144 @ =SpriteCB_MonIcon\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 _0804D0BE\n"
- "_0804D120:\n"
- "\tldr r1, _0804D14C @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D12C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D130: .4byte gPlayerPartyCount\n"
- "_0804D134: .4byte gEnemyPartyCount\n"
- "_0804D138: .4byte sTradeMonSpriteCoords\n"
- "_0804D13C: .4byte gPlayerParty\n"
- "_0804D140: .4byte 0xfff40000\n"
- "_0804D144: .4byte SpriteCB_MonIcon\n"
- "_0804D148: .4byte gEnemyParty\n"
- "_0804D14C: .4byte gMain\n"
- "_0804D150:\n"
- "\tbl LoadHeldItemIcons\n"
- "\tldr r0, _0804D170 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0\n"
- "\tbl DrawHeldItemIconsForTrade\n"
- "\tldr r1, _0804D174 @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D170: .4byte sTradeMenuResourcesPtr\n"
- "_0804D174: .4byte gMain\n"
- "_0804D178:\n"
- "\tldr r0, _0804D194 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0x1\n"
- "\tbl DrawHeldItemIconsForTrade\n"
- "\tldr r1, _0804D198 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r7\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D194: .4byte sTradeMenuResourcesPtr\n"
- "_0804D198: .4byte gMain\n"
- "_0804D19C:\n"
- "\tldr r0, _0804D214 @ =gSaveBlock2Ptr\n"
- "\tldr r0, [r0]\n"
- "\tldr r6, _0804D218 @ =sSpriteTextTilePtrs\n"
- "\tldr r1, [r6]\n"
- "\tldr r5, _0804D21C @ =gDecompressionBuffer\n"
- "\tstr r5, [sp]\n"
- "\tmovs r4, 0x3\n"
- "\tstr r4, [sp, 0x4]\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0\n"
- "\tbl PSS_RenderTextToVramViaBuffer\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, _0804D220 @ =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 PSS_RenderTextToVramViaBuffer\n"
- "\tldr r4, _0804D224 @ =sTradeUITextPtrs\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 PSS_RenderTextToVramViaBuffer\n"
- "\tldr r0, [r4, 0x4]\n"
- "\tldr r1, [r6, 0x20]\n"
- "\tmovs r2, 0x18\n"
- "\tbl RenderTextToVramViaBuffer\n"
- "\tldr r1, _0804D228 @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "_0804D200:\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804D22C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, 0xA8\n"
- "\tstrb r2, [r0]\n"
- "\tb _0804D4D2\n"
- "\t.align 2, 0\n"
- "_0804D214: .4byte gSaveBlock2Ptr\n"
- "_0804D218: .4byte sSpriteTextTilePtrs\n"
- "_0804D21C: .4byte gDecompressionBuffer\n"
- "_0804D220: .4byte gLinkPlayers + 8\n"
- "_0804D224: .4byte sTradeUITextPtrs\n"
- "_0804D228: .4byte gMain\n"
- "_0804D22C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D230:\n"
- "\tbl sub_804F610\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _0804D23C\n"
- "\tb _0804D4D2\n"
- "_0804D23C:\n"
- "\tldr r1, _0804D248 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D248: .4byte gMain\n"
- "_0804D24C:\n"
- "\tldr r0, _0804D30C @ =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, 0xC\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 @ =sSpriteTemplate_Text\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, 0xC\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 _0804D270\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, _0804D318 @ =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, 0xC\n"
- "\tldr r7, _0804D310 @ =sTradeUnknownSpriteCoords\n"
- "\tmov r8, r7\n"
- "\tasrs r0, 1\n"
- "\tmov r1, r8\n"
- "\tldrb r1, [r1, 0x6]\n"
- "\tadds r4, r0, r1\n"
- "_0804D2D4:\n"
- "\tadd r1, sp, 0xC\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"
- "\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, 0xC\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 _0804D2D4\n"
- "\tldr r1, _0804D31C @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D30C: .4byte gSaveBlock2Ptr\n"
- "_0804D310: .4byte sTradeUnknownSpriteCoords\n"
- "_0804D314: .4byte sSpriteTemplate_Text\n"
- "_0804D318: .4byte gLinkPlayers + 8\n"
- "_0804D31C: .4byte gMain\n"
- "_0804D320:\n"
- "\tldr r4, _0804D3B0 @ =sSpriteTemplate_Text\n"
- "\tadd r1, sp, 0xC\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, 0xC\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, 0xC\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, 0xC\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, 0xC\n"
- "\tmovs r5, 0xC0\n"
- "\tlsls r5, 13\n"
- "_0804D36C:\n"
- "\tadd r1, sp, 0xC\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"
- "\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, 0xC\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 _0804D36C\n"
- "\tldr r4, _0804D3B4 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r4]\n"
- "\tadds r0, 0x35\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x5\n"
- "\tbhi _0804D3B8\n"
- "\tbl GetLastViewedMonIndex\n"
- "\tldr r1, [r4]\n"
- "\tb _0804D3C0\n"
- "\t.align 2, 0\n"
- "_0804D3B0: .4byte sSpriteTemplate_Text\n"
- "_0804D3B4: .4byte sTradeMenuResourcesPtr\n"
- "_0804D3B8:\n"
- "\tbl GetLastViewedMonIndex\n"
- "\tldr r1, [r4]\n"
- "\tadds r0, 0x6\n"
- "_0804D3C0:\n"
- "\tadds r1, 0x35\n"
- "\tstrb r0, [r1]\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"
- "\tldrb r2, [r1]\n"
- "\tlsls r2, 1\n"
- "\tadds r1, r2, r3\n"
- "\tldrb r1, [r1]\n"
- "\tlsls r1, 19\n"
- "\tmovs r5, 0x80\n"
- "\tlsls r5, 14\n"
- "\tadds r1, r5\n"
- "\tasrs r1, 16\n"
- "\tadds r3, 0x1\n"
- "\tadds r2, r3\n"
- "\tldrb r2, [r2]\n"
- "\tlsls r2, 3\n"
- "\tmovs r3, 0x2\n"
- "\tbl CreateSprite\n"
- "\tldr r1, [r4]\n"
- "\tadds r1, 0x34\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804D410 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r0, r7\n"
- "\tmovs r1, 0x10\n"
- "\tstrb r1, [r0]\n"
- "\tb _0804D4D2\n"
- "\t.align 2, 0\n"
- "_0804D404: .4byte sSpriteTemplate_TradeButtons\n"
- "_0804D408: .4byte sTradeMonSpriteCoords\n"
- "_0804D40C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D410: .4byte gMain\n"
- "_0804D414:\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804D694\n"
- "\tb _0804D4AC\n"
- "_0804D41C:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804D694\n"
- "\tldr r2, _0804D43C @ =sTradeMenuResourcesPtr\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, _0804D440 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D43C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D440: .4byte gMain\n"
- "_0804D444:\n"
- "\tldr r2, _0804D478 @ =gPaletteFade\n"
- "\tldrb r1, [r2, 0x8]\n"
- "\tmovs r0, 0x7F\n"
- "\tands r0, r1\n"
- "\tstrb r0, [r2, 0x8]\n"
- "\tmovs r4, 0x1\n"
- "\tnegs r4, r4\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0x10\n"
- "\tmovs r2, 0\n"
- "\tbl BlendPalettes\n"
- "\tmovs r0, 0\n"
- "\tstr r0, [sp]\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0\n"
- "\tmovs r2, 0x10\n"
- "\tmovs r3, 0\n"
- "\tbl BeginNormalPaletteFade\n"
- "\tldr r1, _0804D47C @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D478: .4byte gPaletteFade\n"
- "_0804D47C: .4byte gMain\n"
- "_0804D480:\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, _0804D49C @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D49C: .4byte gMain\n"
- "_0804D4A0:\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r2, r7\n"
- "\tb _0804D4B4\n"
- "_0804D4A8:\n"
- "\tbl sub_804F964\n"
- "_0804D4AC:\n"
- "\tldr r1, _0804D4BC @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "_0804D4B4:\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tb _0804D4D2\n"
- "\t.align 2, 0\n"
- "_0804D4BC: .4byte gMain\n"
- "_0804D4C0:\n"
- "\tldr r0, _0804D4F0 @ =gPaletteFade\n"
- "\tldrb r1, [r0, 0x7]\n"
- "\tmovs r0, 0x80\n"
- "\tands r0, r1\n"
- "\tcmp r0, 0\n"
- "\tbne _0804D4D2\n"
- "\tldr r0, _0804D4F4 @ =sub_804D638\n"
- "\tbl SetMainCallback2\n"
- "_0804D4D2:\n"
- "\tbl RunTasks\n"
- "\tbl AnimateSprites\n"
- "\tbl BuildOamBuffer\n"
- "\tbl UpdatePaletteFade\n"
- "\tadd sp, 0x24\n"
- "\tpop {r3}\n"
- "\tmov r8, r3\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_0804D4F0: .4byte gPaletteFade\n"
- "_0804D4F4: .4byte sub_804D638");
-}
-#endif //NONMATCHING
static void sub_804D4F8(void)
{
diff --git a/src/trainer_tower.c b/src/trainer_tower.c
index dd00bf854..aba6fe7c1 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -431,7 +431,7 @@ static const u8 sKnockoutChallengeMonIdxs[][3] = {
{0x01, 0x04, 0x05}
};
-extern const struct Unk_203F458_Header gUnknown_84827AC;
+extern const struct EReaderTrainerHillSetSubstruct gUnknown_84827AC;
extern const struct TrainerTowerFloor *const gUnknown_84827B4[][8];
void sub_815D9E8(void)
@@ -527,9 +527,9 @@ static void sub_815DC8C(void) // fakematching
else
{
struct UnkStruct_203F458 * r0_ = sTrainerTowerState;
- const struct Unk_203F458_Header * r1 = &gUnknown_84827AC;
+ const struct EReaderTrainerHillSetSubstruct * r1 = &gUnknown_84827AC;
// *r0_ = *r1;
- memcpy(&r0_->unk_0004.floorIdx, r1, sizeof(struct Unk_203F458_Header));
+ memcpy(&r0_->unk_0004, r1, sizeof(struct EReaderTrainerHillSetSubstruct));
// sTrainerTowerState->unk_0004.floorIdx = gUnknown_84827AC;
r7 = gUnknown_84827B4[whichTimer];
for (r4 = 0; r4 < 8; r4++)
@@ -540,7 +540,7 @@ static void sub_815DC8C(void) // fakematching
memcpy(r0, r7[r4], sizeof(struct TrainerTowerFloor));
// r0[r4] = *r7[r4];
}
- sTrainerTowerState->unk_0004.unk4 = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors));
+ sTrainerTowerState->unk_0004.checksum = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors));
ValidateOrResetCurTrainerTowerRecord();
}
}
diff --git a/src/vs_seeker.c b/src/vs_seeker.c
index 23eaafd2f..46a0649d7 100644
--- a/src/vs_seeker.c
+++ b/src/vs_seeker.c
@@ -11,6 +11,7 @@
#include "script.h"
#include "event_object_lock.h"
#include "field_specials.h"
+#include "item.h"
#include "item_menu.h"
#include "field_effect.h"
#include "script_movement.h"
@@ -27,6 +28,7 @@
#include "constants/object_events.h"
#include "constants/trainers.h"
#include "constants/maps.h"
+#include "constants/items.h"
typedef enum
{