diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_tower.s | 4 | ||||
-rw-r--r-- | asm/cable_club.s | 12 | ||||
-rw-r--r-- | asm/evolution_scene.s | 34 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 14 | ||||
-rw-r--r-- | asm/party_menu.s | 32 | ||||
-rw-r--r-- | asm/pokeball.s | 6 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 12 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 10 | ||||
-rw-r--r-- | asm/trade.s | 15329 | ||||
-rw-r--r-- | asm/union_room_chat.s | 4 |
10 files changed, 64 insertions, 15393 deletions
diff --git a/asm/battle_tower.s b/asm/battle_tower.s index eddc03f83..fe6aac664 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2832,7 +2832,7 @@ _080E6F68: ldrb r1, [r0] movs r0, 0x64 muls r0, r1 - ldr r1, _080E6FB4 @ =gUnknown_2024220 + ldr r1, _080E6FB4 @ =gEnemyParty + 500 @ &gEnemyParty[5] adds r0, r1 movs r1, 0x2C muls r1, r4 @@ -2855,7 +2855,7 @@ _080E6FA4: .4byte gSaveBlock2Ptr _080E6FA8: .4byte gSaveBlock1Ptr _080E6FAC: .4byte 0x00002cac _080E6FB0: .4byte 0x0000056d -_080E6FB4: .4byte gUnknown_2024220 +_080E6FB4: .4byte gEnemyParty + 500 @ &gEnemyParty[5] thumb_func_end sub_80E6EE0 thumb_func_start SaveBattleTowerProgress diff --git a/asm/cable_club.s b/asm/cable_club.s index 01aa8d217..d19bb3a35 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -2193,7 +2193,7 @@ _08081894: .align 2, 0 _080818A4: .4byte gPaletteFade _080818A8: - ldr r1, _080818C0 @ =gUnknown_2031DA4 + ldr r1, _080818C0 @ =gSelectedTradeMonPositions movs r0, 0 strb r0, [r1] strb r0, [r1, 0x1] @@ -2205,13 +2205,13 @@ _080818B8: strh r0, [r4, 0x8] b _080818D8 .align 2, 0 -_080818C0: .4byte gUnknown_2031DA4 +_080818C0: .4byte gSelectedTradeMonPositions _080818C4: ldr r0, _080818E0 @ =gReceivedRemoteLinkPlayers ldrb r0, [r0] cmp r0, 0 bne _080818D8 - ldr r0, _080818E4 @ =sub_804C718 + ldr r0, _080818E4 @ =CB2_ReturnFromLinkTrade bl SetMainCallback2 adds r0, r5, 0 bl DestroyTask @@ -2221,7 +2221,7 @@ _080818D8: bx r0 .align 2, 0 _080818E0: .4byte gReceivedRemoteLinkPlayers -_080818E4: .4byte sub_804C718 +_080818E4: .4byte CB2_ReturnFromLinkTrade thumb_func_end sub_8081850 thumb_func_start sub_80818E8 @@ -2269,7 +2269,7 @@ _0808192C: .align 2, 0 _0808193C: .4byte gPaletteFade _08081940: - ldr r1, _08081958 @ =gUnknown_2031DA4 + ldr r1, _08081958 @ =gSelectedTradeMonPositions movs r0, 0 strb r0, [r1] strb r0, [r1, 0x1] @@ -2281,7 +2281,7 @@ _08081950: strh r0, [r4] b _08081970 .align 2, 0 -_08081958: .4byte gUnknown_2031DA4 +_08081958: .4byte gSelectedTradeMonPositions _0808195C: bl IsLinkTaskFinished lsls r0, 24 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index b718deee6..dac85320e 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -738,7 +738,7 @@ _080CE3D8: .4byte nullsub_76 _080CE3DC: .4byte sub_80D00D8 _080CE3E0: .4byte gMain _080CE3E4: - bl sub_80544FC + bl LoadTradeAnimGfx b _080CE4EC _080CE3EA: movs r0, 0x20 @@ -2817,7 +2817,7 @@ _080CF620: movs r0, 0 adds r1, r4, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CF648 @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3110,7 +3110,7 @@ _080CF8A8: movs r0, 0 adds r1, r4, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CF91C @ =0x00000103 bl PlayFanfare ldr r2, _080CF920 @ =gTasks @@ -3222,7 +3222,7 @@ _080CF9AC: ldr r1, _080CF9C8 @ =gUnknown_841E325 movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CF9CC @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3341,7 +3341,7 @@ _080CFAA8: movs r0, 0 adds r1, r4, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r1, _080CFAD4 @ =gTasks adds r0, r7, r6 lsls r0, 3 @@ -3376,7 +3376,7 @@ _080CFAF2: ldr r1, _080CFB2C @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CFB30 @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3477,7 +3477,7 @@ _080CFBDA: ldr r1, _080CFC04 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CFC08 @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3509,7 +3509,7 @@ _080CFC26: ldr r1, _080CFC4C @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CFC50 @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3537,7 +3537,7 @@ _080CFC54: ldr r1, _080CFCEC @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CFCF0 @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3625,7 +3625,7 @@ _080CFD1C: ldr r1, _080CFD68 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r1, _080CFD6C @ =gTasks adds r0, r7, r6 lsls r0, 3 @@ -3665,7 +3665,7 @@ _080CFD70: ldr r1, _080CFDA4 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r1, _080CFDA8 @ =gTasks adds r0, r7, r6 lsls r0, 3 @@ -3782,7 +3782,7 @@ _080CFE74: ldr r1, _080CFEB8 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r1, _080CFEBC @ =gTasks adds r0, r7, r6 lsls r0, 3 @@ -3825,7 +3825,7 @@ _080CFEC0: ldr r1, _080CFF20 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CFF24 @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3859,7 +3859,7 @@ _080CFF42: ldr r1, _080CFF68 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r0, _080CFF6C @ =gTasks adds r1, r7, r6 lsls r1, 3 @@ -3890,7 +3890,7 @@ _080CFF70: ldr r1, _080CFFB0 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r1, _080CFFB4 @ =gTasks adds r0, r7, r6 lsls r0, 3 @@ -3909,7 +3909,7 @@ _080CFFB8: ldr r1, _080CFFE4 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r1, _080CFFE8 @ =gTasks adds r0, r7, r6 lsls r0, 3 @@ -3932,7 +3932,7 @@ _080CFFEC: ldr r1, _080D0010 @ =gDisplayedStringBattle movs r0, 0 movs r2, 0x1 - bl sub_8054508 + bl DrawTextOnTradeWindow ldr r1, _080D0014 @ =gTasks adds r0, r7, r6 lsls r0, 3 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 9fc1f72cc..63a894247 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -2939,7 +2939,7 @@ sub_8117100: @ 8117100 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_804C718 + bl CB2_ReturnFromLinkTrade adds r0, r4, 0 bl DestroyTask pop {r4} @@ -3070,7 +3070,7 @@ _08117210: lsrs r0, 24 cmp r0, 0x3 bne _0811725C - ldr r4, _08117268 @ =gUnknown_2031CCC + ldr r4, _08117268 @ =gLinkPartnerMail bl GetMultiplayerId adds r1, r0, 0 movs r0, 0x1 @@ -3083,14 +3083,14 @@ _08117210: movs r2, 0xD8 bl memcpy bl ResetBlockReceivedFlags - ldr r1, _08117270 @ =gUnknown_2031DA4 + ldr r1, _08117270 @ =gSelectedTradeMonPositions strb r7, [r1] movs r0, 0x6 strb r0, [r1, 0x1] ldr r1, _08117274 @ =gMain ldr r0, _08117278 @ =CB2_ReturnToField str r0, [r1, 0x8] - ldr r0, _0811727C @ =sub_8050138 + ldr r0, _0811727C @ =CB2_InitTradeAnim_LinkTrade bl SetMainCallback2 mov r0, r8 bl sub_811B148 @@ -3103,12 +3103,12 @@ _0811725C: pop {r0} bx r0 .align 2, 0 -_08117268: .4byte gUnknown_2031CCC +_08117268: .4byte gLinkPartnerMail _0811726C: .4byte gBlockRecvBuffer -_08117270: .4byte gUnknown_2031DA4 +_08117270: .4byte gSelectedTradeMonPositions _08117274: .4byte gMain _08117278: .4byte CB2_ReturnToField -_0811727C: .4byte sub_8050138 +_0811727C: .4byte CB2_InitTradeAnim_LinkTrade thumb_func_end sub_8117130 thumb_func_start sub_8117280 diff --git a/asm/party_menu.s b/asm/party_menu.s index 25befd61d..43a7a6e31 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -364,7 +364,7 @@ _0811ED14: _0811ED30: .4byte gUnknown_203B0A0 _0811ED34: .4byte gUnknown_203B09C _0811ED38: - bl sub_8122550 + bl LoadHeldItemIcons b _0811EDFC _0811ED3E: bl sub_8122860 @@ -3033,7 +3033,7 @@ _081201C0: lsrs r6, r0, 29 cmp r6, 0x3 bne _081201F0 - ldr r0, _081201EC @ =gUnknown_20243B0 + ldr r0, _081201EC @ =gPlayerParty + 300 @ &gPlayerParty[3] movs r1, 0xB bl GetMonData cmp r0, 0 @@ -3042,12 +3042,12 @@ _081201C0: b _08120290 .align 2, 0 _081201E8: .4byte gUnknown_203B09C -_081201EC: .4byte gUnknown_20243B0 +_081201EC: .4byte gPlayerParty + 300 @ &gPlayerParty[3] _081201F0: - ldr r0, _081201F4 @ =gUnknown_202434C + ldr r0, _081201F4 @ =gPlayerParty + 200 @ &gPlayerParty[2] b _0812020C .align 2, 0 -_081201F4: .4byte gUnknown_202434C +_081201F4: .4byte gPlayerParty + 200 @ &gPlayerParty[2] _081201F8: cmp r0, 0x1 bne _08120290 @@ -3058,7 +3058,7 @@ _081201F8: lsrs r5, r0, 29 cmp r5, 0x5 bne _08120224 - ldr r0, _08120220 @ =gUnknown_2024478 + ldr r0, _08120220 @ =gPlayerParty + 500 @ &gPlayerParty[5] _0812020C: movs r1, 0xB bl GetMonData @@ -3068,9 +3068,9 @@ _0812020C: b _08120290 .align 2, 0 _0812021C: .4byte gUnknown_203B09C -_08120220: .4byte gUnknown_2024478 +_08120220: .4byte gPlayerParty + 500 @ &gPlayerParty[5] _08120224: - ldr r0, _08120234 @ =gUnknown_2024414 + ldr r0, _08120234 @ =gPlayerParty + 400 @ &gPlayerParty[4] movs r1, 0xB bl GetMonData cmp r0, 0 @@ -3078,7 +3078,7 @@ _08120224: movs r0, 0x4 b _0812028E .align 2, 0 -_08120234: .4byte gUnknown_2024414 +_08120234: .4byte gPlayerParty + 400 @ &gPlayerParty[4] _08120238: ldrb r1, [r4] subs r0, r1, 0x2 @@ -7598,8 +7598,8 @@ _08122544: _0812254C: .4byte gSprites thumb_func_end sub_81224D0 - thumb_func_start sub_8122550 -sub_8122550: @ 8122550 + thumb_func_start LoadHeldItemIcons +LoadHeldItemIcons: @ 8122550 push {lr} ldr r0, _08122564 @ =gUnknown_845A42C bl LoadSpriteSheet @@ -7610,7 +7610,7 @@ sub_8122550: @ 8122550 .align 2, 0 _08122564: .4byte gUnknown_845A42C _08122568: .4byte gUnknown_845A434 - thumb_func_end sub_8122550 + thumb_func_end LoadHeldItemIcons thumb_func_start sub_812256C sub_812256C: @ 812256C @@ -8681,7 +8681,7 @@ _08122D8C: ldr r3, _08122DB8 @ =sub_8122DBC movs r4, 0 str r4, [sp] - bl sub_81344F8 + bl ShowPokemonSummaryScreen add sp, 0x4 pop {r4} pop {r0} @@ -11407,7 +11407,7 @@ sub_8124384: @ 8124384 adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_804FCE0 + bl Trade_CanTradeSelectedMon cmp r0, 0x1 beq _08124418 cmp r0, 0x2 @@ -18129,7 +18129,7 @@ _08127A80: .4byte sub_811FB28 sub_8127A84: @ 8127A84 push {r4,lr} adds r4, r0, 0 - ldr r0, _08127AA4 @ =gUnknown_20242E8 + ldr r0, _08127AA4 @ =gPlayerParty + 100 @ &gPlayerParty[1] movs r1, 0xB bl GetMonData cmp r0, 0 @@ -18143,7 +18143,7 @@ _08127AA0: movs r0, 0x7 b _08127ABA .align 2, 0 -_08127AA4: .4byte gUnknown_20242E8 +_08127AA4: .4byte gPlayerParty + 100 @ &gPlayerParty[1] _08127AA8: ldr r0, _08127AB4 @ =gUnknown_203B0A0 ldrb r0, [r0, 0xB] diff --git a/asm/pokeball.s b/asm/pokeball.s index fa1f4eee0..ed9eea832 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -2327,8 +2327,8 @@ _0804BB90: bx r0 thumb_func_end sub_804BAA4 - thumb_func_start sub_804BB98 -sub_804BB98: @ 804BB98 + thumb_func_start CreateTradePokeballSprite +CreateTradePokeballSprite: @ 804BB98 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2414,7 +2414,7 @@ _0804BC40: .4byte gUnknown_82605CC _0804BC44: .4byte gUnknown_82606F4 _0804BC48: .4byte gSprites _0804BC4C: .4byte sub_804BC50 - thumb_func_end sub_804BB98 + thumb_func_end CreateTradePokeballSprite thumb_func_start sub_804BC50 sub_804BC50: @ 804BC50 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index ec0e9e53c..df7c4fbce 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -719,8 +719,8 @@ _0808BEA8: bx r1 thumb_func_end sub_808BDE8 - thumb_func_start sub_808BEB4 -sub_808BEB4: @ 808BEB4 + thumb_func_start PSS_RenderTextToVramViaBuffer +PSS_RenderTextToVramViaBuffer: @ 808BEB4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -868,7 +868,7 @@ _0808BFC4: bx r0 .align 2, 0 _0808BFDC: .4byte 0x001fffff - thumb_func_end sub_808BEB4 + thumb_func_end PSS_RenderTextToVramViaBuffer thumb_func_start sub_808BFE0 sub_808BFE0: @ 808BFE0 @@ -6561,7 +6561,7 @@ _0808EE78: mov r0, r8 adds r1, r6, 0 adds r2, r5, 0 - bl sub_81344F8 + bl ShowPokemonSummaryScreen b _0808EEF6 .align 2, 0 _0808EEAC: .4byte gUnknown_20397B0 @@ -12353,7 +12353,7 @@ sub_8091A94: @ 8091A94 adds r0, r5, 0 movs r2, 0 movs r3, 0 - bl sub_808BEB4 + bl PSS_RenderTextToVramViaBuffer ldr r0, [sp, 0x30] bl LoadSpriteSheet mov r0, r8 @@ -12539,7 +12539,7 @@ _08091CFC: adds r0, r5, 0 movs r2, 0 movs r3, 0 - bl sub_808BEB4 + bl PSS_RenderTextToVramViaBuffer adds r0, r6, 0 bl LoadSpriteSheet ldr r0, [sp, 0x2C] diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 4c090a2d9..ceca3ed12 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_81344F8 -sub_81344F8: @ 81344F8 + thumb_func_start ShowPokemonSummaryScreen +ShowPokemonSummaryScreen: @ 81344F8 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -268,7 +268,7 @@ _08134728: .4byte 0x0000322c _0813472C: .4byte 0x00003290 _08134730: .4byte 0x00003204 _08134734: .4byte sub_8135C34 - thumb_func_end sub_81344F8 + thumb_func_end ShowPokemonSummaryScreen thumb_func_start ShowSelectMovePokemonSummaryScreen ShowSelectMovePokemonSummaryScreen: @ 8134738 @@ -283,7 +283,7 @@ ShowSelectMovePokemonSummaryScreen: @ 8134738 lsrs r5, 16 movs r4, 0x2 str r4, [sp] - bl sub_81344F8 + bl ShowPokemonSummaryScreen ldr r0, _08134764 @ =gUnknown_203B140 ldr r0, [r0] ldr r1, _08134768 @ =0x00003260 @@ -14091,7 +14091,7 @@ sub_813B854: @ 813B854 str r0, [sp] movs r1, 0 movs r2, 0 - bl sub_81344F8 + bl ShowPokemonSummaryScreen add sp, 0x4 pop {r0} bx r0 diff --git a/asm/trade.s b/asm/trade.s deleted file mode 100644 index 6e5f333ae..000000000 --- a/asm/trade.s +++ /dev/null @@ -1,15329 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_804C600 -sub_804C600: @ 804C600 - push {r4,r5,lr} - sub sp, 0xC - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl ResetPaletteFade - ldr r2, _0804C6F8 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r0, _0804C6FC @ =sub_804D4F8 - bl SetVBlankCallback - ldr r4, _0804C700 @ =gTMCaseMainWindowPalette - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x14 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xD0 - movs r2, 0x14 - bl LoadPalette - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0804C704 @ =gUnknown_8261F1C - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _0804C708 @ =gUnknown_2031DA8 - ldr r1, [r0] - movs r0, 0x8F - lsls r0, 4 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, _0804C70C @ =gUnknown_8261F2C - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _0804C6F0 - bl DeactivateAllTextPrinters - ldr r1, _0804C710 @ =gUnknown_3000E78 - ldr r2, _0804C714 @ =0x0000024e - adds r0, r2, 0 - strh r0, [r1] - movs r5, 0 -_0804C674: - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl ClearWindowTilemap - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r5, 0x1 - cmp r5, 0x11 - bls _0804C674 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - movs r1, 0x14 - movs r2, 0xC0 - bl TextWindow_SetStdFrame0_WithPal - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0xE0 - bl TextWindow_SetUserSelectedFrame - bl LoadMonIconPalettes - ldr r2, _0804C708 @ =gUnknown_2031DA8 - ldr r0, [r2] - adds r0, 0x69 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x6F - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x70 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x74 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x75 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x7A - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x7B - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xA8 - strb r1, [r0] -_0804C6F0: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804C6F8: .4byte gPaletteFade -_0804C6FC: .4byte sub_804D4F8 -_0804C700: .4byte gTMCaseMainWindowPalette -_0804C704: .4byte gUnknown_8261F1C -_0804C708: .4byte gUnknown_2031DA8 -_0804C70C: .4byte gUnknown_8261F2C -_0804C710: .4byte gUnknown_3000E78 -_0804C714: .4byte 0x0000024e - thumb_func_end sub_804C600 - - thumb_func_start sub_804C718 -sub_804C718: @ 804C718 - push {lr} - ldr r0, _0804C724 @ =sub_804C728 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0804C724: .4byte sub_804C728 - thumb_func_end sub_804C718 - - thumb_func_start sub_804C728 -sub_804C728: @ 804C728 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - ldr r1, _0804C74C @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x16 - bls _0804C742 - b _0804CEE6 -_0804C742: - lsls r0, 2 - ldr r1, _0804C750 @ =_0804C754 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804C74C: .4byte gMain -_0804C750: .4byte _0804C754 - .align 2, 0 -_0804C754: - .4byte _0804C7B0 - .4byte _0804C7FC - .4byte _0804C8C8 - .4byte _0804C8F4 - .4byte _0804C950 - .4byte _0804C9B0 - .4byte _0804C9F0 - .4byte _0804CA10 - .4byte _0804CB50 - .4byte _0804CB78 - .4byte _0804CB9C - .4byte _0804CC30 - .4byte _0804CC3E - .4byte _0804CD10 - .4byte _0804CDE0 - .4byte _0804CE20 - .4byte _0804CE3A - .4byte _0804CE48 - .4byte _0804CE5C - .4byte _0804CE7C - .4byte _0804CE9C - .4byte _0804CEB0 - .4byte _0804CED0 -_0804C7B0: - ldr r4, _0804C7E8 @ =gUnknown_2031DA8 - ldr r0, _0804C7EC @ =0x000010f0 - bl AllocZeroed - str r0, [r4] - bl sub_804C600 - ldr r4, _0804C7F0 @ =gUnknown_2031C90 - movs r0, 0xE0 - lsls r0, 4 - bl AllocZeroed - str r0, [r4] - movs r6, 0 - ldr r2, _0804C7F4 @ =gUnknown_2031C94 -_0804C7CE: - lsls r1, r6, 8 - ldr r0, [r4] - adds r0, r1 - stm r2!, {r0} - adds r6, 0x1 - cmp r6, 0xD - ble _0804C7CE - ldr r1, _0804C7F8 @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804CEC2 - .align 2, 0 -_0804C7E8: .4byte gUnknown_2031DA8 -_0804C7EC: .4byte 0x000010f0 -_0804C7F0: .4byte gUnknown_2031C90 -_0804C7F4: .4byte gUnknown_2031C94 -_0804C7F8: .4byte gMain -_0804C7FC: - ldr r2, _0804C864 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r6, 0 - movs r4, 0 -_0804C80A: - movs r0, 0x64 - muls r0, r6 - ldr r1, _0804C868 @ =gEnemyParty - adds r0, r1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r1, 0 - movs r2, 0 - movs r3, 0x20 - bl CreateMon - adds r6, 0x1 - cmp r6, 0x5 - ble _0804C80A - movs r0, 0 - bl sub_804F5BC - movs r0, 0 - bl ShowBg - ldr r0, _0804C86C @ =gReceivedRemoteLinkPlayers - ldrb r2, [r0] - cmp r2, 0 - bne _0804C8B4 - ldr r1, _0804C870 @ =gLinkType - ldr r5, _0804C874 @ =0x00001122 - adds r0, r5, 0 - strh r0, [r1] - ldr r0, _0804C878 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - ldr r0, _0804C87C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804C880 - bl sub_800B1F4 - bl OpenLink - bl sub_80FBB20 - b _0804C892 - .align 2, 0 -_0804C864: .4byte gPaletteFade -_0804C868: .4byte gEnemyParty -_0804C86C: .4byte gReceivedRemoteLinkPlayers -_0804C870: .4byte gLinkType -_0804C874: .4byte 0x00001122 -_0804C878: .4byte gUnknown_2031DA8 -_0804C87C: .4byte gWirelessCommType -_0804C880: - bl OpenLink - ldr r1, _0804C8A8 @ =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804C892: - ldr r0, _0804C8AC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804C89C - b _0804CEE6 -_0804C89C: - ldr r0, _0804C8B0 @ =sub_8081A90 - movs r1, 0x1 - bl CreateTask - b _0804CEE6 - .align 2, 0 -_0804C8A8: .4byte gMain -_0804C8AC: .4byte gWirelessCommType -_0804C8B0: .4byte sub_8081A90 -_0804C8B4: - ldr r0, _0804C8C4 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _0804CEE6 - .align 2, 0 -_0804C8C4: .4byte gMain -_0804C8C8: - ldr r2, _0804C8F0 @ =gUnknown_2031DA8 - ldr r1, [r2] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xA8 - ldrb r0, [r1] - cmp r0, 0xB - bhi _0804C8E2 - b _0804CEE6 -_0804C8E2: - movs r0, 0 - strb r0, [r1] - movs r2, 0x87 - lsls r2, 3 - adds r1, r3, r2 - b _0804CEC2 - .align 2, 0 -_0804C8F0: .4byte gUnknown_2031DA8 -_0804C8F4: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl GetSavedPlayerCount - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _0804C908 - b _0804CEE6 -_0804C908: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _0804C940 - ldr r0, _0804C938 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bhi _0804C928 - b _0804CEE6 -_0804C928: - bl CheckShouldAdvanceLinkState - ldr r1, _0804C93C @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804CEC2 - .align 2, 0 -_0804C938: .4byte gUnknown_2031DA8 -_0804C93C: .4byte gMain -_0804C940: - ldr r1, _0804C94C @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _0804CEC2 - .align 2, 0 -_0804C94C: .4byte gMain -_0804C950: - ldr r0, _0804C9A0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0804C95A - b _0804CEE6 -_0804C95A: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0804C968 - b _0804CEE6 -_0804C968: - bl sub_80FBB4C - bl CalculatePlayerPartyCount - ldr r1, _0804C9A4 @ =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _0804C9A8 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - ldr r0, _0804C9AC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0804C992 - b _0804CEE6 -_0804C992: - movs r0, 0x1 - bl sub_80FA484 - bl sub_800AB9C - b _0804CEE6 - .align 2, 0 -_0804C9A0: .4byte gReceivedRemoteLinkPlayers -_0804C9A4: .4byte gMain -_0804C9A8: .4byte gUnknown_2031DA8 -_0804C9AC: .4byte gWirelessCommType -_0804C9B0: - ldr r0, _0804C9E0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804C9E8 - bl IsLinkRfuTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0804C9C4 - b _0804CEE6 -_0804C9C4: - ldr r1, _0804C9E4 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - b _0804CEE6 - .align 2, 0 -_0804C9E0: .4byte gWirelessCommType -_0804C9E4: .4byte gMain -_0804C9E8: - movs r2, 0x87 - lsls r2, 3 - adds r1, r3, r2 - b _0804CEC2 -_0804C9F0: - bl shedinja_maker_maybe - lsls r0, 24 - cmp r0, 0 - bne _0804C9FC - b _0804CEE6 -_0804C9FC: - bl sub_804F9D8 - ldr r1, _0804CA0C @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804CEC2 - .align 2, 0 -_0804CA0C: .4byte gMain -_0804CA10: - bl CalculateEnemyPartyCount - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r2, _0804CB2C @ =gUnknown_2031DA8 - ldr r0, [r2] - ldr r1, _0804CB30 @ =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x36 - strb r1, [r0] - ldr r0, [r2] - ldr r1, _0804CB34 @ =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x37 - strb r1, [r0] - movs r6, 0 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bge _0804CAA8 - mov r8, r2 - ldr r7, _0804CB38 @ =gTradeMonSpriteCoords -_0804CA4A: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804CB3C @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _0804CB40 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r5, 0 - ldr r1, _0804CB44 @ =SpriteCB_MonIcon - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x28 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - blt _0804CA4A -_0804CAA8: - movs r6, 0 - ldr r1, _0804CB2C @ =gUnknown_2031DA8 - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bge _0804CB20 - ldr r0, _0804CB38 @ =gTradeMonSpriteCoords - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_0804CABE: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804CB48 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _0804CB40 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, _0804CB44 @ =SpriteCB_MonIcon - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x2E - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - blt _0804CABE -_0804CB20: - ldr r1, _0804CB4C @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804CEC2 - .align 2, 0 -_0804CB2C: .4byte gUnknown_2031DA8 -_0804CB30: .4byte gPlayerPartyCount -_0804CB34: .4byte gEnemyPartyCount -_0804CB38: .4byte gTradeMonSpriteCoords -_0804CB3C: .4byte gPlayerParty -_0804CB40: .4byte 0xfff40000 -_0804CB44: .4byte SpriteCB_MonIcon -_0804CB48: .4byte gEnemyParty -_0804CB4C: .4byte gMain -_0804CB50: - bl sub_8122550 - ldr r0, _0804CB70 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0 - bl sub_812256C - ldr r1, _0804CB74 @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _0804CEC2 - .align 2, 0 -_0804CB70: .4byte gUnknown_2031DA8 -_0804CB74: .4byte gMain -_0804CB78: - ldr r0, _0804CB94 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0x1 - bl sub_812256C - ldr r1, _0804CB98 @ =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _0804CEC2 - .align 2, 0 -_0804CB94: .4byte gUnknown_2031DA8 -_0804CB98: .4byte gMain -_0804CB9C: - ldr r0, _0804CC14 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r6, _0804CC18 @ =gUnknown_2031C94 - ldr r1, [r6] - ldr r5, _0804CC1C @ =gDecompressionBuffer - str r5, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_808BEB4 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0804CC20 @ =gLinkPlayers + 8 - adds r0, r1 - ldr r1, [r6, 0xC] - str r5, [sp] - str r4, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_808BEB4 - ldr r4, _0804CC24 @ =gUnknown_8261ECC - ldr r0, [r4] - ldr r1, [r6, 0x18] - str r5, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_808BEB4 - ldr r0, [r4, 0x4] - ldr r1, [r6, 0x20] - movs r2, 0x18 - bl sub_804F728 - ldr r1, _0804CC28 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _0804CC2C @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - b _0804CEE6 - .align 2, 0 -_0804CC14: .4byte gSaveBlock2Ptr -_0804CC18: .4byte gUnknown_2031C94 -_0804CC1C: .4byte gDecompressionBuffer -_0804CC20: .4byte gLinkPlayers + 8 -_0804CC24: .4byte gUnknown_8261ECC -_0804CC28: .4byte gMain -_0804CC2C: .4byte gUnknown_2031DA8 -_0804CC30: - bl sub_804F610 - lsls r0, 24 - cmp r0, 0 - bne _0804CC3C - b _0804CEE6 -_0804CC3C: - b _0804CEBA -_0804CC3E: - ldr r0, _0804CCFC @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0x38 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - movs r6, 0 - add r5, sp, 0x10 - ldr r3, _0804CD00 @ =gTradeUnknownSpriteCoords - mov r8, r3 - asrs r0, 1 - ldrb r7, [r3, 0x4] - adds r4, r0, r7 -_0804CC62: - add r1, sp, 0x10 - ldr r0, _0804CD04 @ =gUnknown_8261CC8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0x10 - mov r3, r8 - ldrb r2, [r3, 0x5] - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _0804CC62 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0804CD08 @ =gLinkPlayers + 8 - adds r1, r0, r1 - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0x38 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - movs r6, 0 - add r5, sp, 0x10 - ldr r7, _0804CD00 @ =gTradeUnknownSpriteCoords - mov r8, r7 - asrs r0, 1 - mov r1, r8 - ldrb r1, [r1, 0x6] - adds r4, r0, r1 -_0804CCC6: - add r1, sp, 0x10 - ldr r0, _0804CD04 @ =gUnknown_8261CC8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0x3 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0x10 - mov r3, r8 - ldrb r2, [r3, 0x7] - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _0804CCC6 - ldr r1, _0804CD0C @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _0804CEC2 - .align 2, 0 -_0804CCFC: .4byte gSaveBlock2Ptr -_0804CD00: .4byte gTradeUnknownSpriteCoords -_0804CD04: .4byte gUnknown_8261CC8 -_0804CD08: .4byte gLinkPlayers + 8 -_0804CD0C: .4byte gMain -_0804CD10: - ldr r4, _0804CDCC @ =gUnknown_8261CC8 - add r1, sp, 0x10 - adds r0, r4, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - add r1, sp, 0x10 - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x6 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xD7 - movs r2, 0x97 - movs r3, 0x1 - bl CreateSprite - add r0, sp, 0x10 - ldm r4!, {r3,r5,r7} - stm r0!, {r3,r5,r7} - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - add r1, sp, 0x10 - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x7 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xF7 - movs r2, 0x97 - movs r3, 0x1 - bl CreateSprite - movs r6, 0 - add r4, sp, 0x10 - movs r5, 0xC0 - lsls r5, 13 -_0804CD5C: - add r1, sp, 0x10 - ldr r0, _0804CDCC @ =gUnknown_8261CC8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - adds r0, 0x8 - ldrh r7, [r4] - adds r0, r7 - strh r0, [r4] - asrs r1, r5, 16 - add r0, sp, 0x10 - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r0, 0x80 - lsls r0, 14 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x5 - ble _0804CD5C - ldr r0, _0804CDD0 @ =gUnknown_8261CB0 - ldr r2, _0804CDD4 @ =gTradeMonSpriteCoords - ldrb r1, [r2] - lsls r1, 19 - movs r3, 0x80 - lsls r3, 14 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2, 0x1] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r2, _0804CDD8 @ =gUnknown_2031DA8 - ldr r1, [r2] - adds r1, 0x34 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x35 - strb r3, [r0] - ldr r1, _0804CDDC @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl rbox_fill_rectangle - b _0804CEE6 - .align 2, 0 -_0804CDCC: .4byte gUnknown_8261CC8 -_0804CDD0: .4byte gUnknown_8261CB0 -_0804CDD4: .4byte gTradeMonSpriteCoords -_0804CDD8: .4byte gUnknown_2031DA8 -_0804CDDC: .4byte gMain -_0804CDE0: - movs r0, 0 - bl sub_804F748 - movs r0, 0 - bl sub_804F020 - ldr r2, _0804CE14 @ =gUnknown_2031DA8 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_804D764 - ldr r1, _0804CE18 @ =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _0804CE1C @ =0x00000111 - bl PlayBGM - b _0804CEE6 - .align 2, 0 -_0804CE14: .4byte gUnknown_2031DA8 -_0804CE18: .4byte gMain -_0804CE1C: .4byte 0x00000111 -_0804CE20: - movs r0, 0x1 - bl sub_804F748 - movs r0, 0x1 - bl sub_804F020 - ldr r1, _0804CE44 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804CE3A: - movs r0, 0 - bl sub_804D694 - b _0804CEBA - .align 2, 0 -_0804CE44: .4byte gMain -_0804CE48: - movs r0, 0x1 - bl sub_804D694 - ldr r1, _0804CE58 @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804CEC2 - .align 2, 0 -_0804CE58: .4byte gMain -_0804CE5C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _0804CE78 @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _0804CEC2 - .align 2, 0 -_0804CE78: .4byte gMain -_0804CE7C: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x2 - bl sub_804D694 - ldr r1, _0804CE98 @ =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _0804CEC2 - .align 2, 0 -_0804CE98: .4byte gMain -_0804CE9C: - movs r0, 0 - bl sub_804F890 - ldr r1, _0804CEAC @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0804CEC2 - .align 2, 0 -_0804CEAC: .4byte gMain -_0804CEB0: - movs r0, 0x1 - bl sub_804F890 - bl sub_804F964 -_0804CEBA: - ldr r1, _0804CECC @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0804CEC2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804CEE6 - .align 2, 0 -_0804CECC: .4byte gMain -_0804CED0: - ldr r0, _0804CF08 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804CEE6 - ldr r0, _0804CF0C @ =sub_804DFF0 - str r0, [r3] - ldr r0, _0804CF10 @ =sub_804D638 - bl SetMainCallback2 -_0804CEE6: - bl RunTextPrinters - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804CF08: .4byte gPaletteFade -_0804CF0C: .4byte sub_804DFF0 -_0804CF10: .4byte sub_804D638 - thumb_func_end sub_804C728 - - thumb_func_start sub_804CF14 -sub_804CF14: @ 804CF14 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x24 - ldr r1, _0804CF38 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x16 - bls _0804CF2E - b _0804D4D2 -_0804CF2E: - lsls r0, 2 - ldr r1, _0804CF3C @ =_0804CF40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804CF38: .4byte gMain -_0804CF3C: .4byte _0804CF40 - .align 2, 0 -_0804CF40: - .4byte _0804CF9C - .4byte _0804CFB0 - .4byte _0804CFB8 - .4byte _0804CFC0 - .4byte _0804CFC8 - .4byte _0804CFDC - .4byte _0804D004 - .4byte _0804D00C - .4byte _0804D150 - .4byte _0804D178 - .4byte _0804D19C - .4byte _0804D230 - .4byte _0804D24C - .4byte _0804D320 - .4byte _0804D4D2 - .4byte _0804D4D2 - .4byte _0804D414 - .4byte _0804D41C - .4byte _0804D444 - .4byte _0804D480 - .4byte _0804D4A0 - .4byte _0804D4A8 - .4byte _0804D4C0 -_0804CF9C: - bl sub_804C600 - ldr r1, _0804CFAC @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804D4B4 - .align 2, 0 -_0804CFAC: .4byte gMain -_0804CFB0: - movs r5, 0x87 - lsls r5, 3 - adds r1, r2, r5 - b _0804D200 -_0804CFB8: - movs r7, 0x87 - lsls r7, 3 - adds r1, r2, r7 - b _0804D4B4 -_0804CFC0: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0804D4B4 -_0804CFC8: - bl CalculatePlayerPartyCount - ldr r1, _0804CFD8 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0804D4B4 - .align 2, 0 -_0804CFD8: .4byte gMain -_0804CFDC: - ldr r0, _0804CFFC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804CFF0 - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite -_0804CFF0: - ldr r1, _0804D000 @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804D4B4 - .align 2, 0 -_0804CFFC: .4byte gWirelessCommType -_0804D000: .4byte gMain -_0804D004: - movs r5, 0x87 - lsls r5, 3 - adds r1, r2, r5 - b _0804D4B4 -_0804D00C: - bl CalculateEnemyPartyCount - ldr r4, _0804D12C @ =gUnknown_2031DA8 - ldr r0, [r4] - ldr r1, _0804D130 @ =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x36 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _0804D134 @ =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x37 - strb r1, [r0] - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0 - bl sub_804F020 - movs r0, 0x1 - bl sub_804F020 - movs r6, 0 - ldr r0, [r4] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bge _0804D0A8 - mov r8, r4 - ldr r7, _0804D138 @ =gTradeMonSpriteCoords -_0804D048: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804D13C @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _0804D140 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r5, 0 - ldr r1, _0804D144 @ =SpriteCB_MonIcon - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x28 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - blt _0804D048 -_0804D0A8: - movs r6, 0 - ldr r1, _0804D12C @ =gUnknown_2031DA8 - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bge _0804D120 - ldr r0, _0804D138 @ =gTradeMonSpriteCoords - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_0804D0BE: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804D148 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, _0804D140 @ =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, _0804D144 @ =SpriteCB_MonIcon - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x2E - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - blt _0804D0BE -_0804D120: - ldr r1, _0804D14C @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804D4B4 - .align 2, 0 -_0804D12C: .4byte gUnknown_2031DA8 -_0804D130: .4byte gPlayerPartyCount -_0804D134: .4byte gEnemyPartyCount -_0804D138: .4byte gTradeMonSpriteCoords -_0804D13C: .4byte gPlayerParty -_0804D140: .4byte 0xfff40000 -_0804D144: .4byte SpriteCB_MonIcon -_0804D148: .4byte gEnemyParty -_0804D14C: .4byte gMain -_0804D150: - bl sub_8122550 - ldr r0, _0804D170 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0 - bl sub_812256C - ldr r1, _0804D174 @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _0804D4B4 - .align 2, 0 -_0804D170: .4byte gUnknown_2031DA8 -_0804D174: .4byte gMain -_0804D178: - ldr r0, _0804D194 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0x1 - bl sub_812256C - ldr r1, _0804D198 @ =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _0804D4B4 - .align 2, 0 -_0804D194: .4byte gUnknown_2031DA8 -_0804D198: .4byte gMain -_0804D19C: - ldr r0, _0804D214 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldr r6, _0804D218 @ =gUnknown_2031C94 - ldr r1, [r6] - ldr r5, _0804D21C @ =gDecompressionBuffer - str r5, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_808BEB4 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0804D220 @ =gLinkPlayers + 8 - adds r0, r1 - ldr r1, [r6, 0xC] - str r5, [sp] - str r4, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_808BEB4 - ldr r4, _0804D224 @ =gUnknown_8261ECC - ldr r0, [r4] - ldr r1, [r6, 0x18] - str r5, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_808BEB4 - ldr r0, [r4, 0x4] - ldr r1, [r6, 0x20] - movs r2, 0x18 - bl sub_804F728 - ldr r1, _0804D228 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_0804D200: - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _0804D22C @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - b _0804D4D2 - .align 2, 0 -_0804D214: .4byte gSaveBlock2Ptr -_0804D218: .4byte gUnknown_2031C94 -_0804D21C: .4byte gDecompressionBuffer -_0804D220: .4byte gLinkPlayers + 8 -_0804D224: .4byte gUnknown_8261ECC -_0804D228: .4byte gMain -_0804D22C: .4byte gUnknown_2031DA8 -_0804D230: - bl sub_804F610 - lsls r0, 24 - cmp r0, 0 - bne _0804D23C - b _0804D4D2 -_0804D23C: - ldr r1, _0804D248 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0804D4B4 - .align 2, 0 -_0804D248: .4byte gMain -_0804D24C: - ldr r0, _0804D30C @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0x38 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - movs r6, 0 - add r5, sp, 0xC - ldr r3, _0804D310 @ =gTradeUnknownSpriteCoords - mov r8, r3 - asrs r0, 1 - ldrb r7, [r3, 0x4] - adds r4, r0, r7 -_0804D270: - add r1, sp, 0xC - ldr r0, _0804D314 @ =gUnknown_8261CC8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0xC - mov r3, r8 - ldrb r2, [r3, 0x5] - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _0804D270 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0804D318 @ =gLinkPlayers + 8 - adds r1, r0, r1 - movs r0, 0x1 - movs r2, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0x38 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - movs r6, 0 - add r5, sp, 0xC - ldr r7, _0804D310 @ =gTradeUnknownSpriteCoords - mov r8, r7 - asrs r0, 1 - mov r1, r8 - ldrb r1, [r1, 0x6] - adds r4, r0, r1 -_0804D2D4: - add r1, sp, 0xC - ldr r0, _0804D314 @ =gUnknown_8261CC8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0x3 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0xC - mov r3, r8 - ldrb r2, [r3, 0x7] - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _0804D2D4 - ldr r1, _0804D31C @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _0804D4B4 - .align 2, 0 -_0804D30C: .4byte gSaveBlock2Ptr -_0804D310: .4byte gTradeUnknownSpriteCoords -_0804D314: .4byte gUnknown_8261CC8 -_0804D318: .4byte gLinkPlayers + 8 -_0804D31C: .4byte gMain -_0804D320: - ldr r4, _0804D3B0 @ =gUnknown_8261CC8 - add r1, sp, 0xC - adds r0, r4, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - add r1, sp, 0xC - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x6 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xD7 - movs r2, 0x97 - movs r3, 0x1 - bl CreateSprite - add r0, sp, 0xC - ldm r4!, {r3,r5,r7} - stm r0!, {r3,r5,r7} - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - add r1, sp, 0xC - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x7 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xF7 - movs r2, 0x97 - movs r3, 0x1 - bl CreateSprite - movs r6, 0 - add r4, sp, 0xC - movs r5, 0xC0 - lsls r5, 13 -_0804D36C: - add r1, sp, 0xC - ldr r0, _0804D3B0 @ =gUnknown_8261CC8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - adds r0, 0x8 - ldrh r7, [r4] - adds r0, r7 - strh r0, [r4] - asrs r1, r5, 16 - add r0, sp, 0xC - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r0, 0x80 - lsls r0, 14 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x5 - ble _0804D36C - ldr r4, _0804D3B4 @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0804D3B8 - bl sub_8138B20 - ldr r1, [r4] - b _0804D3C0 - .align 2, 0 -_0804D3B0: .4byte gUnknown_8261CC8 -_0804D3B4: .4byte gUnknown_2031DA8 -_0804D3B8: - bl sub_8138B20 - ldr r1, [r4] - adds r0, 0x6 -_0804D3C0: - adds r1, 0x35 - strb r0, [r1] - ldr r0, _0804D404 @ =gUnknown_8261CB0 - ldr r3, _0804D408 @ =gTradeMonSpriteCoords - ldr r4, _0804D40C @ =gUnknown_2031DA8 - ldr r1, [r4] - adds r1, 0x35 - ldrb r2, [r1] - lsls r2, 1 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 19 - movs r5, 0x80 - lsls r5, 14 - adds r1, r5 - asrs r1, 16 - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x34 - strb r0, [r1] - ldr r0, _0804D410 @ =gMain - movs r7, 0x87 - lsls r7, 3 - adds r0, r7 - movs r1, 0x10 - strb r1, [r0] - b _0804D4D2 - .align 2, 0 -_0804D404: .4byte gUnknown_8261CB0 -_0804D408: .4byte gTradeMonSpriteCoords -_0804D40C: .4byte gUnknown_2031DA8 -_0804D410: .4byte gMain -_0804D414: - movs r0, 0 - bl sub_804D694 - b _0804D4AC -_0804D41C: - movs r0, 0x1 - bl sub_804D694 - ldr r2, _0804D43C @ =gUnknown_2031DA8 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_804D764 - ldr r1, _0804D440 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0804D4B4 - .align 2, 0 -_0804D43C: .4byte gUnknown_2031DA8 -_0804D440: .4byte gMain -_0804D444: - ldr r2, _0804D478 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _0804D47C @ =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0804D4B4 - .align 2, 0 -_0804D478: .4byte gPaletteFade -_0804D47C: .4byte gMain -_0804D480: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x2 - bl sub_804D694 - ldr r1, _0804D49C @ =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _0804D4B4 - .align 2, 0 -_0804D49C: .4byte gMain -_0804D4A0: - movs r7, 0x87 - lsls r7, 3 - adds r1, r2, r7 - b _0804D4B4 -_0804D4A8: - bl sub_804F964 -_0804D4AC: - ldr r1, _0804D4BC @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_0804D4B4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804D4D2 - .align 2, 0 -_0804D4BC: .4byte gMain -_0804D4C0: - ldr r0, _0804D4F0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804D4D2 - ldr r0, _0804D4F4 @ =sub_804D638 - bl SetMainCallback2 -_0804D4D2: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804D4F0: .4byte gPaletteFade -_0804D4F4: .4byte sub_804D638 - thumb_func_end sub_804CF14 - - thumb_func_start sub_804D4F8 -sub_804D4F8: @ 804D4F8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_804D4F8 - - thumb_func_start sub_804D50C -sub_804D50C: @ 804D50C - push {r4,lr} - sub sp, 0x4 - ldr r4, _0804D544 @ =gUnknown_2031DA8 - ldr r1, [r4] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _0804D53C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xA - strb r1, [r0] -_0804D53C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D544: .4byte gUnknown_2031DA8 - thumb_func_end sub_804D50C - - thumb_func_start sub_804D548 -sub_804D548: @ 804D548 - push {r4,lr} - ldr r0, _0804D580 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804D59E - ldr r1, _0804D584 @ =gUnknown_2031DA4 - ldr r4, _0804D588 @ =gUnknown_2031DA8 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x35 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0 - adds r0, 0x7E - ldrb r0, [r0] - strb r0, [r1, 0x1] - ldr r0, _0804D58C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804D590 - adds r1, r2, 0 - adds r1, 0x6F - movs r0, 0x10 - strb r0, [r1] - b _0804D59E - .align 2, 0 -_0804D580: .4byte gPaletteFade -_0804D584: .4byte gUnknown_2031DA4 -_0804D588: .4byte gUnknown_2031DA8 -_0804D58C: .4byte gWirelessCommType -_0804D590: - movs r0, 0x20 - bl sub_800AA80 - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xD - strb r1, [r0] -_0804D59E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804D548 - - thumb_func_start sub_804D5A4 -sub_804D5A4: @ 804D5A4 - push {r4,r5,lr} - ldr r5, _0804D5E4 @ =gMain - ldr r0, _0804D5E8 @ =sub_804C718 - str r0, [r5, 0x8] - ldr r0, _0804D5EC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804D5FC - bl IsLinkRfuTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0804D620 - ldr r0, _0804D5F0 @ =gUnknown_2031C90 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, _0804D5F4 @ =gUnknown_2031DA8 - ldr r0, [r0] - bl Free - movs r0, 0 - str r0, [r5] - bl DestroyWirelessStatusIndicatorSprite - ldr r0, _0804D5F8 @ =sub_8050138 - bl SetMainCallback2 - b _0804D620 - .align 2, 0 -_0804D5E4: .4byte gMain -_0804D5E8: .4byte sub_804C718 -_0804D5EC: .4byte gWirelessCommType -_0804D5F0: .4byte gUnknown_2031C90 -_0804D5F4: .4byte gUnknown_2031DA8 -_0804D5F8: .4byte sub_8050138 -_0804D5FC: - ldr r0, _0804D628 @ =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0 - bne _0804D620 - ldr r0, _0804D62C @ =gUnknown_2031C90 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, _0804D630 @ =gUnknown_2031DA8 - ldr r0, [r0] - bl Free - str r4, [r5] - ldr r0, _0804D634 @ =sub_8050138 - bl SetMainCallback2 -_0804D620: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804D628: .4byte gReceivedRemoteLinkPlayers -_0804D62C: .4byte gUnknown_2031C90 -_0804D630: .4byte gUnknown_2031DA8 -_0804D634: .4byte sub_8050138 - thumb_func_end sub_804D5A4 - - thumb_func_start sub_804D638 -sub_804D638: @ 804D638 - push {r4,lr} - bl sub_804E9E4 - bl sub_804F4DC - movs r0, 0 - bl sub_804EAE4 - movs r0, 0x1 - bl sub_804EAE4 - ldr r4, _0804D690 @ =gUnknown_2031DA8 - ldr r2, [r4] - ldrb r1, [r2] - adds r0, r1, 0x1 - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x18 - bl SetGpuReg - ldr r2, [r4] - ldrb r1, [r2, 0x1] - adds r0, r1, 0 - adds r0, 0xFF - strb r0, [r2, 0x1] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1C - bl SetGpuReg - bl RunTextPrinters_CheckPrinter0Active - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804D690: .4byte gUnknown_2031DA8 - thumb_func_end sub_804D638 - - thumb_func_start sub_804D694 -sub_804D694: @ 804D694 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - beq _0804D700 - cmp r4, 0x1 - bgt _0804D6AA - cmp r4, 0 - beq _0804D6B0 - b _0804D75A -_0804D6AA: - cmp r4, 0x2 - beq _0804D728 - b _0804D75A -_0804D6B0: - ldr r0, _0804D6F0 @ =gUnknown_8E9CEDC - movs r1, 0 - movs r2, 0x60 - bl LoadPalette - ldr r1, _0804D6F4 @ =gUnknown_8E9CF5C - movs r2, 0x94 - lsls r2, 5 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, _0804D6F8 @ =gUnknown_8E9E9FC - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, _0804D6FC @ =gUnknown_8260C30 - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - b _0804D75A - .align 2, 0 -_0804D6F0: .4byte gUnknown_8E9CEDC -_0804D6F4: .4byte gUnknown_8E9CF5C -_0804D6F8: .4byte gUnknown_8E9E9FC -_0804D6FC: .4byte gUnknown_8260C30 -_0804D700: - ldr r1, _0804D724 @ =gUnknown_8261430 - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x3 - movs r3, 0 - bl LoadBgTilemap - movs r0, 0 - bl sub_804F284 - movs r0, 0x1 - bl sub_804F284 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0804D75A - .align 2, 0 -_0804D724: .4byte gUnknown_8261430 -_0804D728: - movs r5, 0x80 - lsls r5, 21 - movs r4, 0x3 -_0804D72E: - lsrs r0, r5, 24 - movs r1, 0 - bl SetGpuReg - movs r0, 0x80 - lsls r0, 18 - adds r5, r0 - subs r4, 0x1 - cmp r4, 0 - bge _0804D72E - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_0804D75A: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804D694 - - thumb_func_start sub_804D764 -sub_804D764: @ 804D764 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r3, 0 - ldr r5, _0804D7B4 @ =gUnknown_2031DA8 - mov r8, r5 - ldr r0, _0804D7B8 @ =gSprites - mov r12, r0 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 - movs r4, 0x6 - movs r7, 0x1 - movs r6, 0 -_0804D782: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x36 - ldrb r1, [r1] - cmp r3, r1 - bge _0804D7BC - adds r0, 0x28 - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x38 - adds r0, r3 - strb r7, [r0] - b _0804D7C2 - .align 2, 0 -_0804D7B4: .4byte gUnknown_2031DA8 -_0804D7B8: .4byte gSprites -_0804D7BC: - adds r0, 0x38 - adds r0, r3 - strb r6, [r0] -_0804D7C2: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x37 - ldrb r1, [r1] - cmp r3, r1 - bge _0804D7F2 - adds r0, 0x2E - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x38 - adds r0, r4 - strb r7, [r0] - b _0804D7F8 -_0804D7F2: - adds r0, 0x38 - adds r0, r4 - strb r6, [r0] -_0804D7F8: - adds r4, 0x1 - adds r3, 0x1 - cmp r3, 0x5 - ble _0804D782 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - strb r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804D764 - - thumb_func_start sub_804D814 -sub_804D814: @ 804D814 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r3, 0 - cmp r3, r2 - bcs _0804D82E -_0804D820: - adds r0, r5, r3 - adds r1, r4, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, r2 - bcc _0804D820 -_0804D82E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804D814 - - thumb_func_start shedinja_maker_maybe -shedinja_maker_maybe: @ 804D834 - push {r4-r6,lr} - sub sp, 0xC - bl GetMultiplayerId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0804D858 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x69 - ldrb r0, [r0] - cmp r0, 0x15 - bls _0804D84E - b _0804DB9E -_0804D84E: - lsls r0, 2 - ldr r1, _0804D85C @ =_0804D860 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804D858: .4byte gUnknown_2031DA8 -_0804D85C: .4byte _0804D860 - .align 2, 0 -_0804D860: - .4byte _0804D8B8 - .4byte _0804D8E4 - .4byte _0804DB78 - .4byte _0804D914 - .4byte _0804D928 - .4byte _0804D960 - .4byte _0804DB78 - .4byte _0804D97C - .4byte _0804D990 - .4byte _0804D9C8 - .4byte _0804DB78 - .4byte _0804D9E4 - .4byte _0804D9F8 - .4byte _0804DA30 - .4byte _0804DB78 - .4byte _0804DA58 - .4byte _0804DA6C - .4byte _0804DAA4 - .4byte _0804DB78 - .4byte _0804DACC - .4byte _0804DAE0 - .4byte _0804DB14 -_0804D8B8: - ldr r0, _0804D8D8 @ =gBlockSendBuffer - ldr r1, _0804D8DC @ =gPlayerParty - movs r2, 0xC8 - bl sub_804D814 - ldr r3, _0804D8E0 @ =gUnknown_2031DA8 - ldr r1, [r3] - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0xA8 - strb r2, [r0] - b _0804DB9E - .align 2, 0 -_0804D8D8: .4byte gBlockSendBuffer -_0804D8DC: .4byte gPlayerParty -_0804D8E0: .4byte gUnknown_2031DA8 -_0804D8E4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0804D8F0 - b _0804DB9E -_0804D8F0: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _0804D904 - ldr r0, _0804D900 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D900: .4byte gUnknown_2031DA8 -_0804D904: - bl ResetBlockReceivedFlags - ldr r0, _0804D910 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D910: .4byte gUnknown_2031DA8 -_0804D914: - cmp r5, 0 - bne _0804D91E - movs r0, 0x1 - bl sub_800A474 -_0804D91E: - ldr r0, _0804D924 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D924: .4byte gUnknown_2031DA8 -_0804D928: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804D936 - b _0804DB9E -_0804D936: - ldr r0, _0804D954 @ =gEnemyParty - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804D958 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804D95C @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D954: .4byte gEnemyParty -_0804D958: .4byte gBlockRecvBuffer -_0804D95C: .4byte gUnknown_2031DA8 -_0804D960: - ldr r0, _0804D970 @ =gBlockSendBuffer - ldr r1, _0804D974 @ =gUnknown_202434C - movs r2, 0xC8 - bl sub_804D814 - ldr r0, _0804D978 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D970: .4byte gBlockSendBuffer -_0804D974: .4byte gUnknown_202434C -_0804D978: .4byte gUnknown_2031DA8 -_0804D97C: - cmp r5, 0 - bne _0804D986 - movs r0, 0x1 - bl sub_800A474 -_0804D986: - ldr r0, _0804D98C @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D98C: .4byte gUnknown_2031DA8 -_0804D990: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804D99E - b _0804DB9E -_0804D99E: - ldr r0, _0804D9BC @ =gUnknown_20240F4 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804D9C0 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804D9C4 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D9BC: .4byte gUnknown_20240F4 -_0804D9C0: .4byte gBlockRecvBuffer -_0804D9C4: .4byte gUnknown_2031DA8 -_0804D9C8: - ldr r0, _0804D9D8 @ =gBlockSendBuffer - ldr r1, _0804D9DC @ =gUnknown_2024414 - movs r2, 0xC8 - bl sub_804D814 - ldr r0, _0804D9E0 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D9D8: .4byte gBlockSendBuffer -_0804D9DC: .4byte gUnknown_2024414 -_0804D9E0: .4byte gUnknown_2031DA8 -_0804D9E4: - cmp r5, 0 - bne _0804D9EE - movs r0, 0x1 - bl sub_800A474 -_0804D9EE: - ldr r0, _0804D9F4 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804D9F4: .4byte gUnknown_2031DA8 -_0804D9F8: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804DA06 - b _0804DB9E -_0804DA06: - ldr r0, _0804DA24 @ =gUnknown_20241BC - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804DA28 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804DA2C @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA24: .4byte gUnknown_20241BC -_0804DA28: .4byte gBlockRecvBuffer -_0804DA2C: .4byte gUnknown_2031DA8 -_0804DA30: - ldr r0, _0804DA48 @ =gBlockSendBuffer - ldr r1, _0804DA4C @ =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, _0804DA50 @ =0x00002cd0 - adds r1, r2 - movs r2, 0xDC - bl sub_804D814 - ldr r0, _0804DA54 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA48: .4byte gBlockSendBuffer -_0804DA4C: .4byte gSaveBlock1Ptr -_0804DA50: .4byte 0x00002cd0 -_0804DA54: .4byte gUnknown_2031DA8 -_0804DA58: - cmp r5, 0 - bne _0804DA62 - movs r0, 0x3 - bl sub_800A474 -_0804DA62: - ldr r0, _0804DA68 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA68: .4byte gUnknown_2031DA8 -_0804DA6C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0804DA7A - b _0804DB9E -_0804DA7A: - ldr r0, _0804DA98 @ =gUnknown_2031CCC - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804DA9C @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xD8 - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r0, _0804DAA0 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DA98: .4byte gUnknown_2031CCC -_0804DA9C: .4byte gBlockRecvBuffer -_0804DAA0: .4byte gUnknown_2031DA8 -_0804DAA4: - ldr r0, _0804DABC @ =gBlockSendBuffer - ldr r1, _0804DAC0 @ =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, _0804DAC4 @ =0x0000309c - adds r1, r2 - movs r2, 0xB - bl sub_804D814 - ldr r0, _0804DAC8 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DABC: .4byte gBlockSendBuffer -_0804DAC0: .4byte gSaveBlock1Ptr -_0804DAC4: .4byte 0x0000309c -_0804DAC8: .4byte gUnknown_2031DA8 -_0804DACC: - cmp r5, 0 - bne _0804DAD6 - movs r0, 0x4 - bl sub_800A474 -_0804DAD6: - ldr r0, _0804DADC @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804DB96 - .align 2, 0 -_0804DADC: .4byte gUnknown_2031DA8 -_0804DAE0: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0804DB9E - ldr r4, _0804DB0C @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0xA9 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, _0804DB10 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xB - bl sub_804D814 - bl ResetBlockReceivedFlags - ldr r1, [r4] - b _0804DB96 - .align 2, 0 -_0804DB0C: .4byte gUnknown_2031DA8 -_0804DB10: .4byte gBlockRecvBuffer -_0804DB14: - ldr r4, _0804DB68 @ =gEnemyParty - ldr r6, _0804DB6C @ =0x0000012f - movs r5, 0x5 -_0804DB1A: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0804DB5A - cmp r0, r6 - bne _0804DB5A - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - beq _0804DB5A - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - ldr r1, _0804DB70 @ =gUnknown_8262034 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0804DB5A - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, _0804DB74 @ = gSpeciesNames + 0xD05 - bl SetMonData -_0804DB5A: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _0804DB1A - movs r0, 0x1 - b _0804DBA0 - .align 2, 0 -_0804DB68: .4byte gEnemyParty -_0804DB6C: .4byte 0x0000012f -_0804DB70: .4byte gUnknown_8262034 -_0804DB74: .4byte gSpeciesNames+0xD05 -_0804DB78: - ldr r2, _0804DBA8 @ =gUnknown_2031DA8 - ldr r1, [r2] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xA8 - ldrb r0, [r1] - cmp r0, 0xA - bls _0804DB9E - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] -_0804DB96: - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804DB9E: - movs r0, 0 -_0804DBA0: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0804DBA8: .4byte gUnknown_2031DA8 - thumb_func_end shedinja_maker_maybe - - thumb_func_start sub_804DBAC -sub_804DBAC: @ 804DBAC - push {lr} - ldr r0, _0804DBC8 @ =gUnknown_841E0A5 - ldr r1, _0804DBCC @ =gUnknown_2031DA8 - ldr r1, [r1] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804DBD0 @ =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_804F728 - pop {r0} - bx r0 - .align 2, 0 -_0804DBC8: .4byte gUnknown_841E0A5 -_0804DBCC: .4byte gUnknown_2031DA8 -_0804DBD0: .4byte 0x06010000 - thumb_func_end sub_804DBAC - - thumb_func_start sub_804DBD4 -sub_804DBD4: @ 804DBD4 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - movs r2, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _0804DC58 - ldr r0, _0804DBFC @ =gBlockRecvBuffer - ldrh r1, [r0] - ldr r0, _0804DC00 @ =0x0000bbbb - cmp r1, r0 - beq _0804DC38 - cmp r1, r0 - bgt _0804DC08 - ldr r0, _0804DC04 @ =0x0000aabb - cmp r1, r0 - beq _0804DC28 - b _0804DC52 - .align 2, 0 -_0804DBFC: .4byte gBlockRecvBuffer -_0804DC00: .4byte 0x0000bbbb -_0804DC04: .4byte 0x0000aabb -_0804DC08: - ldr r0, _0804DC1C @ =0x0000bbcc - cmp r1, r0 - beq _0804DC48 - ldr r0, _0804DC20 @ =0x0000eeaa - cmp r1, r0 - bne _0804DC52 - ldr r0, _0804DC24 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x78 - b _0804DC4E - .align 2, 0 -_0804DC1C: .4byte 0x0000bbcc -_0804DC20: .4byte 0x0000eeaa -_0804DC24: .4byte gUnknown_2031DA8 -_0804DC28: - ldr r0, _0804DC34 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x78 - strb r2, [r0] - b _0804DC52 - .align 2, 0 -_0804DC34: .4byte gUnknown_2031DA8 -_0804DC38: - ldr r0, _0804DC44 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x7A - strb r2, [r0] - b _0804DC52 - .align 2, 0 -_0804DC44: .4byte gUnknown_2031DA8 -_0804DC48: - ldr r0, _0804DC80 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x7A -_0804DC4E: - movs r1, 0x2 - strb r1, [r0] -_0804DC52: - movs r0, 0 - bl ResetBlockReceivedFlag -_0804DC58: - movs r2, 0x2 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _0804DCEA - ldr r3, _0804DC84 @ =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r3, r1 - ldrh r1, [r0] - ldr r0, _0804DC88 @ =0x0000bbbb - cmp r1, r0 - beq _0804DCCC - cmp r1, r0 - bgt _0804DC90 - ldr r0, _0804DC8C @ =0x0000aabb - cmp r1, r0 - beq _0804DCB0 - b _0804DCE4 - .align 2, 0 -_0804DC80: .4byte gUnknown_2031DA8 -_0804DC84: .4byte gBlockRecvBuffer -_0804DC88: .4byte 0x0000bbbb -_0804DC8C: .4byte 0x0000aabb -_0804DC90: - ldr r0, _0804DCA4 @ =0x0000bbcc - cmp r1, r0 - beq _0804DCDC - ldr r0, _0804DCA8 @ =0x0000eeaa - cmp r1, r0 - bne _0804DCE4 - ldr r0, _0804DCAC @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x79 - b _0804DCE2 - .align 2, 0 -_0804DCA4: .4byte 0x0000bbcc -_0804DCA8: .4byte 0x0000eeaa -_0804DCAC: .4byte gUnknown_2031DA8 -_0804DCB0: - ldr r2, _0804DCC8 @ =gUnknown_2031DA8 - ldr r1, [r2] - movs r4, 0x81 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - adds r0, 0x6 - adds r1, 0x7E - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x79 - b _0804DCD2 - .align 2, 0 -_0804DCC8: .4byte gUnknown_2031DA8 -_0804DCCC: - ldr r0, _0804DCD8 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x7B -_0804DCD2: - movs r1, 0x1 - strb r1, [r0] - b _0804DCE4 - .align 2, 0 -_0804DCD8: .4byte gUnknown_2031DA8 -_0804DCDC: - ldr r0, _0804DCF0 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x7B -_0804DCE2: - strb r2, [r0] -_0804DCE4: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_0804DCEA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804DCF0: .4byte gUnknown_2031DA8 - thumb_func_end sub_804DBD4 - - thumb_func_start sub_804DCF4 -sub_804DCF4: @ 804DCF4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _0804DDD6 - ldr r2, _0804DD20 @ =gBlockRecvBuffer - ldrh r1, [r2] - ldr r0, _0804DD24 @ =0x0000ddee - cmp r1, r0 - beq _0804DDC0 - cmp r1, r0 - bgt _0804DD30 - ldr r0, _0804DD28 @ =0x0000ccdd - cmp r1, r0 - beq _0804DDA0 - ldr r0, _0804DD2C @ =0x0000dddd - cmp r1, r0 - beq _0804DD6C - b _0804DDD0 - .align 2, 0 -_0804DD20: .4byte gBlockRecvBuffer -_0804DD24: .4byte 0x0000ddee -_0804DD28: .4byte 0x0000ccdd -_0804DD2C: .4byte 0x0000dddd -_0804DD30: - ldr r0, _0804DD40 @ =0x0000eebb - cmp r1, r0 - beq _0804DD44 - adds r0, 0x11 - cmp r1, r0 - beq _0804DD68 - b _0804DDD0 - .align 2, 0 -_0804DD40: .4byte 0x0000eebb -_0804DD44: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl sub_804F5BC - ldr r0, _0804DD64 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xB - b _0804DDCE - .align 2, 0 -_0804DD64: .4byte gUnknown_2031DA8 -_0804DD68: - movs r0, 0x5 - b _0804DDC2 -_0804DD6C: - ldr r4, _0804DD9C @ =gUnknown_2031DA8 - ldr r1, [r4] - ldrb r0, [r2, 0x2] - adds r0, 0x6 - adds r1, 0x7E - strb r0, [r1] - movs r0, 0 - bl rbox_fill_rectangle - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - bl sub_804EAAC - ldr r0, [r4] - adds r0, 0x7E - ldrb r0, [r0] - bl sub_804EAAC - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x7 - b _0804DDCE - .align 2, 0 -_0804DD9C: .4byte gUnknown_2031DA8 -_0804DDA0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804DDBC @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xA - b _0804DDCE - .align 2, 0 -_0804DDBC: .4byte gUnknown_2031DA8 -_0804DDC0: - movs r0, 0x1 -_0804DDC2: - bl sub_804F5BC - ldr r0, _0804DDEC @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x8 -_0804DDCE: - strb r1, [r0] -_0804DDD0: - movs r0, 0 - bl ResetBlockReceivedFlag -_0804DDD6: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0804DDE4 - movs r0, 0x1 - bl ResetBlockReceivedFlag -_0804DDE4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804DDEC: .4byte gUnknown_2031DA8 - thumb_func_end sub_804DCF4 - - thumb_func_start sub_804DDF0 -sub_804DDF0: @ 804DDF0 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _0804DE4C @ =gUnknown_2031DA8 - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x78 - ldrb r0, [r1] - cmp r0, 0 - bne _0804DE04 - b _0804DF38 -_0804DE04: - adds r0, r2, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0 - bne _0804DE10 - b _0804DF38 -_0804DE10: - ldrh r1, [r1] - ldr r0, _0804DE50 @ =0x00000101 - cmp r1, r0 - bne _0804DE58 - adds r1, r2, 0 - adds r1, 0x6F - movs r0, 0x6 - strb r0, [r1] - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x80 - movs r4, 0 - ldr r0, _0804DE54 @ =0x0000dddd - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x35 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804F488 - ldr r0, [r6] - adds r2, r0, 0 - adds r2, 0x79 - strb r4, [r2] - adds r0, 0x78 - strb r4, [r0] - b _0804DF38 - .align 2, 0 -_0804DE4C: .4byte gUnknown_2031DA8 -_0804DE50: .4byte 0x00000101 -_0804DE54: .4byte 0x0000dddd -_0804DE58: - ldr r0, _0804DEA0 @ =0x00000201 - cmp r1, r0 - bne _0804DEA8 - movs r0, 0x1 - bl sub_804F5BC - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, _0804DEA4 @ =0x0000eecc - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804F488 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x7B - strb r4, [r1] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r4, [r1] - adds r0, 0x78 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0x8 - b _0804DF36 - .align 2, 0 -_0804DEA0: .4byte 0x00000201 -_0804DEA4: .4byte 0x0000eecc -_0804DEA8: - movs r0, 0x81 - lsls r0, 1 - cmp r1, r0 - bne _0804DEF4 - movs r0, 0x5 - bl sub_804F5BC - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, _0804DEF0 @ =0x0000ddee - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804F488 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x7B - strb r4, [r1] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r4, [r1] - adds r0, 0x78 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0x8 - b _0804DF36 - .align 2, 0 -_0804DEF0: .4byte 0x0000ddee -_0804DEF4: - ldr r0, _0804DFD8 @ =0x00000202 - cmp r1, r0 - bne _0804DF38 - adds r1, r2, 0 - adds r1, 0x80 - movs r5, 0 - movs r4, 0 - ldr r0, _0804DFDC @ =0x0000eebb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x82 - strh r4, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804F488 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r5, [r1] - adds r0, 0x78 - strb r5, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0xB -_0804DF36: - strb r1, [r0] -_0804DF38: - ldr r5, _0804DFE0 @ =gUnknown_2031DA8 - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x7A - ldrb r0, [r1] - cmp r0, 0 - beq _0804DFD0 - adds r0, r3, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0 - beq _0804DFD0 - ldrh r1, [r1] - ldr r0, _0804DFE4 @ =0x00000101 - cmp r1, r0 - bne _0804DF86 - adds r1, r3, 0 - adds r1, 0x80 - movs r4, 0 - movs r2, 0 - ldr r0, _0804DFE8 @ =0x0000ccdd - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x82 - strh r2, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804F488 - ldr r0, [r5] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x6F - movs r1, 0x9 - strb r1, [r0] -_0804DF86: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7A - ldrb r0, [r0] - cmp r0, 0x2 - beq _0804DF9C - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0x2 - bne _0804DFD0 -_0804DF9C: - movs r0, 0x1 - bl sub_804F5BC - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, _0804DFEC @ =0x0000ddee - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_804F488 - ldr r0, [r5] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x6F - movs r1, 0x8 - strb r1, [r0] -_0804DFD0: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804DFD8: .4byte 0x00000202 -_0804DFDC: .4byte 0x0000eebb -_0804DFE0: .4byte gUnknown_2031DA8 -_0804DFE4: .4byte 0x00000101 -_0804DFE8: .4byte 0x0000ccdd -_0804DFEC: .4byte 0x0000ddee - thumb_func_end sub_804DDF0 - - thumb_func_start sub_804DFF0 -sub_804DFF0: @ 804DFF0 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r4, r0, 24 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0804E018 - cmp r4, 0 - bne _0804E012 - movs r0, 0 - bl sub_804DBD4 - b _0804E018 -_0804E012: - adds r0, r4, 0 - bl sub_804DCF4 -_0804E018: - cmp r4, 0 - bne _0804E020 - bl sub_804DDF0 -_0804E020: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804DFF0 - - thumb_func_start sub_804E028 -sub_804E028: @ 804E028 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r6, 0 - movs r5, 0 - ldr r2, _0804E05C @ =gUnknown_2031DA8 - ldr r3, [r2] - ldr r4, _0804E060 @ =gUnknown_8261D08 - lsls r2, r1, 1 - adds r2, r1 - lsls r2, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r3, 0x38 - adds r2, r1 - adds r2, r4 -_0804E04E: - ldrb r1, [r2] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0804E064 - adds r6, r1, 0 - b _0804E06C - .align 2, 0 -_0804E05C: .4byte gUnknown_2031DA8 -_0804E060: .4byte gUnknown_8261D08 -_0804E064: - adds r2, 0x1 - adds r5, 0x1 - cmp r5, 0x5 - ble _0804E04E -_0804E06C: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_804E028 - - thumb_func_start TradeMenuMoveCursor -TradeMenuMoveCursor: @ 804E074 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r7] - bl sub_804E028 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xC - bne _0804E0CC - ldr r5, _0804E0C4 @ =gUnknown_2031DA8 - ldr r0, [r5] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804E0C8 @ =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r2, [r5] - adds r2, 0x34 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xE0 - strh r1, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA0 - strh r1, [r0, 0x22] - b _0804E114 - .align 2, 0 -_0804E0C4: .4byte gUnknown_2031DA8 -_0804E0C8: .4byte gSprites -_0804E0CC: - ldr r4, _0804E128 @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0804E12C @ =gSprites - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - ldr r4, [r4] - adds r4, 0x34 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r2, _0804E130 @ =gTradeMonSpriteCoords - lsls r3, r6, 1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x20 - strh r0, [r1, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r2, 0x1 - adds r3, r2 - ldrb r0, [r3] - lsls r0, 3 - strh r0, [r1, 0x22] -_0804E114: - ldrb r0, [r7] - cmp r0, r6 - beq _0804E120 - movs r0, 0x5 - bl PlaySE -_0804E120: - strb r6, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804E128: .4byte gUnknown_2031DA8 -_0804E12C: .4byte gSprites -_0804E130: .4byte gTradeMonSpriteCoords - thumb_func_end TradeMenuMoveCursor - - thumb_func_start sub_804E134 -sub_804E134: @ 804E134 - push {r4,lr} - movs r0, 0 - bl sub_804F5BC - ldr r4, _0804E17C @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x5 - strb r1, [r0] - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0804E184 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x80 - ldr r0, _0804E180 @ =0x0000aabb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x35 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x80 - movs r2, 0x14 - bl SendBlock - b _0804E18C - .align 2, 0 -_0804E17C: .4byte gUnknown_2031DA8 -_0804E180: .4byte 0x0000aabb -_0804E184: - ldr r0, [r4] - adds r0, 0x78 - movs r1, 0x1 - strb r1, [r0] -_0804E18C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804E134 - - thumb_func_start sub_804E194 -sub_804E194: @ 804E194 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, _0804E1B4 @ =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0804E1BC - ldr r0, _0804E1B8 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0 - bl TradeMenuMoveCursor - b _0804E208 - .align 2, 0 -_0804E1B4: .4byte gMain -_0804E1B8: .4byte gUnknown_2031DA8 -_0804E1BC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0804E1D8 - ldr r0, _0804E1D4 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x1 - bl TradeMenuMoveCursor - b _0804E208 - .align 2, 0 -_0804E1D4: .4byte gUnknown_2031DA8 -_0804E1D8: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0804E1F4 - ldr r0, _0804E1F0 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x2 - bl TradeMenuMoveCursor - b _0804E208 - .align 2, 0 -_0804E1F0: .4byte gUnknown_2031DA8 -_0804E1F4: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804E208 - ldr r0, _0804E27C @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x3 - bl TradeMenuMoveCursor -_0804E208: - ldr r0, _0804E280 @ =gMain - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0804E2DE - movs r0, 0x5 - bl PlaySE - ldr r4, _0804E27C @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0804E288 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _0804E284 @ =gUnknown_8261EE4 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x10 - movs r3, 0x2 - bl UnionRoomAndTradeMenuPrintOptions - movs r0, 0x10 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - movs r3, 0 - bl Menu_InitCursor - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x1 - strb r1, [r0] - b _0804E2DE - .align 2, 0 -_0804E27C: .4byte gUnknown_2031DA8 -_0804E280: .4byte gMain -_0804E284: .4byte gUnknown_8261EE4 -_0804E288: - cmp r0, 0xB - bhi _0804E2A6 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x2 - strb r1, [r0] - b _0804E2DE -_0804E2A6: - cmp r0, 0xC - bne _0804E2DE - ldr r0, _0804E31C @ =gUnknown_8261FC4 - str r5, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x4 - strb r1, [r0] - ldr r0, _0804E320 @ =gUnknown_8261ECC - ldr r0, [r0, 0x10] - ldr r1, [r4] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804E324 @ =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_804F728 -_0804E2DE: - ldr r0, _0804E328 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0804E314 - movs r2, 0 - ldr r3, _0804E32C @ =gUnknown_2031DA8 -_0804E2F0: - ldr r0, [r3] - lsls r1, r2, 1 - adds r0, 0x80 - adds r0, r1 - strh r2, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _0804E2F0 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0804E32C @ =gUnknown_2031DA8 - ldr r1, [r1] - adds r1, 0x80 - movs r2, 0x14 - bl SendBlock -_0804E314: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E31C: .4byte gUnknown_8261FC4 -_0804E320: .4byte gUnknown_8261ECC -_0804E324: .4byte 0x06010000 -_0804E328: .4byte gMain -_0804E32C: .4byte gUnknown_2031DA8 - thumb_func_end sub_804E194 - - thumb_func_start sub_804E330 -sub_804E330: @ 804E330 - push {lr} - bl sub_804F3B4 - ldr r3, _0804E378 @ =gUnknown_2031DA8 - ldr r0, [r3] - adds r0, 0x6F - movs r1, 0 - strb r1, [r0] - ldr r2, _0804E37C @ =gSprites - ldr r0, [r3] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, _0804E380 @ =gUnknown_8261ECC - ldr r0, [r0, 0x4] - ldr r1, [r3] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804E384 @ =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_804F728 - pop {r0} - bx r0 - .align 2, 0 -_0804E378: .4byte gUnknown_2031DA8 -_0804E37C: .4byte gSprites -_0804E380: .4byte gUnknown_8261ECC -_0804E384: .4byte 0x06010000 - thumb_func_end sub_804E330 - - thumb_func_start sub_804E388 -sub_804E388: @ 804E388 - push {lr} - sub sp, 0x4 - bl Menu_ProcessInputNoWrapAround - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _0804E3AA - cmp r0, r1 - ble _0804E462 - cmp r0, 0 - beq _0804E3B6 - cmp r0, 0x1 - beq _0804E3D4 - b _0804E462 -_0804E3AA: - movs r0, 0x5 - bl PlaySE - bl sub_804E330 - b _0804E462 -_0804E3B6: - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0804E3D0 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x2 - b _0804E460 - .align 2, 0 -_0804E3D0: .4byte gUnknown_2031DA8 -_0804E3D4: - ldr r0, _0804E3F4 @ =gPlayerParty - ldr r1, _0804E3F8 @ =gPlayerPartyCount - ldrb r1, [r1] - ldr r2, _0804E3FC @ =gUnknown_2031DA8 - ldr r2, [r2] - adds r2, 0x35 - ldrb r2, [r2] - bl sub_804FA14 - cmp r0, 0x5 - bhi _0804E462 - lsls r0, 2 - ldr r1, _0804E400 @ =_0804E404 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804E3F4: .4byte gPlayerParty -_0804E3F8: .4byte gPlayerPartyCount -_0804E3FC: .4byte gUnknown_2031DA8 -_0804E400: .4byte _0804E404 - .align 2, 0 -_0804E404: - .4byte _0804E41C - .4byte _0804E444 - .4byte _0804E44A - .4byte _0804E450 - .4byte _0804E44A - .4byte _0804E450 -_0804E41C: - bl sub_804E134 - ldr r2, _0804E43C @ =gSprites - ldr r0, _0804E440 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _0804E460 - .align 2, 0 -_0804E43C: .4byte gSprites -_0804E440: .4byte gUnknown_2031DA8 -_0804E444: - movs r0, 0x3 - movs r1, 0x3 - b _0804E454 -_0804E44A: - movs r0, 0x3 - movs r1, 0x6 - b _0804E454 -_0804E450: - movs r0, 0x3 - movs r1, 0x7 -_0804E454: - bl sub_804F488 - ldr r0, _0804E468 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x8 -_0804E460: - strb r1, [r0] -_0804E462: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0804E468: .4byte gUnknown_2031DA8 - thumb_func_end sub_804E388 - - thumb_func_start sub_804E46C -sub_804E46C: @ 804E46C - push {lr} - ldr r0, _0804E490 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0804E482 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804E48C -_0804E482: - movs r0, 0x5 - bl PlaySE - bl sub_804E330 -_0804E48C: - pop {r0} - bx r0 - .align 2, 0 -_0804E490: .4byte gMain - thumb_func_end sub_804E46C - - thumb_func_start sub_804E494 -sub_804E494: @ 804E494 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0804E4CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E4FC - ldr r0, _0804E4D0 @ =gUnknown_2031DA8 - ldr r2, [r0] - adds r3, r2, 0 - adds r3, 0x35 - ldrb r1, [r3] - cmp r1, 0x5 - bhi _0804E4DC - ldr r0, _0804E4D4 @ =gPlayerParty - ldrb r1, [r3] - adds r2, 0x36 - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0804E4D8 @ =sub_804CF14 - movs r4, 0x4 - str r4, [sp] - bl sub_81344F8 - b _0804E4F8 - .align 2, 0 -_0804E4CC: .4byte gPaletteFade -_0804E4D0: .4byte gUnknown_2031DA8 -_0804E4D4: .4byte gPlayerParty -_0804E4D8: .4byte sub_804CF14 -_0804E4DC: - ldr r0, _0804E504 @ =gEnemyParty - subs r1, 0x6 - lsls r1, 24 - lsrs r1, 24 - adds r2, 0x37 - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0804E508 @ =sub_804CF14 - movs r4, 0x4 - str r4, [sp] - bl sub_81344F8 -_0804E4F8: - bl FreeAllWindowBuffers -_0804E4FC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E504: .4byte gEnemyParty -_0804E508: .4byte sub_804CF14 - thumb_func_end sub_804E494 - - thumb_func_start sub_804E50C -sub_804E50C: @ 804E50C - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r4, 0 - movs r3, 0 - ldr r6, _0804E588 @ =gUnknown_2031DA8 - ldr r7, _0804E58C @ =gEnemyParty - cmp r4, r1 - bge _0804E538 -_0804E524: - cmp r2, r3 - beq _0804E532 - adds r0, r5, r3 - ldrb r0, [r0] - adds r0, r4, r0 - lsls r0, 24 - lsrs r4, r0, 24 -_0804E532: - adds r3, 0x1 - cmp r3, r1 - blt _0804E524 -_0804E538: - ldr r0, [r6] - adds r0, 0x7E - ldrb r0, [r0] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0x64 - muls r0, r5 - adds r0, r7 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCD - lsls r0, 1 - cmp r1, r0 - beq _0804E564 - cmp r1, 0x97 - bne _0804E590 -_0804E564: - ldr r0, [r6] - adds r0, 0x7E - ldrb r0, [r0] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - adds r0, r7 - movs r1, 0x50 - bl GetMonData - cmp r0, 0 - bne _0804E590 - movs r0, 0x2 - b _0804E598 - .align 2, 0 -_0804E588: .4byte gUnknown_2031DA8 -_0804E58C: .4byte gEnemyParty -_0804E590: - cmp r4, 0 - beq _0804E596 - movs r4, 0x1 -_0804E596: - adds r0, r4, 0 -_0804E598: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_804E50C - - thumb_func_start sub_804E5A0 -sub_804E5A0: @ 804E5A0 - push {r4,r5,lr} - sub sp, 0xC - movs r2, 0 - ldr r0, _0804E5F4 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x36 - adds r5, r0, 0 - ldrb r0, [r3] - cmp r2, r0 - bge _0804E5CC - adds r4, r1, 0 - adds r4, 0x45 -_0804E5BA: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - ldrb r0, [r3] - cmp r2, r0 - blt _0804E5BA -_0804E5CC: - adds r4, r5, 0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x36 - ldrb r1, [r1] - adds r0, 0x35 - ldrb r2, [r0] - mov r0, sp - bl sub_804E50C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0804E61C - cmp r0, 0x1 - bgt _0804E5F8 - cmp r0, 0 - beq _0804E5FE - b _0804E668 - .align 2, 0 -_0804E5F4: .4byte gUnknown_2031DA8 -_0804E5F8: - cmp r0, 0x2 - beq _0804E650 - b _0804E668 -_0804E5FE: - movs r0, 0x3 - movs r1, 0x3 - bl sub_804F488 - ldr r0, [r4] - adds r0, 0x80 - ldr r1, _0804E618 @ =0x0000bbcc - strh r1, [r0] - movs r0, 0xB4 - movs r1, 0 - bl sub_804F488 - b _0804E668 - .align 2, 0 -_0804E618: .4byte 0x0000bbcc -_0804E61C: - movs r0, 0x3 - movs r1, 0x1 - bl sub_804F488 - ldr r0, [r4] - adds r0, 0x80 - ldr r1, _0804E64C @ =0x0000bbbb - strh r1, [r0] - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0804E668 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x80 - movs r2, 0x14 - bl SendBlock - b _0804E668 - .align 2, 0 -_0804E64C: .4byte 0x0000bbbb -_0804E650: - movs r0, 0x3 - movs r1, 0x8 - bl sub_804F488 - ldr r0, [r5] - adds r0, 0x80 - ldr r1, _0804E670 @ =0x0000bbcc - strh r1, [r0] - movs r0, 0xB4 - movs r1, 0 - bl sub_804F488 -_0804E668: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E670: .4byte 0x0000bbcc - thumb_func_end sub_804E5A0 - - thumb_func_start sub_804E674 -sub_804E674: @ 804E674 - push {r4,lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0804E696 - cmp r1, 0 - bgt _0804E690 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0804E6B0 - b _0804E6EE -_0804E690: - cmp r1, 0x1 - beq _0804E6B0 - b _0804E6EE -_0804E696: - bl sub_804E5A0 - ldr r0, _0804E6AC @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - movs r0, 0x11 - bl PutWindowTilemap - b _0804E6EE - .align 2, 0 -_0804E6AC: .4byte gUnknown_2031DA8 -_0804E6B0: - movs r0, 0x3 - movs r1, 0x1 - bl sub_804F488 - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0804E6DE - ldr r4, _0804E6F4 @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0x80 - ldr r1, _0804E6F8 @ =0x0000bbcc - strh r1, [r0] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x80 - movs r2, 0x14 - bl SendBlock -_0804E6DE: - ldr r0, _0804E6F4 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - movs r0, 0x11 - bl PutWindowTilemap -_0804E6EE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E6F4: .4byte gUnknown_2031DA8 -_0804E6F8: .4byte 0x0000bbcc - thumb_func_end sub_804E674 - - thumb_func_start sub_804E6FC -sub_804E6FC: @ 804E6FC - push {r4-r6,lr} - movs r5, 0 - ldr r0, _0804E740 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x37 - ldrb r0, [r0] - subs r0, 0x4 - cmp r5, r0 - bge _0804E738 - movs r6, 0xC0 - lsls r6, 20 -_0804E712: - lsrs r4, r6, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x80 - lsls r0, 17 - adds r6, r0 - adds r5, 0x1 - ldr r0, _0804E740 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x37 - ldrb r0, [r0] - subs r0, 0x4 - cmp r5, r0 - blt _0804E712 -_0804E738: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804E740: .4byte gUnknown_2031DA8 - thumb_func_end sub_804E6FC - - thumb_func_start sub_804E744 -sub_804E744: @ 804E744 - push {r4,r5,lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r5, r0, 24 - cmp r5, 0 - beq _0804E766 - cmp r5, 0 - bgt _0804E760 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _0804E7B8 - b _0804E7C2 -_0804E760: - cmp r5, 0x1 - beq _0804E7B8 - b _0804E7C2 -_0804E766: - movs r0, 0x4 - bl sub_804F5BC - ldr r4, _0804E7AC @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x80 - ldr r1, _0804E7B0 @ =0x0000eeaa - strh r1, [r2] - adds r0, 0x82 - strh r5, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_804F488 - ldr r2, _0804E7B4 @ =gSprites - ldr r0, [r4] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - bl sub_804E6FC - b _0804E7C2 - .align 2, 0 -_0804E7AC: .4byte gUnknown_2031DA8 -_0804E7B0: .4byte 0x0000eeaa -_0804E7B4: .4byte gSprites -_0804E7B8: - movs r0, 0x5 - bl PlaySE - bl sub_804E330 -_0804E7C2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804E744 - - thumb_func_start sub_804E7C8 -sub_804E7C8: @ 804E7C8 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0804E7F0 - movs r0, 0 - bl rbox_fill_rectangle - ldr r4, _0804E800 @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - bl sub_804EAAC - ldr r0, [r4] - adds r0, 0x7E - ldrb r0, [r0] - bl sub_804EAAC -_0804E7F0: - ldr r0, _0804E800 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x7 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E800: .4byte gUnknown_2031DA8 - thumb_func_end sub_804E7C8 - - thumb_func_start sub_804E804 -sub_804E804: @ 804E804 - push {r4,lr} - ldr r4, _0804E828 @ =gUnknown_2031DA8 - ldr r0, [r4] - adds r0, 0x74 - ldrh r1, [r0] - ldr r0, _0804E82C @ =0x00000505 - cmp r1, r0 - bne _0804E820 - bl sub_804DBAC - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xE - strb r1, [r0] -_0804E820: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E828: .4byte gUnknown_2031DA8 -_0804E82C: .4byte 0x00000505 - thumb_func_end sub_804E804 - - thumb_func_start sub_804E830 -sub_804E830: @ 804E830 - push {r4,r5,lr} - sub sp, 0xC - ldr r4, _0804E878 @ =gUnknown_2031DA8 - ldr r1, [r4] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - movs r5, 0 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x78 - bls _0804E870 - ldr r0, _0804E87C @ =gUnknown_8261FC4 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x3 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - ldr r0, [r4] - adds r0, 0xA8 - strb r5, [r0] - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x3 - strb r1, [r0] -_0804E870: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804E878: .4byte gUnknown_2031DA8 -_0804E87C: .4byte gUnknown_8261FC4 - thumb_func_end sub_804E830 - - thumb_func_start sub_804E880 -sub_804E880: @ 804E880 - push {r4-r6,lr} - ldr r0, _0804E8FC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0804E8F4 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl rbox_fill_rectangle - movs r0, 0x1 - bl rbox_fill_rectangle - movs r6, 0 - movs r5, 0xE0 - lsls r5, 20 -_0804E8A6: - lsrs r4, r5, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl rbox_fill_rectangle - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0804E8A6 - movs r0, 0 - bl sub_804F3C8 - movs r0, 0x1 - bl sub_804F3C8 - ldr r2, _0804E900 @ =gUnknown_2031DA8 - ldr r0, [r2] - adds r0, 0x6F - movs r1, 0 - strb r1, [r0] - ldr r3, _0804E904 @ =gSprites - ldr r0, [r2] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0804E8F4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804E8FC: .4byte gMain -_0804E900: .4byte gUnknown_2031DA8 -_0804E904: .4byte gSprites - thumb_func_end sub_804E880 - - thumb_func_start sub_804E908 -sub_804E908: @ 804E908 - push {lr} - ldr r0, _0804E924 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E93C - ldr r0, _0804E928 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804E92C - bl sub_800AB9C - b _0804E932 - .align 2, 0 -_0804E924: .4byte gPaletteFade -_0804E928: .4byte gWirelessCommType -_0804E92C: - movs r0, 0xC - bl sub_800AA80 -_0804E932: - ldr r0, _0804E940 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xC - strb r1, [r0] -_0804E93C: - pop {r0} - bx r0 - .align 2, 0 -_0804E940: .4byte gUnknown_2031DA8 - thumb_func_end sub_804E908 - - thumb_func_start sub_804E944 -sub_804E944: @ 804E944 - push {lr} - ldr r0, _0804E978 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0804E988 - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0804E9AA - ldr r0, _0804E97C @ =gUnknown_2031C90 - ldr r0, [r0] - bl Free - ldr r0, _0804E980 @ =gUnknown_2031DA8 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - bl DestroyWirelessStatusIndicatorSprite - ldr r0, _0804E984 @ =c2_8056854 - bl SetMainCallback2 - b _0804E9AA - .align 2, 0 -_0804E978: .4byte gWirelessCommType -_0804E97C: .4byte gUnknown_2031C90 -_0804E980: .4byte gUnknown_2031DA8 -_0804E984: .4byte c2_8056854 -_0804E988: - ldr r0, _0804E9B0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0804E9AA - ldr r0, _0804E9B4 @ =gUnknown_2031C90 - ldr r0, [r0] - bl Free - ldr r0, _0804E9B8 @ =gUnknown_2031DA8 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, _0804E9BC @ =c2_8056854 - bl SetMainCallback2 -_0804E9AA: - pop {r0} - bx r0 - .align 2, 0 -_0804E9B0: .4byte gReceivedRemoteLinkPlayers -_0804E9B4: .4byte gUnknown_2031C90 -_0804E9B8: .4byte gUnknown_2031DA8 -_0804E9BC: .4byte c2_8056854 - thumb_func_end sub_804E944 - - thumb_func_start sub_804E9C0 -sub_804E9C0: @ 804E9C0 - push {lr} - movs r0, 0 - bl sub_80FA484 - lsls r0, 24 - cmp r0, 0 - bne _0804E9DC - bl sub_800AB9C - ldr r0, _0804E9E0 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xD - strb r1, [r0] -_0804E9DC: - pop {r0} - bx r0 - .align 2, 0 -_0804E9E0: .4byte gUnknown_2031DA8 - thumb_func_end sub_804E9C0 - - thumb_func_start sub_804E9E4 -sub_804E9E4: @ 804E9E4 - push {lr} - ldr r0, _0804E9FC @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x6F - ldrb r0, [r0] - cmp r0, 0x10 - bhi _0804EAA6 - lsls r0, 2 - ldr r1, _0804EA00 @ =_0804EA04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804E9FC: .4byte gUnknown_2031DA8 -_0804EA00: .4byte _0804EA04 - .align 2, 0 -_0804EA04: - .4byte _0804EA48 - .4byte _0804EA4E - .4byte _0804EA54 - .4byte _0804EA5A - .4byte _0804EA60 - .4byte _0804EAA6 - .4byte _0804EA66 - .4byte _0804EA6C - .4byte _0804EA72 - .4byte _0804EA78 - .4byte _0804EA7E - .4byte _0804EA84 - .4byte _0804EA8A - .4byte _0804EA90 - .4byte _0804EA96 - .4byte _0804EA9C - .4byte _0804EAA2 -_0804EA48: - bl sub_804E194 - b _0804EAA6 -_0804EA4E: - bl sub_804E388 - b _0804EAA6 -_0804EA54: - bl sub_804E494 - b _0804EAA6 -_0804EA5A: - bl sub_804E674 - b _0804EAA6 -_0804EA60: - bl sub_804E744 - b _0804EAA6 -_0804EA66: - bl sub_804E7C8 - b _0804EAA6 -_0804EA6C: - bl sub_804E804 - b _0804EAA6 -_0804EA72: - bl sub_804E880 - b _0804EAA6 -_0804EA78: - bl sub_804D50C - b _0804EAA6 -_0804EA7E: - bl sub_804D548 - b _0804EAA6 -_0804EA84: - bl sub_804E908 - b _0804EAA6 -_0804EA8A: - bl sub_804E944 - b _0804EAA6 -_0804EA90: - bl sub_804D5A4 - b _0804EAA6 -_0804EA96: - bl sub_804E830 - b _0804EAA6 -_0804EA9C: - bl sub_804E46C - b _0804EAA6 -_0804EAA2: - bl sub_804E9C0 -_0804EAA6: - pop {r0} - bx r0 - thumb_func_end sub_804E9E4 - - thumb_func_start sub_804EAAC -sub_804EAAC: @ 804EAAC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, _0804EAE0 @ =gUnknown_2031DA8 - ldr r0, [r3] - adds r0, 0x74 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _0804EAD8 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x76 - adds r0, r2 - strb r4, [r0] -_0804EAD8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804EAE0: .4byte gUnknown_2031DA8 - thumb_func_end sub_804EAAC - - thumb_func_start sub_804EAE4 -sub_804EAE4: @ 804EAE4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x68 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0804EB34 @ =gUnknown_2031DA8 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x76 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp, 0x60] - cmp r0, 0x5 - bhi _0804EB0C - movs r2, 0 - str r2, [sp, 0x60] -_0804EB0C: - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - mov r8, r0 - adds r0, r4, 0 - adds r0, 0x74 - adds r3, r0, r7 - ldrb r0, [r3] - cmp r0, 0x2 - bne _0804EB2A - b _0804ECB4 -_0804EB2A: - cmp r0, 0x2 - bgt _0804EB38 - cmp r0, 0x1 - beq _0804EB46 - b _0804EE54 - .align 2, 0 -_0804EB34: .4byte gUnknown_2031DA8 -_0804EB38: - cmp r0, 0x3 - bne _0804EB3E - b _0804ECEC -_0804EB3E: - cmp r0, 0x4 - bne _0804EB44 - b _0804EE1C -_0804EB44: - b _0804EE54 -_0804EB46: - movs r5, 0 - adds r0, r4, 0 - adds r0, 0x36 - adds r0, r7 - ldr r1, [sp, 0x60] - lsls r1, 1 - mov r9, r1 - lsls r6, r7, 1 - lsls r2, r7, 4 - str r2, [sp, 0x64] - ldrb r0, [r0] - cmp r8, r0 - bcs _0804EB9A - ldr r0, _0804ECA0 @ =gSprites - mov r8, r0 - ldr r4, _0804ECA4 @ =gUnknown_2031DA8 - ldr r0, [sp, 0x60] - add r0, r9 - lsls r2, r0, 1 - movs r3, 0x4 -_0804EB6E: - ldr r0, [r4] - adds r1, r5, r2 - adds r0, 0x28 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r4] - adds r0, 0x36 - adds r0, r7 - ldrb r0, [r0] - cmp r5, r0 - bcc _0804EB6E -_0804EB9A: - movs r5, 0 - adds r0, r6, r7 - lsls r0, 1 - adds r4, r0, 0x2 -_0804EBA2: - lsls r0, r5, 24 - asrs r0, 24 - adds r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0804EBA2 - ldr r1, _0804ECA0 @ =gSprites - mov r8, r1 - ldr r2, _0804ECA4 @ =gUnknown_2031DA8 - ldr r0, [r2] - ldr r6, [sp, 0x60] - add r6, r9 - lsls r3, r6, 1 - add r10, r3 - adds r0, 0x28 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, _0804ECA4 @ =gUnknown_2031DA8 - ldr r4, [r0] - adds r4, 0x28 - add r4, r10 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - ldr r5, _0804ECA8 @ =gTradeMonSpriteCoords - lsls r6, 2 - adds r0, r6, r5 - ldrb r0, [r0] - adds r3, 0x1 - lsls r3, 1 - adds r3, r5 - ldrb r1, [r3] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - adds r5, 0x1 - adds r6, r5 - ldrb r0, [r6] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldr r1, _0804ECAC @ =SpriteCB_MonIcon - bl StoreSpriteCallbackInData6 - ldr r2, _0804ECA4 @ =gUnknown_2031DA8 - ldr r1, [r2] - adds r1, 0x74 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x28 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - bl sub_8075490 - ldr r1, _0804ECB0 @ =gUnknown_8260A32 - ldr r0, [sp, 0x64] - subs r2, r0, r7 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [sp, 0x60] - cmp r1, 0 - beq _0804EC98 - b _0804EE54 -_0804EC98: - bl sub_804F3B4 - b _0804EE54 - .align 2, 0 -_0804ECA0: .4byte gSprites -_0804ECA4: .4byte gUnknown_2031DA8 -_0804ECA8: .4byte gTradeMonSpriteCoords -_0804ECAC: .4byte SpriteCB_MonIcon -_0804ECB0: .4byte gUnknown_8260A32 -_0804ECB4: - ldr r2, _0804ECE4 @ =gSprites - ldr r1, [sp, 0x60] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r10 - adds r1, r4, 0 - adds r1, 0x28 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _0804ECE8 @ =SpriteCB_MonIcon - cmp r1, r0 - beq _0804ECDC - b _0804EE54 -_0804ECDC: - movs r0, 0x3 - strb r0, [r3] - b _0804EE54 - .align 2, 0 -_0804ECE4: .4byte gSprites -_0804ECE8: .4byte SpriteCB_MonIcon -_0804ECEC: - ldr r1, _0804EE08 @ =gUnknown_8260834 - ldr r0, [sp, 0x60] - lsls r2, r0, 4 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r6, _0804EE0C @ =gSprites - ldr r1, _0804EE10 @ =gUnknown_2031DA8 - ldr r4, [r1] - ldr r2, [sp, 0x60] - lsls r3, r2, 1 - adds r3, r2 - lsls r1, r3, 1 - mov r2, r10 - adds r0, r2, r1 - adds r4, 0x28 - adds r4, r0 - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldr r5, _0804EE14 @ =gTradeMonSpriteCoords - lsls r3, 2 - adds r0, r3, r5 - ldrb r0, [r0] - adds r1, 0x1 - lsls r1, 1 - adds r1, r5 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r5, 0x1 - adds r3, r5 - ldrb r0, [r3] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - add r0, sp, 0x14 - ldr r1, [sp, 0x60] - mov r2, r10 - bl sub_804EE6C - lsls r4, r7, 1 - adds r5, r4, 0 - adds r5, 0xE - lsls r5, 24 - lsrs r5, 24 - lsls r0, 24 - asrs r0, 24 - movs r2, 0x50 - subs r2, r0 - lsrs r0, r2, 31 - adds r2, r0 - asrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0804EE18 @ =gUnknown_8261F18 - mov r8, r0 - str r0, [sp] - movs r1, 0 - str r1, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized3 - add r6, sp, 0x28 - adds r0, r6, 0 - ldr r1, [sp, 0x60] - mov r2, r10 - bl sub_804EED4 - adds r4, 0xF - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - mov r2, r8 - str r2, [sp, 0x8] - str r1, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl AddTextPrinterParameterized4 - adds r0, r5, 0 - bl PutWindowTilemap - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0804EE10 @ =gUnknown_2031DA8 - ldr r1, [r0] - b _0804EE4A - .align 2, 0 -_0804EE08: .4byte gUnknown_8260834 -_0804EE0C: .4byte gSprites -_0804EE10: .4byte gUnknown_2031DA8 -_0804EE14: .4byte gTradeMonSpriteCoords -_0804EE18: .4byte gUnknown_8261F18 -_0804EE1C: - ldr r0, _0804EE64 @ =gUnknown_8262055 - lsls r1, r7, 1 - adds r4, r1, r0 - ldrb r2, [r4] - adds r2, 0x4 - lsls r2, 24 - lsrs r2, 24 - adds r0, 0x1 - adds r1, r0 - ldrb r3, [r1] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r1] - str r0, [sp, 0x4] - adds r0, r7, 0 - mov r1, r10 - bl sub_804F08C - ldr r2, _0804EE68 @ =gUnknown_2031DA8 - ldr r1, [r2] -_0804EE4A: - adds r1, 0x74 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0804EE54: - add sp, 0x68 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804EE64: .4byte gUnknown_8262055 -_0804EE68: .4byte gUnknown_2031DA8 - thumb_func_end sub_804EAE4 - - thumb_func_start sub_804EE6C -sub_804EE6C: @ 804EE6C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - bne _0804EE94 - movs r0, 0x64 - muls r0, r2 - ldr r1, _0804EE90 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - b _0804EEA4 - .align 2, 0 -_0804EE90: .4byte gPlayerParty -_0804EE94: - movs r0, 0x64 - muls r0, r2 - ldr r1, _0804EED0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData -_0804EEA4: - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - movs r0, 0 - movs r1, 0x2 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - adds r1, r4, 0 - bl GetStringWidth - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0804EED0: .4byte gEnemyParty - thumb_func_end sub_804EE6C - - thumb_func_start sub_804EED4 -sub_804EED4: @ 804EED4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0804EF1C @ =gUnknown_2031DA8 - ldr r1, [r0] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 1 - adds r0, r2, r0 - adds r1, 0x51 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0804EF8C - movs r4, 0 - movs r0, 0x64 - adds r5, r2, 0 - muls r5, r0 - ldr r0, _0804EF20 @ =gPlayerParty - mov r9, r0 - ldr r2, _0804EF24 @ =gEnemyParty - mov r8, r2 -_0804EF0E: - cmp r7, 0 - bne _0804EF28 - adds r1, r4, 0 - adds r1, 0xD - mov r2, r9 - b _0804EF2E - .align 2, 0 -_0804EF1C: .4byte gUnknown_2031DA8 -_0804EF20: .4byte gPlayerParty -_0804EF24: .4byte gEnemyParty -_0804EF28: - adds r1, r4, 0 - adds r1, 0xD - mov r2, r8 -_0804EF2E: - adds r0, r5, r2 - movs r2, 0 - bl GetMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0804EF0E - ldr r1, _0804EF80 @ =gUnknown_8261EB6 - adds r0, r6, 0 - bl StringCopy - movs r4, 0 -_0804EF50: - lsls r0, r4, 1 - mov r2, sp - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0804EF6C - adds r1, r0, 0 - movs r0, 0xD - muls r1, r0 - ldr r0, _0804EF84 @ =gMoveNames - adds r1, r0 - adds r0, r6, 0 - bl StringAppend -_0804EF6C: - adds r0, r6, 0 - ldr r1, _0804EF88 @ =gUnknown_8261EC7 - bl StringAppend - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _0804EF50 - b _0804EF9C - .align 2, 0 -_0804EF80: .4byte gUnknown_8261EB6 -_0804EF84: .4byte gMoveNames -_0804EF88: .4byte gUnknown_8261EC7 -_0804EF8C: - ldr r1, _0804EFAC @ =gUnknown_8261EB6 - adds r0, r6, 0 - bl StringCopy - ldr r1, _0804EFB0 @ =gUnknown_841E09F - adds r0, r6, 0 - bl StringAppend -_0804EF9C: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804EFAC: .4byte gUnknown_8261EB6 -_0804EFB0: .4byte gUnknown_841E09F - thumb_func_end sub_804EED4 - - thumb_func_start sub_804EFB4 -sub_804EFB4: @ 804EFB4 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, 0x2 - lsls r4, 24 - asrs r4, 24 - adds r4, r1 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0 - movs r0, 0 - movs r1, 0x2 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - adds r1, r6, 0 - bl GetStringWidth - movs r2, 0x40 - subs r2, r0 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0804F01C @ =gUnknown_8261F18 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized3 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804F01C: .4byte gUnknown_8261F18 - thumb_func_end sub_804EFB4 - - thumb_func_start sub_804F020 -sub_804F020: @ 804F020 - push {r4-r7,lr} - sub sp, 0x34 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, _0804F080 @ =gEnemyParty - cmp r6, 0 - bne _0804F030 - ldr r7, _0804F084 @ =gPlayerParty -_0804F030: - movs r4, 0 - ldr r0, _0804F088 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r4, r0 - bcs _0804F076 - add r5, sp, 0x14 -_0804F042: - movs r0, 0x64 - muls r0, r4 - adds r0, r7, r0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - bl StringCopy10 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_804EFB4 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0804F088 @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r4, r0 - bcc _0804F042 -_0804F076: - add sp, 0x34 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F080: .4byte gEnemyParty -_0804F084: .4byte gPlayerParty -_0804F088: .4byte gUnknown_2031DA8 - thumb_func_end sub_804F020 - - thumb_func_start sub_804F08C -sub_804F08C: @ 804F08C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _0804F0E8 @ =gUnknown_8E9F1FC - movs r0, 0x6 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - mov r0, r8 - cmp r0, 0 - bne _0804F0F0 - movs r0, 0x64 - muls r0, r7 - ldr r1, _0804F0EC @ =gPlayerParty - b _0804F0F6 - .align 2, 0 -_0804F0E8: .4byte gUnknown_8E9F1FC -_0804F0EC: .4byte gPlayerParty -_0804F0F0: - movs r0, 0x64 - muls r0, r7 - ldr r1, _0804F16C @ =gEnemyParty -_0804F0F6: - adds r0, r1 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _0804F170 @ =gUnknown_2031DA8 - ldr r5, [r4] - mov r1, r8 - lsls r2, r1, 1 - adds r1, r2, r1 - lsls r1, 1 - adds r1, r7, r1 - adds r0, r5, 0 - adds r0, 0x51 - adds r0, r1 - ldrb r0, [r0] - str r2, [sp, 0x18] - cmp r0, 0 - bne _0804F174 - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - mov r0, r10 - lsls r3, r0, 5 - cmp r2, 0 - beq _0804F148 - mov r1, r9 - adds r0, r1, r3 - lsls r0, 1 - movs r1, 0x8F - lsls r1, 4 - adds r5, r1 - adds r1, r5, r0 - adds r0, r2, 0 - adds r0, 0x60 - strh r0, [r1] -_0804F148: - ldr r4, [r4] - mov r1, r9 - adds r0, r1, r3 - adds r0, 0x1 - lsls r0, 1 - movs r3, 0x8F - lsls r3, 4 - adds r4, r3 - adds r4, r0 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x70 - strh r0, [r4] - b _0804F1B2 - .align 2, 0 -_0804F16C: .4byte gEnemyParty -_0804F170: .4byte gUnknown_2031DA8 -_0804F174: - mov r1, r10 - lsls r0, r1, 5 - mov r1, r9 - adds r3, r1, r0 - adds r1, r3, 0 - subs r1, 0x20 - lsls r1, 1 - movs r0, 0x8F - lsls r0, 4 - adds r2, r5, r0 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x21 - lsls r0, 1 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, r3, 0 - subs r1, 0x1F - lsls r1, 1 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x24 - lsls r0, 1 - adds r2, r0 - ldrh r2, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r3, 0 - orrs r0, r2 - strh r0, [r1] -_0804F1B2: - ldr r0, _0804F1D0 @ =gUnknown_2031DA8 - ldr r1, [r0] - ldr r0, [sp, 0x18] - add r0, r8 - lsls r0, 1 - adds r0, r7, r0 - adds r1, 0x51 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0804F1D4 - movs r2, 0x90 - lsls r2, 3 - b _0804F256 - .align 2, 0 -_0804F1D0: .4byte gUnknown_2031DA8 -_0804F1D4: - mov r0, r8 - cmp r0, 0 - bne _0804F200 - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _0804F1FC @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData - b _0804F21E - .align 2, 0 -_0804F1FC: .4byte gPlayerParty -_0804F200: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _0804F22C @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData -_0804F21E: - cmp r5, 0 - beq _0804F230 - cmp r5, 0xFE - beq _0804F244 - movs r2, 0x83 - b _0804F256 - .align 2, 0 -_0804F22C: .4byte gEnemyParty -_0804F230: - add r0, sp, 0xC - movs r1, 0 - bl NameHasGenderSymbol - lsls r0, 24 - movs r2, 0x83 - cmp r0, 0 - bne _0804F256 - movs r2, 0x84 - b _0804F256 -_0804F244: - add r0, sp, 0xC - movs r1, 0xFE - bl NameHasGenderSymbol - lsls r0, 24 - movs r2, 0x83 - cmp r0, 0 - bne _0804F256 - movs r2, 0x85 -_0804F256: - ldr r0, _0804F280 @ =gUnknown_2031DA8 - ldr r1, [r0] - mov r0, r10 - subs r0, 0x1 - lsls r0, 5 - add r0, r9 - adds r0, 0x1 - lsls r0, 1 - movs r3, 0x8F - lsls r3, 4 - adds r1, r3 - adds r1, r0 - strh r2, [r1] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F280: .4byte gUnknown_2031DA8 - thumb_func_end sub_804F08C - - thumb_func_start sub_804F284 -sub_804F284: @ 804F284 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r0, _0804F2DC @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - bge _0804F2D4 - lsls r0, r6, 1 - adds r0, r6 - ldr r1, _0804F2E0 @ =gUnknown_8261E5A - lsls r0, 2 - adds r5, r0, r1 - ldr r1, _0804F2E4 @ =gUnknown_8261E72 - adds r4, r0, r1 -_0804F2AA: - lsls r1, r7, 24 - lsrs r1, 24 - ldrb r2, [r5] - ldrb r3, [r5, 0x1] - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r4, 0x1] - str r0, [sp, 0x4] - adds r0, r6, 0 - bl sub_804F08C - adds r5, 0x2 - adds r4, 0x2 - adds r7, 0x1 - ldr r0, _0804F2DC @ =gUnknown_2031DA8 - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - blt _0804F2AA -_0804F2D4: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F2DC: .4byte gUnknown_2031DA8 -_0804F2E0: .4byte gUnknown_8261E5A -_0804F2E4: .4byte gUnknown_8261E72 - thumb_func_end sub_804F284 - - thumb_func_start sub_804F2E8 -sub_804F2E8: @ 804F2E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r7, 0 - ldr r3, _0804F3A8 @ =gUnknown_2031DA8 - ldr r0, [r3] - adds r0, 0x36 - add r0, r12 - ldrb r0, [r0] - cmp r7, r0 - bge _0804F39A - ldr r6, _0804F3AC @ =gSprites - mov r9, r3 - mov r1, r12 - lsls r0, r1, 1 - add r0, r12 - lsls r2, r0, 1 - mov r10, r2 - ldr r1, _0804F3B0 @ =gTradeMonSpriteCoords - movs r2, 0 - mov r8, r2 - lsls r0, 2 - adds r5, r0, r1 -_0804F320: - mov r1, r9 - ldr r0, [r1] - mov r2, r10 - adds r4, r7, r2 - adds r0, 0x28 - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - mov r0, r9 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x28 - adds r2, r4 - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5] - lsls r0, 3 - adds r0, 0xE - strh r0, [r1, 0x20] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5, 0x1] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - adds r5, 0x2 - adds r7, 0x1 - adds r3, 0x36 - add r3, r12 - ldrb r3, [r3] - cmp r7, r3 - blt _0804F320 -_0804F39A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F3A8: .4byte gUnknown_2031DA8 -_0804F3AC: .4byte gSprites -_0804F3B0: .4byte gTradeMonSpriteCoords - thumb_func_end sub_804F2E8 - - thumb_func_start sub_804F3B4 -sub_804F3B4: @ 804F3B4 - push {lr} - movs r0, 0x1 - bl rbox_fill_rectangle - movs r0, 0x1 - bl sub_804F020 - pop {r0} - bx r0 - thumb_func_end sub_804F3B4 - - thumb_func_start sub_804F3C8 -sub_804F3C8: @ 804F3C8 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0804F430 @ =gUnknown_8260A32 - lsls r2, r4, 4 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - adds r0, r4, 0 - bl sub_804F284 - adds r0, r4, 0 - bl sub_804F020 - adds r0, r4, 0 - bl sub_804F2E8 - ldr r0, _0804F434 @ =gUnknown_8261ECC - ldr r0, [r0, 0x4] - ldr r5, _0804F438 @ =gUnknown_2031DA8 - ldr r1, [r5] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, _0804F43C @ =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_804F728 - ldr r0, [r5] - adds r0, 0x74 - adds r0, r4 - strb r6, [r0] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804F430: .4byte gUnknown_8260A32 -_0804F434: .4byte gUnknown_8261ECC -_0804F438: .4byte gUnknown_2031DA8 -_0804F43C: .4byte 0x06010000 - thumb_func_end sub_804F3C8 - - thumb_func_start sub_804F440 -sub_804F440: @ 804F440 - push {lr} - sub sp, 0x8 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_804F440 - - thumb_func_start sub_804F464 -sub_804F464: @ 804F464 - push {lr} - sub sp, 0x8 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_804F464 - - thumb_func_start sub_804F488 -sub_804F488: @ 804F488 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - movs r3, 0 - ldr r4, _0804F4C8 @ =gUnknown_2031DA8 - mov r12, r4 - movs r7, 0x8D - lsls r7, 4 -_0804F49C: - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 3 - adds r2, r0, r1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r0, 0 - bne _0804F4D0 - ldr r3, _0804F4CC @ =0x000008d2 - adds r0, r2, r3 - strh r5, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strb r6, [r0] - ldr r0, [r4] - adds r0, r1 - movs r1, 0x8D - lsls r1, 4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0804F4D6 - .align 2, 0 -_0804F4C8: .4byte gUnknown_2031DA8 -_0804F4CC: .4byte 0x000008d2 -_0804F4D0: - adds r3, 0x1 - cmp r3, 0x3 - ble _0804F49C -_0804F4D6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804F488 - - thumb_func_start sub_804F4DC -sub_804F4DC: @ 804F4DC - push {r4,r5,lr} - movs r4, 0 - ldr r3, _0804F508 @ =gUnknown_2031DA8 -_0804F4E2: - ldr r0, [r3] - lsls r1, r4, 3 - adds r2, r0, r1 - movs r5, 0x8D - lsls r5, 4 - adds r0, r2, r5 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _0804F5AC - ldr r0, _0804F50C @ =0x000008d2 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0804F510 - subs r0, 0x1 - strh r0, [r1] - b _0804F5AC - .align 2, 0 -_0804F508: .4byte gUnknown_2031DA8 -_0804F50C: .4byte 0x000008d2 -_0804F510: - ldr r1, _0804F524 @ =0x000008d4 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _0804F59A - lsls r0, 2 - ldr r1, _0804F528 @ =_0804F52C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804F524: .4byte 0x000008d4 -_0804F528: .4byte _0804F52C - .align 2, 0 -_0804F52C: - .4byte _0804F550 - .4byte _0804F56C - .4byte _0804F574 - .4byte _0804F57C - .4byte _0804F57C - .4byte _0804F57C - .4byte _0804F584 - .4byte _0804F58C - .4byte _0804F594 -_0804F550: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0804F568 @ =gUnknown_2031DA8 - ldr r1, [r1] - adds r1, 0x80 - movs r2, 0x14 - bl SendBlock - b _0804F59A - .align 2, 0 -_0804F568: .4byte gUnknown_2031DA8 -_0804F56C: - movs r0, 0 - bl sub_804F5BC - b _0804F59A -_0804F574: - movs r0, 0x2 - bl sub_804F5BC - b _0804F59A -_0804F57C: - movs r0, 0x3 - bl sub_804F5BC - b _0804F59A -_0804F584: - movs r0, 0x6 - bl sub_804F5BC - b _0804F59A -_0804F58C: - movs r0, 0x7 - bl sub_804F5BC - b _0804F59A -_0804F594: - movs r0, 0x8 - bl sub_804F5BC -_0804F59A: - ldr r0, _0804F5B8 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r1, r5 - movs r2, 0x8D - lsls r2, 4 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - adds r3, r0, 0 -_0804F5AC: - adds r4, 0x1 - cmp r4, 0x3 - ble _0804F4E2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804F5B8: .4byte gUnknown_2031DA8 - thumb_func_end sub_804F4DC - - thumb_func_start sub_804F5BC -sub_804F5BC: @ 804F5BC - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _0804F60C @ =gUnknown_8261EF4 - lsls r4, 2 - adds r4, r0 - ldr r2, [r4] - movs r0, 0x2 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x3 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x14 - movs r2, 0xC - bl DrawTextBorderOuter - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804F60C: .4byte gUnknown_8261EF4 - thumb_func_end sub_804F5BC - - thumb_func_start sub_804F610 -sub_804F610: @ 804F610 - push {r4,lr} - sub sp, 0x8 - ldr r0, _0804F660 @ =gUnknown_2031DA8 - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0xA8 - ldrb r1, [r3] - adds r4, r0, 0 - cmp r1, 0xD - bhi _0804F64C - ldr r1, _0804F664 @ =gUnknown_2031C94 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp] - ldr r0, _0804F668 @ =0xffff0000 - ldr r2, [sp, 0x4] - ands r2, r0 - movs r0, 0x80 - lsls r0, 1 - orrs r2, r0 - str r2, [sp, 0x4] - ldrb r1, [r3] - adds r1, 0xC8 - lsls r1, 16 - ldr r0, _0804F66C @ =0x0000ffff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] -_0804F64C: - ldr r0, [r4] - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x11 - bhi _0804F71C - lsls r0, 2 - ldr r1, _0804F670 @ =_0804F674 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804F660: .4byte gUnknown_2031DA8 -_0804F664: .4byte gUnknown_2031C94 -_0804F668: .4byte 0xffff0000 -_0804F66C: .4byte 0x0000ffff -_0804F670: .4byte _0804F674 - .align 2, 0 -_0804F674: - .4byte _0804F6BC - .4byte _0804F6BC - .4byte _0804F6BC - .4byte _0804F6BC - .4byte _0804F6BC - .4byte _0804F6BC - .4byte _0804F6BC - .4byte _0804F6BC - .4byte _0804F6C0 - .4byte _0804F6D8 - .4byte _0804F6D8 - .4byte _0804F6D8 - .4byte _0804F6D8 - .4byte _0804F6D8 - .4byte _0804F6DC - .4byte _0804F6E8 - .4byte _0804F6F4 - .4byte _0804F710 -_0804F6BC: - mov r0, sp - b _0804F6F6 -_0804F6C0: - mov r0, sp - bl LoadSpriteSheet - ldr r1, _0804F6D4 @ =gUnknown_2031DA8 - ldr r1, [r1] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - b _0804F6FE - .align 2, 0 -_0804F6D4: .4byte gUnknown_2031DA8 -_0804F6D8: - mov r0, sp - b _0804F6F6 -_0804F6DC: - ldr r0, _0804F6E4 @ =gUnknown_8261D00 - bl LoadSpritePalette - b _0804F6FA - .align 2, 0 -_0804F6E4: .4byte gUnknown_8261D00 -_0804F6E8: - ldr r0, _0804F6F0 @ =gUnknown_8261C60 - bl LoadSpritePalette - b _0804F6FA - .align 2, 0 -_0804F6F0: .4byte gUnknown_8261C60 -_0804F6F4: - ldr r0, _0804F708 @ =gUnknown_8261C58 -_0804F6F6: - bl LoadSpriteSheet -_0804F6FA: - ldr r0, _0804F70C @ =gUnknown_2031DA8 - ldr r1, [r0] -_0804F6FE: - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0804F71C - .align 2, 0 -_0804F708: .4byte gUnknown_8261C58 -_0804F70C: .4byte gUnknown_2031DA8 -_0804F710: - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0804F71E -_0804F71C: - movs r0, 0 -_0804F71E: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_804F610 - - thumb_func_start sub_804F728 -sub_804F728: @ 804F728 - push {lr} - sub sp, 0x8 - ldr r2, _0804F744 @ =gDecompressionBuffer - str r2, [sp] - movs r2, 0x6 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_808BEB4 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0804F744: .4byte gDecompressionBuffer - thumb_func_end sub_804F728 - - thumb_func_start sub_804F748 -sub_804F748: @ 804F748 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - beq _0804F760 - cmp r0, 0x1 - beq _0804F7F4 - b _0804F880 -_0804F760: - movs r7, 0 - ldr r1, _0804F7A0 @ =gUnknown_2031DA8 - ldr r0, [r1] - adds r0, 0x36 - ldrb r0, [r0] - cmp r7, r0 - blt _0804F770 - b _0804F880 -_0804F770: - adds r6, r1, 0 - movs r5, 0 - mov r9, r5 -_0804F776: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0804F7A4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0804F7A8 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0804F7D8 - .align 2, 0 -_0804F7A0: .4byte gUnknown_2031DA8 -_0804F7A4: .4byte gPlayerParty -_0804F7A8: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0804F7C6 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0804F7D8 -_0804F7C6: - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r1, r9 -_0804F7D8: - strb r1, [r0] - ldr r0, _0804F7F0 @ =gUnknown_2031DA8 - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x36 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0804F776 - b _0804F880 - .align 2, 0 -_0804F7F0: .4byte gUnknown_2031DA8 -_0804F7F4: - movs r7, 0 - ldr r1, _0804F834 @ =gUnknown_2031DA8 - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r7, r0 - bge _0804F880 - adds r6, r1, 0 - movs r5, 0x6 - movs r2, 0 - mov r9, r2 -_0804F80A: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0804F838 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0804F83C - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0804F86C - .align 2, 0 -_0804F834: .4byte gUnknown_2031DA8 -_0804F838: .4byte gEnemyParty -_0804F83C: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0804F85A - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0804F86C -_0804F85A: - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r1, r9 -_0804F86C: - strb r1, [r0] - ldr r0, _0804F88C @ =gUnknown_2031DA8 - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x36 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0804F80A -_0804F880: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F88C: .4byte gUnknown_2031DA8 - thumb_func_end sub_804F748 - - thumb_func_start sub_804F890 -sub_804F890: @ 804F890 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0804F8A0 - cmp r0, 0x1 - beq _0804F900 - b _0804F954 -_0804F8A0: - movs r6, 0 - ldr r1, _0804F8F8 @ =gUnknown_2031DA8 - ldr r0, [r1] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804F954 - adds r7, r1, 0 -_0804F8B0: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804F8FC @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x5D - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804F8B0 - b _0804F954 - .align 2, 0 -_0804F8F8: .4byte gUnknown_2031DA8 -_0804F8FC: .4byte gPlayerParty -_0804F900: - movs r6, 0 - ldr r1, _0804F95C @ =gUnknown_2031DA8 - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bcs _0804F954 - adds r7, r1, 0 -_0804F910: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, _0804F960 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x63 - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bcc _0804F910 -_0804F954: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F95C: .4byte gUnknown_2031DA8 -_0804F960: .4byte gEnemyParty - thumb_func_end sub_804F890 - - thumb_func_start sub_804F964 -sub_804F964: @ 804F964 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 -_0804F96C: - movs r4, 0 - ldr r2, _0804F9D0 @ =gUnknown_2031DA8 - ldr r0, [r2] - adds r0, 0x36 - adds r0, r5 - adds r1, r5, 0x1 - mov r8, r1 - ldrb r0, [r0] - cmp r4, r0 - bge _0804F9BE - adds r6, r2, 0 - lsls r0, r5, 1 - adds r0, r5 - lsls r7, r0, 1 -_0804F988: - ldr r2, [r6] - adds r3, r4, r7 - adds r0, r2, 0 - adds r0, 0x28 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0804F9D4 @ =gSprites - adds r0, r1 - adds r2, 0x5D - adds r2, r3 - ldrb r2, [r2] - movs r1, 0x4 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl MonIcon_SetAnim - adds r4, 0x1 - ldr r0, [r6] - adds r0, 0x36 - adds r0, r5 - ldrb r0, [r0] - cmp r4, r0 - blt _0804F988 -_0804F9BE: - mov r5, r8 - cmp r5, 0x1 - ble _0804F96C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804F9D0: .4byte gUnknown_2031DA8 -_0804F9D4: .4byte gSprites - thumb_func_end sub_804F964 - - thumb_func_start sub_804F9D8 -sub_804F9D8: @ 804F9D8 - push {r4,r5,lr} - movs r2, 0 - ldr r5, _0804FA08 @ =gSaveBlock1Ptr - ldr r4, _0804FA0C @ =0x0000309c - ldr r3, _0804FA10 @ =gUnknown_2031DA8 -_0804F9E2: - ldr r0, [r5] - adds r0, r4 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _0804F9FC - ldr r0, [r3] - adds r0, 0xA9 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0804F9FC - strb r0, [r1] -_0804F9FC: - adds r2, 0x1 - cmp r2, 0xA - ble _0804F9E2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804FA08: .4byte gSaveBlock1Ptr -_0804FA0C: .4byte 0x0000309c -_0804FA10: .4byte gUnknown_2031DA8 - thumb_func_end sub_804F9D8 - - thumb_func_start sub_804FA14 -sub_804FA14: @ 804FA14 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - mov r8, r0 - adds r7, r1, 0 - mov r9, r2 - movs r5, 0 - cmp r5, r7 - bge _0804FA4E - mov r6, sp -_0804FA2C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - str r0, [r6, 0x18] - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - stm r6!, {r0} - adds r5, 0x1 - cmp r5, r7 - blt _0804FA2C -_0804FA4E: - bl IsNationalPokedexEnabled - mov r1, r9 - lsls r4, r1, 2 - cmp r0, 0 - bne _0804FA70 - add r0, sp, 0x18 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0x97 - ble _0804FA68 - movs r0, 0x2 - b _0804FB24 -_0804FA68: - cmp r0, 0 - bne _0804FA70 - movs r0, 0x3 - b _0804FB24 -_0804FA70: - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _0804FAB0 @ =gLinkPlayers - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0804FAB8 - ldrb r1, [r1, 0x12] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0804FAB8 - add r0, sp, 0x18 - adds r0, r4 - ldr r1, [r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _0804FAB4 - movs r0, 0x5 - b _0804FB24 - .align 2, 0 -_0804FAB0: .4byte gLinkPlayers -_0804FAB4: - cmp r1, 0x97 - bgt _0804FADE -_0804FAB8: - mov r1, sp - adds r0, r1, r4 - ldr r1, [r0] - movs r0, 0xCD - lsls r0, 1 - cmp r1, r0 - beq _0804FACA - cmp r1, 0x97 - bne _0804FAE2 -_0804FACA: - movs r0, 0x64 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0x50 - bl GetMonData - cmp r0, 0 - bne _0804FAE2 -_0804FADE: - movs r0, 0x4 - b _0804FB24 -_0804FAE2: - cmp r7, 0 - ble _0804FB00 - movs r3, 0xCE - lsls r3, 1 - movs r2, 0 - add r1, sp, 0x18 - adds r5, r7, 0 -_0804FAF0: - ldr r0, [r1] - cmp r0, r3 - bne _0804FAF8 - str r2, [r1] -_0804FAF8: - adds r1, 0x4 - subs r5, 0x1 - cmp r5, 0 - bne _0804FAF0 -_0804FB00: - movs r2, 0 - movs r5, 0 - cmp r2, r7 - bge _0804FB1A - add r1, sp, 0x18 -_0804FB0A: - cmp r5, r9 - beq _0804FB12 - ldr r0, [r1] - adds r2, r0 -_0804FB12: - adds r1, 0x4 - adds r5, 0x1 - cmp r5, r7 - blt _0804FB0A -_0804FB1A: - cmp r2, 0 - bne _0804FB22 - movs r0, 0x1 - b _0804FB24 -_0804FB22: - movs r0, 0 -_0804FB24: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_804FA14 - - thumb_func_start sub_804FB34 -sub_804FB34: @ 804FB34 - push {r4-r7,lr} - ldr r0, _0804FBB4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0804FBC0 - bl GetMultiplayerId - ldr r6, _0804FBB8 @ =gLinkPlayers - movs r7, 0x1 - eors r0, r7 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r1, [r1] - subs r0, r1, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0804FBC0 - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - movs r4, 0x2 - cmp r0, 0x1 - bhi _0804FB6E - movs r4, 0x1 -_0804FB6E: - cmp r4, 0 - ble _0804FBC0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r1, [r1, 0x12] - movs r5, 0xF0 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0804FBBC - cmp r4, 0x2 - bne _0804FBC0 - bl GetMultiplayerId - eors r0, r7 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r1, [r1, 0x12] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _0804FBC0 - movs r0, 0x2 - b _0804FBC2 - .align 2, 0 -_0804FBB4: .4byte gReceivedRemoteLinkPlayers -_0804FBB8: .4byte gLinkPlayers -_0804FBBC: - movs r0, 0x1 - b _0804FBC2 -_0804FBC0: - movs r0, 0 -_0804FBC2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_804FB34 - - thumb_func_start sub_804FBC8 -sub_804FBC8: @ 804FBC8 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xCD - lsls r0, 1 - cmp r2, r0 - beq _0804FBDE - cmp r2, 0x97 - bne _0804FBE6 -_0804FBDE: - cmp r1, 0 - bne _0804FBE6 - movs r0, 0x1 - b _0804FBE8 -_0804FBE6: - movs r0, 0 -_0804FBE8: - pop {r1} - bx r1 - thumb_func_end sub_804FBC8 - - thumb_func_start sub_804FBEC -sub_804FBEC: @ 804FBEC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - ldr r5, [sp, 0x28] - ldr r6, [sp, 0x2C] - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - lsls r2, r0, 23 - lsrs r2, 31 - mov r9, r2 - lsls r0, 24 - lsrs r4, r0, 31 - lsls r0, r1, 23 - lsrs r0, 31 - mov r10, r0 - lsls r0, r1, 24 - lsrs r0, 31 - lsls r1, 18 - lsrs r1, 28 - subs r1, 0x4 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x1 - cmp r1, 0x1 - bhi _0804FC3A - movs r2, 0 -_0804FC3A: - cmp r2, 0 - beq _0804FC4E - cmp r4, 0 - bne _0804FC46 - movs r0, 0x8 - b _0804FCCE -_0804FC46: - cmp r0, 0 - bne _0804FC4E - movs r0, 0x9 - b _0804FCCE -_0804FC4E: - adds r0, r5, 0 - adds r1, r6, 0 - str r3, [sp] - bl sub_804FBC8 - ldr r3, [sp] - cmp r0, 0 - bne _0804FCB2 - movs r0, 0xCE - lsls r0, 1 - cmp r3, r0 - bne _0804FC6E - cmp r7, r3 - beq _0804FC8C - movs r0, 0x2 - b _0804FCCE -_0804FC6E: - ldr r0, _0804FC88 @ =gBaseStats - lsls r1, r7, 3 - subs r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, r8 - beq _0804FC8C - ldrb r0, [r1, 0x7] - cmp r0, r8 - beq _0804FC8C - movs r0, 0x1 - b _0804FCCE - .align 2, 0 -_0804FC88: .4byte gBaseStats -_0804FC8C: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bne _0804FC9C - cmp r7, r3 - beq _0804FC9C - movs r0, 0x3 - b _0804FCCE -_0804FC9C: - mov r0, r9 - cmp r0, 0 - bne _0804FCBE - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bne _0804FCAE - movs r0, 0x6 - b _0804FCCE -_0804FCAE: - cmp r7, 0x97 - bls _0804FCB6 -_0804FCB2: - movs r0, 0x4 - b _0804FCCE -_0804FCB6: - cmp r3, 0x97 - bls _0804FCBE - movs r0, 0x5 - b _0804FCCE -_0804FCBE: - mov r0, r10 - cmp r0, 0 - bne _0804FCCC - cmp r7, 0x97 - bls _0804FCCC - movs r0, 0x7 - b _0804FCCE -_0804FCCC: - movs r0, 0 -_0804FCCE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_804FBEC - - thumb_func_start sub_804FCE0 -sub_804FCE0: @ 804FCE0 - push {r4-r6,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r6, r5, 0 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 23 - lsrs r4, r0, 31 - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_804FBC8 - cmp r0, 0 - bne _0804FD18 - cmp r4, 0 - bne _0804FD1C - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - bne _0804FD10 - movs r0, 0x2 - b _0804FD1E -_0804FD10: - cmp r6, 0x97 - bls _0804FD1C - cmp r6, r0 - beq _0804FD1C -_0804FD18: - movs r0, 0x1 - b _0804FD1E -_0804FD1C: - movs r0, 0 -_0804FD1E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_804FCE0 - - thumb_func_start sub_804FD24 -sub_804FD24: @ 804FD24 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0804FD40 - movs r0, 0x17 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0804FD40: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804FD24 - - thumb_func_start sub_804FD48 -sub_804FD48: @ 804FD48 - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0804FD72 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0804FD72 - movs r0, 0xBB - bl PlaySE - strh r5, [r4, 0x2E] -_0804FD72: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804FD48 - - thumb_func_start sub_804FD78 -sub_804FD78: @ 804FD78 - push {lr} - adds r2, r0, 0 - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _0804FDAE - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0804FD94 - strh r1, [r2, 0x2E] -_0804FD94: - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - ldr r1, _0804FDB4 @ =gUnknown_826CF60 - adds r0, r1 - ldrb r1, [r2, 0x5] - lsrs r1, 4 - adds r1, 0x10 - lsls r1, 4 - adds r1, 0x4 - movs r2, 0x2 - bl LoadPalette -_0804FDAE: - pop {r0} - bx r0 - .align 2, 0 -_0804FDB4: .4byte gUnknown_826CF60 - thumb_func_end sub_804FD78 - - thumb_func_start sub_804FDB8 -sub_804FDB8: @ 804FDB8 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0804FDD6 - adds r0, r2, 0 - bl DestroySprite -_0804FDD6: - pop {r0} - bx r0 - thumb_func_end sub_804FDB8 - - thumb_func_start sub_804FDDC -sub_804FDDC: @ 804FDDC - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - subs r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0804FDFA - adds r0, r2, 0 - bl DestroySprite -_0804FDFA: - pop {r0} - bx r0 - thumb_func_end sub_804FDDC - - thumb_func_start sub_804FE00 -sub_804FE00: @ 804FE00 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _0804FE1C - movs r0, 0xC5 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0804FE1C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804FE00 - - thumb_func_start sub_804FE24 -sub_804FE24: @ 804FE24 - push {r4,r5,lr} - sub sp, 0x20 - ldr r0, _0804FEB0 @ =gUnknown_2031DAC - ldr r0, [r0] - mov r12, r0 - adds r0, 0xD4 - ldrh r1, [r0] - lsls r1, 8 - adds r0, 0x2 - ldrh r2, [r0] - lsls r2, 8 - adds r0, 0x6 - movs r4, 0 - ldrsh r3, [r0, r4] - adds r0, 0x2 - movs r5, 0 - ldrsh r0, [r0, r5] - str r0, [sp] - mov r4, r12 - adds r4, 0xE8 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x8] - mov r0, r12 - adds r0, 0xEC - ldrh r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0x10 - bl DoBgAffineSet - add r0, sp, 0x10 - ldrh r1, [r0] - movs r0, 0x20 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x2] - movs r0, 0x22 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x4] - movs r0, 0x24 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x6] - movs r0, 0x26 - bl SetGpuReg - ldr r1, [sp, 0x18] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x28 - bl SetGpuReg - ldr r1, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x2C - bl SetGpuReg - add sp, 0x20 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804FEB0: .4byte gUnknown_2031DAC - thumb_func_end sub_804FE24 - - thumb_func_start sub_804FEB4 -sub_804FEB4: @ 804FEB4 - push {r4,lr} - ldr r4, _0804FEFC @ =gUnknown_2031DAC - ldr r0, [r4] - adds r0, 0xE0 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xE2 - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - cmp r1, 0 - bne _0804FF00 - ldr r0, [r4] - adds r0, 0xE4 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xE6 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - b _0804FF04 - .align 2, 0 -_0804FEFC: .4byte gUnknown_2031DAC -_0804FF00: - bl sub_804FE24 -_0804FF04: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804FEB4 - - thumb_func_start sub_804FF0C -sub_804FF0C: @ 804FF0C - push {lr} - bl sub_804FEB4 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_804FF0C - - thumb_func_start sub_804FF24 -sub_804FF24: @ 804FF24 - push {r4,lr} - ldr r3, _0804FF48 @ =gUnknown_2031DAC - ldr r1, [r3] - movs r0, 0x8A - adds r0, r1 - mov r12, r0 - movs r2, 0 - movs r0, 0 - mov r4, r12 - strh r0, [r4] - adds r1, 0x88 - strb r2, [r1] - ldr r0, [r3] - adds r0, 0x89 - strb r2, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804FF48: .4byte gUnknown_2031DAC - thumb_func_end sub_804FF24 - - thumb_func_start sub_804FF4C -sub_804FF4C: @ 804FF4C - push {r4,r5,lr} - ldr r0, _0804FF70 @ =gUnknown_2031DAC - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x88 - adds r3, r2, 0 - adds r3, 0x89 - ldrb r1, [r1] - adds r5, r0, 0 - ldrb r3, [r3] - cmp r1, r3 - bne _0804FF74 - adds r1, r2, 0 - adds r1, 0x8A - ldrh r0, [r1] - adds r0, 0x1 - b _0804FF7A - .align 2, 0 -_0804FF70: .4byte gUnknown_2031DAC -_0804FF74: - adds r1, r2, 0 - adds r1, 0x8A - movs r0, 0 -_0804FF7A: - strh r0, [r1] - adds r4, r5, 0 - ldr r0, [r4] - adds r0, 0x8A - ldrh r1, [r0] - movs r0, 0x96 - lsls r0, 1 - cmp r1, r0 - bls _0804FFAC - bl CloseLink - ldr r0, _0804FFC0 @ =CB2_LinkError - bl SetMainCallback2 - ldr r1, [r4] - adds r3, r1, 0 - adds r3, 0x8A - movs r2, 0 - movs r0, 0 - strh r0, [r3] - adds r1, 0x89 - strb r2, [r1] - ldr r0, [r4] - adds r0, 0x88 - strb r2, [r0] -_0804FFAC: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x88 - ldrb r1, [r1] - adds r0, 0x89 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804FFC0: .4byte CB2_LinkError - thumb_func_end sub_804FF4C - - thumb_func_start sub_804FFC4 -sub_804FFC4: @ 804FFC4 - push {lr} - ldr r0, _0804FFD4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0804FFD8 - movs r0, 0 - b _0804FFE0 - .align 2, 0 -_0804FFD4: .4byte gReceivedRemoteLinkPlayers -_0804FFD8: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 -_0804FFE0: - pop {r1} - bx r1 - thumb_func_end sub_804FFC4 - - thumb_func_start sub_804FFE4 -sub_804FFE4: @ 804FFE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - mov r8, r4 - cmp r6, 0 - bne _0805000A - ldr r0, _08050034 @ =gUnknown_2031DA4 - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08050038 @ =gPlayerParty - adds r1, r0 - mov r8, r1 - movs r4, 0x1 -_0805000A: - cmp r6, 0x1 - bne _08050028 - ldr r0, _08050034 @ =gUnknown_2031DA4 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0805003C @ =gEnemyParty - adds r1, r0 - mov r8, r1 - movs r4, 0x3 -_08050028: - cmp r5, 0 - beq _08050040 - cmp r5, 0x1 - beq _080500C8 - b _0805011E - .align 2, 0 -_08050034: .4byte gUnknown_2031DA4 -_08050038: .4byte gPlayerParty -_0805003C: .4byte gEnemyParty -_08050040: - mov r0, r8 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - movs r1, 0 - bl GetMonData - adds r7, r0, 0 - cmp r6, 0 - bne _0805007C - lsls r0, r5, 3 - ldr r1, _08050074 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _08050078 @ =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - adds r2, r5, 0 - adds r3, r7, 0 - bl HandleLoadSpecialPokePic - movs r4, 0 - b _0805009A - .align 2, 0 -_08050074: .4byte gMonFrontPicTable -_08050078: .4byte gMonSpritesGfxPtr -_0805007C: - lsls r0, r5, 3 - ldr r1, _080500BC @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _080500C0 @ =gMonSpritesGfxPtr - ldr r2, [r1] - lsls r4, r6, 1 - adds r1, r4, 0x1 - lsls r1, 2 - adds r2, 0x4 - adds r2, r1 - ldr r1, [r2] - adds r2, r5, 0 - adds r3, r7, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_0805009A: - mov r0, r8 - bl GetMonSpritePalStruct - bl LoadCompressedSpritePalette - ldr r0, _080500C4 @ =gUnknown_2031DAC - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF0 - adds r0, r4 - strh r5, [r0] - lsls r0, r6, 2 - adds r1, 0x68 - adds r1, r0 - str r7, [r1] - b _0805011E - .align 2, 0 -_080500BC: .4byte gMonFrontPicTable -_080500C0: .4byte gMonSpritesGfxPtr -_080500C4: .4byte gUnknown_2031DAC -_080500C8: - mov r0, r8 - bl GetMonSpritePalStruct - ldrh r0, [r0, 0x4] - adds r1, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, _08050128 @ =gMultiuseSpriteTemplate - movs r1, 0x78 - movs r2, 0x3C - movs r3, 0x6 - bl CreateSprite - ldr r4, _0805012C @ =gUnknown_2031DAC - ldr r1, [r4] - adds r1, 0x8E - adds r1, r6 - strb r0, [r1] - ldr r3, _08050130 @ =gSprites - ldr r0, [r4] - adds r0, 0x8E - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x8E - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r1, _08050134 @ =SpriteCallbackDummy - str r1, [r0] -_0805011E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08050128: .4byte gMultiuseSpriteTemplate -_0805012C: .4byte gUnknown_2031DAC -_08050130: .4byte gSprites -_08050134: .4byte SpriteCallbackDummy - thumb_func_end sub_804FFE4 - - thumb_func_start sub_8050138 -sub_8050138: @ 8050138 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _08050158 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0805014E - b _08050472 -_0805014E: - lsls r0, 2 - ldr r1, _0805015C @ =_08050160 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050158: .4byte gMain -_0805015C: .4byte _08050160 - .align 2, 0 -_08050160: - .4byte _08050194 - .4byte _08050240 - .4byte _08050288 - .4byte _080502A8 - .4byte _080502F2 - .4byte _08050320 - .4byte _08050344 - .4byte _0805035C - .4byte _08050366 - .4byte _08050380 - .4byte _0805039C - .4byte _08050430 - .4byte _0805044C -_08050194: - ldr r0, _08050228 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080501A8 - ldr r1, _0805022C @ =gLinkType - ldr r2, _08050230 @ =0x00001144 - adds r0, r2, 0 - strh r0, [r1] - bl CloseLink -_080501A8: - ldr r4, _08050234 @ =gUnknown_2031DAC - movs r0, 0x88 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - bl AllocateMonSpritesGfx - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _08050238 @ =sub_804FF0C - bl SetVBlankCallback - bl sub_80504CC - bl sub_804FF24 - ldr r1, _0805023C @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8C - strh r2, [r0] - adds r0, 0x8 - strh r2, [r0] - adds r1, 0xEE - movs r0, 0x1 - strb r0, [r1] - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0xD4 - movs r1, 0x40 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r1, r3, 0 - adds r1, 0xDC - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r1, 0xA - adds r0, 0xB0 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xEC - strh r2, [r0] - b _08050472 - .align 2, 0 -_08050228: .4byte gReceivedRemoteLinkPlayers -_0805022C: .4byte gLinkType -_08050230: .4byte 0x00001144 -_08050234: .4byte gUnknown_2031DAC -_08050238: .4byte sub_804FF0C -_0805023C: .4byte gMain -_08050240: - ldr r0, _08050270 @ =gReceivedRemoteLinkPlayers - ldrb r5, [r0] - cmp r5, 0 - bne _0805027C - ldr r4, _08050274 @ =gUnknown_2031DAC - ldr r0, [r4] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - bl OpenLink - ldr r1, _08050278 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - str r5, [r0, 0x64] - b _08050472 - .align 2, 0 -_08050270: .4byte gReceivedRemoteLinkPlayers -_08050274: .4byte gUnknown_2031DAC -_08050278: .4byte gMain -_0805027C: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x4 - strb r0, [r1] - b _08050472 -_08050288: - ldr r0, _080502A4 @ =gUnknown_2031DAC - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bhi _08050298 - b _08050472 -_08050298: - movs r0, 0 - str r0, [r1, 0x64] - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _08050440 - .align 2, 0 -_080502A4: .4byte gUnknown_2031DAC -_080502A8: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - bne _080502B4 - b _08050438 -_080502B4: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl GetSavedPlayerCount - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcc _080502EC - ldr r0, _080502E4 @ =gUnknown_2031DAC - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x1E - bhi _080502D6 - b _08050472 -_080502D6: - bl CheckShouldAdvanceLinkState - ldr r1, _080502E8 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08050440 - .align 2, 0 -_080502E4: .4byte gUnknown_2031DAC -_080502E8: .4byte gMain -_080502EC: - bl sub_804FF4C - b _08050472 -_080502F2: - bl sub_804FF4C - ldr r0, _08050318 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _08050300 - b _08050472 -_08050300: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0805030E - b _08050472 -_0805030E: - ldr r1, _0805031C @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08050440 - .align 2, 0 -_08050318: .4byte gReceivedRemoteLinkPlayers -_0805031C: .4byte gMain -_08050320: - ldr r2, _08050340 @ =gUnknown_2031DAC - ldr r0, [r2] - adds r0, 0x72 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x73 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x93 - strb r1, [r0] - movs r0, 0 - bl sub_804FFE4 - b _08050438 - .align 2, 0 -_08050340: .4byte gUnknown_2031DAC -_08050344: - movs r0, 0 - movs r1, 0x1 - bl sub_804FFE4 - ldr r1, _08050358 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08050440 - .align 2, 0 -_08050358: .4byte gMain -_0805035C: - movs r0, 0x1 - movs r1, 0 - bl sub_804FFE4 - b _08050438 -_08050366: - movs r0, 0x1 - movs r1, 0x1 - bl sub_804FFE4 - bl sub_80504B0 - ldr r1, _0805037C @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08050440 - .align 2, 0 -_0805037C: .4byte gMain -_08050380: - bl sub_8050DE0 - ldr r0, _08050394 @ =gUnknown_826CDD4 - bl LoadSpriteSheet - ldr r0, _08050398 @ =gUnknown_826CDDC - bl LoadSpritePalette - b _08050438 - .align 2, 0 -_08050394: .4byte gUnknown_826CDD4 -_08050398: .4byte gUnknown_826CDDC -_0805039C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - ldr r4, _08050418 @ =gUnknown_2031DA4 - ldrb r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r1, _0805041C @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - bl GetMonData - ldr r5, _08050420 @ =gUnknown_2031DAC - ldr r1, [r5] - adds r1, 0xF8 - strh r0, [r1] - ldrb r0, [r4, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - muls r0, r6 - ldr r1, _08050424 @ =gEnemyParty - adds r0, r1 - movs r1, 0x41 - bl GetMonData - ldr r4, [r5] - adds r1, r4, 0 - adds r1, 0xFA - strh r0, [r1] - adds r4, 0xFC - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, _08050428 @ =gLinkPlayers + 8 - adds r1, r0 - adds r0, r4, 0 - movs r2, 0x7 - bl memcpy - ldr r1, _0805042C @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08050440 - .align 2, 0 -_08050418: .4byte gUnknown_2031DA4 -_0805041C: .4byte gPlayerParty -_08050420: .4byte gUnknown_2031DAC -_08050424: .4byte gEnemyParty -_08050428: .4byte gLinkPlayers + 8 -_0805042C: .4byte gMain -_08050430: - bl sub_805049C - bl sub_8050E24 -_08050438: - ldr r1, _08050448 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_08050440: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08050472 - .align 2, 0 -_08050448: .4byte gMain -_0805044C: - ldr r0, _08050490 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08050472 - ldr r0, _08050494 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0805046C - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite -_0805046C: - ldr r0, _08050498 @ =sub_8053D84 - bl SetMainCallback2 -_08050472: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08050490: .4byte gPaletteFade -_08050494: .4byte gWirelessCommType -_08050498: .4byte sub_8053D84 - thumb_func_end sub_8050138 - - thumb_func_start sub_805049C -sub_805049C: @ 805049C - push {lr} - movs r0, 0x5 - bl sub_8050968 - movs r0, 0 - bl sub_8050968 - pop {r0} - bx r0 - thumb_func_end sub_805049C - - thumb_func_start sub_80504B0 -sub_80504B0: @ 80504B0 - push {lr} - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_80504B0 - - thumb_func_start sub_80504CC -sub_80504CC: @ 80504CC - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080505B4 @ =gUnknown_826D1D4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl DeactivateAllTextPrinters - ldr r0, _080505B8 @ =gBattleTextboxTiles - mov r10, r0 - movs r0, 0 - mov r9, r0 - str r0, [sp] - mov r1, r10 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, _080505BC @ =gFile_graphics_interface_menu_map_tilemap - mov r8, r0 - ldr r4, _080505C0 @ =gDecompressionBuffer - adds r1, r4, 0 - bl LZDecompressWram - movs r0, 0 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r6, _080505C4 @ =gBattleTextboxPalette - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, _080505C8 @ =gUnknown_826D1BC - bl InitWindows - mov r0, r9 - str r0, [sp] - movs r0, 0 - mov r1, r10 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - mov r0, r8 - adds r1, r4, 0 - bl LZDecompressWram - movs r0, 0 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080505B4: .4byte gUnknown_826D1D4 -_080505B8: .4byte gBattleTextboxTiles -_080505BC: .4byte gFile_graphics_interface_menu_map_tilemap -_080505C0: .4byte gDecompressionBuffer -_080505C4: .4byte gBattleTextboxPalette -_080505C8: .4byte gUnknown_826D1BC - thumb_func_end sub_80504CC - - thumb_func_start sub_80505CC -sub_80505CC: @ 80505CC - push {r4,r5,lr} - sub sp, 0xC - ldr r0, _080505EC @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xC - bls _080505E0 - b _0805077E -_080505E0: - lsls r0, 2 - ldr r1, _080505F0 @ =_080505F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080505EC: .4byte gMain -_080505F0: .4byte _080505F4 - .align 2, 0 -_080505F4: - .4byte _08050628 - .4byte _0805077E - .4byte _0805077E - .4byte _0805077E - .4byte _0805077E - .4byte _080506EC - .4byte _080506F6 - .4byte _08050700 - .4byte _08050710 - .4byte _08050730 - .4byte _0805074C - .4byte _08050754 - .4byte _08050778 -_08050628: - ldr r1, _080506CC @ =gUnknown_2031DA4 - ldr r0, _080506D0 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r5, 0 - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, _080506D4 @ =gLinkPlayers + 8 - ldr r0, _080506D8 @ =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - ldr r0, _080506DC @ =gEnemyParty - movs r1, 0x7 - mov r2, sp - bl GetMonData - adds r4, 0x1C - adds r0, r4, 0 - mov r1, sp - bl StringCopy - ldr r4, _080506E0 @ =gUnknown_2031DAC - movs r0, 0x88 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - bl AllocateMonSpritesGfx - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _080506E4 @ =sub_804FF0C - bl SetVBlankCallback - bl sub_80504CC - ldr r0, [r4] - adds r0, 0xEE - strb r5, [r0] - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x8C - strh r5, [r0] - adds r0, 0x8 - strh r5, [r0] - adds r0, 0x40 - movs r1, 0x40 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - adds r1, r2, 0 - adds r1, 0xDC - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r1, 0xA - adds r0, 0xB0 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xEC - strh r5, [r0] - str r5, [r2, 0x64] - ldr r0, _080506E8 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _0805077E - .align 2, 0 -_080506CC: .4byte gUnknown_2031DA4 -_080506D0: .4byte gSpecialVar_0x8005 -_080506D4: .4byte gLinkPlayers + 8 -_080506D8: .4byte gSaveBlock2Ptr -_080506DC: .4byte gEnemyParty -_080506E0: .4byte gUnknown_2031DAC -_080506E4: .4byte sub_804FF0C -_080506E8: .4byte gMain -_080506EC: - movs r0, 0 - movs r1, 0 - bl sub_804FFE4 - b _08050764 -_080506F6: - movs r0, 0 - movs r1, 0x1 - bl sub_804FFE4 - b _08050764 -_08050700: - movs r0, 0x1 - movs r1, 0 - bl sub_804FFE4 - movs r0, 0 - bl ShowBg - b _08050764 -_08050710: - movs r0, 0x1 - movs r1, 0x1 - bl sub_804FFE4 - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _08050764 -_08050730: - bl sub_8050DE0 - ldr r0, _08050744 @ =gUnknown_826CDD4 - bl LoadSpriteSheet - ldr r0, _08050748 @ =gUnknown_826CDDC - bl LoadSpritePalette - b _08050764 - .align 2, 0 -_08050744: .4byte gUnknown_826CDD4 -_08050748: .4byte gUnknown_826CDDC -_0805074C: - movs r0, 0 - bl ShowBg - b _08050764 -_08050754: - movs r0, 0x5 - bl sub_8050968 - movs r0, 0 - bl sub_8050968 - bl sub_8050E24 -_08050764: - ldr r1, _08050774 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0805077E - .align 2, 0 -_08050774: .4byte gMain -_08050778: - ldr r0, _0805079C @ =sub_8050948 - bl SetMainCallback2 -_0805077E: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805079C: .4byte sub_8050948 - thumb_func_end sub_80505CC - - thumb_func_start sub_80507A0 -sub_80507A0: @ 80507A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _080507FC @ =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080507F4 - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl HandleSetPokedexFlag -_080507F4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080507FC: .4byte gPlayerParty - thumb_func_end sub_80507A0 - - thumb_func_start sub_8050800 -sub_8050800: @ 8050800 - push {lr} - bl GetMultiplayerId - pop {r0} - bx r0 - thumb_func_end sub_8050800 - - thumb_func_start sub_805080C -sub_805080C: @ 805080C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x64 - mov r1, r9 - muls r1, r5 - ldr r0, _080508D8 @ =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r1, r4, 0 - muls r1, r5 - ldr r0, _080508DC @ =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r6, 0xFF - beq _08050866 - ldr r0, _080508E0 @ =gSaveBlock1Ptr - lsls r1, r6, 3 - adds r1, r6 - lsls r1, 2 - ldr r2, _080508E4 @ =0x00002cd0 - adds r1, r2 - ldr r0, [r0] - adds r0, r1 - bl ClearMailStruct -_08050866: - ldr r4, _080508E8 @ =gUnknown_2031DAC - ldr r0, [r4] - adds r1, r7, 0 - movs r2, 0x64 - bl memcpy - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - ldr r1, [r4] - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - movs r1, 0x46 - mov r0, sp - strb r1, [r0] - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080508A2 - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_080508A2: - mov r0, r8 - cmp r0, 0xFF - beq _080508B8 - lsls r1, r0, 3 - add r1, r8 - lsls r1, 2 - ldr r0, _080508EC @ =gUnknown_2031CCC - adds r1, r0 - adds r0, r7, 0 - bl GiveMailToMon2 -_080508B8: - mov r0, r9 - bl sub_80507A0 - ldr r0, _080508F0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080508CA - bl sub_8050800 -_080508CA: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080508D8: .4byte gPlayerParty -_080508DC: .4byte gEnemyParty -_080508E0: .4byte gSaveBlock1Ptr -_080508E4: .4byte 0x00002cd0 -_080508E8: .4byte gUnknown_2031DAC -_080508EC: .4byte gUnknown_2031CCC -_080508F0: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_805080C - - thumb_func_start sub_80508F4 -sub_80508F4: @ 80508F4 - push {r4,lr} - ldr r4, _08050908 @ =gUnknown_2031DAC - ldr r0, [r4] - adds r0, 0x93 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0805090C - cmp r0, 0x2 - beq _08050932 - b _0805093C - .align 2, 0 -_08050908: .4byte gUnknown_2031DAC -_0805090C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08050932 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x74 - movs r2, 0x14 - bl SendBlock - ldr r1, [r4] - adds r1, 0x93 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08050932: - ldr r0, _08050944 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x93 - movs r1, 0 - strb r1, [r0] -_0805093C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08050944: .4byte gUnknown_2031DAC - thumb_func_end sub_80508F4 - - thumb_func_start sub_8050948 -sub_8050948: @ 8050948 - push {lr} - bl sub_8050F14 - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8050948 - - thumb_func_start sub_8050968 -sub_8050968: @ 8050968 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _08050974 - b _08050DB4 -_08050974: - lsls r0, 2 - ldr r1, _08050980 @ =_08050984 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050980: .4byte _08050984 - .align 2, 0 -_08050984: - .4byte _080509A4 - .4byte _08050A18 - .4byte _08050AC4 - .4byte _08050B3C - .4byte _08050B84 - .4byte _08050C54 - .4byte _08050C6C - .4byte _08050D48 -_080509A4: - ldr r0, _080509FC @ =gUnknown_2031DAC - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xE4 - movs r0, 0 - strh r0, [r2] - adds r1, 0xE6 - movs r0, 0xB4 - strh r0, [r1] - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, _08050A00 @ =0x00005206 - movs r0, 0xC - bl SetGpuReg - ldr r0, _08050A04 @ =gTradeGba2_Pal - movs r1, 0x10 - movs r2, 0x60 - bl LoadPalette - ldr r3, _08050A08 @ =gTradeGba_Gfx - ldr r4, _08050A0C @ =0x06004000 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, _08050A10 @ =0x040000d4 - ldr r6, _08050A14 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_080509E6: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _080509E6 - b _08050D98 - .align 2, 0 -_080509FC: .4byte gUnknown_2031DAC -_08050A00: .4byte 0x00005206 -_08050A04: .4byte gTradeGba2_Pal -_08050A08: .4byte gTradeGba_Gfx -_08050A0C: .4byte 0x06004000 -_08050A10: .4byte 0x040000d4 -_08050A14: .4byte 0x80000800 -_08050A18: - ldr r4, _08050A54 @ =gUnknown_2031DAC - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xE2 - movs r0, 0 - strh r0, [r1] - adds r2, 0xE0 - movs r1, 0xAE - lsls r1, 1 - strh r1, [r2] - movs r0, 0x16 - bl SetGpuReg - ldr r1, _08050A58 @ =0x00008502 - movs r0, 0xA - bl SetGpuReg - ldr r1, _08050A5C @ =0x00009206 - movs r0, 0xC - bl SetGpuReg - ldr r0, [r4] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08050A64 - ldr r1, _08050A60 @ =gUnknown_826AA5C - b _08050A66 - .align 2, 0 -_08050A54: .4byte gUnknown_2031DAC -_08050A58: .4byte 0x00008502 -_08050A5C: .4byte 0x00009206 -_08050A60: .4byte gUnknown_826AA5C -_08050A64: - ldr r1, _08050AB0 @ =gUnknown_8269A5C -_08050A66: - ldr r2, _08050AB4 @ =0x06002800 - ldr r0, _08050AB8 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08050ABC @ =0x80000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r3, _08050AC0 @ =gTradeGba_Gfx - movs r4, 0xC0 - lsls r4, 19 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, _08050AB8 @ =0x040000d4 - ldr r6, _08050ABC @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_08050A8A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _08050A8A - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r1, 0x92 - lsls r1, 5 - b _08050B64 - .align 2, 0 -_08050AB0: .4byte gUnknown_8269A5C -_08050AB4: .4byte 0x06002800 -_08050AB8: .4byte 0x040000d4 -_08050ABC: .4byte 0x80000800 -_08050AC0: .4byte gTradeGba_Gfx -_08050AC4: - ldr r0, _08050AF4 @ =gUnknown_2031DAC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xE0 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - movs r1, 0x84 - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08050B04 - ldr r1, _08050AF8 @ =0x00001241 - movs r0, 0 - bl SetGpuReg - ldr r0, _08050AFC @ =gUnknown_3379A0Bin - ldr r1, _08050B00 @ =0x06002800 - bl LZ77UnCompVram - movs r0, 0x8 - b _08050B1E - .align 2, 0 -_08050AF4: .4byte gUnknown_2031DAC -_08050AF8: .4byte 0x00001241 -_08050AFC: .4byte gUnknown_3379A0Bin -_08050B00: .4byte 0x06002800 -_08050B04: - ldr r1, _08050B28 @ =0x00001241 - movs r0, 0 - bl SetGpuReg - ldr r1, _08050B2C @ =gUnknown_826407C - ldr r2, _08050B30 @ =0x06002800 - ldr r0, _08050B34 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08050B38 @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0x1 -_08050B1E: - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _08050DB4 - .align 2, 0 -_08050B28: .4byte 0x00001241 -_08050B2C: .4byte gUnknown_826407C -_08050B30: .4byte 0x06002800 -_08050B34: .4byte 0x040000d4 -_08050B38: .4byte 0x80000400 -_08050B3C: - ldr r0, _08050B6C @ =gUnknown_826BF5C - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08050B70 @ =gWirelessSignal4bpp - ldr r1, _08050B74 @ =0x06004000 - bl LZ77UnCompVram - ldr r0, _08050B78 @ =gUnknown_826C60C - ldr r1, _08050B7C @ =0x06009000 - bl LZ77UnCompVram - ldr r0, _08050B80 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0xE4 - movs r1, 0x50 - strh r1, [r0] - movs r1, 0xB2 - lsls r1, 5 -_08050B64: - movs r0, 0 - bl SetGpuReg - b _08050DB4 - .align 2, 0 -_08050B6C: .4byte gUnknown_826BF5C -_08050B70: .4byte gWirelessSignal4bpp -_08050B74: .4byte 0x06004000 -_08050B78: .4byte gUnknown_826C60C -_08050B7C: .4byte 0x06009000 -_08050B80: .4byte gUnknown_2031DAC -_08050B84: - ldr r1, _08050C0C @ =0x00001441 - movs r0, 0 - bl SetGpuReg - ldr r1, _08050C10 @ =0x00001287 - movs r0, 0xC - bl SetGpuReg - ldr r0, _08050C14 @ =gUnknown_2031DAC - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0xD4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5C - strh r0, [r1] - adds r1, 0x12 - movs r0, 0x20 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xEC - strh r2, [r0] - ldr r3, _08050C18 @ =gUnknown_826701C - ldr r4, _08050C1C @ =0x06004000 - movs r5, 0xA1 - lsls r5, 6 - ldr r1, _08050C20 @ =0x040000d4 - ldr r6, _08050C24 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_08050BD0: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _08050BD0 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, _08050C14 @ =gUnknown_2031DAC - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08050C34 - ldr r1, _08050C28 @ =gUnknown_826985C - ldr r2, _08050C2C @ =0x06009000 - ldr r0, _08050C20 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08050C30 @ =0x80000080 - b _08050DB0 - .align 2, 0 -_08050C0C: .4byte 0x00001441 -_08050C10: .4byte 0x00001287 -_08050C14: .4byte gUnknown_2031DAC -_08050C18: .4byte gUnknown_826701C -_08050C1C: .4byte 0x06004000 -_08050C20: .4byte 0x040000d4 -_08050C24: .4byte 0x80000800 -_08050C28: .4byte gUnknown_826985C -_08050C2C: .4byte 0x06009000 -_08050C30: .4byte 0x80000080 -_08050C34: - ldr r1, _08050C44 @ =gUnknown_826995C - ldr r2, _08050C48 @ =0x06009000 - ldr r0, _08050C4C @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08050C50 @ =0x80000080 - b _08050DB0 - .align 2, 0 -_08050C44: .4byte gUnknown_826995C -_08050C48: .4byte 0x06009000 -_08050C4C: .4byte 0x040000d4 -_08050C50: .4byte 0x80000080 -_08050C54: - ldr r0, _08050C68 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xE0 - movs r2, 0 - strh r2, [r1] - adds r0, 0xE2 - strh r2, [r0] - b _08050DB4 - .align 2, 0 -_08050C68: .4byte gUnknown_2031DAC -_08050C6C: - ldr r1, _08050D00 @ =0x00001441 - movs r0, 0 - bl SetGpuReg - ldr r1, _08050D04 @ =0x00001287 - movs r0, 0xC - bl SetGpuReg - ldr r0, _08050D08 @ =gUnknown_2031DAC - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0xD4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5C - strh r0, [r1] - adds r1, 0x12 - adds r0, 0xA4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0xE - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xEC - strh r2, [r0] - ldr r3, _08050D0C @ =gUnknown_826701C - ldr r4, _08050D10 @ =0x06004000 - movs r5, 0xA1 - lsls r5, 6 - ldr r1, _08050D14 @ =0x040000d4 - ldr r6, _08050D18 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_08050CC2: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _08050CC2 - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, _08050D08 @ =gUnknown_2031DAC - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08050D28 - ldr r1, _08050D1C @ =gUnknown_826985C - ldr r2, _08050D20 @ =0x06009000 - ldr r0, _08050D14 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08050D24 @ =0x80000080 - b _08050DB0 - .align 2, 0 -_08050D00: .4byte 0x00001441 -_08050D04: .4byte 0x00001287 -_08050D08: .4byte gUnknown_2031DAC -_08050D0C: .4byte gUnknown_826701C -_08050D10: .4byte 0x06004000 -_08050D14: .4byte 0x040000d4 -_08050D18: .4byte 0x80000800 -_08050D1C: .4byte gUnknown_826985C -_08050D20: .4byte 0x06009000 -_08050D24: .4byte 0x80000080 -_08050D28: - ldr r1, _08050D38 @ =gUnknown_826995C - ldr r2, _08050D3C @ =0x06009000 - ldr r0, _08050D40 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08050D44 @ =0x80000080 - b _08050DB0 - .align 2, 0 -_08050D38: .4byte gUnknown_826995C -_08050D3C: .4byte 0x06009000 -_08050D40: .4byte 0x040000d4 -_08050D44: .4byte 0x80000080 -_08050D48: - ldr r0, _08050DBC @ =gUnknown_2031DAC - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xE4 - movs r2, 0 - strh r2, [r1] - adds r0, 0xE6 - strh r2, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r1, _08050DC0 @ =0x00005206 - movs r0, 0xC - bl SetGpuReg - ldr r0, _08050DC4 @ =gTradeGba2_Pal - movs r1, 0x10 - movs r2, 0x60 - bl LoadPalette - ldr r3, _08050DC8 @ =gTradeGba_Gfx - ldr r4, _08050DCC @ =0x06004000 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, _08050DD0 @ =0x040000d4 - ldr r6, _08050DD4 @ =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_08050D86: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _08050D86 -_08050D98: - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, _08050DD8 @ =gUnknown_826601C - ldr r2, _08050DDC @ =0x06009000 - ldr r0, _08050DD0 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08050DD4 @ =0x80000800 -_08050DB0: - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] -_08050DB4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08050DBC: .4byte gUnknown_2031DAC -_08050DC0: .4byte 0x00005206 -_08050DC4: .4byte gTradeGba2_Pal -_08050DC8: .4byte gTradeGba_Gfx -_08050DCC: .4byte 0x06004000 -_08050DD0: .4byte 0x040000d4 -_08050DD4: .4byte 0x80000800 -_08050DD8: .4byte gUnknown_826601C -_08050DDC: .4byte 0x06009000 - thumb_func_end sub_8050968 - - thumb_func_start sub_8050DE0 -sub_8050DE0: @ 8050DE0 - push {lr} - ldr r0, _08050E0C @ =gUnknown_826CE2C - bl LoadSpriteSheet - ldr r0, _08050E10 @ =gUnknown_826CE7C - bl LoadSpriteSheet - ldr r0, _08050E14 @ =gUnknown_826CEB0 - bl LoadSpriteSheet - ldr r0, _08050E18 @ =gUnknown_826CF28 - bl LoadSpriteSheet - ldr r0, _08050E1C @ =gUnknown_826CE34 - bl LoadSpritePalette - ldr r0, _08050E20 @ =gUnknown_826CE3C - bl LoadSpritePalette - pop {r0} - bx r0 - .align 2, 0 -_08050E0C: .4byte gUnknown_826CE2C -_08050E10: .4byte gUnknown_826CE7C -_08050E14: .4byte gUnknown_826CEB0 -_08050E18: .4byte gUnknown_826CF28 -_08050E1C: .4byte gUnknown_826CE34 -_08050E20: .4byte gUnknown_826CE3C - thumb_func_end sub_8050DE0 - - thumb_func_start sub_8050E24 -sub_8050E24: @ 8050E24 - push {r4,r5,lr} - sub sp, 0x14 - ldr r0, _08050E94 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _08050EB4 - bl GetMultiplayerId - lsls r0, 24 - ldr r3, _08050E98 @ =gStringVar1 - movs r2, 0x80 - lsls r2, 17 - eors r2, r0 - lsrs r2, 24 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, _08050E9C @ =gLinkPlayers + 8 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - ldr r5, _08050EA0 @ =gUnknown_2031DA4 - ldrb r0, [r5, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x64 - muls r0, r4 - ldr r1, _08050EA4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _08050EA8 @ =gStringVar3 - mov r1, sp - bl StringCopy10 - ldrb r0, [r5] - muls r0, r4 - ldr r1, _08050EAC @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _08050EB0 @ =gStringVar2 - mov r1, sp - bl StringCopy10 - b _08050EF0 - .align 2, 0 -_08050E94: .4byte gUnknown_2031DAC -_08050E98: .4byte gStringVar1 -_08050E9C: .4byte gLinkPlayers + 8 -_08050EA0: .4byte gUnknown_2031DA4 -_08050EA4: .4byte gEnemyParty -_08050EA8: .4byte gStringVar3 -_08050EAC: .4byte gPlayerParty -_08050EB0: .4byte gStringVar2 -_08050EB4: - ldr r0, _08050EF8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _08050EFC @ =gIngameTrades - adds r4, r0 - ldr r0, _08050F00 @ =gStringVar1 - adds r1, r4, 0 - adds r1, 0x2B - bl StringCopy - ldr r0, _08050F04 @ =gStringVar3 - adds r1, r4, 0 - bl StringCopy10 - ldr r0, _08050F08 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08050F0C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _08050F10 @ =gStringVar2 - mov r1, sp - bl StringCopy10 -_08050EF0: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08050EF8: .4byte gSpecialVar_0x8004 -_08050EFC: .4byte gIngameTrades -_08050F00: .4byte gStringVar1 -_08050F04: .4byte gStringVar3 -_08050F08: .4byte gSpecialVar_0x8005 -_08050F0C: .4byte gPlayerParty -_08050F10: .4byte gStringVar2 - thumb_func_end sub_8050E24 - - thumb_func_start sub_8050F14 -sub_8050F14: @ 8050F14 - push {lr} - ldr r0, _08050F2C @ =gUnknown_2031DAC - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08050F30 - bl sub_805232C - b _08050F34 - .align 2, 0 -_08050F2C: .4byte gUnknown_2031DAC -_08050F30: - bl sub_8050F3C -_08050F34: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8050F14 - - thumb_func_start sub_8050F3C -sub_8050F3C: @ 8050F3C - push {r4-r7,lr} - sub sp, 0x10 - ldr r0, _08050F60 @ =gUnknown_2031DAC - ldr r1, [r0] - adds r1, 0x94 - ldrh r5, [r1] - ldr r1, _08050F64 @ =0x0000010b - adds r7, r0, 0 - cmp r5, r1 - bls _08050F54 - bl _08052318 -_08050F54: - lsls r0, r5, 2 - ldr r1, _08050F68 @ =_08050F6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050F60: .4byte gUnknown_2031DAC -_08050F64: .4byte 0x0000010b -_08050F68: .4byte _08050F6C - .align 2, 0 -_08050F6C: - .4byte _0805139C - .4byte _08051414 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08051470 - .4byte _080514B8 - .4byte _0805152C - .4byte _08052318 - .4byte _08051598 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _080515BC - .4byte _080515EC - .4byte _080515FE - .4byte _08051620 - .4byte _08051668 - .4byte _08051698 - .4byte _080516E0 - .4byte _08051730 - .4byte _08051784 - .4byte _08051808 - .4byte _0805182C - .4byte _08051878 - .4byte _080518C4 - .4byte _08051920 - .4byte _08051980 - .4byte _08051994 - .4byte _080519A8 - .4byte _080519BC - .4byte _08051AE4 - .4byte _08051BB4 - .4byte _08051C3C - .4byte _08051CB4 - .4byte _08051CC4 - .4byte _08051CE4 - .4byte _08051D34 - .4byte _08051D52 - .4byte _08051D90 - .4byte _08051DA0 - .4byte _08051E1C - .4byte _08052318 - .4byte _08051E44 - .4byte _08051E84 - .4byte _08051EC4 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08051EE4 - .4byte _08051F0C - .4byte _08051F28 - .4byte _08051F48 - .4byte _08051FF0 - .4byte _08052024 - .4byte _08052070 - .4byte _08052128 - .4byte _080521B4 - .4byte _08052200 - .4byte _08052210 - .4byte _08052216 - .4byte _0805223C - .4byte _08052298 - .4byte _080522BC - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052160 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _080517B0 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052318 - .4byte _08052198 -_0805139C: - ldr r3, _08051408 @ =gSprites - ldr r0, [r7] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _0805140C @ =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, _08051410 @ =gMonFrontPicCoords - adds r0, r4, 0 - adds r0, 0xF0 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r7] - adds r1, 0xF4 - strh r0, [r1] - movs r0, 0x84 - lsls r0, 1 - bl PlayNewMapMusic - bl _08052318 - .align 2, 0 -_08051408: .4byte gSprites -_0805140C: .4byte 0x0000ff4c -_08051410: .4byte gMonFrontPicCoords -_08051414: - ldr r5, [r7] - adds r6, r5, 0 - adds r6, 0xE6 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - ble _08051448 - ldr r2, _08051444 @ =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r6] - subs r0, 0x3 - strh r0, [r6] - bl _08052318 - .align 2, 0 -_08051444: .4byte gSprites -_08051448: - ldr r2, _0805146C @ =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r6] - adds r1, r5, 0 - adds r1, 0x94 - movs r0, 0xA - strh r0, [r1] - bl _08052318 - .align 2, 0 -_0805146C: .4byte gSprites -_08051470: - ldr r4, _080514AC @ =gStringVar4 - ldr r1, _080514B0 @ =gUnknown_841E1E9 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - ldr r4, _080514B4 @ =gUnknown_2031DAC - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xF0 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0805149E - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_0805149E: - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xB - bl _0805218E - .align 2, 0 -_080514AC: .4byte gStringVar4 -_080514B0: .4byte gUnknown_841E1E9 -_080514B4: .4byte gUnknown_2031DAC -_080514B8: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x50 - beq _080514C8 - bl _08052318 -_080514C8: - adds r0, r1, 0 - adds r0, 0x8E - ldrb r0, [r0] - ldr r2, _0805151C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _08051520 @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_804BB98 - ldr r1, [r7] - adds r1, 0xD2 - strb r0, [r1] - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, _08051524 @ =gStringVar4 - ldr r1, _08051528 @ =gUnknown_841E200 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - bl _08052318 - .align 2, 0 -_0805151C: .4byte gSprites -_08051520: .4byte 0x000fffff -_08051524: .4byte gStringVar4 -_08051528: .4byte gUnknown_841E200 -_0805152C: - ldr r5, _08051588 @ =gSprites - ldr r0, [r7] - adds r0, 0xD2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r5, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, _0805158C @ =SpriteCallbackDummy - cmp r1, r0 - beq _0805154C - bl _08052318 -_0805154C: - ldr r0, _08051590 @ =gUnknown_826CDE4 - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0xD3 - strb r0, [r1] - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08051594 @ =sub_8053938 - str r1, [r0] - adds r2, 0xD2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r1, [r7] - bl _080522AC - .align 2, 0 -_08051588: .4byte gSprites -_0805158C: .4byte SpriteCallbackDummy -_08051590: .4byte gUnknown_826CDE4 -_08051594: .4byte sub_8053938 -_08051598: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080515B8 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x14 - strh r1, [r0] - bl _08052318 - .align 2, 0 -_080515B8: .4byte gUnknown_2031DAC -_080515BC: - ldr r0, _080515E8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080515CC - bl _08052318 -_080515CC: - movs r0, 0x4 - bl sub_8050968 - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - bl _080522A8 - .align 2, 0 -_080515E8: .4byte gPaletteFade -_080515EC: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _080522A4 -_080515FE: - ldr r0, _0805161C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805160E - bl _08052318 -_0805160E: - ldr r0, [r7] - adds r0, 0x94 - movs r1, 0x17 - strh r1, [r0] - bl _08052318 - .align 2, 0 -_0805161C: .4byte gPaletteFade -_08051620: - ldr r4, _0805163C @ =gUnknown_2031DAC - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xEA - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _08051640 - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _0805165C - .align 2, 0 -_0805163C: .4byte gUnknown_2031DAC -_08051640: - movs r0, 0x1 - bl sub_8050968 - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0xEA - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0x56 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r2, [r3, 0x64] -_0805165C: - ldr r0, _08051664 @ =gUnknown_2031DAC - ldr r4, [r0] - bl _08051EB0 - .align 2, 0 -_08051664: .4byte gUnknown_2031DAC -_08051668: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x14 - bhi _08051678 - bl _08052318 -_08051678: - bl sub_804FE24 - ldr r0, _08051694 @ =gUnknown_826CF30 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r7] - bl _080522AC - .align 2, 0 -_08051694: .4byte gUnknown_826CF30 -_08051698: - ldr r2, _080516D8 @ =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _080516B8 - bl _08052318 -_080516B8: - adds r0, r1, 0 - bl DestroySprite - movs r1, 0xC8 - lsls r1, 3 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _080516DC @ =0x0000040c - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r7] - bl _080522AC - .align 2, 0 -_080516D8: .4byte gSprites -_080516DC: .4byte 0x0000040c -_080516E0: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - bne _08051700 - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08051700: - ldr r0, [r7] - adds r0, 0xE0 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _08051714 - bl _08052318 -_08051714: - ldr r0, _0805172C @ =gUnknown_826CEB8 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x92 - strb r0, [r1] - bl _08052318 - .align 2, 0 -_0805172C: .4byte gUnknown_826CEB8 -_08051730: - ldr r0, _08051774 @ =gUnknown_826CE44 - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, _08051778 @ =gUnknown_2031DAC - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - ldr r0, _0805177C @ =gUnknown_826CE84 - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08051780 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _080522AC - .align 2, 0 -_08051774: .4byte gUnknown_826CE44 -_08051778: .4byte gUnknown_2031DAC -_0805177C: .4byte gUnknown_826CE84 -_08051780: .4byte gSprites -_08051784: - ldr r2, [r7] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - subs r0, 0x2 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _0805179E - subs r1, 0x4C - movs r0, 0xC8 - strh r0, [r1] -_0805179E: - ldr r1, _080517AC @ =0x00001241 - movs r0, 0 - bl SetGpuReg - bl _08052318 - .align 2, 0 -_080517AC: .4byte 0x00001241 -_080517B0: - ldr r2, _08051804 @ =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x22 - ldrsh r1, [r0, r3] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _080517F6 - bl _08052318 -_080517F6: - adds r1, r4, 0 - adds r1, 0x94 - movs r0, 0x1D - strh r0, [r1] - bl _08052318 - .align 2, 0 -_08051804: .4byte gSprites -_08051808: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08051828 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1E - strh r1, [r0] - bl _08052318 - .align 2, 0 -_08051828: .4byte gUnknown_2031DAC -_0805182C: - ldr r0, _08051870 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805183C - bl _08052318 -_0805183C: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08051874 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_8050968 - ldr r1, [r7] - bl _080522AC - .align 2, 0 -_08051870: .4byte gPaletteFade -_08051874: .4byte gSprites -_08051878: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, _080518BC @ =gUnknown_826CE84 - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, _080518C0 @ =gUnknown_2031DAC - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r4] - bl _080522AC - .align 2, 0 -_080518BC: .4byte gUnknown_826CE84 -_080518C0: .4byte gUnknown_2031DAC -_080518C4: - ldr r0, _08051914 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080518E2 - movs r0, 0x28 - bl PlaySE - ldr r0, _08051918 @ =gUnknown_2031DAC - ldr r1, [r0] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080518E2: - ldr r3, _0805191C @ =gSprites - ldr r0, _08051918 @ =gUnknown_2031DAC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _08052318 - .align 2, 0 -_08051914: .4byte gPaletteFade -_08051918: .4byte gUnknown_2031DAC -_0805191C: .4byte gSprites -_08051920: - ldr r5, _0805197C @ =gSprites - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x90 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0x91 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r0, 0x26 - ldrsh r1, [r3, r0] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _08051966 - bl _08052318 -_08051966: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - bl _080522AC - .align 2, 0 -_0805197C: .4byte gSprites -_08051980: - ldr r2, _08051990 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _080522A8 - .align 2, 0 -_08051990: .4byte 0x0000ffff -_08051994: - ldr r2, _080519A4 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - bl _080522A8 - .align 2, 0 -_080519A4: .4byte 0x0000ffff -_080519A8: - ldr r2, _080519B8 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _080522A8 - .align 2, 0 -_080519B8: .4byte 0x0000ffff -_080519BC: - ldr r5, _08051A28 @ =gUnknown_2031DAC - ldr r0, [r5] - adds r0, 0xF0 - ldrh r0, [r0] - bl IsPokeSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _08051A34 - ldr r4, _08051A2C @ =gSprites - ldr r2, [r5] - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, _08051A30 @ =gUnknown_826CF88 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _08051A4A - .align 2, 0 -_08051A28: .4byte gUnknown_2031DAC -_08051A2C: .4byte gSprites -_08051A30: .4byte gUnknown_826CF88 -_08051A34: - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08051AD8 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_08051A4A: - ldr r5, _08051ADC @ =gUnknown_2031DAC - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08051AD8 @ =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3C - strh r1, [r0, 0x20] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB4 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08051AE0 @ =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r1, [r5] - bl _080522AC - .align 2, 0 -_08051AD8: .4byte gSprites -_08051ADC: .4byte gUnknown_2031DAC -_08051AE0: .4byte 0x0000ffe0 -_08051AE4: - ldr r4, _08051BAC @ =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _08051B2C - movs r0, 0x27 - bl PlaySE -_08051B2C: - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _08051B4C - bl _08052318 -_08051B4C: - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r2, _08051BB0 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - b _08052318 - .align 2, 0 -_08051BAC: .4byte gSprites -_08051BB0: .4byte 0x0000ffff -_08051BB4: - ldr r4, _08051C38 @ =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _08051BF6 - b _08052318 -_08051BF6: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x90 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _08052318 - .align 2, 0 -_08051C38: .4byte gSprites -_08051C3C: - ldr r0, _08051CA4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08051C4A - b _08052318 -_08051C4A: - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_8050968 - ldr r0, [r7] - adds r0, 0xE0 - movs r1, 0xA6 - strh r1, [r0] - ldr r0, _08051CA8 @ =gUnknown_826CE44 - movs r4, 0x14 - negs r4, r4 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x90 - strb r0, [r1] - ldr r0, _08051CAC @ =gUnknown_826CE84 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08051CB0 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _08052318 - .align 2, 0 -_08051CA4: .4byte gPaletteFade -_08051CA8: .4byte gUnknown_826CE44 -_08051CAC: .4byte gUnknown_826CE84 -_08051CB0: .4byte gSprites -_08051CB4: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _080522A4 -_08051CC4: - movs r1, 0x92 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _08051CE0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08051CDC - b _08052318 -_08051CDC: - b _080522A8 - .align 2, 0 -_08051CE0: .4byte gPaletteFade -_08051CE4: - ldr r2, _08051D30 @ =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x26 - ldrsh r1, [r0, r3] - movs r6, 0x22 - ldrsh r0, [r0, r6] - adds r1, r0 - cmp r1, 0x40 - beq _08051D2A - b _08052318 -_08051D2A: - adds r1, r4, 0 - b _080522AC - .align 2, 0 -_08051D30: .4byte gSprites -_08051D34: - ldr r1, [r7] - adds r5, r1, 0 - adds r5, 0xE0 - ldrh r0, [r5] - adds r0, 0x2 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - movs r6, 0x9E - lsls r6, 1 - cmp r0, r6 - bgt _08051D4E - b _08052318 -_08051D4E: - strh r6, [r5] - b _080522AC -_08051D52: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08051D8C @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r3, [r7] - adds r2, r3, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2] - str r1, [r3, 0x64] - b _08052318 - .align 2, 0 -_08051D8C: .4byte gSprites -_08051D90: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - beq _08051D9E - b _08052318 -_08051D9E: - b _080522AC -_08051DA0: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xE0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xAE - lsls r3, 1 - cmp r0, r3 - ble _08051DC2 - strh r3, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08051DC2: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _08051DD6 - b _08052318 -_08051DD6: - movs r6, 0x84 - lsls r6, 1 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _08051DE4 - b _08052318 -_08051DE4: - ldr r0, _08051E10 @ =gUnknown_826CEB8 - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x92 - strb r0, [r1] - ldr r2, _08051E14 @ =gSprites - ldr r0, [r7] - adds r0, 0x92 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08051E18 @ =sub_804FDDC - str r1, [r0] - b _08052318 - .align 2, 0 -_08051E10: .4byte gUnknown_826CEB8 -_08051E14: .4byte gSprites -_08051E18: .4byte sub_804FDDC -_08051E1C: - ldr r0, _08051E3C @ =gUnknown_826CF30 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, _08051E40 @ =gUnknown_2031DAC - ldr r1, [r2] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x94 - movs r1, 0x32 - strh r1, [r0] - b _08052318 - .align 2, 0 -_08051E3C: .4byte gUnknown_826CF30 -_08051E40: .4byte gUnknown_2031DAC -_08051E44: - ldr r2, _08051E80 @ =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _08051E62 - b _08052318 -_08051E62: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_8050968 - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x98 - bl PlaySE - b _08052318 - .align 2, 0 -_08051E80: .4byte gSprites -_08051E84: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xEA - ldrh r3, [r2] - ldr r0, _08051E9C @ =0x000003ff - cmp r3, r0 - bhi _08051EA0 - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _08051EAE - .align 2, 0 -_08051E9C: .4byte 0x000003ff -_08051EA0: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08051EAE: - ldr r4, [r7] -_08051EB0: - adds r0, r4, 0 - adds r0, 0xEA - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - adds r4, 0xE8 - strh r0, [r4] - b _08052318 -_08051EC4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08051EE0 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x3C - strh r1, [r0] - b _08052318 - .align 2, 0 -_08051EE0: .4byte gUnknown_2031DAC -_08051EE4: - ldr r4, _08051F08 @ =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08051EF2 - b _08052318 -_08051EF2: - movs r0, 0x5 - bl sub_8050968 - movs r0, 0x7 - bl sub_8050968 - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - b _080522A8 - .align 2, 0 -_08051F08: .4byte gPaletteFade -_08051F0C: - ldr r2, _08051F24 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _080522A4 - .align 2, 0 -_08051F24: .4byte gPaletteFade -_08051F28: - movs r1, 0xA2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _08051F44 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08051F40 - b _08052318 -_08051F40: - b _080522A8 - .align 2, 0 -_08051F44: .4byte gPaletteFade -_08051F48: - ldr r0, _08051FDC @ =gUnknown_826CDE4 - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r5, _08051FE0 @ =gUnknown_2031DAC - ldr r1, [r5] - adds r1, 0xD3 - movs r6, 0 - strb r0, [r1] - ldr r4, _08051FE4 @ =gSprites - ldr r2, [r5] - adds r2, 0xD3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08051FE8 @ =sub_8053A0C - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, _08051FEC @ =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r6, [r2, 0x64] - b _08052318 - .align 2, 0 -_08051FDC: .4byte gUnknown_826CDE4 -_08051FE0: .4byte gUnknown_2031DAC -_08051FE4: .4byte gSprites -_08051FE8: .4byte sub_8053A0C -_08051FEC: .4byte 0x0000ffff -_08051FF0: - ldr r2, _0805201C @ =gSprites - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, _08052020 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r7] - b _080522AC - .align 2, 0 -_0805201C: .4byte gSprites -_08052020: .4byte 0x0000ffff -_08052024: - ldr r2, _08052060 @ =gSprites - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _08052064 @ =SpriteCallbackDummy - cmp r1, r0 - beq _08052042 - b _08052318 -_08052042: - adds r0, r3, 0 - adds r0, 0xF2 - ldrh r2, [r0] - lsls r0, r2, 3 - ldr r1, _08052068 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _0805206C @ =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x10] - ldr r3, [r3, 0x6C] - bl HandleLoadSpecialPokePic - ldr r1, [r7] - b _080522AC - .align 2, 0 -_08052060: .4byte gSprites -_08052064: .4byte SpriteCallbackDummy -_08052068: .4byte gMonFrontPicTable -_0805206C: .4byte gMonSpritesGfxPtr -_08052070: - ldr r4, _0805211C @ =gSprites - ldr r2, [r7] - adds r6, r2, 0 - adds r6, 0x8F - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r3, _08052120 @ =gMonFrontPicCoords - adds r2, 0xF2 - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x24] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x26] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r0, [r7] - adds r0, 0x8F - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _08052124 @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSpriteToReleaseMon - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r7] - b _080522AC - .align 2, 0 -_0805211C: .4byte gSprites -_08052120: .4byte gMonFrontPicCoords -_08052124: .4byte 0x000fffff -_08052128: - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, _08052154 @ =gStringVar4 - ldr r1, _08052158 @ =gUnknown_841E20D - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - ldr r0, _0805215C @ =gUnknown_2031DAC - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xA7 - b _0805218E - .align 2, 0 -_08052154: .4byte gStringVar4 -_08052158: .4byte gUnknown_841E20D -_0805215C: .4byte gUnknown_2031DAC -_08052160: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bhi _0805216E - b _08052318 -_0805216E: - adds r2, r1, 0 - adds r2, 0xF2 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _08052184 - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_08052184: - ldr r3, [r7] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - ldr r0, _08052194 @ =0x0000010b -_0805218E: - strh r0, [r1] - str r2, [r3, 0x64] - b _08052318 - .align 2, 0 -_08052194: .4byte 0x0000010b -_08052198: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _080521A4 - b _08052318 -_080521A4: - ldr r0, _080521B0 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x44 - strh r1, [r0] - b _08052318 - .align 2, 0 -_080521B0: .4byte gUnknown_2031DAC -_080521B4: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bne _080521C6 - ldr r0, _080521F4 @ =0x00000103 - bl PlayFanfare -_080521C6: - ldr r1, [r7] - ldr r0, [r1, 0x64] - cmp r0, 0xFA - beq _080521D0 - b _08052318 -_080521D0: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - ldr r4, _080521F8 @ =gStringVar4 - ldr r1, _080521FC @ =gUnknown_841E21E - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - ldr r0, [r7] - str r5, [r0, 0x64] - b _08052318 - .align 2, 0 -_080521F4: .4byte 0x00000103 -_080521F8: .4byte gStringVar4 -_080521FC: .4byte gUnknown_841E21E -_08052200: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - beq _0805220E - b _08052318 -_0805220E: - b _080522AC -_08052210: - bl sub_80544AC - b _080522A8 -_08052216: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _08052226 - movs r0, 0x1 - b _0805231A -_08052226: - ldr r0, _08052238 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08052318 - adds r1, r2, 0 - b _080522AC - .align 2, 0 -_08052238: .4byte gMain -_0805223C: - ldr r0, _08052280 @ =gSpecialVar_0x8005 - ldrb r0, [r0] - movs r1, 0 - bl sub_805080C - ldr r1, _08052284 @ =gCB2_AfterEvolution - ldr r0, _08052288 @ =sub_8050948 - str r0, [r1] - ldr r7, _0805228C @ =gUnknown_2031DA4 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08052290 @ =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080522A8 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, _08052294 @ =gUnknown_2031DAC - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _080522A8 - .align 2, 0 -_08052280: .4byte gSpecialVar_0x8005 -_08052284: .4byte gCB2_AfterEvolution -_08052288: .4byte sub_8050948 -_0805228C: .4byte gUnknown_2031DA4 -_08052290: .4byte gPlayerParty -_08052294: .4byte gUnknown_2031DAC -_08052298: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_080522A4: - bl BeginNormalPaletteFade -_080522A8: - ldr r0, _080522B8 @ =gUnknown_2031DAC - ldr r1, [r0] -_080522AC: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08052318 - .align 2, 0 -_080522B8: .4byte gUnknown_2031DAC -_080522BC: - ldr r0, _08052324 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08052318 - ldr r0, [r7] - adds r0, 0xF4 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r7] - cmp r0, 0 - beq _0805230A - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r0, [r7] - bl Free - str r4, [r7] -_0805230A: - ldr r0, _08052328 @ =CB2_ReturnToField - bl SetMainCallback2 - bl sub_8053AE4 - bl HelpSystem_Enable -_08052318: - movs r0, 0 -_0805231A: - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08052324: .4byte gPaletteFade -_08052328: .4byte CB2_ReturnToField - thumb_func_end sub_8050F3C - - thumb_func_start sub_805232C -sub_805232C: @ 805232C - push {r4-r7,lr} - sub sp, 0x10 - ldr r0, _08052350 @ =gUnknown_2031DAC - ldr r1, [r0] - adds r1, 0x94 - ldrh r5, [r1] - ldr r1, _08052354 @ =0x0000010b - adds r7, r0, 0 - cmp r5, r1 - bls _08052344 - bl _08053774 -_08052344: - lsls r0, r5, 2 - ldr r1, _08052358 @ =_0805235C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08052350: .4byte gUnknown_2031DAC -_08052354: .4byte 0x0000010b -_08052358: .4byte _0805235C - .align 2, 0 -_0805235C: - .4byte _0805278C - .4byte _08052804 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08052860 - .4byte _080528A8 - .4byte _0805291C - .4byte _08053774 - .4byte _08052988 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _080529AC - .4byte _080529DC - .4byte _080529EE - .4byte _08052A10 - .4byte _08053774 - .4byte _08053774 - .4byte _08052B08 - .4byte _08052B28 - .4byte _08052B94 - .4byte _08052C18 - .4byte _08052C3C - .4byte _08052C88 - .4byte _08052CD4 - .4byte _08052D30 - .4byte _08052D9C - .4byte _08052DB0 - .4byte _08052DC4 - .4byte _08052DD8 - .4byte _08052F00 - .4byte _08052FD0 - .4byte _08053058 - .4byte _080530F8 - .4byte _08053108 - .4byte _08053128 - .4byte _08053774 - .4byte _08053774 - .4byte _0805324C - .4byte _0805325C - .4byte _0805327A - .4byte _08053774 - .4byte _080532A0 - .4byte _080532E0 - .4byte _08053320 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053340 - .4byte _08053368 - .4byte _08053384 - .4byte _080533A4 - .4byte _0805344C - .4byte _08053480 - .4byte _080534CC - .4byte _08053584 - .4byte _08053610 - .4byte _0805365C - .4byte _0805366C - .4byte _08053672 - .4byte _08053698 - .4byte _080536F4 - .4byte _08053718 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08052A58 - .4byte _08052A8C - .4byte _08052AE0 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053180 - .4byte _080531E8 - .4byte _08053224 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _080535BC - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08052BC0 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _08053774 - .4byte _080535F4 -_0805278C: - ldr r3, _080527F8 @ =gSprites - ldr r0, [r7] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _080527FC @ =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, _08052800 @ =gMonFrontPicCoords - adds r0, r4, 0 - adds r0, 0xF0 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r7] - adds r1, 0xF4 - strh r0, [r1] - movs r0, 0x84 - lsls r0, 1 - bl PlayNewMapMusic - bl _08053774 - .align 2, 0 -_080527F8: .4byte gSprites -_080527FC: .4byte 0x0000ff4c -_08052800: .4byte gMonFrontPicCoords -_08052804: - ldr r5, [r7] - adds r6, r5, 0 - adds r6, 0xE6 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - ble _08052838 - ldr r2, _08052834 @ =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r6] - subs r0, 0x3 - strh r0, [r6] - bl _08053774 - .align 2, 0 -_08052834: .4byte gSprites -_08052838: - ldr r2, _0805285C @ =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r6] - adds r1, r5, 0 - adds r1, 0x94 - movs r0, 0xA - strh r0, [r1] - bl _08053774 - .align 2, 0 -_0805285C: .4byte gSprites -_08052860: - ldr r4, _0805289C @ =gStringVar4 - ldr r1, _080528A0 @ =gUnknown_841E1E9 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - ldr r4, _080528A4 @ =gUnknown_2031DAC - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xF0 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0805288E - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_0805288E: - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xB - bl _080535EA - .align 2, 0 -_0805289C: .4byte gStringVar4 -_080528A0: .4byte gUnknown_841E1E9 -_080528A4: .4byte gUnknown_2031DAC -_080528A8: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x50 - beq _080528B8 - bl _08053774 -_080528B8: - adds r0, r1, 0 - adds r0, 0x8E - ldrb r0, [r0] - ldr r2, _0805290C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _08052910 @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_804BB98 - ldr r1, [r7] - adds r1, 0xD2 - strb r0, [r1] - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, _08052914 @ =gStringVar4 - ldr r1, _08052918 @ =gUnknown_841E200 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - bl _08053774 - .align 2, 0 -_0805290C: .4byte gSprites -_08052910: .4byte 0x000fffff -_08052914: .4byte gStringVar4 -_08052918: .4byte gUnknown_841E200 -_0805291C: - ldr r5, _08052978 @ =gSprites - ldr r0, [r7] - adds r0, 0xD2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r5, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, _0805297C @ =SpriteCallbackDummy - cmp r1, r0 - beq _0805293C - bl _08053774 -_0805293C: - ldr r0, _08052980 @ =gUnknown_826CDE4 - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0xD3 - strb r0, [r1] - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08052984 @ =sub_8053938 - str r1, [r0] - adds r2, 0xD2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r1, [r7] - bl _08053708 - .align 2, 0 -_08052978: .4byte gSprites -_0805297C: .4byte SpriteCallbackDummy -_08052980: .4byte gUnknown_826CDE4 -_08052984: .4byte sub_8053938 -_08052988: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080529A8 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x14 - strh r1, [r0] - bl _08053774 - .align 2, 0 -_080529A8: .4byte gUnknown_2031DAC -_080529AC: - ldr r0, _080529D8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080529BC - bl _08053774 -_080529BC: - movs r0, 0x4 - bl sub_8050968 - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - bl _08053704 - .align 2, 0 -_080529D8: .4byte gPaletteFade -_080529DC: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _08053700 -_080529EE: - ldr r0, _08052A0C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080529FE - bl _08053774 -_080529FE: - ldr r0, [r7] - adds r0, 0x94 - movs r1, 0x17 - strh r1, [r0] - bl _08053774 - .align 2, 0 -_08052A0C: .4byte gPaletteFade -_08052A10: - ldr r4, _08052A2C @ =gUnknown_2031DAC - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xEA - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _08052A30 - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _08052A4A - .align 2, 0 -_08052A2C: .4byte gUnknown_2031DAC -_08052A30: - movs r0, 0x1 - bl sub_8050968 - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0xEA - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0x56 - movs r0, 0x7C - strh r0, [r1] - str r2, [r3, 0x64] -_08052A4A: - ldr r0, _08052A54 @ =gUnknown_2031DAC - ldr r4, [r0] - bl _0805330C - .align 2, 0 -_08052A54: .4byte gUnknown_2031DAC -_08052A58: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x14 - bhi _08052A68 - bl _08053774 -_08052A68: - movs r0, 0x3 - bl sub_8050968 - ldr r0, _08052A88 @ =gUnknown_826CF48 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r7] - bl _08053708 - .align 2, 0 -_08052A88: .4byte gUnknown_826CF48 -_08052A8C: - ldr r2, _08052AD4 @ =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _08052AAC - bl _08053774 -_08052AAC: - adds r0, r1, 0 - bl DestroySprite - ldr r1, _08052AD8 @ =0x00000452 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - ldr r0, _08052ADC @ =c3_08054588 - movs r1, 0x5 - bl CreateTask - ldr r1, [r7] - bl _08053708 - .align 2, 0 -_08052AD4: .4byte gSprites -_08052AD8: .4byte 0x00000452 -_08052ADC: .4byte c3_08054588 -_08052AE0: - ldr r0, _08052B00 @ =c3_08054588 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08052AF0 - bl _08053774 -_08052AF0: - ldr r0, _08052B04 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1A - strh r1, [r0] - bl _08053774 - .align 2, 0 -_08052B00: .4byte c3_08054588 -_08052B04: .4byte gUnknown_2031DAC -_08052B08: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - beq _08052B22 - bl _08053774 -_08052B22: - adds r1, r2, 0 - bl _08053708 -_08052B28: - ldr r0, _08052B80 @ =gUnknown_826CE44 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, _08052B84 @ =gUnknown_2031DAC - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - ldr r5, _08052B88 @ =gSprites - ldr r0, [r4] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08052B8C @ =sub_804FD48 - str r1, [r0] - ldr r0, _08052B90 @ =gUnknown_826CE84 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _08053708 - .align 2, 0 -_08052B80: .4byte gUnknown_826CE44 -_08052B84: .4byte gUnknown_2031DAC -_08052B88: .4byte gSprites -_08052B8C: .4byte sub_804FD48 -_08052B90: .4byte gUnknown_826CE84 -_08052B94: - ldr r2, [r7] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - subs r0, 0x3 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _08052BAE - subs r1, 0x4C - movs r0, 0xC8 - strh r0, [r1] -_08052BAE: - ldr r1, _08052BBC @ =0x00001241 - movs r0, 0 - bl SetGpuReg - bl _08053774 - .align 2, 0 -_08052BBC: .4byte 0x00001241 -_08052BC0: - ldr r2, _08052C14 @ =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0x22 - ldrsh r1, [r0, r2] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _08052C06 - bl _08053774 -_08052C06: - adds r1, r4, 0 - adds r1, 0x94 - movs r0, 0x1D - strh r0, [r1] - bl _08053774 - .align 2, 0 -_08052C14: .4byte gSprites -_08052C18: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08052C38 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1E - strh r1, [r0] - bl _08053774 - .align 2, 0 -_08052C38: .4byte gUnknown_2031DAC -_08052C3C: - ldr r0, _08052C80 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08052C4C - bl _08053774 -_08052C4C: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08052C84 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_8050968 - ldr r1, [r7] - bl _08053708 - .align 2, 0 -_08052C80: .4byte gPaletteFade -_08052C84: .4byte gSprites -_08052C88: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, _08052CCC @ =gUnknown_826CE84 - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, _08052CD0 @ =gUnknown_2031DAC - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r4] - bl _08053708 - .align 2, 0 -_08052CCC: .4byte gUnknown_826CE84 -_08052CD0: .4byte gUnknown_2031DAC -_08052CD4: - ldr r0, _08052D24 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08052CF2 - movs r0, 0x28 - bl PlaySE - ldr r0, _08052D28 @ =gUnknown_2031DAC - ldr r1, [r0] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08052CF2: - ldr r3, _08052D2C @ =gSprites - ldr r0, _08052D28 @ =gUnknown_2031DAC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _08053774 - .align 2, 0 -_08052D24: .4byte gPaletteFade -_08052D28: .4byte gUnknown_2031DAC -_08052D2C: .4byte gSprites -_08052D30: - ldr r5, _08052D94 @ =gSprites - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x90 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0x91 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r0, 0x26 - ldrsh r1, [r3, r0] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _08052D76 - bl _08053774 -_08052D76: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r0, _08052D98 @ =c3_0805465C - b _08052FBE - .align 2, 0 -_08052D94: .4byte gSprites -_08052D98: .4byte c3_0805465C -_08052D9C: - ldr r2, _08052DAC @ =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _08053704 - .align 2, 0 -_08052DAC: .4byte 0x0000ffff -_08052DB0: - ldr r2, _08052DC0 @ =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _08053704 - .align 2, 0 -_08052DC0: .4byte 0x0000ffff -_08052DC4: - ldr r2, _08052DD4 @ =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _08053704 - .align 2, 0 -_08052DD4: .4byte 0x0000ffff -_08052DD8: - ldr r5, _08052E44 @ =gUnknown_2031DAC - ldr r0, [r5] - adds r0, 0xF0 - ldrh r0, [r0] - bl IsPokeSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _08052E50 - ldr r4, _08052E48 @ =gSprites - ldr r2, [r5] - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, _08052E4C @ =gUnknown_826CF88 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _08052E66 - .align 2, 0 -_08052E44: .4byte gUnknown_2031DAC -_08052E48: .4byte gSprites -_08052E4C: .4byte gUnknown_826CF88 -_08052E50: - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08052EF4 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_08052E66: - ldr r5, _08052EF8 @ =gUnknown_2031DAC - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08052EF4 @ =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x28 - strh r1, [r0, 0x20] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC8 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08052EFC @ =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r1, [r5] - bl _08053708 - .align 2, 0 -_08052EF4: .4byte gSprites -_08052EF8: .4byte gUnknown_2031DAC -_08052EFC: .4byte 0x0000ffe0 -_08052F00: - ldr r4, _08052FC8 @ =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _08052F48 - movs r0, 0x27 - bl PlaySE -_08052F48: - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _08052F68 - bl _08053774 -_08052F68: - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, _08052FCC @ =sub_8054734 -_08052FBE: - movs r1, 0x5 - bl CreateTask - bl _08053774 - .align 2, 0 -_08052FC8: .4byte gSprites -_08052FCC: .4byte sub_8054734 -_08052FD0: - ldr r4, _08053054 @ =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _08053012 - b _08053774 -_08053012: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x90 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _08053774 - .align 2, 0 -_08053054: .4byte gSprites -_08053058: - ldr r0, _080530E4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08053066 - b _08053774 -_08053066: - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_8050968 - ldr r0, [r7] - adds r0, 0xE0 - movs r1, 0xA6 - strh r1, [r0] - movs r0, 0x3 - bl sub_8050968 - ldr r0, [r7] - adds r0, 0xE4 - movs r1, 0xCE - lsls r1, 1 - strh r1, [r0] - ldr r0, _080530E8 @ =gUnknown_826CE44 - movs r4, 0x14 - negs r4, r4 - movs r1, 0x78 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x90 - strb r0, [r1] - ldr r5, _080530EC @ =gSprites - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _080530F0 @ =sub_804FD48 - str r1, [r0] - ldr r0, _080530F4 @ =gUnknown_826CE84 - movs r1, 0x78 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - b _08053774 - .align 2, 0 -_080530E4: .4byte gPaletteFade -_080530E8: .4byte gUnknown_826CE44 -_080530EC: .4byte gSprites -_080530F0: .4byte sub_804FD48 -_080530F4: .4byte gUnknown_826CE84 -_080530F8: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _08053700 -_08053108: - movs r1, 0x92 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _08053124 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08053120 - b _08053774 -_08053120: - b _08053704 - .align 2, 0 -_08053124: .4byte gPaletteFade -_08053128: - ldr r2, _0805317C @ =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x4 - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x4 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r2, 0x22 - ldrsh r0, [r0, r2] - adds r1, r0 - cmp r1, 0x40 - beq _0805316E - b _08053774 -_0805316E: - adds r0, r4, 0 - adds r0, 0x94 - movs r1, 0x90 - strh r1, [r0] - movs r0, 0 - str r0, [r4, 0x64] - b _08053774 - .align 2, 0 -_0805317C: .4byte gSprites -_08053180: - movs r1, 0xB2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, _080531DC @ =gUnknown_2031DAC - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - adds r0, 0x3 - strh r0, [r1] - adds r1, 0x4 - ldrh r0, [r1] - adds r0, 0x3 - strh r0, [r1] - ldr r0, [r2, 0x64] - adds r0, 0x1 - str r0, [r2, 0x64] - cmp r0, 0xA - bne _080531C4 - ldr r0, _080531E0 @ =c3_08054588 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080531E4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0xC] -_080531C4: - ldr r1, [r4] - adds r3, r1, 0 - adds r3, 0xE0 - movs r6, 0 - ldrsh r0, [r3, r6] - movs r2, 0x9E - lsls r2, 1 - cmp r0, r2 - bgt _080531D8 - b _08053774 -_080531D8: - strh r2, [r3] - b _08053708 - .align 2, 0 -_080531DC: .4byte gUnknown_2031DAC -_080531E0: .4byte c3_08054588 -_080531E4: .4byte gTasks -_080531E8: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08053220 @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r3, [r7] - adds r2, r3, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2] - str r1, [r3, 0x64] - b _08053774 - .align 2, 0 -_08053220: .4byte gSprites -_08053224: - ldr r0, _08053244 @ =c3_08054588 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08053234 - b _08053774 -_08053234: - ldr r0, _08053248 @ =gUnknown_2031DAC - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x94 - movs r0, 0x2E - strh r0, [r1] - str r3, [r2, 0x64] - b _08053774 - .align 2, 0 -_08053244: .4byte c3_08054588 -_08053248: .4byte gUnknown_2031DAC -_0805324C: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - beq _0805325A - b _08053774 -_0805325A: - b _08053708 -_0805325C: - ldr r1, [r7] - adds r5, r1, 0 - adds r5, 0xE0 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - movs r6, 0xAE - lsls r6, 1 - cmp r0, r6 - bgt _08053276 - b _08053774 -_08053276: - strh r6, [r5] - b _08053708 -_0805327A: - ldr r0, _08053298 @ =gUnknown_826CF30 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, _0805329C @ =gUnknown_2031DAC - ldr r1, [r2] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x94 - movs r1, 0x32 - strh r1, [r0] - b _08053774 - .align 2, 0 -_08053298: .4byte gUnknown_826CF30 -_0805329C: .4byte gUnknown_2031DAC -_080532A0: - ldr r2, _080532DC @ =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _080532BE - b _08053774 -_080532BE: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_8050968 - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x98 - bl PlaySE - b _08053774 - .align 2, 0 -_080532DC: .4byte gSprites -_080532E0: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xEA - ldrh r3, [r2] - ldr r0, _080532F8 @ =0x000003ff - cmp r3, r0 - bhi _080532FC - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _0805330A - .align 2, 0 -_080532F8: .4byte 0x000003ff -_080532FC: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0805330A: - ldr r4, [r7] -_0805330C: - adds r0, r4, 0 - adds r0, 0xEA - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - adds r4, 0xE8 - strh r0, [r4] - b _08053774 -_08053320: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0805333C @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x3C - strh r1, [r0] - b _08053774 - .align 2, 0 -_0805333C: .4byte gUnknown_2031DAC -_08053340: - ldr r4, _08053364 @ =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805334E - b _08053774 -_0805334E: - movs r0, 0x5 - bl sub_8050968 - movs r0, 0x7 - bl sub_8050968 - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - b _08053704 - .align 2, 0 -_08053364: .4byte gPaletteFade -_08053368: - ldr r2, _08053380 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _08053700 - .align 2, 0 -_08053380: .4byte gPaletteFade -_08053384: - movs r1, 0xA2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _080533A0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805339C - b _08053774 -_0805339C: - b _08053704 - .align 2, 0 -_080533A0: .4byte gPaletteFade -_080533A4: - ldr r0, _08053438 @ =gUnknown_826CDE4 - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r5, _0805343C @ =gUnknown_2031DAC - ldr r1, [r5] - adds r1, 0xD3 - movs r6, 0 - strb r0, [r1] - ldr r4, _08053440 @ =gSprites - ldr r2, [r5] - adds r2, 0xD3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08053444 @ =sub_8053A0C - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, _08053448 @ =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r6, [r2, 0x64] - b _08053774 - .align 2, 0 -_08053438: .4byte gUnknown_826CDE4 -_0805343C: .4byte gUnknown_2031DAC -_08053440: .4byte gSprites -_08053444: .4byte sub_8053A0C -_08053448: .4byte 0x0000ffff -_0805344C: - ldr r2, _08053478 @ =gSprites - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, _0805347C @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r7] - b _08053708 - .align 2, 0 -_08053478: .4byte gSprites -_0805347C: .4byte 0x0000ffff -_08053480: - ldr r2, _080534BC @ =gSprites - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, _080534C0 @ =SpriteCallbackDummy - cmp r1, r0 - beq _0805349E - b _08053774 -_0805349E: - adds r0, r3, 0 - adds r0, 0xF2 - ldrh r2, [r0] - lsls r0, r2, 3 - ldr r1, _080534C4 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _080534C8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x10] - ldr r3, [r3, 0x6C] - bl HandleLoadSpecialPokePic - ldr r1, [r7] - b _08053708 - .align 2, 0 -_080534BC: .4byte gSprites -_080534C0: .4byte SpriteCallbackDummy -_080534C4: .4byte gMonFrontPicTable -_080534C8: .4byte gMonSpritesGfxPtr -_080534CC: - ldr r4, _08053578 @ =gSprites - ldr r2, [r7] - adds r6, r2, 0 - adds r6, 0x8F - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r3, _0805357C @ =gMonFrontPicCoords - adds r2, 0xF2 - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x24] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x26] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r0, [r7] - adds r0, 0x8F - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, _08053580 @ =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSpriteToReleaseMon - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r7] - b _08053708 - .align 2, 0 -_08053578: .4byte gSprites -_0805357C: .4byte gMonFrontPicCoords -_08053580: .4byte 0x000fffff -_08053584: - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, _080535B0 @ =gStringVar4 - ldr r1, _080535B4 @ =gUnknown_841E20D - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - ldr r0, _080535B8 @ =gUnknown_2031DAC - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xA7 - b _080535EA - .align 2, 0 -_080535B0: .4byte gStringVar4 -_080535B4: .4byte gUnknown_841E20D -_080535B8: .4byte gUnknown_2031DAC -_080535BC: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bhi _080535CA - b _08053774 -_080535CA: - adds r2, r1, 0 - adds r2, 0xF2 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _080535E0 - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_080535E0: - ldr r3, [r7] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - ldr r0, _080535F0 @ =0x0000010b -_080535EA: - strh r0, [r1] - str r2, [r3, 0x64] - b _08053774 - .align 2, 0 -_080535F0: .4byte 0x0000010b -_080535F4: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _08053600 - b _08053774 -_08053600: - ldr r0, _0805360C @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x44 - strh r1, [r0] - b _08053774 - .align 2, 0 -_0805360C: .4byte gUnknown_2031DAC -_08053610: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bne _08053622 - ldr r0, _08053650 @ =0x00000103 - bl PlayFanfare -_08053622: - ldr r1, [r7] - ldr r0, [r1, 0x64] - cmp r0, 0xFA - beq _0805362C - b _08053774 -_0805362C: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - ldr r4, _08053654 @ =gStringVar4 - ldr r1, _08053658 @ =gUnknown_841E21E - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - ldr r0, [r7] - str r5, [r0, 0x64] - b _08053774 - .align 2, 0 -_08053650: .4byte 0x00000103 -_08053654: .4byte gStringVar4 -_08053658: .4byte gUnknown_841E21E -_0805365C: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - beq _0805366A - b _08053774 -_0805366A: - b _08053708 -_0805366C: - bl sub_80544AC - b _08053704 -_08053672: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _08053682 - movs r0, 0x1 - b _08053776 -_08053682: - ldr r0, _08053694 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08053774 - adds r1, r2, 0 - b _08053708 - .align 2, 0 -_08053694: .4byte gMain -_08053698: - ldr r0, _080536DC @ =gSpecialVar_0x8005 - ldrb r0, [r0] - movs r1, 0 - bl sub_805080C - ldr r1, _080536E0 @ =gCB2_AfterEvolution - ldr r0, _080536E4 @ =sub_8050948 - str r0, [r1] - ldr r7, _080536E8 @ =gUnknown_2031DA4 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080536EC @ =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _08053704 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, _080536F0 @ =gUnknown_2031DAC - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _08053704 - .align 2, 0 -_080536DC: .4byte gSpecialVar_0x8005 -_080536E0: .4byte gCB2_AfterEvolution -_080536E4: .4byte sub_8050948 -_080536E8: .4byte gUnknown_2031DA4 -_080536EC: .4byte gPlayerParty -_080536F0: .4byte gUnknown_2031DAC -_080536F4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_08053700: - bl BeginNormalPaletteFade -_08053704: - ldr r0, _08053714 @ =gUnknown_2031DAC - ldr r1, [r0] -_08053708: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08053774 - .align 2, 0 -_08053714: .4byte gUnknown_2031DAC -_08053718: - ldr r0, _08053780 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08053774 - ldr r0, [r7] - adds r0, 0xF4 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r7] - cmp r0, 0 - beq _08053766 - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r0, [r7] - bl Free - str r4, [r7] -_08053766: - ldr r0, _08053784 @ =CB2_ReturnToField - bl SetMainCallback2 - bl sub_8053AE4 - bl HelpSystem_Enable -_08053774: - movs r0, 0 -_08053776: - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08053780: .4byte gPaletteFade -_08053784: .4byte CB2_ReturnToField - thumb_func_end sub_805232C - - thumb_func_start sub_8053788 -sub_8053788: @ 8053788 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080537A4 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080537A8 - cmp r0, 0x4 - beq _080537B8 - b _08053814 - .align 2, 0 -_080537A4: .4byte gMain -_080537A8: - movs r0, 0x4 - strb r0, [r1] - ldr r1, _080537B4 @ =gSoftResetDisabled - movs r0, 0x1 - b _08053812 - .align 2, 0 -_080537B4: .4byte gSoftResetDisabled -_080537B8: - ldr r0, _080537F4 @ =gCB2_AfterEvolution - ldr r1, _080537F8 @ =sub_8053E8C - mov r8, r1 - str r1, [r0] - ldr r7, _080537FC @ =gUnknown_2031DA4 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08053800 @ =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _08053808 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, _08053804 @ =gUnknown_2031DAC - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0805380E - .align 2, 0 -_080537F4: .4byte gCB2_AfterEvolution -_080537F8: .4byte sub_8053E8C -_080537FC: .4byte gUnknown_2031DA4 -_08053800: .4byte gPlayerParty -_08053804: .4byte gUnknown_2031DAC -_08053808: - mov r0, r8 - bl SetMainCallback2 -_0805380E: - ldr r1, _08053838 @ =gUnknown_2031DA4 - movs r0, 0xFF -_08053812: - strb r0, [r1] -_08053814: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _08053822 - bl RunTasks -_08053822: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08053838: .4byte gUnknown_2031DA4 - thumb_func_end sub_8053788 - - thumb_func_start sub_805383C -sub_805383C: @ 805383C - push {r4-r6,lr} - bl sub_804FFC4 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - adds r0, r5, 0 - ands r0, r6 - cmp r0, 0 - beq _0805387A - ldr r4, _080538A8 @ =gBlockRecvBuffer - ldrh r1, [r4] - ldr r0, _080538AC @ =0x0000dcba - cmp r1, r0 - bne _08053864 - ldr r0, _080538B0 @ =sub_8053788 - bl SetMainCallback2 -_08053864: - ldrh r1, [r4] - ldr r0, _080538B4 @ =0x0000abcd - cmp r1, r0 - bne _08053874 - ldr r0, _080538B8 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x72 - strb r6, [r0] -_08053874: - movs r0, 0 - bl ResetBlockReceivedFlag -_0805387A: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080538A2 - ldr r0, _080538A8 @ =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _080538B4 @ =0x0000abcd - cmp r1, r0 - bne _0805389C - ldr r0, _080538B8 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x73 - movs r1, 0x1 - strb r1, [r0] -_0805389C: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_080538A2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080538A8: .4byte gBlockRecvBuffer -_080538AC: .4byte 0x0000dcba -_080538B0: .4byte sub_8053788 -_080538B4: .4byte 0x0000abcd -_080538B8: .4byte gUnknown_2031DAC - thumb_func_end sub_805383C - - thumb_func_start sub_80538BC -sub_80538BC: @ 80538BC - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - ldrh r4, [r5, 0x22] - adds r4, r0 - strh r4, [r5, 0x22] - ldrh r0, [r5, 0x30] - ldrh r2, [r5, 0x38] - adds r0, r2 - strh r0, [r5, 0x38] - movs r1, 0x38 - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r5, 0x20] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0x4C - ble _0805390A - movs r0, 0x4C - strh r0, [r5, 0x22] - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - muls r0, r1 - negs r0, r0 - movs r1, 0x64 - bl __divsi3 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] -_0805390A: - movs r1, 0x20 - ldrsh r0, [r5, r1] - cmp r0, 0x78 - bne _08053916 - movs r0, 0 - strh r0, [r5, 0x30] -_08053916: - ldrh r0, [r5, 0x36] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bne _0805392E - movs r0, 0x1 - strh r0, [r5, 0x3C] - ldr r0, _08053934 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0805392E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08053934: .4byte SpriteCallbackDummy - thumb_func_end sub_80538BC - - thumb_func_start sub_8053938 -sub_8053938: @ 8053938 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, _080539A0 @ =gUnknown_826D1E4 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _08053960 - movs r0, 0x31 - bl PlaySE -_08053960: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2C - bne _08053996 - movs r0, 0x85 - bl PlaySE - ldr r0, _080539A4 @ =sub_80539AC - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x2E] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0x1 - negs r1, r1 - ldr r2, _080539A8 @ =0x0000ffff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_08053996: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080539A0: .4byte gUnknown_826D1E4 -_080539A4: .4byte sub_80539AC -_080539A8: .4byte 0x0000ffff - thumb_func_end sub_8053938 - - thumb_func_start sub_80539AC -sub_80539AC: @ 80539AC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x14 - bne _080539C0 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080539C0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080539FE - ldr r1, _08053A04 @ =gUnknown_826D1E4 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - bne _080539FE - adds r0, r4, 0 - bl DestroySprite - ldr r0, _08053A08 @ =gUnknown_2031DAC - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0xE - strh r1, [r0] -_080539FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08053A04: .4byte gUnknown_826D1E4 -_08053A08: .4byte gUnknown_2031DAC - thumb_func_end sub_80539AC - - thumb_func_start sub_8053A0C -sub_8053A0C: @ 8053A0C - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08053A3C - ldrh r0, [r4, 0x22] - adds r0, 0x4 - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _08053A8C - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x16 - strh r0, [r4, 0x2E] - movs r0, 0x31 - bl PlaySE - b _08053A8C -_08053A3C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x42 - bne _08053A4A - movs r0, 0x32 - bl PlaySE -_08053A4A: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5C - bne _08053A58 - movs r0, 0x33 - bl PlaySE -_08053A58: - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0x6B - bne _08053A66 - movs r0, 0x34 - bl PlaySE -_08053A66: - ldr r1, _08053A94 @ =gUnknown_826D1E4 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6C - bne _08053A8C - ldr r0, _08053A98 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_08053A8C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08053A94: .4byte gUnknown_826D1E4 -_08053A98: .4byte SpriteCallbackDummy - thumb_func_end sub_8053A0C - - thumb_func_start GetInGameTradeSpeciesInfo -GetInGameTradeSpeciesInfo: @ 8053A9C - push {r4-r6,lr} - ldr r0, _08053AD0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _08053AD4 @ =gIngameTrades - adds r4, r0 - ldr r0, _08053AD8 @ =gStringVar1 - ldrh r1, [r4, 0x38] - movs r6, 0xB - muls r1, r6 - ldr r5, _08053ADC @ =gSpeciesNames - adds r1, r5 - bl StringCopy - ldr r0, _08053AE0 @ =gStringVar2 - ldrh r1, [r4, 0xC] - muls r1, r6 - adds r1, r5 - bl StringCopy - ldrh r0, [r4, 0x38] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08053AD0: .4byte gSpecialVar_0x8004 -_08053AD4: .4byte gIngameTrades -_08053AD8: .4byte gStringVar1 -_08053ADC: .4byte gSpeciesNames -_08053AE0: .4byte gStringVar2 - thumb_func_end GetInGameTradeSpeciesInfo - - thumb_func_start sub_8053AE4 -sub_8053AE4: @ 8053AE4 - push {r4,lr} - sub sp, 0x20 - ldr r0, _08053B2C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, _08053B30 @ =gIngameTrades - adds r4, r0 - ldr r0, _08053B34 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08053B38 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, _08053B3C @ =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r0, _08053B40 @ =gStringVar2 - ldrh r2, [r4, 0xC] - movs r1, 0xB - muls r1, r2 - ldr r2, _08053B44 @ =gSpeciesNames - adds r1, r2 - bl StringCopy - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08053B2C: .4byte gSpecialVar_0x8004 -_08053B30: .4byte gIngameTrades -_08053B34: .4byte gSpecialVar_0x8005 -_08053B38: .4byte gPlayerParty -_08053B3C: .4byte gStringVar1 -_08053B40: .4byte gStringVar2 -_08053B44: .4byte gSpeciesNames - thumb_func_end sub_8053AE4 - - thumb_func_start sub_8053B48 -sub_8053B48: @ 8053B48 - push {r4-r7,lr} - sub sp, 0x38 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r1, 4 - subs r2, r1 - lsls r2, 2 - ldr r1, _08053CA4 @ =gIngameTrades - adds r5, r2, r1 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08053CA8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - add r4, sp, 0x34 - movs r0, 0xFE - strb r0, [r4] - ldr r6, _08053CAC @ =gEnemyParty - ldrh r1, [r5, 0xC] - movs r3, 0x1 - str r3, [sp] - ldr r0, [r5, 0x24] - str r0, [sp, 0x4] - str r3, [sp, 0x8] - ldr r0, [r5, 0x18] - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r3, 0x20 - bl CreateMon - adds r2, r5, 0 - adds r2, 0xE - adds r0, r6, 0 - movs r1, 0x27 - bl SetMonData - adds r2, r5, 0 - adds r2, 0xF - adds r0, r6, 0 - movs r1, 0x28 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x10 - adds r0, r6, 0 - movs r1, 0x29 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x11 - adds r0, r6, 0 - movs r1, 0x2A - bl SetMonData - adds r2, r5, 0 - adds r2, 0x12 - adds r0, r6, 0 - movs r1, 0x2B - bl SetMonData - adds r2, r5, 0 - adds r2, 0x13 - adds r0, r6, 0 - movs r1, 0x2C - bl SetMonData - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x2B - adds r0, r6, 0 - movs r1, 0x7 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x36 - adds r0, r6, 0 - movs r1, 0x31 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x14 - adds r0, r6, 0 - movs r1, 0x2E - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1D - adds r0, r6, 0 - movs r1, 0x17 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1E - adds r0, r6, 0 - movs r1, 0x18 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1C - adds r0, r6, 0 - movs r1, 0x16 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1F - adds r0, r6, 0 - movs r1, 0x21 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x20 - adds r0, r6, 0 - movs r1, 0x2F - bl SetMonData - adds r2, r5, 0 - adds r2, 0x37 - adds r0, r6, 0 - movs r1, 0x30 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x23 - adds r2, r4, 0 - bl SetMonData - mov r4, sp - adds r4, 0x35 - movs r0, 0 - strb r0, [r4] - ldrh r0, [r5, 0x28] - cmp r0, 0 - beq _08053CC0 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _08053CB4 - add r0, sp, 0x10 - adds r1, r5, 0 - bl sub_8053CD4 - ldr r0, _08053CB0 @ =gUnknown_2031CCC - add r1, sp, 0x10 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData - b _08053CC0 - .align 2, 0 -_08053CA4: .4byte gIngameTrades -_08053CA8: .4byte gPlayerParty -_08053CAC: .4byte gEnemyParty -_08053CB0: .4byte gUnknown_2031CCC -_08053CB4: - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData -_08053CC0: - ldr r0, _08053CD0 @ =gEnemyParty - bl CalculateMonStats - add sp, 0x38 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08053CD0: .4byte gEnemyParty - thumb_func_end sub_8053B48 - - thumb_func_start sub_8053CD4 -sub_8053CD4: @ 8053CD4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r2, _08053D28 @ =gUnknown_826D1A8 - adds r0, r5, 0 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r1, r4, 0 - movs r3, 0x8 -_08053CEE: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _08053CEE - adds r0, r4, 0 - adds r0, 0x12 - adds r1, r5, 0 - adds r1, 0x2B - bl StringCopy - ldr r1, [r5, 0x18] - lsrs r0, r1, 24 - strb r0, [r4, 0x1A] - lsrs r0, r1, 16 - strb r0, [r4, 0x1B] - lsrs r0, r1, 8 - strb r0, [r4, 0x1C] - strb r1, [r4, 0x1D] - ldrh r0, [r5, 0xC] - strh r0, [r4, 0x1E] - ldrh r0, [r5, 0x28] - strh r0, [r4, 0x20] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08053D28: .4byte gUnknown_826D1A8 - thumb_func_end sub_8053CD4 - - thumb_func_start GetTradeSpecies -GetTradeSpecies: @ 8053D2C - push {r4-r6,lr} - ldr r6, _08053D58 @ =gSpecialVar_0x8005 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, _08053D5C @ =gPlayerParty - adds r0, r4 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08053D60 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - b _08053D62 - .align 2, 0 -_08053D58: .4byte gSpecialVar_0x8005 -_08053D5C: .4byte gPlayerParty -_08053D60: - movs r0, 0 -_08053D62: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetTradeSpecies - - thumb_func_start CreateInGameTradePokemon -CreateInGameTradePokemon: @ 8053D68 - push {lr} - ldr r0, _08053D7C @ =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r1, _08053D80 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_8053B48 - pop {r0} - bx r0 - .align 2, 0 -_08053D7C: .4byte gSpecialVar_0x8005 -_08053D80: .4byte gSpecialVar_0x8004 - thumb_func_end CreateInGameTradePokemon - - thumb_func_start sub_8053D84 -sub_8053D84: @ 8053D84 - push {r4-r6,lr} - bl sub_8050F14 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bne _08053DE6 - ldr r5, _08053E08 @ =gUnknown_2031DAC - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08053E0C @ =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, _08053E10 @ =gUnknown_2031DA4 - ldrb r4, [r0] - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_805080C - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x74 - ldr r1, _08053E14 @ =0x0000abcd - strh r1, [r2] - adds r0, 0x93 - strb r6, [r0] - ldr r0, _08053E18 @ =sub_8053E1C - bl SetMainCallback2 -_08053DE6: - bl sub_80508F4 - bl sub_805383C - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08053E08: .4byte gUnknown_2031DAC -_08053E0C: .4byte gSprites -_08053E10: .4byte gUnknown_2031DA4 -_08053E14: .4byte 0x0000abcd -_08053E18: .4byte sub_8053E1C - thumb_func_end sub_8053D84 - - thumb_func_start sub_8053E1C -sub_8053E1C: @ 8053E1C - push {r4,lr} - bl sub_804FFC4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_805383C - cmp r4, 0 - bne _08053E68 - ldr r4, _08053E80 @ =gUnknown_2031DAC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x72 - ldrh r1, [r0] - ldr r0, _08053E84 @ =0x00000101 - cmp r1, r0 - bne _08053E68 - adds r1, r2, 0 - adds r1, 0x74 - ldr r0, _08053E88 @ =0x0000dcba - strh r0, [r1] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x74 - movs r2, 0x14 - bl SendBlock - ldr r0, [r4] - adds r0, 0x72 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x73 - strb r1, [r0] -_08053E68: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08053E80: .4byte gUnknown_2031DAC -_08053E84: .4byte 0x00000101 -_08053E88: .4byte 0x0000dcba - thumb_func_end sub_8053E1C - - thumb_func_start sub_8053E8C -sub_8053E8C: @ 8053E8C - push {r4,lr} - sub sp, 0x4 - ldr r1, _08053EAC @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x65 - bls _08053EA2 - b _08054396 -_08053EA2: - lsls r0, 2 - ldr r1, _08053EB0 @ =_08053EB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08053EAC: .4byte gMain -_08053EB0: .4byte _08053EB4 - .align 2, 0 -_08053EB4: - .4byte _0805404C - .4byte _08054068 - .4byte _080540DC - .4byte _08054396 - .4byte _080541E0 - .4byte _080542A0 - .4byte _080542C4 - .4byte _080542E0 - .4byte _08054304 - .4byte _0805434C - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054204 - .4byte _08054254 - .4byte _0805427E - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054104 - .4byte _08054184 - .4byte _080541A0 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054396 - .4byte _08054080 - .4byte _080540BC -_0805404C: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, _08054060 @ =gStringVar4 - ldr r1, _08054064 @ =gUnknown_841E325 - b _080540EA - .align 2, 0 -_08054060: .4byte gStringVar4 -_08054064: .4byte gUnknown_841E325 -_08054068: - bl sub_800AB9C - ldr r0, _0805407C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x64 - b _080541F0 - .align 2, 0 -_0805407C: .4byte gMain -_08054080: - ldr r0, _080540B4 @ =gUnknown_2031DAC - ldr r3, [r0] - ldr r0, [r3, 0x64] - adds r0, 0x1 - str r0, [r3, 0x64] - cmp r0, 0xB4 - bls _0805409C - movs r1, 0x87 - lsls r1, 3 - adds r0, r2, r1 - movs r2, 0 - movs r1, 0x65 - strb r1, [r0] - str r2, [r3, 0x64] -_0805409C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _080540A8 - b _08054396 -_080540A8: - ldr r0, _080540B8 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - b _080540D0 - .align 2, 0 -_080540B4: .4byte gUnknown_2031DAC -_080540B8: .4byte gMain -_080540BC: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _080540C8 - b _08054396 -_080540C8: - ldr r0, _080540D8 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 -_080540D0: - movs r1, 0x2 - strb r1, [r0] - b _08054396 - .align 2, 0 -_080540D8: .4byte gMain -_080540DC: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x32 - strb r0, [r1] - ldr r4, _080540FC @ =gStringVar4 - ldr r1, _08054100 @ =gText_SavingDontTurnOffThePower2 -_080540EA: - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_8054508 - b _08054396 - .align 2, 0 -_080540FC: .4byte gStringVar4 -_08054100: .4byte gText_SavingDontTurnOffThePower2 -_08054104: - bl InUnionRoom - cmp r0, 0 - beq _08054120 - ldr r0, _0805411C @ =gUnknown_2031DAC - ldr r1, [r0] - adds r1, 0xF8 - movs r0, 0x12 - bl sub_8113550 - b _08054132 - .align 2, 0 -_0805411C: .4byte gUnknown_2031DAC -_08054120: - ldr r0, _08054174 @ =gUnknown_2031DAC - ldr r1, [r0] - adds r1, 0xF8 - movs r0, 0xC - bl sub_8113550 - movs r0, 0x15 - bl IncrementGameStat -_08054132: - ldr r0, _08054178 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0805415A - ldr r4, _0805417C @ =gLinkPlayers - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0x2 - bl sub_8144714 -_0805415A: - bl sub_804C1C0 - bl sub_80DA3AC - ldr r1, _08054180 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - b _080541F2 - .align 2, 0 -_08054174: .4byte gUnknown_2031DAC -_08054178: .4byte gWirelessCommType -_0805417C: .4byte gLinkPlayers -_08054180: .4byte gMain -_08054184: - ldr r0, _0805419C @ =gUnknown_2031DAC - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x5 - beq _08054194 - b _08054396 -_08054194: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _08054340 - .align 2, 0 -_0805419C: .4byte gUnknown_2031DAC -_080541A0: - bl sub_80DA3D8 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080541C4 - bl sav2_gender2_inplace_and_xFE - ldr r0, _080541C0 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _08054396 - .align 2, 0 -_080541C0: .4byte gMain -_080541C4: - ldr r0, _080541D8 @ =gUnknown_2031DAC - ldr r0, [r0] - str r1, [r0, 0x64] - ldr r0, _080541DC @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x33 - strb r1, [r0] - b _08054396 - .align 2, 0 -_080541D8: .4byte gUnknown_2031DAC -_080541DC: .4byte gMain -_080541E0: - bl sub_80DA40C - ldr r0, _080541FC @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x28 -_080541F0: - strb r1, [r0] -_080541F2: - ldr r0, _08054200 @ =gUnknown_2031DAC - ldr r0, [r0] - str r2, [r0, 0x64] - b _08054396 - .align 2, 0 -_080541FC: .4byte gMain -_08054200: .4byte gUnknown_2031DAC -_08054204: - ldr r4, _08054238 @ =gUnknown_2031DAC - ldr r1, [r4] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x32 - bhi _08054214 - b _08054396 -_08054214: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0805423C - bl Random - ldr r4, [r4] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [r4, 0x64] - b _08054242 - .align 2, 0 -_08054238: .4byte gUnknown_2031DAC -_0805423C: - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_08054242: - ldr r0, _08054250 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x29 - strb r1, [r0] - b _08054396 - .align 2, 0 -_08054250: .4byte gMain -_08054254: - ldr r0, _08054270 @ =gUnknown_2031DAC - ldr r1, [r0] - ldr r0, [r1, 0x64] - cmp r0, 0 - bne _08054278 - bl sub_800AB9C - ldr r0, _08054274 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x2A - strb r1, [r0] - b _08054396 - .align 2, 0 -_08054270: .4byte gUnknown_2031DAC -_08054274: .4byte gMain -_08054278: - subs r0, 0x1 - str r0, [r1, 0x64] - b _08054396 -_0805427E: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0805428A - b _08054396 -_0805428A: - bl sub_80DA434 - ldr r0, _0805429C @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - b _08054396 - .align 2, 0 -_0805429C: .4byte gMain -_080542A0: - ldr r0, _080542C0 @ =gUnknown_2031DAC - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bls _08054396 - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_800AB9C - b _08054396 - .align 2, 0 -_080542C0: .4byte gUnknown_2031DAC -_080542C4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08054396 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08054338 -_080542E0: - ldr r0, _080542FC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08054396 - movs r0, 0x3 - bl FadeOutBGM - ldr r1, _08054300 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08054340 - .align 2, 0 -_080542FC: .4byte gPaletteFade -_08054300: .4byte gMain -_08054304: - bl IsBGMStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08054396 - ldr r0, _08054328 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08054334 - ldr r0, _0805432C @ =gMain - ldr r1, [r0, 0x8] - ldr r0, _08054330 @ =sub_804C718 - cmp r1, r0 - bne _08054334 - bl sub_800AB9C - b _08054338 - .align 2, 0 -_08054328: .4byte gWirelessCommType -_0805432C: .4byte gMain -_08054330: .4byte sub_804C718 -_08054334: - bl sub_800AAC0 -_08054338: - ldr r1, _08054348 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_08054340: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08054396 - .align 2, 0 -_08054348: .4byte gMain -_0805434C: - ldr r0, _08054374 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08054384 - ldr r1, [r2, 0x8] - ldr r0, _08054378 @ =sub_804C718 - cmp r1, r0 - bne _08054384 - bl IsLinkRfuTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08054396 - ldr r0, _0805437C @ =gSoftResetDisabled - movs r1, 0 - strb r1, [r0] - ldr r0, _08054380 @ =sub_80543C4 - bl SetMainCallback2 - b _08054396 - .align 2, 0 -_08054374: .4byte gWirelessCommType -_08054378: .4byte sub_804C718 -_0805437C: .4byte gSoftResetDisabled -_08054380: .4byte sub_80543C4 -_08054384: - ldr r0, _080543B8 @ =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _08054396 - ldr r0, _080543BC @ =gSoftResetDisabled - strb r1, [r0] - ldr r0, _080543C0 @ =sub_80543C4 - bl SetMainCallback2 -_08054396: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _080543A4 - bl RunTasks -_080543A4: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080543B8: .4byte gReceivedRemoteLinkPlayers -_080543BC: .4byte gSoftResetDisabled -_080543C0: .4byte sub_80543C4 - thumb_func_end sub_8053E8C - - thumb_func_start sub_80543C4 -sub_80543C4: @ 80543C4 - push {r4,r5,lr} - ldr r0, _08054430 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0805441A - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r4, _08054434 @ =gUnknown_2031DAC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, _08054438 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08054412 - bl DestroyWirelessStatusIndicatorSprite -_08054412: - ldr r0, _0805443C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0805441A: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08054430: .4byte gPaletteFade -_08054434: .4byte gUnknown_2031DAC -_08054438: .4byte gWirelessCommType -_0805443C: .4byte gMain - thumb_func_end sub_80543C4 - - thumb_func_start DoInGameTradeScene -DoInGameTradeScene: @ 8054440 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _0805446C @ =sub_8054470 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl HelpSystem_Disable - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0805446C: .4byte sub_8054470 - thumb_func_end DoInGameTradeScene - - thumb_func_start sub_8054470 -sub_8054470: @ 8054470 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0805449C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08054494 - ldr r0, _080544A0 @ =sub_80505CC - bl SetMainCallback2 - ldr r1, _080544A4 @ =gFieldCallback - ldr r0, _080544A8 @ =FieldCallback_ReturnToEventScript2 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_08054494: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805449C: .4byte gPaletteFade -_080544A0: .4byte sub_80505CC -_080544A4: .4byte gFieldCallback -_080544A8: .4byte FieldCallback_ReturnToEventScript2 - thumb_func_end sub_8054470 - - thumb_func_start sub_80544AC -sub_80544AC: @ 80544AC - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_080544B2: - ldr r0, _080544F0 @ =gUnknown_2031DA4 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _080544F4 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x43 - bl GetMonData - adds r0, r5, r0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _080544B2 - cmp r5, 0 - beq _080544EA - ldr r0, _080544F8 @ =0x0000083b - bl FlagSet -_080544EA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080544F0: .4byte gUnknown_2031DA4 -_080544F4: .4byte gEnemyParty -_080544F8: .4byte 0x0000083b - thumb_func_end sub_80544AC - - thumb_func_start sub_80544FC -sub_80544FC: @ 80544FC - push {lr} - bl sub_80504CC - pop {r0} - bx r0 - thumb_func_end sub_80544FC - - thumb_func_start sub_8054508 -sub_8054508: @ 8054508 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r5, r0, 0 - mov r8, r1 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r2, _08054580 @ =gUnknown_2031DAC - ldr r1, [r2] - movs r6, 0x82 - lsls r6, 1 - adds r1, r6 - movs r3, 0 - movs r0, 0xF - strb r0, [r1] - ldr r0, [r2] - ldr r7, _08054584 @ =0x00000105 - adds r1, r0, r7 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r7, 0x1 - adds r1, r0, r7 - movs r0, 0x6 - strb r0, [r1] - str r3, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - ldr r0, [r2] - adds r0, r6 - str r0, [sp, 0x8] - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - mov r0, r8 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized4 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08054580: .4byte gUnknown_2031DAC -_08054584: .4byte 0x00000105 - thumb_func_end sub_8054508 - - thumb_func_start c3_08054588 -c3_08054588: @ 8054588 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080545C0 @ =gTasks+0x8 - adds r4, r0, r1 - ldr r1, _080545C4 @ =gUnknown_826D250 - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r2, r1, 0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080545CC - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - beq _080545D4 - lsls r0, r1, 1 - ldr r1, _080545C8 @ =gUnknown_826BB5C - adds r0, r1 - b _080545D6 - .align 2, 0 -_080545C0: .4byte gTasks+0x8 -_080545C4: .4byte gUnknown_826D250 -_080545C8: .4byte gUnknown_826BB5C -_080545CC: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bne _080545E4 -_080545D4: - ldr r0, _080545E0 @ =gUnknown_826BF5C -_080545D6: - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - b _080545F2 - .align 2, 0 -_080545E0: .4byte gUnknown_826BF5C -_080545E4: - lsls r0, r2, 1 - ldr r1, _08054648 @ =gUnknown_826BD5C - adds r0, r1 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette -_080545F2: - ldr r0, _0805464C @ =gUnknown_826D250 - movs r2, 0 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _08054610 - movs r3, 0x2 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _08054610 - movs r0, 0xBC - bl PlaySE -_08054610: - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r1, _0805464C @ =gUnknown_826D250 - movs r3, 0 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _08054650 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08054656 - adds r0, r5, 0 - bl DestroyTask - b _08054656 - .align 2, 0 -_08054648: .4byte gUnknown_826BD5C -_0805464C: .4byte gUnknown_826D250 -_08054650: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_08054656: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end c3_08054588 - - thumb_func_start c3_0805465C -c3_0805465C: @ 805465C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _08054728 @ =gTasks+0x8 - adds r7, r0, r1 - movs r0, 0 - ldrsh r4, [r7, r0] - cmp r4, 0 - bne _080546BC - ldr r1, _0805472C @ =gUnknown_2031DAC - ldr r3, [r1] - ldr r5, _08054730 @ =0x0000010b - adds r2, r3, r5 - movs r0, 0x78 - strb r0, [r2] - subs r5, 0x2 - adds r2, r3, r5 - strb r0, [r2] - ldr r0, [r1] - movs r2, 0x85 - lsls r2, 1 - adds r0, r2 - strb r4, [r0] - ldr r0, [r1] - movs r3, 0x86 - lsls r3, 1 - adds r0, r3 - movs r1, 0xA0 - strb r1, [r0] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x4A - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x13 - bl SetGpuReg -_080546BC: - ldr r4, _0805472C @ =gUnknown_2031DAC - ldr r2, [r4] - ldr r5, _08054730 @ =0x0000010b - mov r8, r5 - adds r0, r2, r5 - ldrb r1, [r0] - subs r5, 0x2 - adds r2, r5 - ldrb r0, [r2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x40 - bl SetGpuReg - ldr r2, [r4] - movs r1, 0x86 - lsls r1, 1 - adds r0, r2, r1 - ldrb r1, [r0] - movs r3, 0x85 - lsls r3, 1 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x44 - bl SetGpuReg - ldrh r0, [r7] - adds r0, 0x1 - strh r0, [r7] - ldr r1, [r4] - adds r1, r5 - ldrb r0, [r1] - subs r0, 0x5 - strb r0, [r1] - ldr r1, [r4] - add r1, r8 - ldrb r0, [r1] - adds r0, 0x5 - strb r0, [r1] - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x4F - bhi _0805471E - adds r0, r6, 0 - bl DestroyTask -_0805471E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08054728: .4byte gTasks+0x8 -_0805472C: .4byte gUnknown_2031DAC -_08054730: .4byte 0x0000010b - thumb_func_end c3_0805465C - - thumb_func_start sub_8054734 -sub_8054734: @ 8054734 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _080547E8 @ =gTasks+0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08054774 - ldr r1, _080547EC @ =gUnknown_2031DAC - ldr r0, [r1] - ldr r3, _080547F0 @ =0x00000109 - adds r2, r0, r3 - movs r0, 0x50 - strb r0, [r2] - ldr r0, [r1] - ldr r2, _080547F4 @ =0x0000010b - adds r1, r0, r2 - movs r0, 0xA0 - strb r0, [r1] - movs r0, 0x4A - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x13 - bl SetGpuReg -_08054774: - ldr r5, _080547EC @ =gUnknown_2031DAC - ldr r0, [r5] - ldr r3, _080547F4 @ =0x0000010b - adds r1, r0, r3 - ldrb r1, [r1] - ldr r4, _080547F0 @ =0x00000109 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x40 - bl SetGpuReg - ldr r2, [r5] - movs r1, 0x86 - lsls r1, 1 - adds r0, r2, r1 - ldrb r1, [r0] - movs r3, 0x85 - lsls r3, 1 - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x78 - beq _080547FC - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - ldr r0, [r5] - adds r1, r0, r4 - ldrb r0, [r1] - adds r0, 0x5 - strb r0, [r1] - ldr r0, [r5] - ldr r2, _080547F4 @ =0x0000010b - adds r1, r0, r2 - ldrb r0, [r1] - subs r0, 0x5 - strb r0, [r1] - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x73 - bls _0805480C - ldr r2, _080547F8 @ =0x0000ffff - movs r0, 0x8 - movs r1, 0 - bl BlendPalettes - b _0805480C - .align 2, 0 -_080547E8: .4byte gTasks+0x8 -_080547EC: .4byte gUnknown_2031DAC -_080547F0: .4byte 0x00000109 -_080547F4: .4byte 0x0000010b -_080547F8: .4byte 0x0000ffff -_080547FC: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r7, 0 - bl DestroyTask -_0805480C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8054734 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index 0d1640699..ae5381dda 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -1636,7 +1636,7 @@ _08129144: lsls r0, 24 cmp r0, 0 bne _08129206 - bl sub_804C1C0 + bl SetContinueGameWarpStatusToDynamicWarp movs r0, 0 bl TrySavingData ldr r0, _08129164 @ =gUnknown_203B0E0 @@ -1665,7 +1665,7 @@ _08129180: bne _08129206 movs r0, 0x30 bl PlaySE - bl sav2_gender2_inplace_and_xFE + bl ClearContinueGameWarpStatus2 ldr r0, _081291A0 @ =gUnknown_203B0E0 ldr r1, [r0] movs r0, 0xA |