diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/title_screen.c | 12 | ||||
-rw-r--r-- | src/trade.c | 1642 | ||||
-rw-r--r-- | src/trainer_tower.c | 8 | ||||
-rw-r--r-- | src/vs_seeker.c | 2 |
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 { |