diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_frontier_2.s | 2 | ||||
-rw-r--r-- | asm/contest.s | 7744 | ||||
-rw-r--r-- | asm/contest_ai.s | 34 | ||||
-rw-r--r-- | asm/contest_link_80F57C4.s | 98 | ||||
-rw-r--r-- | asm/contest_link_80FC4F4.s | 34 | ||||
-rw-r--r-- | asm/contest_link_81D9DE4.s | 18 | ||||
-rw-r--r-- | asm/field_player_avatar.s | 1274 | ||||
-rw-r--r-- | asm/field_specials.s | 8075 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 1533 | ||||
-rw-r--r-- | asm/pokenav.s | 10 | ||||
-rw-r--r-- | asm/rom_8011DC0.s | 6 | ||||
-rw-r--r-- | asm/roulette.s | 8 | ||||
-rw-r--r-- | asm/script_menu.s | 2 | ||||
-rw-r--r-- | asm/script_pokemon_util_80F87D8.s | 46 | ||||
-rw-r--r-- | asm/trade.s | 2 |
15 files changed, 226 insertions, 18660 deletions
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 2ab474037..38e0d2e62 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -11843,7 +11843,7 @@ sub_81A0784: @ 81A0784 movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/asm/contest.s b/asm/contest.s index 453ecb04c..6504e7bf1 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,7588 +5,6 @@ .text - thumb_func_start TaskDummy1 -TaskDummy1: @ 80D7668 - bx lr - thumb_func_end TaskDummy1 - - thumb_func_start ResetLinkContestBoolean -ResetLinkContestBoolean: @ 80D766C - ldr r1, =gUnknown_02039F2A - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end ResetLinkContestBoolean - - thumb_func_start sub_80D7678 -sub_80D7678: @ 80D7678 - push {r4,lr} - movs r0, 0 - movs r1, 0x40 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - movs r1, 0xFE - lsls r1, 7 - movs r0, 0 - bl SetGpuRegBits - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r0, =gBattle_BG3_X - strh r1, [r0] - ldr r0, =gBattle_BG3_Y - strh r1, [r0] - ldr r0, =gBattle_WIN0H - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r0, =gBattle_WIN1H - strh r1, [r0] - ldr r0, =gBattle_WIN1V - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7678 - - thumb_func_start LoadContestBgAfterMoveAnim -LoadContestBgAfterMoveAnim: @ 80D7724 - push {r4,r5,lr} - ldr r0, =gUnknown_08C17AB0 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, =gUnknown_08C1850C - ldr r1, =0x06002000 - bl LZDecompressVram - ldr r1, =gUnknown_08C16FA8 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08C16E90 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - bl sub_80D782C - movs r4, 0 - movs r5, 0xA0 -_080D775E: - ldr r0, =0x0201a004 - adds r0, r5, r0 - ldr r1, =gUnknown_02039F26 - adds r1, r4, r1 - ldrb r1, [r1] - adds r1, 0x5 - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - adds r5, 0x20 - adds r4, 0x1 - cmp r4, 0x3 - ble _080D775E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LoadContestBgAfterMoveAnim - - thumb_func_start sub_80D779C -sub_80D779C: @ 80D779C - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08587F34 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0x3 - movs r1, 0x6 - movs r2, 0x1 - bl SetBgAttribute - movs r4, 0 -_080D77BA: - lsls r0, r4, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - lsls r2, r4, 2 - adds r1, 0x24 - adds r1, r2 - ldr r1, [r1] - bl SetBgTilemapBuffer - adds r4, 0x1 - cmp r4, 0x3 - ble _080D77BA - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D779C - - thumb_func_start sub_80D77E4 -sub_80D77E4: @ 80D77E4 - push {lr} - ldr r0, =gUnknown_08587F44 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D7818 - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _080D7822 - .pool -_080D7818: - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_080D7822: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D77E4 - - thumb_func_start sub_80D782C -sub_80D782C: @ 80D782C - push {r4,r5,lr} - ldr r0, =gUnknown_08587C30 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - movs r5, 0xA - movs r4, 0xFA - lsls r4, 16 -_080D7848: - lsrs r1, r4, 16 - ldr r0, =gPlttBufferUnfaded + 0x1E2 - movs r2, 0x2 - bl LoadPalette - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0xD - ble _080D7848 - ldr r0, =0x00007e3f - movs r1, 0xF3 - movs r2, 0x2 - bl FillPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D782C - - thumb_func_start sub_80D787C -sub_80D787C: @ 80D787C - push {r4-r7,lr} - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x5C - bl memset - movs r5, 0 - movs r2, 0xFF -_080D7890: - ldr r0, [r4] - ldr r1, [r0] - adds r1, 0x2 - adds r1, r5 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - adds r5, 0x1 - cmp r5, 0x3 - ble _080D7890 - movs r4, 0 - ldr r6, =gContestResources - movs r5, 0x3 -_080D78AA: - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - movs r1, 0 - movs r2, 0x1C - bl memset - adds r4, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080D78AA - ldr r4, =gContestResources - movs r7, 0x4 - negs r7, r7 - movs r6, 0xFF - movs r3, 0 - movs r5, 0x3 -_080D78CC: - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r2, [r1, 0xB] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1, 0xB] - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x13] - orrs r0, r6 - strb r0, [r1, 0x13] - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x14] - orrs r0, r6 - strb r0, [r1, 0x14] - adds r3, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080D78CC - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r1, 0 - movs r2, 0x14 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x44 - bl memset - ldr r2, [r4] - ldr r1, [r2, 0x10] - movs r0, 0 - str r0, [r1] - ldr r0, [r2, 0x14] - movs r1, 0 - movs r2, 0x10 - bl memset - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080D7938 - movs r0, 0 - bl sub_80DCE58 -_080D7938: - movs r5, 0 - adds r2, r4, 0 - movs r6, 0xFF - movs r3, 0 - ldr r4, =gUnknown_02039F26 -_080D7942: - ldr r0, [r2] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x19] - orrs r0, r6 - strb r0, [r1, 0x19] - ldr r0, [r2] - ldr r1, [r0] - adds r1, 0x14 - adds r1, r5 - adds r0, r5, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080D7942 - bl sub_80DD590 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x1C] - movs r1, 0 - movs r2, 0x40 - bl memset - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D787C - - thumb_func_start sub_80D7988 -sub_80D7988: @ 80D7988 - push {r4,r5,lr} - ldr r4, =gContestResources - movs r0, 0x40 - bl AllocZeroed - str r0, [r4] - movs r0, 0x5C - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x70 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x14 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x44 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x14] - movs r0, 0x14 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x18] - movs r0, 0x40 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x1C] - movs r0, 0xC - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x20] - movs r5, 0x80 - lsls r5, 5 - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x24] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x28] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x2C] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x30] - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x34] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x38] - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - ldr r2, [r4] - str r0, [r2, 0x3C] - ldr r1, =gUnknown_0202305C - str r0, [r1] - ldr r1, =gUnknown_02023060 - ldr r0, [r2, 0x28] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7988 - - thumb_func_start sub_80D7A5C -sub_80D7A5C: @ 80D7A5C - push {r4,r5,lr} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r5] - str r4, [r0, 0x8] - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - str r4, [r0, 0xC] - ldr r0, [r0, 0x10] - bl Free - ldr r0, [r5] - str r4, [r0, 0x10] - ldr r0, [r0, 0x14] - bl Free - ldr r0, [r5] - str r4, [r0, 0x14] - ldr r0, [r0, 0x18] - bl Free - ldr r0, [r5] - str r4, [r0, 0x18] - ldr r0, [r0, 0x1C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x1C] - ldr r0, [r0, 0x20] - bl Free - ldr r0, [r5] - str r4, [r0, 0x20] - ldr r0, [r0, 0x24] - bl Free - ldr r0, [r5] - str r4, [r0, 0x24] - ldr r0, [r0, 0x28] - bl Free - ldr r0, [r5] - str r4, [r0, 0x28] - ldr r0, [r0, 0x2C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x2C] - ldr r0, [r0, 0x30] - bl Free - ldr r0, [r5] - str r4, [r0, 0x30] - ldr r0, [r0, 0x34] - bl Free - ldr r0, [r5] - str r4, [r0, 0x34] - ldr r0, [r0, 0x38] - bl Free - ldr r0, [r5] - str r4, [r0, 0x38] - ldr r0, [r0, 0x3C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x3C] - bl Free - str r4, [r5] - ldr r0, =gUnknown_0202305C - str r4, [r0] - ldr r0, =gUnknown_02023060 - str r4, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7A5C - - thumb_func_start sub_80D7B24 -sub_80D7B24: @ 80D7B24 - push {r4-r6,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r6, r0, r1 - ldrb r5, [r6] - cmp r5, 0x1 - beq _080D7BD4 - cmp r5, 0x1 - bgt _080D7B44 - cmp r5, 0 - beq _080D7B4E - b _080D7C56 - .pool -_080D7B44: - cmp r5, 0x2 - beq _080D7BDA - cmp r5, 0x3 - beq _080D7C04 - b _080D7C56 -_080D7B4E: - ldr r0, =gUnknown_02039F38 - strb r5, [r0] - bl sub_80D7988 - bl AllocateMonSpritesGfx - ldr r4, =gMonSpritesGfxPtr - ldr r0, [r4] - ldr r0, [r0] - bl Free - ldr r0, [r4] - str r5, [r0] - movs r0, 0x80 - lsls r0, 7 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - bl sub_80D779C - bl sub_80D77E4 - bl sub_80D7678 - bl ScanlineEffect_Clear - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - ldr r0, =0x02000000 - movs r1, 0xD0 - lsls r1, 9 - adds r0, r1 - strb r5, [r0] - bl ClearBattleMonForms - bl sub_80D787C - b _080D7BF6 - .pool -_080D7BD4: - movs r0, 0x2 - strb r0, [r6] - b _080D7C56 -_080D7BDA: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - adds r0, 0x59 - bl sub_80D7E44 - lsls r0, 24 - cmp r0, 0 - beq _080D7C56 - ldr r0, [r4] - ldr r0, [r0] - adds r0, 0x59 - movs r1, 0 - strb r1, [r0] -_080D7BF6: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _080D7C56 - .pool -_080D7C04: - bl sub_80DE224 - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x2 - bl BeginFastPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, =vblank_cb_battle - bl SetVBlankCallback - ldr r0, =sub_80D7C7C - movs r1, 0xA - bl CreateTask - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - strb r0, [r1, 0x8] - ldr r0, =sub_80D823C - bl SetMainCallback2 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D7C56 - bl sub_800E0E8 - movs r0, 0x8 - movs r1, 0x8 - bl CreateWirelessStatusIndicatorSprite -_080D7C56: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7B24 - - thumb_func_start sub_80D7C7C -sub_80D7C7C: @ 80D7C7C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080D7CA2 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - ldr r0, =sub_80D7CB4 - str r0, [r1] -_080D7CA2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7C7C - - thumb_func_start sub_80D7CB4 -sub_80D7CB4: @ 80D7CB4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D7D90 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D7D3A - ldr r2, =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r4, r0, r2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r6, r1, 0 - cmp r0, 0x1 - beq _080D7D04 - cmp r0, 0x1 - bgt _080D7CF4 - cmp r0, 0 - beq _080D7CFA - b _080D7D3A - .pool -_080D7CF4: - cmp r0, 0x2 - beq _080D7D28 - b _080D7D3A -_080D7CFA: - bl sub_80DBF68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D7D04: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080D7D9E - bl sub_800ADF8 - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080D7D9E - .pool -_080D7D28: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D7D9E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D7D3A: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080D7D9E - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080D7D62 - bl sub_80DBF68 -_080D7D62: - ldr r0, =sub_80D7DAC - movs r1, 0 - bl CreateTask - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - ldr r1, =TaskDummy1 - str r1, [r0] - b _080D7D9E - .pool -_080D7D90: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D80C8 - str r0, [r1] -_080D7D9E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7CB4 - - thumb_func_start sub_80D7DAC -sub_80D7DAC: @ 80D7DAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_80FC998 - ldr r2, =sub_80D7DC8 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7DAC - - thumb_func_start sub_80D7DC8 -sub_80D7DC8: @ 80D7DC8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - ldr r0, =sub_80D7DE8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80D7DC8 - - thumb_func_start sub_80D7DE8 -sub_80D7DE8: @ 80D7DE8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bgt _080D7E2A - bl GetMultiplayerId - adds r0, r4, 0 - bl DestroyTask - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldr r1, =sub_80D80C8 - str r1, [r0] - ldr r1, =gRngValue - ldr r0, =gUnknown_030060B8 - ldr r0, [r0] - str r0, [r1] -_080D7E2A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7DE8 - - thumb_func_start sub_80D7E44 -sub_80D7E44: @ 80D7E44 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - mov r10, r0 - ldrb r0, [r0] - cmp r0, 0x6 - bls _080D7E5A - b _080D80A4 -_080D7E5A: - lsls r0, 2 - ldr r1, =_080D7E68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D7E68: - .4byte _080D7E84 - .4byte _080D7EC8 - .4byte _080D7ED8 - .4byte _080D7F28 - .4byte _080D7F40 - .4byte _080D7F7C - .4byte _080D8004 -_080D7E84: - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - movs r1, 0xC0 - lsls r1, 19 - movs r4, 0x80 - lsls r4, 8 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldr r1, =0x06008000 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldr r1, =0x06010000 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - b _080D80AE - .pool -_080D7EC8: - ldr r0, =gUnknown_08C17AB0 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _080D80AE - .pool -_080D7ED8: - ldr r0, =gUnknown_08C1850C - ldr r4, =0x06002000 - adds r1, r4, 0 - bl LZDecompressVram - ldr r3, =0x02018000 - movs r5, 0x80 - lsls r5, 6 - ldr r1, =0x040000d4 - ldr r6, =0x84000400 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x84 - lsls r7, 24 -_080D7EF4: - str r4, [r1] - str r3, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r4, r2 - adds r3, r2 - subs r5, r2 - cmp r5, r2 - bhi _080D7EF4 - str r4, [r1] - str r3, [r1, 0x4] - lsrs r0, r5, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - b _080D80AE - .pool -_080D7F28: - ldr r1, =gUnknown_08C16FA8 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080D80AE - .pool -_080D7F40: - ldr r1, =gUnknown_08C17170 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x2C] - ldr r2, =0x0201aa04 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080D80AE - .pool -_080D7F7C: - ldr r0, =gUnknown_08C16E90 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - ldr r5, =gPlttBufferUnfaded + 0x100 - ldr r6, =0x04000008 - adds r0, r5, 0 - mov r1, sp - adds r2, r6, 0 - bl CpuSet - ldr r0, =gUnknown_02039F25 - mov r9, r0 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 5 - ldr r1, =0xffffff00 - adds r1, r5 - mov r8, r1 - add r0, r8 - add r4, sp, 0x20 - adds r1, r4, 0 - adds r2, r6, 0 - bl CpuSet - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CpuSet - mov r2, r9 - ldrb r1, [r2] - adds r1, 0x5 - lsls r1, 5 - add r1, r8 - mov r0, sp - adds r2, r6, 0 - bl CpuSet - ldr r1, =0x0201a004 - ldr r0, =0x040000d4 - mov r2, r8 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, =0x84000080 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl sub_80D782C - b _080D80AE - .pool -_080D8004: - bl sub_80DD04C - bl sub_80DBF90 - bl sub_80DB2BC - bl sub_80DB120 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - movs r4, 0 - strb r0, [r1, 0x12] - bl sub_80DC2BC - bl sub_80DC4F0 - bl sub_80DC594 - bl sub_80DC5E8 - bl sub_80DC7EC - ldr r1, =gBattlerPositions - strb r4, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r3, 0x3 - strb r3, [r1, 0x2] - movs r2, 0x2 - strb r2, [r1, 0x3] - ldr r0, =gBattleTypeFlags - str r4, [r0] - ldr r4, =gBattlerAttacker - strb r2, [r4] - ldr r0, =gBattlerTarget - strb r3, [r0] - bl sub_80DB0C4 - ldr r2, =gBattlerSpriteIds - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - bl sub_80DEA20 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - b _080D80AE - .pool -_080D80A4: - movs r0, 0 - mov r1, r10 - strb r0, [r1] - movs r0, 0x1 - b _080D80B8 -_080D80AE: - mov r2, r10 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r0, 0 -_080D80B8: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D7E44 - - thumb_func_start sub_80D80C8 -sub_80D80C8: @ 80D80C8 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gPaletteFade - ldrb r2, [r1, 0x8] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1, 0x8] - ldrb r1, [r1, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080D80F8 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =sub_80D8108 - str r0, [r1] -_080D80F8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D80C8 - - thumb_func_start sub_80D8108 -sub_80D8108: @ 80D8108 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _080D8208 - lsls r0, 2 - ldr r1, =_080D8138 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D8138: - .4byte _080D814C - .4byte _080D8176 - .4byte _080D8194 - .4byte _080D81B0 - .4byte _080D8208 -_080D814C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - adds r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080D822C - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x61 - movs r1, 0 - bl PlaySE12WithPanning - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080D822C -_080D8176: - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - adds r0, 0x7 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA0 - ble _080D822C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - b _080D81FA - .pool -_080D8194: - bl sub_80DE350 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080D822C - .pool -_080D81B0: - movs r0, 0x8 - bl GetGpuReg - mov r1, sp - strh r0, [r1] - movs r0, 0xC - bl GetGpuReg - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r3, sp - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4] - ands r1, r0 - strb r1, [r4] - mov r0, sp - ldrh r1, [r0] - movs r0, 0x8 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0xC - bl SetGpuReg - bl sub_80DDB0C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 -_080D81FA: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080D822C - .pool -_080D8208: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080D822C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80D833C - str r1, [r0] -_080D822C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8108 - - thumb_func_start sub_80D823C -sub_80D823C: @ 80D823C - push {r4,r5,lr} - bl AnimateSprites - bl RunTasks - bl BuildOamBuffer - bl UpdatePaletteFade - movs r4, 0 -_080D8250: - ldr r5, =gUnknown_02039F38 - ldrb r0, [r5] - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D8266 - lsls r0, r4, 24 - lsrs r0, 24 - bl CopyBgTilemapBufferToVram -_080D8266: - adds r4, 0x1 - cmp r4, 0x3 - ble _080D8250 - movs r0, 0 - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D823C - - thumb_func_start vblank_cb_battle -vblank_cb_battle: @ 80D827C - push {lr} - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - ldr r0, =gBattle_BG2_Y - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, =gBattle_BG3_X - ldrh r1, [r0] - movs r0, 0x1C - bl SetGpuReg - ldr r0, =gBattle_BG3_Y - ldrh r1, [r0] - movs r0, 0x1E - bl SetGpuReg - ldr r0, =gBattle_WIN0H - ldrh r1, [r0] - movs r0, 0x40 - bl SetGpuReg - ldr r0, =gBattle_WIN0V - ldrh r1, [r0] - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gBattle_WIN1H - ldrh r1, [r0] - movs r0, 0x42 - bl SetGpuReg - ldr r0, =gBattle_WIN1V - ldrh r1, [r0] - movs r0, 0x46 - bl SetGpuReg - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - .pool - thumb_func_end vblank_cb_battle - - thumb_func_start sub_80D833C -sub_80D833C: @ 80D833C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _080D840C - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - bl sub_80DCD48 - ldr r1, =gPlttBufferUnfaded - ldr r2, =0x0201a204 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x84000100 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, =gStringVar1 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1, 0x1] - adds r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D83CC - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D507 - bl StringCopy - b _080D83D4 - .pool -_080D83CC: - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D531 - bl StringCopy -_080D83D4: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gDisplayedStringBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080D841A - .pool -_080D840C: - bl sub_80DED4C - cmp r0, 0 - bne _080D841A - strh r0, [r4, 0x8] - ldr r0, =sub_80D8424 - str r0, [r4] -_080D841A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D833C - - thumb_func_start sub_80D8424 -sub_80D8424: @ 80D8424 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080D843C - cmp r1, 0x2 - bne _080D8482 -_080D843C: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D8474 - movs r0, 0x1 - bl sub_80DC490 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8490 - b _080D8480 - .pool -_080D8474: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8894 -_080D8480: - str r0, [r1] -_080D8482: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8424 - - thumb_func_start sub_80D8490 -sub_80D8490: @ 80D8490 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gBattle_BG0_Y - movs r1, 0xA0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - movs r6, 0 - ldr r0, =gUnknown_02039F25 - mov r8, r0 - ldr r2, =gUnknown_02039E00 + 30 - mov r10, r2 - ldr r7, =gContestResources -_080D84B8: - lsls r1, r6, 1 - mov r0, r8 - ldrb r2, [r0] - lsls r0, r2, 6 - adds r1, r0 - add r1, r10 - ldrh r4, [r1] - add r5, sp, 0x4 - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _080D853C - adds r0, r2, 0 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _080D853C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - adds r1, r4, 0 - bl AreMovesContestCombo - lsls r0, 24 - cmp r0, 0 - beq _080D853C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D853C - add r0, sp, 0x4 - ldr r1, =gText_ColorLightShadowDarkGrey - b _080D8566 - .pool -_080D853C: - cmp r4, 0 - beq _080D856C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - cmp r0, r4 - bne _080D856C - ldr r0, =gContestMoves - lsls r1, r4, 3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x3 - beq _080D856C - add r0, sp, 0x4 - ldr r1, =gText_ColorBlue -_080D8566: - bl StringCopy - adds r5, r0, 0 -_080D856C: - movs r0, 0xD - adds r1, r4, 0 - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - adds r4, r6, 0x5 - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x7 - str r0, [sp] - adds r0, r4, 0 - add r1, sp, 0x4 - movs r2, 0x5 - movs r3, 0x1 - bl sub_80DEBD0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _080D84B8 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gUnknown_02039E00 - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - ldr r1, =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80D8610 - str r1, [r0] - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8490 - - thumb_func_start sub_80D8610 -sub_80D8610: @ 80D8610 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r3, =gMain - ldr r1, =gUnknown_02039E00 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, 0x1E - adds r1, r0, r1 - movs r2, 0x3 -_080D8628: - ldrh r0, [r1] - cmp r0, 0 - beq _080D8634 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080D8634: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080D8628 - ldrh r0, [r3, 0x2E] - movs r5, 0x1 - ands r5, r0 - cmp r5, 0 - beq _080D8670 - movs r0, 0x5 - bl PlaySE - ldr r0, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8894 - str r0, [r1] - b _080D87FA - .pool -_080D8670: - ldrh r0, [r3, 0x30] - cmp r0, 0x20 - bne _080D8678 - b _080D87FA -_080D8678: - cmp r0, 0x20 - bgt _080D8682 - cmp r0, 0x2 - beq _080D868E - b _080D87FA -_080D8682: - cmp r0, 0x40 - beq _080D8730 - cmp r0, 0x80 - bne _080D868C - b _080D879C -_080D868C: - b _080D87FA -_080D868E: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80DC490 - ldr r0, =gStringVar1 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1, 0x1] - adds r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D86DC - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D507 - bl StringCopy - b _080D86E4 - .pool -_080D86DC: - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D531 - bl StringCopy -_080D86E4: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gDisplayedStringBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_80DEC30 - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80D8424 - str r1, [r0] - b _080D87FA - .pool -_080D8730: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D883C - ldr r0, [r4] - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0 - bne _080D8754 - subs r0, r6, 0x1 - b _080D8756 - .pool -_080D8754: - subs r0, 0x1 -_080D8756: - strb r0, [r1] - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gUnknown_02039E00 - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - cmp r6, 0x1 - bls _080D87FA - movs r0, 0x5 - bl PlaySE - b _080D87FA - .pool -_080D879C: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D883C - ldr r0, [r4] - ldr r1, [r0] - ldrb r2, [r1] - subs r0, r6, 0x1 - cmp r2, r0 - bne _080D87C0 - strb r5, [r1] - b _080D87C4 - .pool -_080D87C0: - adds r0, r2, 0x1 - strb r0, [r1] -_080D87C4: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gUnknown_02039E00 - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - cmp r6, 0x1 - bls _080D87FA - movs r0, 0x5 - bl PlaySE -_080D87FA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8610 - - thumb_func_start sub_80D880C -sub_80D880C: @ 80D880C - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - lsls r3, 25 - movs r0, 0xF8 - lsls r0, 21 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x37 - movs r2, 0 - bl sub_80DECB8 - add sp, 0x10 - pop {r0} - bx r0 - thumb_func_end sub_80D880C - - thumb_func_start sub_80D883C -sub_80D883C: @ 80D883C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - asrs r4, 23 - adds r3, r4, 0 - adds r3, 0x1F - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - mov r8, r0 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r6, 0x11 - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r1, 0xB - movs r2, 0 - bl sub_80DECB8 - adds r4, 0x20 - lsls r4, 24 - lsrs r4, 24 - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xB - movs r2, 0 - adds r3, r4, 0 - bl sub_80DECB8 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D883C - - thumb_func_start sub_80D8894 -sub_80D8894: @ 80D8894 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D890C - ldr r4, =gUnknown_02039F25 - ldrb r0, [r4] - bl sub_80DB8B8 - ldr r1, =gContestResources - ldr r1, [r1] - ldrb r2, [r4] - ldr r3, [r1, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x6] - ldr r4, =sub_80FC9F8 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80D892C - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =TaskDummy1 - str r1, [r0] - bl sub_80DBF68 - movs r0, 0 - bl sub_80DC490 - b _080D891E - .pool -_080D890C: - bl sub_80DB918 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D895C - str r0, [r1] -_080D891E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8894 - - thumb_func_start sub_80D892C -sub_80D892C: @ 80D892C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r2, =gTasks - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_80D895C - str r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D892C - - thumb_func_start sub_80D895C -sub_80D895C: @ 80D895C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_80DB89C - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - movs r0, 0 - bl sub_80DC490 - movs r6, 0 - movs r5, 0xA0 - lsls r5, 19 -_080D897C: - lsrs r4, r5, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _080D897C - movs r0, 0 - bl sub_80DED60 - ldr r1, =gPlttBufferFaded - ldr r0, =0x0201a604 - movs r2, 0x80 - lsls r2, 3 - ldr r4, =0x040000d4 - str r1, [r4] - str r0, [r4, 0x4] - lsrs r1, r2, 2 - movs r3, 0x84 - lsls r3, 24 - orrs r1, r3 - str r1, [r4, 0x8] - ldr r1, [r4, 0x8] - ldr r1, =0xfffffc00 - adds r0, r1 - movs r1, 0 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80D8A04 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D895C - - thumb_func_start sub_80D8A04 -sub_80D8A04: @ 80D8A04 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080D8A42 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080D8A42 - bl sub_80DDBE8 - movs r0, 0x1 - bl sub_80DE69C - ldr r0, =sub_80D8A50 - str r0, [r4] -_080D8A42: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A04 - - thumb_func_start sub_80D8A50 -sub_80D8A50: @ 80D8A50 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0, 0x6] - movs r0, 0x90 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _080D8A76 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8A88 - str r0, [r1] -_080D8A76: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A50 - - thumb_func_start sub_80D8A88 -sub_80D8A88: @ 80D8A88 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gTasks - lsls r3, r6, 2 - adds r1, r3, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080D8B18 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x10] - ldr r0, [r2] - ldr r1, [r0] - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1, 0x18] - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r7, r3, 0 - cmp r0, 0 - beq _080D8B08 - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080D8B08 - movs r4, 0 - ldr r1, =gUnknown_02039F30 - ldrb r0, [r1] - cmp r0, 0x3 - bgt _080D8B08 - adds r5, r1, 0 -_080D8ADE: - ldrb r0, [r5] - adds r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_80DB8B8 - ldr r1, =gContestResources - ldr r1, [r1] - ldrb r2, [r5] - adds r2, r4 - ldr r3, [r1, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x6] - adds r4, 0x1 - ldrb r0, [r5] - adds r0, r4, r0 - cmp r0, 0x3 - ble _080D8ADE -_080D8B08: - ldr r1, =gTasks - adds r0, r7, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_80D8B38 - str r1, [r0] -_080D8B18: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A88 - - thumb_func_start sub_80D8B38 -sub_80D8B38: @ 80D8B38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0] - ldrb r6, [r0, 0x11] - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - mov r9, r2 - adds r4, r1, 0 - cmp r0, 0x3B - bls _080D8B6E - bl _080DA100 -_080D8B6E: - lsls r0, 2 - ldr r1, =_080D8B84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D8B84: - .4byte _080D8C74 - .4byte _080D8D30 - .4byte _080D8D56 - .4byte _080D8DC4 - .4byte _080D8E7C - .4byte _080D8EC8 - .4byte _080D8F84 - .4byte _080D8FB8 - .4byte _080D9010 - .4byte _080D908C - .4byte _080D9FC0 - .4byte _080D9FEC - .4byte _080D9238 - .4byte _080D926C - .4byte _080D9774 - .4byte _080D9864 - .4byte _080D98D4 - .4byte _080D9904 - .4byte _080D99EC - .4byte _080D999E - .4byte _080DA024 - .4byte _080DA0A0 - .4byte _080DA0C2 - .4byte _080D90B4 - .4byte _080D9180 - .4byte _080D9388 - .4byte _080D939E - .4byte _080D947C - .4byte _080D94A0 - .4byte _080D9508 - .4byte _080D95EC - .4byte _080DA038 - .4byte _080DA080 - .4byte _080D9EBC - .4byte _080D9F48 - .4byte _080D929A - .4byte _080D92D0 - .4byte _080D92F6 - .4byte _080D9334 - .4byte _080D955C - .4byte _080D95C4 - .4byte _080D9A2C - .4byte _080DA100 - .4byte _080D9DAC - .4byte _080DA100 - .4byte _080D9830 - .4byte _080D997C - .4byte _080D921A - .4byte _080D91A4 - .4byte _080D91F4 - .4byte _080D935C - .4byte _080D9690 - .4byte _080D971C - .4byte _080D9BAA - .4byte _080D9C68 - .4byte _080D9F68 - .4byte _080D9F84 - .4byte _080D9DD4 - .4byte _080D9E60 - .4byte _080D9EA0 -_080D8C74: - bl sub_80DCD48 - movs r7, 0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r1, 0x10] - mov r5, r8 - lsls r5, 2 - mov r10, r5 - ldrb r2, [r0] - cmp r1, r2 - beq _080D8C9C - adds r2, r0, 0 -_080D8C92: - adds r7, 0x1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _080D8C92 -_080D8C9C: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - strb r7, [r0, 0x11] - ldr r0, [r4] - ldr r2, [r0] - ldrb r6, [r2, 0x11] - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080D8D14 - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080D8CD4 - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DD080 -_080D8CD4: - ldr r4, =sub_80FCC88 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA110 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80DBF68 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - bl _080DA100 - .pool -_080D8D14: - adds r0, r6, 0 - bl sub_80DD080 - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8D30: - mov r3, r9 - ldr r0, [r3] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D8D44 - bl _080DA100 -_080D8D44: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x8] - bl _080DA100 -_080D8D56: - adds r0, r6, 0 - bl sub_80DF080 - bl sub_80DF750 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080D8D86 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _080D8DA4 -_080D8D86: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1F - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8DA4: - bl sub_80DB89C - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r6, [r1, 0x1C] - movs r0, 0x3 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8DC4: - mov r4, r8 - lsls r4, 2 - mov r10, r4 - ldr r1, =gBattleMonForms - movs r2, 0 - adds r0, r1, 0x3 -_080D8DD0: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080D8DD0 - movs r7, 0x4 - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0, 0x18] - movs r1, 0 - movs r2, 0x14 - bl memset - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE9DC - ldr r4, =gUnknown_02039E00 - ldr r0, [r5] - ldr r0, [r0] - ldrb r3, [r0, 0x11] - lsls r2, r3, 6 - adds r0, r2, r4 - ldrh r0, [r0] - adds r1, r4, 0 - adds r1, 0x3C - adds r1, r2, r1 - ldr r1, [r1] - adds r4, 0x38 - adds r2, r4 - ldr r2, [r2] - bl sub_80DB174 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r3, r0, r2 - movs r1, 0x78 - strh r1, [r3, 0x24] - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_80DA134 - str r1, [r0] - ldr r0, =gTasks - mov r4, r10 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0xC] - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - adds r0, r1 - strb r5, [r0] - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DC9EC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80DCBE8 - strh r7, [r4, 0x8] - bl _080DA100 - .pool -_080D8E7C: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r4 - ldrb r5, [r2, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _080D8EA0 - bl _080DA100 -_080D8EA0: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D8EB8 - bl _080DA100 -_080D8EB8: - movs r0, 0x5 - strh r0, [r2, 0x8] - bl _080DA100 - .pool -_080D8EC8: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r5, r0, 2 - adds r1, r5, r1 - ldrb r1, [r1, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D8EF2 - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x21 - strh r1, [r0, 0x8] - bl _080DA100 -_080D8EF2: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0, 0x4] - adds r3, r5, r0 - ldrh r1, [r3, 0x6] - movs r0, 0xB1 - lsls r0, 1 - cmp r1, r0 - bhi _080D8F38 - ldr r0, =gStringVar2 - adds r2, r1, 0 - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _080D8F48 - .pool -_080D8F38: - ldr r0, =gStringVar2 - ldr r2, =gUnknown_08587F1C - ldrb r1, [r3, 0xA] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_080D8F48: - ldr r4, =gStringVar4 - ldr r1, =gText_0827D55A - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x6 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D8F84: - bl sub_80DED4C - adds r1, r0, 0 - cmp r1, 0 - beq _080D8F92 - bl _080DA100 -_080D8F92: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x5A - strb r1, [r0] - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D8FB8: - mov r5, r9 - ldr r1, [r5] - ldr r0, [r1] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl sub_80DE834 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE864 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE9DC - adds r0, r4, 0 - bl sub_80DEAA8 - adds r0, r4, 0 - bl DoMoveAnim - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9010: - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r4, [r0] - cmp r4, 0 - beq _080D9024 - bl _080DA100 -_080D9024: - adds r0, r6, 0 - bl sub_80DE9B0 - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x5A - ldrb r0, [r0] - cmp r0, 0 - beq _080D9060 - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r4, [r1, 0x1C] - movs r0, 0x9 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9060: - ldr r1, [r1, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080D907A - adds r0, r6, 0 - bl sub_80DC674 -_080D907A: - bl sub_80DE12C - ldr r0, =gTasks - mov r4, r8 - lsls r1, r4, 2 - b _080D9192 - .pool -_080D908C: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r4 - ldrh r0, [r2, 0x1C] - adds r1, r0, 0x1 - strh r1, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - bgt _080D90A8 - bl _080DA100 -_080D90A8: - movs r0, 0 - strh r0, [r2, 0x1C] - movs r0, 0x7 - strh r0, [r2, 0x8] - bl _080DA100 -_080D90B4: - mov r0, r8 - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r7, r0, r4 - movs r0, 0 - strh r0, [r7, 0xA] - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - mov r12, r0 - lsls r1, r6, 3 - subs r0, r1, r6 - lsls r5, r0, 2 - mov r0, r12 - adds r3, r5, r0 - ldrb r0, [r3, 0x13] - mov r10, r2 - str r1, [sp, 0x4] - cmp r0, 0xFF - beq _080D90FA - ldrb r1, [r3, 0x13] - adds r0, r6, 0 - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - movs r1, 0xFF - strb r1, [r0, 0x13] - movs r0, 0x18 - strh r0, [r7, 0x8] - bl _080DA100 -_080D90FA: - ldrb r0, [r3, 0x14] - cmp r0, 0xFF - beq _080D9178 - movs r7, 0 - cmp r7, r6 - beq _080D910E - mov r2, r12 - ldrb r0, [r2, 0x13] - cmp r0, 0xFF - bne _080D912C -_080D910E: - adds r7, 0x1 - cmp r7, 0x3 - bgt _080D912C - cmp r7, r6 - beq _080D910E - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D910E -_080D912C: - cmp r7, 0x4 - bne _080D9168 - mov r4, r9 - ldr r0, [r4] - ldr r0, [r0, 0x4] - ldr r5, [sp, 0x4] - subs r4, r5, r6 - lsls r4, 2 - adds r0, r4, r0 - ldrb r1, [r0, 0x14] - adds r0, r6, 0 - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r0 - movs r0, 0xFF - strb r0, [r4, 0x14] - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9168: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x30 - strh r1, [r0, 0x8] - bl _080DA100 -_080D9178: - movs r0, 0x30 - strh r0, [r7, 0x8] - bl _080DA100 -_080D9180: - bl sub_80DED4C - cmp r0, 0 - beq _080D918C - bl _080DA100 -_080D918C: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 -_080D9192: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x17 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D91A4: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x11] - movs r3, 0x3 - ands r3, r0 - cmp r3, 0x1 - bne _080D91C4 - movs r0, 0x5 - bl sub_80DD720 - b _080D91DA -_080D91C4: - cmp r3, 0x2 - bne _080D91D0 - movs r0, 0x6 - bl sub_80DD720 - b _080D91DA -_080D91D0: - cmp r3, 0x3 - bne _080D9208 - movs r0, 0x7 - bl sub_80DD720 -_080D91DA: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x31 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D91F4: - mov r3, r9 - ldr r0, [r3] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9208 - bl _080DA100 -_080D9208: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2F - strh r1, [r0, 0x8] - bl _080DA100 -_080D921A: - movs r0, 0x1 - bl sub_80DE008 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xC - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9238: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - movs r4, 0x2 - ldrsh r1, [r0, r4] - movs r0, 0 - adds r2, r6, 0 - bl sub_80DC028 - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xD - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D926C: - mov r0, r9 - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x11] - ldr r1, [r1, 0x14] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9288 - bl _080DA100 -_080D9288: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x23 - strh r1, [r0, 0x8] - bl _080DA100 -_080D929A: - mov r2, r9 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0x10 - bne _080D92B8 - movs r0, 0x8 - bl sub_80DD720 -_080D92B8: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x24 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D92D0: - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D92E4 - bl _080DA100 -_080D92E4: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x25 - strh r1, [r0, 0x8] - bl _080DA100 -_080D92F6: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_80DB5B8 - lsls r0, 24 - cmp r0, 0 - beq _080D9320 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x26 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9320: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080D9354 - .pool -_080D9334: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080D9350 - bl _080DA100 -_080D9350: - movs r0, 0 - strh r0, [r1, 0x1C] -_080D9354: - movs r0, 0x32 - strh r0, [r1, 0x8] - bl _080DA100 -_080D935C: - adds r0, r6, 0 - bl sub_80DB798 - lsls r0, 24 - cmp r0, 0 - beq _080D936E - movs r0, 0x63 - bl PlaySE -_080D936E: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x19 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9388: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0xA] - movs r1, 0x1A - strh r1, [r0, 0x8] - bl _080DA100 -_080D939E: - movs r3, 0 - movs r5, 0 - str r5, [sp] - mov r0, r8 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - adds r0, r4 - movs r2, 0xA - ldrsh r7, [r0, r2] - mov r10, r1 - cmp r7, 0x3 - bgt _080D9418 - ldr r5, =gUnknown_02039F26 - ldr r2, =gContestResources -_080D93BC: - movs r3, 0 - str r3, [sp] - adds r0, r3, 0 - cmp r0, r6 - beq _080D93E4 - ldrb r0, [r5] - cmp r0, r7 - bne _080D93E4 - ldr r0, [r2] - ldr r0, [r0, 0x4] - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D93E4 - movs r1, 0x1 - str r1, [sp] - b _080D940C - .pool -_080D93E4: - adds r3, 0x1 - cmp r3, 0x3 - bgt _080D940C - cmp r3, r6 - beq _080D93E4 - adds r0, r3, r5 - ldrb r0, [r0] - cmp r0, r7 - bne _080D93E4 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D93E4 - movs r0, 0x1 - str r0, [sp] -_080D940C: - ldr r1, [sp] - cmp r1, 0 - bne _080D9422 - adds r7, 0x1 - cmp r7, 0x3 - ble _080D93BC -_080D9418: - ldr r2, [sp] - lsls r0, r2, 24 - asrs r2, r0, 24 - cmp r2, 0 - beq _080D9464 -_080D9422: - mov r5, r10 - add r5, r8 - lsls r5, 3 - adds r5, r4 - ldr r0, =gUnknown_02039F26 - adds r0, r3, r0 - ldrb r0, [r0] - strh r0, [r5, 0xA] - lsls r0, r3, 24 - lsrs r0, 24 - mov r4, r9 - ldr r1, [r4] - ldr r1, [r1, 0x4] - lsls r4, r3, 3 - subs r4, r3 - lsls r4, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x13] - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r0 - movs r0, 0xFF - strb r0, [r4, 0x13] - movs r0, 0x1B - strh r0, [r5, 0x8] - bl _080DA100 - .pool -_080D9464: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0xA] - strh r2, [r0, 0x1C] - movs r1, 0x33 - strh r1, [r0, 0x8] - bl sub_80DB884 - bl _080DA100 -_080D947C: - bl sub_80DED4C - cmp r0, 0 - beq _080D9488 - bl _080DA100 -_080D9488: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1C - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D94A0: - movs r7, 0 - mov r3, r8 - lsls r0, r3, 2 - adds r1, r0, r3 - lsls r1, 3 - adds r1, r4 - movs r4, 0xA - ldrsh r2, [r1, r4] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r0, [r5] - cmp r2, r0 - beq _080D94CA - adds r1, r2, 0 - adds r2, r5, 0 -_080D94C0: - adds r7, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080D94C0 -_080D94CA: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0xE] - ldrh r0, [r0, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - negs r1, r1 - lsls r2, r7, 24 - lsrs r2, 24 - bl sub_80DC028 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1D - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9508: - movs r7, 0 - mov r2, r8 - lsls r0, r2, 2 - adds r1, r0, r2 - lsls r1, 3 - adds r1, r4 - movs r5, 0xA - ldrsh r3, [r1, r5] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r0, [r5] - cmp r3, r0 - beq _080D952E -_080D9524: - adds r7, 0x1 - adds r0, r7, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _080D9524 -_080D952E: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x14] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9546 - bl _080DA100 -_080D9546: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x27 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D955C: - movs r7, 0 - mov r2, r8 - lsls r0, r2, 2 - adds r1, r0, r2 - lsls r1, 3 - adds r1, r4 - movs r3, 0xA - ldrsh r2, [r1, r3] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r4, [r5] - cmp r2, r4 - beq _080D9586 - adds r1, r2, 0 - adds r2, r5, 0 -_080D957C: - adds r7, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080D957C -_080D9586: - lsls r0, r7, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80DB5B8 - lsls r0, 24 - cmp r0, 0 - beq _080D95B4 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x28 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D95B4: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080D95E4 - .pool -_080D95C4: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080D95E0 - bl _080DA100 -_080D95E0: - movs r0, 0 - strh r0, [r1, 0x1C] -_080D95E4: - movs r0, 0x1E - strh r0, [r1, 0x8] - bl _080DA100 -_080D95EC: - movs r7, 0 - ldr r2, =gUnknown_02039F26 - ldrb r3, [r2] - mov r0, r8 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - adds r4, r0, r4 - movs r5, 0xA - ldrsh r0, [r4, r5] - mov r10, r1 - adds r5, r2, 0 - cmp r3, r0 - beq _080D961E - adds r3, r5, 0 - adds r2, r4, 0 -_080D960C: - adds r7, 0x1 - cmp r7, 0x3 - bgt _080D961E - adds r0, r7, r3 - ldrb r1, [r0] - movs r4, 0xA - ldrsh r0, [r2, r4] - cmp r1, r0 - bne _080D960C -_080D961E: - lsls r4, r7, 24 - lsrs r0, r4, 24 - bl sub_80DB798 - lsls r0, 24 - adds r6, r4, 0 - cmp r0, 0 - beq _080D963C - movs r0, 0x63 - bl PlaySE - b _080D9642 - .pool -_080D963C: - movs r0, 0x64 - bl PlaySE -_080D9642: - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x15] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D9670 - lsrs r0, r6, 24 - bl sub_80DC674 - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r2, [r1, 0x15] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x15] -_080D9670: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x1A - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9690: - mov r5, r8 - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - mov r10, r2 - cmp r0, 0x9 - bgt _080D96AE - bl _080DA100 -_080D96AE: - movs r0, 0 - strh r0, [r4, 0x1C] - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080D96D4 - ldrb r1, [r2, 0x11] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D96F6 -_080D96D4: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E793 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 -_080D96F6: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x34 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D971C: - bl sub_80DED4C - cmp r0, 0 - beq _080D9728 - bl _080DA100 -_080D9728: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080D975C - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x11 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D975C: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xE - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9774: - mov r4, r9 - ldr r0, [r4] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] - lsls r4, r0, 24 - lsrs r5, r4, 24 - cmp r5, 0 - beq _080D97DC - bl sub_80DB89C - asrs r0, r4, 24 - cmp r0, 0x1 - bne _080D97A0 - ldr r0, =gText_0827E32E - b _080D97A6 - .pool -_080D97A0: - cmp r0, 0x2 - bne _080D97B4 - ldr r0, =gText_0827E35B -_080D97A6: - movs r1, 0x1 - bl sub_80DEC30 - b _080D97BC - .pool -_080D97B4: - ldr r0, =gText_0827E38D - movs r1, 0x1 - bl sub_80DEC30 -_080D97BC: - movs r0, 0x3 - bl sub_80DD720 - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - b _080D9812 - .pool -_080D97DC: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E2FE - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - movs r0, 0x2 - bl sub_80DD720 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] -_080D9812: - movs r1, 0x2D - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9830: - mov r3, r9 - ldr r0, [r3] - ldr r2, [r0] - ldrb r1, [r2, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9844 - bl _080DA100 -_080D9844: - ldrb r0, [r2, 0x11] - bl sub_80DC9B4 - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xF - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9864: - bl sub_80DED4C - cmp r0, 0 - beq _080D9870 - bl _080DA100 -_080D9870: - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bgt _080D988E - bl _080DA100 -_080D988E: - ldr r7, =gContestResources - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r5, r0, 2 - adds r2, r5, r1 - ldrb r1, [r2, 0x15] - movs r0, 0x10 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - bne _080D98C2 - movs r1, 0x2 - ldrsh r0, [r2, r1] - ldrb r1, [r2, 0x17] - adds r2, r6, 0 - bl sub_80DC028 - ldr r0, [r7] - ldr r1, [r0, 0x4] - adds r1, r5, r1 - ldrh r0, [r1, 0x2] - ldrb r2, [r1, 0x17] - adds r0, r2 - strh r0, [r1, 0x2] -_080D98C2: - mov r3, r8 - strh r3, [r4, 0x8] - bl _080DA100 - .pool -_080D98D4: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080D98F0 - bl _080DA100 -_080D98F0: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r1, [r0, 0x1C] - movs r1, 0x11 - strh r1, [r0, 0x8] - bl _080DA100 -_080D9904: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D996C - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E6E3 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r0, =gTasks - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x1C] - bl sub_80DD720 - movs r0, 0x2E - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D996C: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x29 - strh r1, [r0, 0x8] - b _080DA100 -_080D997C: - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D998E - b _080DA100 -_080D998E: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x13 - strh r1, [r0, 0x8] - b _080DA100 -_080D999E: - bl sub_80DED4C - cmp r0, 0 - beq _080D99A8 - b _080DA100 -_080D99A8: - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r1, r4, r1 - movs r2, 0x2 - ldrsh r0, [r1, r2] - ldrb r1, [r1, 0x18] - negs r1, r1 - adds r2, r6, 0 - bl sub_80DC028 - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r4, r0 - ldrb r1, [r4, 0x18] - ldrh r0, [r4, 0x2] - subs r0, r1 - strh r0, [r4, 0x2] - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x12 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D99EC: - bl sub_80DCD48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9A0A - b _080DA100 -_080D9A0A: - ldr r0, =gTasks - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r3, [r4, 0x1C] - bl sub_80DB89C - movs r0, 0x29 - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D9A2C: - mov r1, r9 - ldr r0, [r1] - ldr r2, [r0, 0x10] - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9A56 - ldr r0, [r2] - lsls r0, 20 - lsrs r0, 29 - cmp r6, r0 - beq _080D9A56 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x39 - strh r1, [r0, 0x8] - b _080DA100 -_080D9A56: - mov r3, r9 - ldr r1, [r3] - ldr r0, [r1, 0x10] - ldrb r0, [r0] - str r0, [sp] - ldr r1, [r1, 0x4] - lsls r2, r6, 3 - subs r0, r2, r6 - lsls r0, 2 - adds r5, r0, r1 - ldrb r1, [r5, 0x11] - movs r0, 0x10 - ands r0, r1 - str r2, [sp, 0x4] - cmp r0, 0 - beq _080D9A94 - movs r4, 0x1 - str r4, [sp] - ldr r0, =gStringVar3 - ldrh r2, [r5, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _080D9AAE - .pool -_080D9A94: - ldr r0, =gStringVar3 - ldr r3, =gUnknown_08587F08 - ldr r2, =gContestMoves - ldrh r1, [r5, 0x6] - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0x1] - lsls r1, 29 - lsrs r1, 27 - adds r1, r3 - ldr r1, [r1] - bl StringCopy -_080D9AAE: - ldr r5, [sp] - lsls r0, r5, 24 - cmp r0, 0 - ble _080D9AD2 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - ldr r2, [sp, 0x4] - subs r0, r2, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9AD2 - movs r3, 0 - str r3, [sp] -_080D9AD2: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gContestResources - ldr r0, [r4] - ldr r1, [r0] - ldrb r0, [r1, 0x13] - ldr r5, [sp] - lsls r2, r5, 24 - asrs r3, r2, 24 - adds r0, r3, r0 - strb r0, [r1, 0x13] - ldr r0, [r4] - ldr r1, [r0] - movs r0, 0x13 - ldrsb r0, [r1, r0] - adds r5, r2, 0 - cmp r0, 0 - bge _080D9B06 - movs r0, 0 - strb r0, [r1, 0x13] -_080D9B06: - cmp r3, 0 - bne _080D9B30 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - b _080D9F58 - .pool -_080D9B30: - cmp r3, 0 - bge _080D9B48 - ldr r0, =gStringVar4 - ldr r1, =gText_0827E73C - bl StringExpandPlaceholders - b _080D9B74 - .pool -_080D9B48: - cmp r3, 0 - ble _080D9B6C - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bgt _080D9B6C - ldr r0, =gStringVar4 - ldr r1, =gText_0827E717 - bl StringExpandPlaceholders - b _080D9B74 - .pool -_080D9B6C: - ldr r0, =gStringVar4 - ldr r1, =gText_0827E76A - bl StringExpandPlaceholders -_080D9B74: - ldr r0, =gStringVar4 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0 - strh r0, [r1, 0x1C] - strh r0, [r1, 0x1E] - cmp r5, 0 - bge _080D9BA4 - movs r0, 0x35 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9BA4: - movs r0, 0x36 - strh r0, [r1, 0x8] - b _080DA100 -_080D9BAA: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r4 - movs r0, 0x1C - ldrsh r3, [r4, r0] - cmp r3, 0x1 - beq _080D9BE8 - cmp r3, 0x1 - bgt _080D9BC6 - cmp r3, 0 - beq _080D9BD0 - b _080DA100 -_080D9BC6: - cmp r3, 0x2 - beq _080D9C0C - cmp r3, 0x3 - beq _080D9C46 - b _080DA100 -_080D9BD0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 - bl sub_80DDED0 - ldr r0, =0x00000187 - bl PlayFanfare - b _080D9C3E - .pool -_080D9BE8: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r0, [r0, 0x7] - ands r3, r0 - cmp r3, 0 - beq _080D9BF8 - b _080DA100 -_080D9BF8: - bl sub_80DED4C - cmp r0, 0 - beq _080D9C02 - b _080DA100 -_080D9C02: - movs r0, 0x1 - negs r0, r0 - bl sub_80DDCDC - b _080D9C3E -_080D9C0C: - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080D9C22 - b _080DA100 -_080D9C22: - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080D9C32 - b _080DA100 -_080D9C32: - strh r2, [r4, 0x1E] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - bl sub_80DDED0 -_080D9C3E: - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _080DA100 -_080D9C46: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080D9C58 - b _080DA100 -_080D9C58: - strh r0, [r4, 0x1C] - strh r0, [r4, 0x1E] - movs r0, 0x2B - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D9C68: - mov r3, r8 - lsls r1, r3, 2 - adds r0, r1, r3 - lsls r0, 3 - adds r0, r4 - movs r5, 0x1C - ldrsh r0, [r0, r5] - mov r10, r1 - cmp r0, 0x4 - bls _080D9C7E - b _080DA100 -_080D9C7E: - lsls r0, 2 - ldr r1, =_080D9C8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D9C8C: - .4byte _080D9CA0 - .4byte _080D9CB0 - .4byte _080D9CD4 - .4byte _080D9D3E - .4byte _080D9D84 -_080D9CA0: - bl sub_80DED4C - cmp r0, 0 - beq _080D9CAA - b _080DA100 -_080D9CAA: - movs r0, 0x1 - movs r1, 0x1 - b _080D9D68 -_080D9CB0: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9CC2 - b _080DA100 -_080D9CC2: - bl sub_80DDE0C - movs r0, 0xDF - bl PlaySE - movs r0, 0x1 - bl sub_80DDCDC - b _080D9D6C -_080D9CD4: - mov r3, r9 - ldr r2, [r3] - ldr r0, [r2] - ldrb r1, [r0, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9CEA - b _080DA100 -_080D9CEA: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r5, r0, r4 - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080D9D02 - b _080DA100 -_080D9D02: - strh r3, [r5, 0x1E] - ldr r0, [r2, 0x4] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r0, r4, r0 - movs r1, 0x2 - ldrsh r0, [r0, r1] - ldr r1, [r2, 0x10] - ldrb r1, [r1, 0x2] - lsls r1, 24 - asrs r1, 24 - adds r2, r6, 0 - bl sub_80DC028 - mov r2, r9 - ldr r1, [r2] - ldr r0, [r1, 0x4] - adds r4, r0 - ldr r0, [r1, 0x10] - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x2] - adds r0, r3 - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - b _080DA100 -_080D9D3E: - mov r4, r9 - ldr r2, [r4] - ldr r1, [r2, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9D54 - b _080DA100 -_080D9D54: - ldr r0, [r2] - ldrb r1, [r0, 0x6] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080D9D62 - b _080DA100 -_080D9D62: - movs r1, 0x1 - negs r1, r1 - movs r0, 0x1 -_080D9D68: - bl sub_80DDED0 -_080D9D6C: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - b _080DA100 - .pool -_080D9D84: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9D96 - b _080DA100 -_080D9D96: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r3, [r0, 0x1C] - strh r3, [r0, 0x1E] - movs r1, 0x2B - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9DAC: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9DC2 - b _080DA100 -_080D9DC2: - bl sub_80DB89C - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - b _080D9F58 - .pool -_080D9DD4: - bl sub_80DB89C - ldr r0, =gStringVar3 - ldr r5, =gContestResources - ldr r1, [r5] - ldr r1, [r1, 0x10] - ldr r1, [r1] - lsls r1, 20 - lsrs r1, 29 - lsls r1, 6 - ldr r4, =gUnknown_02039E00 + 2 - adds r1, r4 - bl StringCopy - ldr r0, =gStringVar1 - lsls r1, r6, 6 - adds r1, r4 - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, [r5] - ldr r2, [r1, 0x4] - lsls r1, r6, 3 - subs r1, r6 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E7EA - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3A - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9E60: - bl sub_80DED4C - cmp r0, 0 - beq _080D9E6A - b _080DA100 -_080D9E6A: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gText_0827E817 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3B - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9EA0: - bl sub_80DED4C - cmp r0, 0 - beq _080D9EAA - b _080DA100 -_080D9EAA: - bl sub_80DB89C - ldr r0, =gTasks - mov r5, r8 - lsls r1, r5, 2 - b _080D9F58 - .pool -_080D9EBC: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r4, r0, 2 - adds r2, r4, r1 - ldrb r1, [r2, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9EDC - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x15] -_080D9EDC: - adds r0, r6, 0 - bl sub_80DC9B4 - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r0, =gStringVar2 - mov r2, r9 - ldr r1, [r2] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E58A - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x22 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9F48: - bl sub_80DED4C - cmp r0, 0 - beq _080D9F52 - b _080DA100 -_080D9F52: - ldr r0, =gTasks - mov r4, r8 - lsls r1, r4, 2 -_080D9F58: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x37 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9F68: - bl sub_80DDBE8 - ldr r0, =gTasks - mov r5, r8 - lsls r1, r5, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x38 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9F84: - mov r1, r9 - ldr r0, [r1] - ldr r2, [r0] - ldrb r1, [r2, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080D9F9A - b _080DA100 -_080D9F9A: - movs r0, 0x13 - ldrsb r0, [r2, r0] - cmp r0, 0x4 - ble _080D9FA8 - strb r1, [r2, 0x13] - bl sub_80DD940 -_080D9FA8: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xA - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9FC0: - mov r3, r8 - lsls r2, r3, 2 - add r2, r8 - lsls r2, 3 - adds r2, r4 - ldrb r5, [r2, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_80DA164 - str r1, [r0] - movs r0, 0xB - strh r0, [r2, 0x8] - b _080DA100 - .pool -_080D9FEC: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r4 - ldrb r5, [r4, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r6, r0, r1 - adds r0, r6, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080DA100 - adds r0, r6, 0 - bl FreeSpriteOamMatrix - adds r0, r6, 0 - bl DestroySprite - movs r0, 0x14 - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080DA024: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x15 - strh r1, [r0, 0x8] - b _080DA100 -_080DA038: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827D56F - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x20 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080DA080: - bl sub_80DED4C - cmp r0, 0 - bne _080DA100 - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x15 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080DA0A0: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080DA100 - movs r0, 0 - strh r0, [r1, 0x1C] - movs r0, 0x16 - strh r0, [r1, 0x8] - b _080DA100 -_080DA0C2: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x10] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080DA0F4 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - ldr r1, =sub_80DA198 - str r1, [r0] - b _080DA100 - .pool -_080DA0F4: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0x8] -_080DA100: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D8B38 - - thumb_func_start sub_80DA110 -sub_80DA110: @ 80DA110 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1] - ldrb r2, [r3, 0x7] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r3, 0x7] - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA110 - - thumb_func_start sub_80DA134 -sub_80DA134: @ 80DA134 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x24] - movs r3, 0x24 - ldrsh r2, [r1, r3] - cmp r2, 0 - beq _080DA148 - subs r0, 0x2 - strh r0, [r1, 0x24] - b _080DA15C -_080DA148: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080DA15C - strh r2, [r1, 0x2E] - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_080DA15C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA134 - - thumb_func_start sub_80DA164 -sub_80DA164: @ 80DA164 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - subs r0, 0x6 - strh r0, [r2, 0x24] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r3, 0x24 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080DA18E - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080DA18E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA164 - - thumb_func_start sub_80DA198 -sub_80DA198: @ 80DA198 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080DA22E - cmp r0, 0x1 - bgt _080DA1C0 - cmp r0, 0 - beq _080DA1C6 - b _080DA250 - .pool -_080DA1C0: - cmp r0, 0x2 - beq _080DA248 - b _080DA250 -_080DA1C6: - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080DA224 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0] - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080DA1F4 - bl sub_80DB944 - bl sub_80DBA18 -_080DA1F4: - ldr r4, =sub_80FCC88 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA110 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80DBF68 - strh r6, [r5, 0x8] - b _080DA250 - .pool -_080DA224: - bl sub_80DB944 - bl sub_80DBA18 - b _080DA23E -_080DA22E: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080DA250 -_080DA23E: - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080DA250 - .pool -_080DA248: - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, =sub_80DA25C - str r0, [r5] -_080DA250: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA198 - - thumb_func_start sub_80DA25C -sub_80DA25C: @ 80DA25C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80DE008 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80DA28C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA25C - - thumb_func_start sub_80DA28C -sub_80DA28C: @ 80DA28C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080DA2D2 - cmp r5, 0x1 - bgt _080DA2B4 - cmp r5, 0 - beq _080DA2BA - b _080DA312 - .pool -_080DA2B4: - cmp r5, 0x2 - beq _080DA304 - b _080DA312 -_080DA2BA: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080DA312 - movs r0, 0x2 - bl sub_80DE69C - strh r5, [r4, 0xA] - b _080DA2F6 -_080DA2D2: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080DA312 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080DA312 - strh r1, [r4, 0xA] -_080DA2F6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DA312 - .pool -_080DA304: - bl sub_80DC3AC - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r0, =sub_80DA31C - str r0, [r4] -_080DA312: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA28C - - thumb_func_start sub_80DA31C -sub_80DA31C: @ 80DA31C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80DC3C4 - lsls r0, 24 - cmp r0, 0 - beq _080DA33A - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA348 - str r0, [r1] -_080DA33A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA31C - - thumb_func_start sub_80DA348 -sub_80DA348: @ 80DA348 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =0x0201a204 - ldr r3, =gPlttBufferUnfaded - ldr r1, =0x040000d4 - str r2, [r1] - str r3, [r1, 0x4] - ldr r2, =0x84000100 - str r2, [r1, 0x8] - ldr r1, [r1, 0x8] - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0xA] - ldr r0, =sub_80DA38C - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80DA348 - - thumb_func_start sub_80DA38C -sub_80DA38C: @ 80DA38C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080DA3BE - movs r0, 0 - strh r0, [r1, 0x8] - ldrh r0, [r1, 0xA] - subs r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080DA3BE - ldr r0, =sub_80DA3CC - str r0, [r1] -_080DA3BE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA38C - - thumb_func_start sub_80DA3CC -sub_80DA3CC: @ 80DA3CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080DA448 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r5, =gUnknown_02039F25 - ldrb r1, [r5] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x1A] - bl sub_80DB89C - ldr r0, =gStringVar1 - ldrb r1, [r5] - lsls r1, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r1, r2 - bl StringCopy - ldr r5, =gStringVar4 - ldr r0, =gUnknown_08587D90 - lsls r4, 2 - adds r4, r0 - ldr r1, [r4] - adds r0, r5, 0 - bl StringExpandPlaceholders - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080DA45A - .pool -_080DA448: - bl sub_80DED4C - cmp r0, 0 - bne _080DA45A - strh r0, [r6, 0x8] - ldr r0, =sub_80DA464 - str r0, [r6] - bl sub_80DCD48 -_080DA45A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA3CC - - thumb_func_start sub_80DA464 -sub_80DA464: @ 80DA464 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080DA48E - movs r0, 0 - strh r0, [r4, 0x8] - bl sub_80DC3AC - ldr r0, =sub_80DA49C - str r0, [r4] -_080DA48E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA464 - - thumb_func_start sub_80DA49C -sub_80DA49C: @ 80DA49C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80DC3C4 - lsls r0, 24 - cmp r0, 0 - beq _080DA4BE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_80DA4CC - str r1, [r0] -_080DA4BE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA49C - - thumb_func_start sub_80DA4CC -sub_80DA4CC: @ 80DA4CC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DE224 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80DE424 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA4CC - - thumb_func_start sub_80DA4F4 -sub_80DA4F4: @ 80DA4F4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DE350 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80DA51C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA4F4 - - thumb_func_start sub_80DA51C -sub_80DA51C: @ 80DA51C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x8 - bl GetGpuReg - mov r1, sp - strh r0, [r1] - movs r0, 0xC - bl GetGpuReg - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r3, sp - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4] - ands r1, r0 - strb r1, [r4] - mov r0, sp - ldrh r1, [r0] - movs r0, 0x8 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0xC - bl SetGpuReg - ldr r2, =gContestResources - ldr r0, [r2] - ldr r1, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, [r2] - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x5 - bne _080DA590 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA5E8 - b _080DA5A0 - .pool -_080DA590: - bl sub_80DDB0C - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA5B4 -_080DA5A0: - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA51C - - thumb_func_start sub_80DA5B4 -sub_80DA5B4: @ 80DA5B4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080DA5D8 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D833C - str r0, [r1] -_080DA5D8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA5B4 - - thumb_func_start sub_80DA5E8 -sub_80DA5E8: @ 80DA5E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r4, =gContestResources - movs r3, 0 - ldr r2, =gUnknown_02039F10 - movs r1, 0x3 -_080DA600: - ldr r0, [r4] - ldr r0, [r0, 0x4] - adds r0, r3, r0 - ldrh r0, [r0, 0x4] - strh r0, [r2] - adds r3, 0x1C - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080DA600 - bl sub_80DBD18 - bl sub_80DB89C - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DA65C - ldr r0, =gContestResources - ldr r2, [r0] - ldr r0, =gUnknown_02039F25 - ldrb r1, [r0] - ldr r2, [r2, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - bl BravoTrainerPokemonProfile_BeforeInterview1 - b _080DA668 - .pool -_080DA65C: - bl sub_80DF250 - bl sub_80DF4F8 - bl sub_80DF750 -_080DA668: - ldr r1, =gUnknown_030060B8 - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_0827D597 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - ldr r1, =sub_80DA6B4 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA5E8 - - thumb_func_start sub_80DA6B4 -sub_80DA6B4: @ 80DA6B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80DED4C - adds r4, r0, 0 - cmp r4, 0 - bne _080DA6EA - bl sub_80DE224 - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r1, =gBattle_BG1_Y - movs r0, 0xA0 - strh r0, [r1] - movs r0, 0x62 - movs r1, 0 - bl PlaySE12WithPanning - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - ldr r1, =sub_80DA700 - str r1, [r0] -_080DA6EA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA6B4 - - thumb_func_start sub_80DA700 -sub_80DA700: @ 80DA700 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - subs r0, 0x7 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bge _080DA718 - movs r0, 0 - strh r0, [r1] -_080DA718: - ldrh r2, [r1] - cmp r2, 0 - bne _080DA72E - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA740 - str r0, [r1] - strh r2, [r1, 0x8] -_080DA72E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA700 - - thumb_func_start sub_80DA740 -sub_80DA740: @ 80DA740 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x31 - ble _080DA794 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_02039F2A - ldrb r0, [r0] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080DA780 - ldr r0, =sub_80DA7A0 - b _080DA792 - .pool -_080DA780: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80DA830 -_080DA792: - str r0, [r4] -_080DA794: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA740 - - thumb_func_start sub_80DA7A0 -sub_80DA7A0: @ 80DA7A0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sub_80FCACC - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA7EC - adds r1, r5, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =TaskDummy1 - str r1, [r0] - bl sub_80DBF68 - movs r0, 0 - bl sub_80DC490 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA7A0 - - thumb_func_start sub_80DA7EC -sub_80DA7EC: @ 80DA7EC - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, =gTasks - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_80DA830 - str r1, [r0] - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA7EC - - thumb_func_start sub_80DA830 -sub_80DA830: @ 80DA830 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DA860 - adds r0, r2, 0 - bl DestroyTask - ldr r0, =gFieldCallback - ldr r1, =sub_80DA874 - str r1, [r0] - bl FreeAllWindowBuffers - bl sub_80D7A5C - bl FreeMonSpritesGfx - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 -_080DA860: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA830 - - thumb_func_start sub_80DA874 -sub_80DA874: @ 80DA874 - push {lr} - bl ScriptContext2_Disable - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80DA874 - - thumb_func_start sub_80DA884 -sub_80DA884: @ 80DA884 - push {lr} - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DA898 - ldr r1, =gUnknown_02039F25 - movs r0, 0x3 - strb r0, [r1] -_080DA898: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA884 - - thumb_func_start sub_80DA8A4 -sub_80DA8A4: @ 80DA8A4 - push {lr} - ldr r0, =gUnknown_02039F25 - ldr r1, =gUnknown_02039F2B - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080DA8C0 - movs r0, 0 - b _080DA8C2 - .pool -_080DA8C0: - movs r0, 0x1 -_080DA8C2: - pop {r1} - bx r1 - thumb_func_end sub_80DA8A4 - - thumb_func_start sub_80DA8C8 -sub_80DA8C8: @ 80DA8C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gSaveBlock2Ptr - ldr r1, [r6] - mov r0, sp - bl StringCopy - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DA8F2 - mov r0, sp - bl sub_80DF9D4 -_080DA8F2: - ldr r5, =gUnknown_02039F25 - ldrb r0, [r5] - lsls r0, 6 - ldr r4, =gUnknown_02039E00 + 13 - adds r0, r4 - mov r1, sp - movs r2, 0x8 - bl memcpy - ldr r0, [r6] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080DA928 - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD8 - b _080DA930 - .pool -_080DA928: - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD9 -_080DA930: - strb r1, [r0, 0x8] - ldr r7, =gUnknown_02039E00 - ldr r6, =gUnknown_02039F25 - ldrb r0, [r6] - lsls r0, 6 - adds r1, r7, 0 - adds r1, 0x18 - adds r0, r1 - movs r1, 0 - str r1, [r0] - ldrb r0, [r6] - lsls r0, 6 - adds r0, r7 - adds r0, 0x2C - strb r1, [r0] - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - bl StringGetEnd10 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DA994 - adds r0, r5, 0 - movs r1, 0x3 - bl GetMonData - adds r1, r0, 0 - mov r0, sp - bl sub_80DF9E0 -_080DA994: - ldrb r0, [r6] - lsls r0, 6 - adds r4, r7, 0x2 - adds r0, r4 - mov r1, sp - movs r2, 0xB - bl memcpy - ldrb r0, [r6] - lsls r0, 6 - adds r0, r4 - mov r1, sp - bl StringCopy - adds r0, r5, 0 - movs r1, 0x16 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x26 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x17 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x27 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x18 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x28 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x21 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x29 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x2F - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x2A - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x30 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x2B - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x1E] - adds r0, r5, 0 - movs r1, 0xE - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x20] - adds r0, r5, 0 - movs r1, 0xF - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x22] - adds r0, r5, 0 - movs r1, 0x10 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x24] - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r2, r7, 0 - adds r2, 0x38 - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0x1 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r2, r7, 0 - adds r2, 0x3C - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r6] - lsls r0, 6 - adds r1, r0, r7 - adds r0, r1, 0 - adds r0, 0x26 - ldrb r3, [r0] - adds r0, 0x1 - ldrb r5, [r0] - adds r0, 0x1 - ldrb r6, [r0] - adds r0, 0x1 - ldrb r7, [r0] - adds r0, 0x1 - ldrb r4, [r0] - cmp r2, 0xFE - bne _080DAAC4 - adds r3, 0x14 - b _080DAB12 - .pool -_080DAAC4: - cmp r2, 0xFF - bne _080DAAD4 - lsls r0, r5, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r5, r0, 16 - b _080DAB12 -_080DAAD4: - movs r0, 0x80 - lsls r0, 1 - cmp r2, r0 - bne _080DAAE8 - lsls r0, r6, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r6, r0, 16 - b _080DAB12 -_080DAAE8: - ldr r0, =0x00000101 - cmp r2, r0 - bne _080DAB00 - lsls r0, r7, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r7, r0, 16 - b _080DAB12 - .pool -_080DAB00: - movs r0, 0x81 - lsls r0, 1 - cmp r2, r0 - bne _080DAB12 - lsls r0, r4, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 -_080DAB12: - cmp r3, 0xFF - ble _080DAB18 - movs r3, 0xFF -_080DAB18: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB22 - movs r5, 0xFF -_080DAB22: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB2C - movs r6, 0xFF -_080DAB2C: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB36 - movs r7, 0xFF -_080DAB36: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB40 - movs r4, 0xFF -_080DAB40: - ldr r2, =gUnknown_02039E00 - ldr r1, =gUnknown_02039F25 - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x26 - strb r3, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x27 - strb r5, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x28 - strb r6, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x29 - strb r7, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x2A - strb r4, [r0] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA8C8 - - thumb_func_start sub_80DAB8C -sub_80DAB8C: @ 80DAB8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x64 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r6, 0 - movs r7, 0 - bl sub_80DA884 - ldr r0, =0x00000864 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080DABC0 - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DABC0 - movs r7, 0x1 -_080DABC0: - movs r5, 0 - ldr r2, =gUnknown_085880A4 - ldr r3, =gUnknown_085898A4 -_080DABC6: - ldrb r0, [r2, 0x1C] - lsls r0, 30 - lsrs r0, 30 - cmp r8, r0 - bne _080DAC3A - cmp r7, 0x1 - bne _080DABEC - ldrb r0, [r3] - cmp r0, 0x1 - beq _080DAC3A - b _080DABF2 - .pool -_080DABEC: - ldrb r0, [r3] - cmp r0, 0x2 - beq _080DAC3A -_080DABF2: - cmp r4, 0 - bne _080DABFE - ldrb r0, [r2, 0x1C] - lsls r0, 29 - cmp r0, 0 - blt _080DAC2E -_080DABFE: - cmp r4, 0x1 - bne _080DAC0A - ldrb r0, [r2, 0x1C] - lsls r0, 28 - cmp r0, 0 - blt _080DAC2E -_080DAC0A: - cmp r4, 0x2 - bne _080DAC16 - ldrb r0, [r2, 0x1C] - lsls r0, 27 - cmp r0, 0 - blt _080DAC2E -_080DAC16: - cmp r4, 0x3 - bne _080DAC22 - ldrb r0, [r2, 0x1C] - lsls r0, 26 - cmp r0, 0 - blt _080DAC2E -_080DAC22: - cmp r4, 0x4 - bne _080DAC3A - ldrb r0, [r2, 0x1C] - lsls r0, 25 - cmp r0, 0 - bge _080DAC3A -_080DAC2E: - adds r0, r6, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - add r0, sp - strb r5, [r0] -_080DAC3A: - adds r2, 0x40 - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x5F - bls _080DABC6 - mov r0, sp - adds r1, r0, r6 - movs r0, 0xFF - strb r0, [r1] - movs r5, 0 - ldr r7, =gUnknown_085880A4 -_080DAC50: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_02039E00 - lsls r2, r5, 6 - adds r2, r1 - mov r1, sp - adds r4, r1, r0 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r7 - adds r0, r2, 0 - movs r2, 0x40 - bl memcpy - ldrb r0, [r4] - adds r2, r5, 0x1 - subs r1, r6, 0x1 - cmp r0, 0xFF - beq _080DAC92 - adds r3, r4, 0 -_080DAC86: - ldrb r0, [r3, 0x1] - strb r0, [r3] - adds r3, 0x1 - ldrb r0, [r3] - cmp r0, 0xFF - bne _080DAC86 -_080DAC92: - lsls r0, r1, 24 - lsrs r6, r0, 24 - adds r5, r2, 0 - cmp r5, 0x2 - ble _080DAC50 - ldr r0, =gUnknown_02039F24 - ldrb r0, [r0] - bl sub_80DA8C8 - add sp, 0x64 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAB8C - - thumb_func_start sub_80DACBC -sub_80DACBC: @ 80DACBC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x64 - mov r8, r2 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - movs r7, 0 - ldr r0, =gUnknown_02039F30 - ldrb r1, [r0] - mov r9, r0 - cmp r1, 0x4 - bne _080DACDE - b _080DADF6 -_080DACDE: - movs r5, 0 - ldr r3, =gUnknown_085880A4 - ldr r6, =gUnknown_085898A4 -_080DACE4: - ldrb r0, [r3, 0x1C] - lsls r0, 30 - lsrs r0, 30 - cmp r2, r0 - bne _080DAD56 - mov r0, r8 - cmp r0, 0x1 - bne _080DAD08 - ldrb r0, [r6] - cmp r0, 0x1 - beq _080DAD56 - b _080DAD0E - .pool -_080DAD08: - ldrb r0, [r6] - cmp r0, 0x2 - beq _080DAD56 -_080DAD0E: - cmp r4, 0 - bne _080DAD1A - ldrb r0, [r3, 0x1C] - lsls r0, 29 - cmp r0, 0 - blt _080DAD4A -_080DAD1A: - cmp r4, 0x1 - bne _080DAD26 - ldrb r0, [r3, 0x1C] - lsls r0, 28 - cmp r0, 0 - blt _080DAD4A -_080DAD26: - cmp r4, 0x2 - bne _080DAD32 - ldrb r0, [r3, 0x1C] - lsls r0, 27 - cmp r0, 0 - blt _080DAD4A -_080DAD32: - cmp r4, 0x3 - bne _080DAD3E - ldrb r0, [r3, 0x1C] - lsls r0, 26 - cmp r0, 0 - blt _080DAD4A -_080DAD3E: - cmp r4, 0x4 - bne _080DAD56 - ldrb r0, [r3, 0x1C] - lsls r0, 25 - cmp r0, 0 - bge _080DAD56 -_080DAD4A: - adds r0, r7, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r7, r1, 24 - add r0, sp - strb r5, [r0] -_080DAD56: - adds r3, 0x40 - adds r6, 0x1 - adds r5, 0x1 - cmp r5, 0x5F - bls _080DACE4 - mov r3, sp - adds r1, r3, r7 - movs r0, 0xFF - strb r0, [r1] - movs r5, 0 - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x4 - subs r0, r1 - cmp r5, r0 - bge _080DADF6 - ldr r3, =gUnknown_02039E00 - mov r8, r3 - mov r6, r9 - movs r0, 0x2 - add r0, r8 - mov r9, r0 -_080DAD82: - bl sub_80F903C - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - bl __modsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - add r0, r8 - ldr r2, =gUnknown_085880A4 - mov r3, sp - adds r4, r3, r1 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r2 - movs r2, 0x40 - bl memcpy - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - mov r1, r8 - adds r1, 0xD - adds r0, r1 - bl sub_80DF9D4 - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - add r0, r9 - movs r1, 0x2 - bl sub_80DF9E0 - ldrb r0, [r4] - adds r3, r5, 0x1 - subs r1, r7, 0x1 - cmp r0, 0xFF - beq _080DADE6 - adds r2, r4, 0 -_080DADDA: - ldrb r0, [r2, 0x1] - strb r0, [r2] - adds r2, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080DADDA -_080DADE6: - lsls r0, r1, 24 - lsrs r7, r0, 24 - adds r5, r3, 0 - ldrb r1, [r6] - movs r0, 0x4 - subs r0, r1 - cmp r5, r0 - blt _080DAD82 -_080DADF6: - add sp, 0x64 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DACBC - - thumb_func_start sub_80DAE0C -sub_80DAE0C: @ 80DAE0C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _080DAE1E - movs r0, 0x3 - b _080DAE9A -_080DAE1E: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080DAE2E - movs r0, 0x4 - b _080DAE9A -_080DAE2E: - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080DAE82 - lsls r0, 2 - ldr r1, =_080DAE48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DAE48: - .4byte _080DAE5C - .4byte _080DAE62 - .4byte _080DAE68 - .4byte _080DAE6E - .4byte _080DAE74 -_080DAE5C: - adds r0, r4, 0 - movs r1, 0x32 - b _080DAE78 -_080DAE62: - adds r0, r4, 0 - movs r1, 0x33 - b _080DAE78 -_080DAE68: - adds r0, r4, 0 - movs r1, 0x34 - b _080DAE78 -_080DAE6E: - adds r0, r4, 0 - movs r1, 0x35 - b _080DAE78 -_080DAE74: - adds r0, r4, 0 - movs r1, 0x36 -_080DAE78: - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - b _080DAE86 -_080DAE82: - movs r0, 0 - b _080DAE9A -_080DAE86: - ldr r0, =gSpecialVar_ContestRank - adds r2, r1, 0 - ldrh r1, [r0] - movs r0, 0x2 - cmp r2, r1 - bhi _080DAE9A - movs r0, 0 - cmp r2, r1 - bcc _080DAE9A - movs r0, 0x1 -_080DAE9A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAE0C - - thumb_func_start sub_80DAEA4 -sub_80DAEA4: @ 80DAEA4 - push {r4,r5,lr} - movs r5, 0 -_080DAEA8: - ldr r0, =gUnknown_02039F26 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80DAF04 - adds r0, r4, 0 - bl sub_80DAF88 - adds r5, 0x1 - cmp r5, 0x3 - ble _080DAEA8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAEA4 - - thumb_func_start sub_80DAED4 -sub_80DAED4: @ 80DAED4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_ColorTransparent - bl StringCopy - adds r1, r0, 0 - subs r0, r1, 0x1 - strb r4, [r0] - adds r0, r1, 0 - adds r1, r5, 0 - bl StringCopy - adds r1, r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAED4 - - thumb_func_start sub_80DAF04 -sub_80DAF04: @ 80DAF04 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80DAF1C - pop {r0} - bx r0 - thumb_func_end sub_80DAF04 - - thumb_func_start sub_80DAF1C -sub_80DAF1C: @ 80DAF1C - push {r4,r5,lr} - sub sp, 0x24 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gText_Slash - add r0, sp, 0x4 - bl StringCopy - lsls r1, r5, 6 - ldr r0, =gUnknown_02039E00 + 13 - adds r1, r0 - add r0, sp, 0x4 - bl StringAppend - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_80DAED4 - ldr r4, =gDisplayedStringBattle - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x60 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - cmp r2, 0x37 - ble _080DAF5C - movs r2, 0x37 -_080DAF5C: - ldr r0, =gUnknown_02039F26 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x7 - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_80DEBD0 - add sp, 0x24 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAF1C - - thumb_func_start sub_80DAF88 -sub_80DAF88: @ 80DAF88 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80DAFA0 - pop {r0} - bx r0 - thumb_func_end sub_80DAF88 - - thumb_func_start sub_80DAFA0 -sub_80DAFA0: @ 80DAFA0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r4, 6 - ldr r2, =gUnknown_02039E00 + 2 - adds r0, r2 - bl sub_80DAED4 - ldr r0, =gUnknown_02039F26 - adds r4, r0 - ldrb r0, [r4] - ldr r1, =gDisplayedStringBattle - movs r2, 0x7 - str r2, [sp] - movs r2, 0x5 - movs r3, 0x1 - bl sub_80DEBD0 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAFA0 - - thumb_func_start sub_80DAFE0 -sub_80DAFE0: @ 80DAFE0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0x4 - bhi _080DB06C - lsls r0, 2 - ldr r1, =_080DAFFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DAFFC: - .4byte _080DB010 - .4byte _080DB028 - .4byte _080DB040 - .4byte _080DB050 - .4byte _080DB06C -_080DB010: - ldr r0, =gUnknown_02039E00 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x26 - ldrb r5, [r3] - adds r3, 0x4 - ldrb r4, [r3] - adds r1, 0x27 - b _080DB07E - .pool -_080DB028: - ldr r0, =gUnknown_02039E00 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x27 - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x28 - b _080DB07E - .pool -_080DB040: - ldr r1, =gUnknown_02039E00 - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x28 - b _080DB05A - .pool -_080DB050: - ldr r1, =gUnknown_02039E00 - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x29 -_080DB05A: - ldrb r5, [r0] - subs r0, 0x1 - ldrb r4, [r0] - adds r0, 0x2 - ldrb r3, [r0] - adds r0, r1, 0 - b _080DB080 - .pool -_080DB06C: - ldr r0, =gUnknown_02039E00 - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x2A - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x26 -_080DB07E: - ldrb r3, [r1] -_080DB080: - adds r1, r2, r0 - adds r1, 0x2B - adds r0, r4, r3 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - adds r0, r5, r0 - lsls r0, 16 - lsrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAFE0 - - thumb_func_start sub_80DB09C -sub_80DB09C: @ 80DB09C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, =gUnknown_02039F00 -_080DB0A6: - lsls r0, r4, 24 - lsrs r0, 24 - adds r1, r6, 0 - bl sub_80DAFE0 - strh r0, [r5] - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080DB0A6 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB09C - - thumb_func_start sub_80DB0C4 -sub_80DB0C4: @ 80DB0C4 - push {r4,r5,lr} - ldr r0, =gUnknown_08587C00 - bl LoadCompressedObjectPic - ldr r0, =gContest2Pal - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gSpriteTemplate_8587BE8 - movs r1, 0x70 - movs r2, 0x24 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r5, r2, r4 - ldrb r3, [r5, 0x5] - movs r1, 0xF - ands r1, r3 - movs r3, 0x10 - orrs r1, r3 - strb r1, [r5, 0x5] - adds r4, 0x1C - adds r2, r4 - ldr r1, =SpriteCallbackDummy - str r1, [r2] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB0C4 - - thumb_func_start sub_80DB120 -sub_80DB120: @ 80DB120 - push {lr} - ldr r0, =gUnknown_08587C08 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08587C10 - bl LoadCompressedObjectPalette - ldr r0, =gSpriteTemplate_8587C18 - movs r1, 0x60 - movs r2, 0xA - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r1, [r1] - movs r3, 0x4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - ldrh r1, [r2, 0x4] - lsls r1, 22 - lsrs r1, 22 - strh r1, [r2, 0x2E] - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB120 - - thumb_func_start sub_80DB174 -sub_80DB174: @ 80DB174 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r1, 0 - adds r6, r2, 0 - adds r4, r3, 0 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r5, 0 - bl sub_80DE84C - adds r5, r0, 0 - ldr r0, =gUnknown_02039F25 - ldrb r0, [r0] - cmp r4, r0 - bne _080DB1B8 - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_2 - b _080DB1CC - .pool -_080DB1B8: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_080DB1CC: - adds r0, r5, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r5, 0 - movs r1, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r4, =gMultiuseSpriteTemplate - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl sub_80A600C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - movs r1, 0x70 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gSprites - mov r8, r0 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - mov r0, r8 - adds r4, r6, r0 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0x2 - bl sub_80A82E4 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - mov r0, r8 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - ldrb r0, [r4, 0x5] - lsrs r0, 4 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x32] - adds r0, r5, 0 - bl IsSpeciesNotUnown - lsls r0, 24 - cmp r0, 0 - beq _080DB278 - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_082FF6C0 - b _080DB280 - .pool -_080DB278: - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_082FF694 -_080DB280: - str r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB174 - - thumb_func_start IsSpeciesNotUnown -IsSpeciesNotUnown: @ 80DB2A8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - beq _080DB2B6 - movs r0, 0x1 - b _080DB2B8 -_080DB2B6: - movs r0, 0 -_080DB2B8: - pop {r1} - bx r1 - thumb_func_end IsSpeciesNotUnown - - thumb_func_start sub_80DB2BC -sub_80DB2BC: @ 80DB2BC - push {r4-r6,lr} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0, 0x24] - movs r4, 0xA0 - lsls r4, 3 - adds r1, r0, r4 - movs r6, 0xA0 - lsls r6, 1 - adds r2, r6, 0 - bl CpuSet - ldr r0, [r5] - ldr r0, [r0, 0x2C] - adds r4, r0, r4 - adds r1, r4, 0 - adds r2, r6, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB2BC - - thumb_func_start sub_80DB2EC -sub_80DB2EC: @ 80DB2EC - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsrs r0, 13 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080DB354 - lsls r0, 2 - ldr r1, =_080DB320 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DB320: - .4byte _080DB344 - .4byte _080DB344 - .4byte _080DB34C - .4byte _080DB34C - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB344 -_080DB344: - ldr r0, =0x00009082 - b _080DB356 - .pool -_080DB34C: - ldr r0, =0x00009088 - b _080DB356 - .pool -_080DB354: - ldr r0, =0x00009086 -_080DB356: - lsls r1, r3, 12 - movs r2, 0x90 - lsls r2, 8 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB2EC - - thumb_func_start prints_contest_move_description -prints_contest_move_description: @ 80DB370 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - ldr r7, =0x00004040 - cmp r0, 0 - beq _080DB3A4 - adds r7, 0x5 - cmp r0, 0x1 - beq _080DB3A4 - adds r7, 0x5 - cmp r0, 0x2 - beq _080DB3A4 - adds r7, 0x40 - cmp r0, 0x3 - bne _080DB3A4 - subs r7, 0x20 -_080DB3A4: - movs r6, 0x5 - str r6, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - adds r1, r7, 0 - movs r2, 0xB - movs r3, 0x1F - bl sub_80DECB8 - adds r1, r7, 0 - adds r1, 0x10 - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r2, 0xB - movs r3, 0x20 - bl sub_80DECB8 - ldr r2, =gContestEffects - ldr r0, =gContestMoves - mov r3, r8 - lsls r1, r3, 3 - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x1] - adds r7, r1, 0 - cmp r0, 0xFF - bne _080DB3FC - movs r6, 0 - b _080DB408 - .pool -_080DB3FC: - ldrb r0, [r2, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 -_080DB408: - cmp r6, 0x8 - bls _080DB40E - movs r6, 0x8 -_080DB40E: - ldr r1, =0x00005035 - movs r0, 0x8 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x1F - bl sub_80DED10 - ldr r1, =0x00005012 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x1F - bl sub_80DED10 - ldr r1, =gContestEffects - ldr r0, =gContestMoves - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x2] - cmp r0, 0xFF - bne _080DB460 - movs r6, 0 - b _080DB46C - .pool -_080DB460: - ldrb r0, [r1, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 -_080DB46C: - cmp r6, 0x8 - bls _080DB472 - movs r6, 0x8 -_080DB472: - ldr r1, =0x00005036 - movs r0, 0x8 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x20 - bl sub_80DED10 - ldr r1, =0x00005014 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x20 - bl sub_80DED10 - movs r0, 0xA - movs r1, 0 - bl FillWindowPixelBuffer - ldr r1, =gContestEffectDescriptionPointers - ldr r0, =gContestMoves - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0xA - bl sub_80DEB70 - ldr r1, =gText_Slash - movs r0, 0x9 - bl sub_80DEB70 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end prints_contest_move_description - - thumb_func_start sub_80DB4E0 -sub_80DB4E0: @ 80DB4E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_02039F26 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080DB560 - cmp r5, 0 - beq _080DB560 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80DB2EC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x2 - mov r8, r0 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r6, 0x11 - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DECB8 - adds r4, 0x10 - lsls r4, 16 - lsrs r4, 16 - adds r3, r7, 0x1 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x14 - bl sub_80DECB8 - b _080DB576 - .pool -_080DB560: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DED10 -_080DB576: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DB4E0 - - thumb_func_start sub_80DB584 -sub_80DB584: @ 80DB584 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_080DB58A: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - ldrh r0, [r0, 0x6] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_80DB4E0 - adds r5, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080DB58A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB584 - - thumb_func_start sub_80DB5B0 -sub_80DB5B0: @ 80DB5B0 - ldr r0, =0x00002034 - bx lr - .pool - thumb_func_end sub_80DB5B0 - - thumb_func_start sub_80DB5B8 -sub_80DB5B8: @ 80DB5B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r10, r8 - ldr r0, =gContestResources - mov r9, r0 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r7, r0, 2 - adds r3, r7, r1 - ldrb r0, [r3, 0x10] - movs r5, 0x30 - ands r5, r0 - cmp r5, 0 - bne _080DB5F4 - movs r0, 0 - b _080DB68A - .pool -_080DB5F4: - ldr r0, =gUnknown_02039F26 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0xD - ldrsb r0, [r3, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r4, r0, 24 - cmp r5, 0x10 - bne _080DB648 - bl sub_80DB5B0 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - str r0, [sp] - lsls r0, r4, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r2, 0x13 - adds r3, r6, 0 - bl sub_80DED10 - mov r1, r8 - cmp r1, 0 - beq _080DB688 - movs r0, 0x5B - b _080DB672 - .pool -_080DB648: - adds r3, r6, r4 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x3 - subs r0, r4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x13 - bl sub_80DED10 - mov r0, r10 - cmp r0, 0 - beq _080DB688 - movs r0, 0x26 -_080DB672: - bl PlaySE - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - adds r1, r7, r1 - ldrb r2, [r1, 0x10] - movs r0, 0x31 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x10] -_080DB688: - movs r0, 0x1 -_080DB68A: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB5B8 - - thumb_func_start sub_80DB69C -sub_80DB69C: @ 80DB69C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r7, 0 - movs r0, 0x1 - mov r10, r0 - movs r1, 0x11 - mov r9, r1 - movs r0, 0 - mov r8, r0 -_080DB6B6: - ldr r0, =gUnknown_02039F26 - adds r0, r7, r0 - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - adds r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DB5B0 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - add r0, r8 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - mov r1, r10 - str r1, [sp] - asrs r6, r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - movs r0, 0 - adds r1, r5, 0 - movs r2, 0x13 - adds r3, r4, 0 - bl sub_80DED10 - adds r4, r6 - lsls r4, 24 - lsrs r4, 24 - mov r1, r10 - str r1, [sp] - movs r0, 0x3 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x13 - adds r3, r4, 0 - bl sub_80DED10 - movs r1, 0x1C - add r8, r1 - adds r7, 0x1 - cmp r7, 0x3 - ble _080DB6B6 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB69C - - thumb_func_start sub_80DB748 -sub_80DB748: @ 80DB748 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0 - cmp r1, 0x4 - bhi _080DB78A - lsls r0, r1, 2 - ldr r1, =_080DB764 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DB764: - .4byte _080DB778 - .4byte _080DB77C - .4byte _080DB780 - .4byte _080DB784 - .4byte _080DB788 -_080DB778: - movs r0, 0x80 - b _080DB78A -_080DB77C: - movs r0, 0x84 - b _080DB78A -_080DB780: - movs r0, 0x86 - b _080DB78A -_080DB784: - movs r0, 0x88 - b _080DB78A -_080DB788: - movs r0, 0x82 -_080DB78A: - movs r1, 0x90 - lsls r1, 8 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80DB748 - - thumb_func_start sub_80DB798 -sub_80DB798: @ 80DB798 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - mov r9, r1 - movs r1, 0 - mov r8, r1 - ldr r1, =gUnknown_02039F26 - adds r1, r0, r1 - ldrb r2, [r1] - lsls r1, r2, 2 - adds r1, r2 - adds r1, 0x2 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldr r0, [r2, 0x10] - ldr r1, =0x00ff0003 - ands r0, r1 - cmp r0, 0 - bne _080DB7DC - ldrb r0, [r2, 0xF] - cmp r0, 0 - beq _080DB7EC -_080DB7DC: - movs r0, 0 - b _080DB80E - .pool -_080DB7EC: - ldrb r1, [r2, 0xC] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _080DB7FA - movs r0, 0x1 - b _080DB80E -_080DB7FA: - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080DB80C - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080DB81A -_080DB80C: - movs r0, 0x2 -_080DB80E: - bl sub_80DB748 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _080DB81E -_080DB81A: - movs r0, 0 - mov r9, r0 -_080DB81E: - mov r1, r9 - cmp r1, 0 - beq _080DB85E - movs r6, 0x2 - str r6, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - mov r1, r8 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DECB8 - mov r1, r8 - adds r1, 0x10 - lsls r1, 16 - lsrs r1, 16 - adds r3, r7, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r2, 0x14 - bl sub_80DECB8 - b _080DB874 -_080DB85E: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DED10 -_080DB874: - mov r0, r9 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB798 - thumb_func_start sub_80DB884 sub_80DB884: @ 80DB884 push {r4,lr} @@ -7613,7 +31,7 @@ sub_80DB89C: @ 80DB89C movs r1, 0x2 bl CopyWindowToVram movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags pop {r0} bx r0 thumb_func_end sub_80DB89C @@ -7632,7 +50,7 @@ sub_80DB8B8: @ 80DB8B8 movs r0, 0 b _080DB90A _080DB8D0: - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r4, r0 beq _080DB8F4 @@ -7640,13 +58,13 @@ _080DB8D0: bl sub_81562C4 bl sub_8156324 lsls r0, 24 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons lsrs r0, 23 lsls r1, r4, 6 b _080DB902 .pool _080DB8F4: - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] @@ -8197,7 +615,7 @@ sub_80DBCE0: @ 80DBCE0 strh r0, [r1] ldr r2, =gUnknown_02039F08 adds r2, r4, r2 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r4, r1 ldrh r4, [r4] adds r0, r4 @@ -8307,7 +725,7 @@ _080DBDB8: mov r4, sp ldr r6, =gUnknown_02039F08 ldr r2, [sp, 0x64] - ldr r5, =gUnknown_02039F00 + ldr r5, =gContestMonConditions ldr r3, [sp, 0x68] _080DBDD2: mov r7, r9 @@ -8415,7 +833,7 @@ _080DBE90: ble _080DBE06 movs r6, 0 mov r9, r6 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldr r1, [sp, 0x6C] _080DBEA2: ldr r0, [r1] @@ -8442,7 +860,7 @@ _080DBEA2: thumb_func_start sub_80DBED4 sub_80DBED4: @ 80DBED4 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -8450,8 +868,8 @@ sub_80DBED4: @ 80DBED4 beq _080DBF0E ldr r0, =gSaveBlock2Ptr ldr r2, [r0] - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -8524,7 +942,7 @@ sub_80DBF68: @ 80DBF68 bl sub_80DB89C ldr r0, =gUnknown_0827E8DA movs r1, 0 - bl sub_80DEC30 + bl Contest_StartTextPrinter pop {r0} bx r0 .pool @@ -8548,7 +966,7 @@ _080DBF9A: movs r0, 0 movs r1, 0 movs r2, 0x16 - bl sub_80DED10 + bl ContestBG_FillBoxWithTile movs r0, 0xA0 lsls r0, 19 adds r5, r0 @@ -8885,7 +1303,7 @@ _080DC226: str r0, [sp, 0x8] movs r0, 0 adds r1, r6, 0 - bl sub_80DED10 + bl ContestBG_FillBoxWithTile mov r3, r8 cmp r3, 0 ble _080DC284 @@ -10211,7 +2629,7 @@ sub_80DCCD8: @ 80DCCD8 thumb_func_start sub_80DCD08 sub_80DCD08: @ 80DCD08 push {lr} - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -10250,7 +2668,7 @@ sub_80DCD48: @ 80DCD48 ldrb r0, [r0] cmp r0, 0 beq _080DCE44 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -10314,7 +2732,7 @@ _080DCDBC: add r1, sp, 0x4 movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -10357,7 +2775,7 @@ _080DCE14: add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -10440,7 +2858,7 @@ _080DCECC: movs r4, 0 cmp r4, r5 bge _080DCF48 - ldr r7, =gUnknown_02039F00 + ldr r7, =gContestMonConditions mov r9, r7 lsls r0, r5, 1 adds r1, r0, 0 @@ -10639,7 +3057,7 @@ sub_80DD04C: @ 80DD04C movs r4, 0 movs r5, 0xA0 _080DD052: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -11173,7 +3591,7 @@ sub_80DD45C: @ 80DD45C lsrs r6, r1, 24 ldr r0, =gStringVar1 lsls r1, r4, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r0, =gStringVar2 @@ -11253,7 +3671,7 @@ _080DD52C: bl sub_80DB89C adds r0, r4, 0 movs r1, 0x1 - bl sub_80DEC30 + bl Contest_StartTextPrinter pop {r4-r6} pop {r0} bx r0 @@ -12351,7 +4769,7 @@ sub_80DDE30: @ 80DDE30 ldrsh r0, [r4, r1] cmp r0, 0 bne _080DDE78 - ldr r0, =0x02019000 + ldr r0, =gHeap+0x19000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -12360,7 +4778,7 @@ sub_80DDE30: @ 80DDE30 b _080DDE8C .pool _080DDE78: - ldr r0, =0x02018000 + ldr r0, =gHeap+0x18000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -12747,7 +5165,7 @@ _080DE146: adds r1, r4, 0 movs r2, 0x14 adds r3, r6, 0 - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile adds r4, 0x10 lsls r4, 16 lsrs r4, 16 @@ -12766,7 +5184,7 @@ _080DE146: adds r1, r4, 0 movs r2, 0x14 adds r3, r5, 0 - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile movs r0, 0x63 bl PlaySE _080DE1CA: @@ -12907,7 +5325,7 @@ sub_80DE224: @ 80DE224 movs r3, 0 bl CopyToBgTilemapBuffer movs r0, 0x1 - bl sub_80DED60 + bl Contest_SetBgCopyFlags movs r5, 0 ldr r7, =gSprites movs r6, 0x4 @@ -12970,7 +5388,7 @@ sub_80DE350: @ 80DE350 mov r0, sp bl CpuSet movs r0, 0x1 - bl sub_80DED60 + bl Contest_SetBgCopyFlags movs r0, 0xA bl GetGpuReg add r3, sp, 0x4 @@ -13165,7 +5583,7 @@ _080DE4E2: b _080DE5B4 .pool _080DE52C: - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r0, [r0] ands r1, r0 cmp r1, 0 @@ -13594,7 +6012,7 @@ sub_80DE864: @ 80DE864 bl sub_80DE834 lsls r0, 16 lsrs r5, r0, 16 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r0, r7, 6 adds r0, r1 ldrh r0, [r0] @@ -13675,7 +6093,7 @@ _080DE920: lsls r0, 2 adds r0, r1 ldrb r4, [r0, 0x1B] - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] @@ -13767,7 +6185,7 @@ sub_80DE9DC: @ 80DE9DC ldr r0, [r6] ldr r0, [r0, 0x18] strb r4, [r0, 0x5] - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] @@ -13919,8 +6337,8 @@ _080DEB64: .pool thumb_func_end sub_80DEAA8 - thumb_func_start sub_80DEB70 -sub_80DEB70: @ 80DEB70 + thumb_func_start Contest_PrintTextToBg0WindowStd +Contest_PrintTextToBg0WindowStd: @ 80DEB70 push {r4,lr} sub sp, 0x10 adds r4, r0, 0 @@ -13960,15 +6378,15 @@ sub_80DEB70: @ 80DEB70 adds r0, r4, 0 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4} pop {r0} bx r0 - thumb_func_end sub_80DEB70 + thumb_func_end Contest_PrintTextToBg0WindowStd - thumb_func_start sub_80DEBD0 -sub_80DEBD0: @ 80DEBD0 + thumb_func_start Contest_PrintTextToBg0WindowAt +Contest_PrintTextToBg0WindowAt: @ 80DEBD0 push {r4,r5,lr} sub sp, 0x10 adds r5, r0, 0 @@ -14008,15 +6426,15 @@ sub_80DEBD0: @ 80DEBD0 adds r0, r5, 0 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_80DEBD0 + thumb_func_end Contest_PrintTextToBg0WindowAt - thumb_func_start sub_80DEC30 -sub_80DEC30: @ 80DEC30 + thumb_func_start Contest_StartTextPrinter +Contest_StartTextPrinter: @ 80DEC30 push {r4,r5,lr} sub sp, 0x10 str r0, [sp] @@ -14057,7 +6475,7 @@ sub_80DEC30: @ 80DEC30 bl AddTextPrinter b _080DECA4 _080DEC80: - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -14078,15 +6496,15 @@ _080DECA4: movs r0, 0x4 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_80DEC30 + thumb_func_end Contest_StartTextPrinter - thumb_func_start sub_80DECB8 -sub_80DECB8: @ 80DECB8 + thumb_func_start ContestBG_FillBoxWithIncrementingTile +ContestBG_FillBoxWithIncrementingTile: @ 80DECB8 push {r4-r7,lr} mov r7, r8 push {r7} @@ -14121,17 +6539,17 @@ sub_80DECB8: @ 80DECB8 mov r0, r8 bl WriteSequenceToBgTilemapBuffer mov r0, r8 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_80DECB8 + thumb_func_end ContestBG_FillBoxWithIncrementingTile - thumb_func_start sub_80DED10 -sub_80DED10: @ 80DED10 + thumb_func_start ContestBG_FillBoxWithTile +ContestBG_FillBoxWithTile: @ 80DED10 push {r4-r6,lr} sub sp, 0x10 ldr r4, [sp, 0x20] @@ -14156,15 +6574,15 @@ sub_80DED10: @ 80DED10 str r6, [sp, 0x8] movs r4, 0 str r4, [sp, 0xC] - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile add sp, 0x10 pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_80DED10 + thumb_func_end ContestBG_FillBoxWithTile - thumb_func_start sub_80DED4C -sub_80DED4C: @ 80DED4C + thumb_func_start Contest_RunTextPrinters +Contest_RunTextPrinters: @ 80DED4C push {lr} bl RunTextPrinters movs r0, 0x4 @@ -14173,11 +6591,11 @@ sub_80DED4C: @ 80DED4C lsrs r0, 16 pop {r1} bx r1 - thumb_func_end sub_80DED4C + thumb_func_end Contest_RunTextPrinters - thumb_func_start sub_80DED60 -sub_80DED60: @ 80DED60 - ldr r2, =gUnknown_02039F38 + thumb_func_start Contest_SetBgCopyFlags +Contest_SetBgCopyFlags: @ 80DED60 + ldr r2, =sContestBgCopyFlags movs r1, 0x1 lsls r1, r0 ldrb r0, [r2] @@ -14185,7 +6603,7 @@ sub_80DED60: @ 80DED60 strb r1, [r2] bx lr .pool - thumb_func_end sub_80DED60 + thumb_func_end Contest_SetBgCopyFlags thumb_func_start ResetContestLinkResults ResetContestLinkResults: @ 80DED74 @@ -14236,7 +6654,7 @@ sub_80DEDA8: @ 80DEDA8 lsrs r0, 24 mov r8, r0 movs r5, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] cmp r0, 0 beq _080DEDE6 @@ -14252,7 +6670,7 @@ _080DEDE6: ldr r0, [sp] cmp r0, 0xFF bne _080DEE00 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r5, r0 beq _080DEE00 @@ -14316,7 +6734,7 @@ _080DEE54: ldr r6, =0x00002e90 adds r2, r0, r6 adds r2, r7 - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons lsls r5, 6 adds r1, r4, 0 adds r1, 0x38 @@ -14351,7 +6769,7 @@ _080DEE54: adds r5, r4 adds r1, r5, 0 bl StringCopy - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -14404,7 +6822,7 @@ _080DEF34: .pool _080DEF50: ldr r6, =gUnknown_02039F3C - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons lsls r5, 6 adds r0, r4, 0 adds r0, 0x38 @@ -14820,7 +7238,7 @@ sub_80DF250: @ 80DF250 mov r7, sp adds r7, 0x2 str r7, [sp, 0x24] - ldr r5, =gUnknown_02039F20 + ldr r5, =gContestFinalStandings movs r2, 0 movs r3, 0x80 lsls r3, 17 @@ -14896,11 +7314,11 @@ _080DF2EE: strb r0, [r2, 0xD] _080DF30A: movs r5, 0 - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions add r2, r10 movs r6, 0 ldrsh r1, [r2, r6] - ldr r7, =gUnknown_02039F00 + ldr r7, =gContestMonConditions movs r3, 0 ldrsh r0, [r7, r3] cmp r1, r0 @@ -14921,7 +7339,7 @@ _080DF322: _080DF336: cmp r5, 0x4 bne _080DF354 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 @@ -14939,12 +7357,12 @@ _080DF354: mov r12, r3 mov r8, r3 movs r5, 0 - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions add r0, r10 movs r7, 0 ldrsh r6, [r0, r7] str r6, [sp, 0x34] - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions ldr r0, =gUnknown_02039F18 mov r1, r10 adds r6, r1, r0 @@ -15156,8 +7574,8 @@ sub_80DF4F8: @ 80DF4F8 mov r5, r8 push {r5-r7} sub sp, 0xC - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -15187,7 +7605,7 @@ _080DF528: lsls r2, r7, 1 lsls r4, r7, 4 mov r8, r4 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r0, r2, r1 movs r6, 0 ldrsh r5, [r0, r6] @@ -15417,7 +7835,7 @@ sub_80DF704: @ 80DF704 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -15468,7 +7886,7 @@ sub_80DF750: @ 80DF750 bne _080DF766 b _080DF924 _080DF766: - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -15493,7 +7911,7 @@ _080DF784: lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF784 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -15518,7 +7936,7 @@ _080DF7AE: add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x1C] @@ -15576,7 +7994,7 @@ _080DF80A: mov r1, r9 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 @@ -15585,7 +8003,7 @@ _080DF80A: str r2, [sp] movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 @@ -15664,7 +8082,7 @@ _080DF8CC: mov r1, r9 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 @@ -15673,7 +8091,7 @@ _080DF8CC: str r2, [sp] movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 diff --git a/asm/contest_ai.s b/asm/contest_ai.s index 3438107eb..ff48661f0 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -39,7 +39,7 @@ _081562DE: strb r1, [r0] ldr r0, [r2] ldr r2, [r0, 0xC] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r2, 0 adds r0, 0x41 ldrb r0, [r0] @@ -144,7 +144,7 @@ sub_81563B0: @ 81563B0 beq _081564A0 adds r7, r5, 0 ldr r6, =gAIScriptPtr - ldr r0, =gUnknown_02039E00 + 30 + ldr r0, =gContestMons + 30 mov r8, r0 _081563CC: ldr r0, [r7] @@ -1167,7 +1167,7 @@ sub_8156B88: @ 8156B88 ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0, 0xC] - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r0, r2, 0 adds r0, 0x41 ldrb r0, [r0] @@ -1436,7 +1436,7 @@ _08156D9C: thumb_func_start sub_8156DA0 sub_8156DA0: @ 8156DA0 push {r4,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r4, =gContestResources ldr r0, [r4] ldr r0, [r0, 0xC] @@ -1615,7 +1615,7 @@ _08156EFC: thumb_func_start sub_8156F04 sub_8156F04: @ 8156F04 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r3, [r0, 0xC] @@ -1714,7 +1714,7 @@ _08156FC8: thumb_func_start sub_8156FCC sub_8156FCC: @ 8156FCC - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r3, [r0, 0xC] @@ -1818,7 +1818,7 @@ _0815709C: thumb_func_start sub_81570A0 sub_81570A0: @ 81570A0 push {r4-r7,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0xC] @@ -1923,7 +1923,7 @@ _0815716C: thumb_func_start sub_8157174 sub_8157174: @ 8157174 push {r4-r7,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0xC] @@ -2028,7 +2028,7 @@ _08157240: thumb_func_start sub_8157248 sub_8157248: @ 8157248 push {r4,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r4, [r0, 0xC] @@ -2208,7 +2208,7 @@ _081573B0: thumb_func_start sub_81573B4 sub_81573B4: @ 81573B4 push {r4,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r4, [r0, 0xC] @@ -2388,7 +2388,7 @@ _0815751C: thumb_func_start sub_8157520 sub_8157520: @ 8157520 push {r4,r5,lr} - ldr r3, =gUnknown_02039E00 + ldr r3, =gContestMons ldr r5, =gContestResources ldr r4, [r5] ldr r1, [r4, 0xC] @@ -2575,7 +2575,7 @@ _08157684: sub_8157688: @ 8157688 push {r4-r6,lr} movs r3, 0 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0xC] @@ -2711,7 +2711,7 @@ _08157788: sub_8157790: @ 8157790 push {r4-r6,lr} movs r3, 0 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0xC] @@ -2846,7 +2846,7 @@ _08157890: sub_8157898: @ 8157898 push {r4-r6,lr} movs r5, 0 - ldr r3, =gUnknown_02039E00 + ldr r3, =gContestMons ldr r6, =gContestResources ldr r4, [r6] ldr r1, [r4, 0xC] @@ -3729,7 +3729,7 @@ sub_8157F5C: @ 8157F5C ldr r1, =gContestResources ldr r1, [r1] ldr r3, [r1, 0xC] - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions lsrs r0, 23 adds r0, r2 adds r1, r3, 0 @@ -5030,7 +5030,7 @@ sub_8158948: @ 8158948 push {r4-r6,lr} movs r5, 0 movs r4, 0 - ldr r6, =gUnknown_02039E00 + 30 + ldr r6, =gContestMons + 30 _08158950: lsls r1, r4, 1 ldr r0, =gContestResources @@ -5156,7 +5156,7 @@ sub_8158A34: @ 8158A34 lsls r0, 8 orrs r5, r0 movs r4, 0 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons mov r12, r0 ldr r2, =gContestResources ldr r0, [r2] diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 36f444955..9eefa154f 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -276,10 +276,10 @@ sub_80F5A74: @ 80F5A74 lsrs r0, 24 adds r5, r0, 0 lsls r1, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r7, r1, r0 ldr r6, =gDisplayedStringBattle - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r5, r0 bne _080F5A96 @@ -398,7 +398,7 @@ sub_80F5B00: @ 80F5B00 movs r1, 0x14 bl CreateTask bl sub_80F7880 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -503,7 +503,7 @@ sub_80F5CE4: @ 80F5CE4 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r3, =gUnknown_02039F2A + ldr r3, =gIsLinkContest ldrb r1, [r3] movs r0, 0x1 ands r0, r1 @@ -535,8 +535,8 @@ _080F5D20: b _080F5E2E _080F5D2A: bl sub_80DBED4 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -648,7 +648,7 @@ _080F5E2E: lsls r0, 3 adds r4, r0, r1 strh r2, [r4, 0x8] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r5, 0x1 adds r0, r5, 0 @@ -663,8 +663,8 @@ _080F5E2E: _080F5E78: movs r0, 0x24 bl IncrementGameStat - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -1160,7 +1160,7 @@ _080F6298: adds r1, r0 lsls r1, 3 adds r1, r7 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings adds r0, r4, r0 ldrb r0, [r0] strh r0, [r1, 0x8] @@ -1201,7 +1201,7 @@ _080F62F2: adds r0, 0x1 strh r0, [r4, 0x8] movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] cmp r0, 0 beq _080F631C @@ -1236,10 +1236,10 @@ _080F6334: movs r0, 0 strh r0, [r2, 0xA] movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] ldr r7, =gStringVar1 - ldr r2, =gUnknown_02039E00 + 13 + ldr r2, =gContestMons + 13 mov r8, r2 cmp r0, 0 beq _080F636E @@ -1355,12 +1355,12 @@ _080F6454: adds r0, r3, 0 strh r0, [r1] movs r2, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] lsls r4, r7, 2 mov r10, r4 - ldr r3, =gUnknown_02039E00 - ldr r4, =gUnknown_02039F25 + ldr r3, =gContestMons + ldr r4, =gContestPlayerMonIndex mov r9, r4 ldr r4, =gMonFrontPicTable mov r12, r4 @@ -1623,14 +1623,14 @@ sub_80F66B4: @ 80F66B4 ands r0, r1 cmp r0, 0 beq _080F6702 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r2, 0 ands r0, r1 lsls r6, r7, 2 cmp r0, 0 bne _080F66F2 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons movs r4, 0x3 _080F66DA: ldrh r0, [r5] @@ -1664,7 +1664,7 @@ sub_80F671C: @ 80F671C push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -1710,7 +1710,7 @@ sub_80F677C: @ 80F677C ldrb r0, [r0] cmp r0, 0 bne _080F67AC - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1739,14 +1739,14 @@ task_repel: @ 80F67C4 sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080F67E6 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -1980,7 +1980,7 @@ sub_80F69B8: @ 80F69B8 lsrs r5, r2, 24 lsls r3, 24 lsrs r6, r3, 24 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex movs r2, 0 ldrb r0, [r0] cmp r4, r0 @@ -2059,7 +2059,7 @@ sub_80F6A64: @ 80F6A64 lsls r1, 24 lsrs r6, r1, 24 movs r5, 0 - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons _080F6A74: ldrh r0, [r4] lsls r1, r5, 24 @@ -2088,7 +2088,7 @@ sub_80F6A9C: @ 80F6A9C movs r5, 0xA0 lsls r5, 16 _080F6AA6: - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r0, r4, 6 adds r0, r1 ldrh r0, [r0] @@ -2119,7 +2119,7 @@ _080F6AA6: thumb_func_start sub_80F6AE8 sub_80F6AE8: @ 80F6AE8 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -2955,7 +2955,7 @@ sub_80F71C8: @ 80F71C8 sub sp, 0xC movs r5, 0x5 movs r4, 0x1 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r4, 0 ands r0, r1 @@ -3104,7 +3104,7 @@ sub_80F7310: @ 80F7310 lsls r0, 24 lsls r1, 24 lsrs r5, r1, 24 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions lsrs r0, 23 adds r0, r1 movs r1, 0 @@ -3322,7 +3322,7 @@ sub_80F74BC: @ 80F74BC lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] ldr r6, =gUnknown_0203A034 cmp r0, 0 @@ -3729,7 +3729,7 @@ sub_80F77E0: @ 80F77E0 adds r1, r2 strh r4, [r1, 0x8] strh r5, [r1, 0xA] - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons lsls r4, 6 adds r4, r0 ldrh r0, [r4] @@ -3765,7 +3765,7 @@ sub_80F7824: @ 80F7824 strh r0, [r4, 0x1C] ldrh r0, [r4, 0xC] ldrb r2, [r4, 0x1E] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r3, r5, 6 adds r1, 0x38 adds r3, r1 @@ -3847,7 +3847,7 @@ _080F78E4: mov r8, r5 mov r10, r5 _080F78EA: - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions mov r1, r8 lsls r7, r1, 1 adds r0, r7, r0 @@ -3987,7 +3987,7 @@ _080F79CC: negs r0, r0 _080F7A02: strb r0, [r1, 0x12] - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings add r0, r8 ldrb r0, [r0] cmp r0, 0 @@ -4721,8 +4721,8 @@ _080F7FEE: sub_80F7FFC: @ 80F7FFC push {r4-r7,lr} sub sp, 0x4 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -4994,7 +4994,7 @@ sub_80F8264: @ 80F8264 ldr r0, =gSpecialVar_0x8006 ldrh r1, [r0] lsls r1, 6 - ldr r0, =gUnknown_02039E00 + 13 + ldr r0, =gContestMons + 13 adds r1, r0 adds r0, r4, 0 bl StringCopy @@ -5013,7 +5013,7 @@ sub_80F8290: @ 80F8290 ldr r1, =gSpecialVar_0x8006 ldrh r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy pop {r0} @@ -5027,7 +5027,7 @@ sub_80F82B4: @ 80F82B4 movs r1, 0 movs r2, 0 ldr r5, =gSpecialVar_0x8004 - ldr r4, =gUnknown_02039F00 + ldr r4, =gContestMonConditions ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 1 @@ -5060,7 +5060,7 @@ _080F82DC: thumb_func_start sub_80F82FC sub_80F82FC: @ 80F82FC ldr r2, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 1 @@ -5075,7 +5075,7 @@ sub_80F82FC: @ 80F82FC sub_80F831C: @ 80F831C push {lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r3, =gSpecialVar_0x8005 cmp r0, 0 @@ -5101,10 +5101,10 @@ _080F833C: sub_80F834C: @ 80F834C push {r4,lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r4, =gStringVar3 - ldr r3, =gUnknown_02039E00 + 13 + ldr r3, =gContestMons + 13 cmp r0, 0 beq _080F836E _080F835C: @@ -5134,10 +5134,10 @@ _080F836E: sub_80F8390: @ 80F8390 push {r4,lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r4, =gStringVar1 - ldr r3, =gUnknown_02039E00 + 2 + ldr r3, =gContestMons + 2 cmp r0, 0 beq _080F83B2 _080F83A0: @@ -5216,7 +5216,7 @@ sub_80F840C: @ 80F840C thumb_func_start sub_80F8438 sub_80F8438: @ 80F8438 ldr r2, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 6 @@ -5272,7 +5272,7 @@ sub_80F8484: @ 80F8484 thumb_func_start sub_80F84B0 sub_80F84B0: @ 80F84B0 ldr r0, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] strh r1, [r0] bx lr @@ -5314,7 +5314,7 @@ sub_80F8508: @ 80F8508 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -5578,7 +5578,7 @@ sub_80F8714: @ 80F8714 b _080F877E .pool _080F8748: - ldr r5, =gUnknown_02039E00 + 2 + ldr r5, =gContestMons + 2 movs r4, 0x3 _080F874C: adds r0, r5, 0 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 621e26038..5934c3623 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -11,7 +11,7 @@ sub_80FC4F4: @ 80FC4F4 adds r2, r0, 0 lsls r4, r1, 16 lsrs r4, 16 - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r0, r5, 0 adds r1, r2, 0 adds r2, r4, 0 @@ -139,12 +139,12 @@ sub_80FC5DC: @ 80FC5DC cmp r0, 0 beq _080FC650 bl GetMultiplayerId - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex strb r0, [r1] bl GetLinkPlayerCount ldr r4, =gUnknown_02039F30 strb r0, [r4] - ldr r1, =gUnknown_02039F2A + ldr r1, =gIsLinkContest movs r0, 0x1 strb r0, [r1] ldr r0, =gWirelessCommType @@ -182,7 +182,7 @@ _080FC63A: ldrb r6, [r6] cmp r3, r6 bge _080FC64A - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 @@ -201,7 +201,7 @@ _080FC650: sub_80FC670: @ 80FC670 push {r4,lr} adds r4, r0, 0 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -285,10 +285,10 @@ _080FC6FE: cmp r0, 0 beq _080FC7F4 ldr r0, =gBlockSendBuffer - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons adds r1, r2 movs r2, 0x40 bl memcpy @@ -298,10 +298,10 @@ _080FC6FE: .pool _080FC738: ldr r0, =gBlockSendBuffer - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons adds r1, r2 movs r2, 0x40 bl memcpy @@ -321,7 +321,7 @@ _080FC758: ldr r6, =gLinkPlayers _080FC770: lsls r4, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r4, r0 lsls r1, r5, 8 ldr r0, =gBlockRecvBuffer @@ -434,7 +434,7 @@ _080FC858: adds r1, r4, 0 movs r2, 0x4 bl memcpy - ldr r0, =gUnknown_030060B8 + ldr r0, =gContestRngValue adds r1, r4, 0 movs r2, 0x4 bl memcpy @@ -603,7 +603,7 @@ _080FC9C4: lsls r0, 24 cmp r0, 0 beq _080FC9F0 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex movs r1, 0x1 bl sub_80FC4F4 cmp r0, 0x1 @@ -659,7 +659,7 @@ _080FCA30: beq _080FCAB2 ldr r0, =gContestResources ldr r2, [r0] - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r1, r0, 3 subs r1, r0 @@ -860,7 +860,7 @@ _080FCC08: lsls r0, 24 cmp r0, 0 beq _080FCC82 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings movs r1, 0x4 _080FCC16: bl sub_80FC4F4 @@ -881,7 +881,7 @@ _080FCC38: lsls r0, 24 cmp r0, 0 beq _080FCC82 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings ldr r1, =gUnknown_02039F2B ldrb r1, [r1] lsls r1, 8 @@ -1262,7 +1262,7 @@ _080FCF80: lsls r0, 24 cmp r0, 0 beq _080FCFBE - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions movs r1, 0x8 bl sub_80FC4F4 cmp r0, 0x1 @@ -1274,7 +1274,7 @@ _080FCF9C: lsls r0, 24 cmp r0, 0 beq _080FCFBE - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions ldr r1, =gUnknown_02039F2B ldrb r1, [r1] lsls r1, 8 diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s index 12eb159f7..35191e10f 100644 --- a/asm/contest_link_81D9DE4.s +++ b/asm/contest_link_81D9DE4.s @@ -88,8 +88,8 @@ _081D9EA4: _081D9EB4: bl GetMonData strb r0, [r4] - ldr r5, =gUnknown_02039E00 - ldr r4, =gUnknown_02039F25 + ldr r5, =gContestMons + ldr r4, =gContestPlayerMonIndex ldrb r0, [r4] lsls r0, 6 adds r0, r5 @@ -266,7 +266,7 @@ _081DA02A: lsls r0, 24 cmp r0, 0 bne _081DA0B8 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r1, r0, 0 adds r1, 0x2C ldrb r2, [r1] @@ -438,10 +438,10 @@ _081DA1A4: lsls r0, 24 cmp r0, 0 beq _081DA224 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r0, 6 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r1 movs r1, 0x40 bl sub_80FC4F4 @@ -466,7 +466,7 @@ _081DA1D4: ldr r6, =gLinkPlayers _081DA1EC: lsls r4, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r4, r0 lsls r1, r5, 8 ldr r0, =gBlockRecvBuffer @@ -558,7 +558,7 @@ _081DA2AC: adds r1, r4, 0 movs r2, 0x4 bl memcpy - ldr r0, =gUnknown_030060B8 + ldr r0, =gContestRngValue adds r1, r4, 0 movs r2, 0x4 bl memcpy @@ -823,7 +823,7 @@ _081DA4CC: ldr r0, =gUnknown_02039F30 ldrb r2, [r0] lsls r0, r2, 6 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r1 movs r1, 0x4 subs r1, r2 @@ -847,7 +847,7 @@ _081DA50C: ldr r4, =gUnknown_02039F30 ldrb r3, [r4] lsls r0, r3, 6 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons adds r0, r5 ldr r1, =gBlockRecvBuffer movs r2, 0x4 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index c0becc6da..a1f115376 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -5,1279 +5,6 @@ .text - thumb_func_start MovementType_Player -@ void MovementType_Player(struct obj *object) -MovementType_Player: @ 808A998 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, =gEventObjects - adds r0, r2 - ldr r2, =EventObjectCB2_NoMovement2 - bl UpdateEventObjectCurrentMovement - pop {r0} - bx r0 - .pool - thumb_func_end MovementType_Player - - thumb_func_start EventObjectCB2_NoMovement2 -EventObjectCB2_NoMovement2: @ 808A9BC - movs r0, 0 - bx lr - thumb_func_end EventObjectCB2_NoMovement2 - - thumb_func_start player_step -@ void player_step(int dpad_direction, int buttons_new, int buttons_held) -player_step: @ 808A9C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r5, r0, r1 - adds r0, r5, 0 - bl sub_808C280 - ldrb r0, [r4, 0x6] - cmp r0, 0 - bne _0808AA26 - adds r0, r7, 0 - adds r1, r6, 0 - bl Bike_TryAcroBikeHistoryUpdate - adds r0, r5, 0 - mov r1, r8 - bl TryInterruptEventObjectSpecialAnim - lsls r0, 24 - cmp r0, 0 - bne _0808AA26 - adds r0, r5, 0 - bl npc_clear_strange_bits - bl DoPlayerAvatarTransition - bl TryDoMetatileBehaviorForcedMovment - lsls r0, 24 - cmp r0, 0 - bne _0808AA26 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - bl MovePlayerAvatarUsingKeypadInput - bl PlayerAllowForcedMovementIfMovingSameDirection -_0808AA26: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end player_step - - thumb_func_start TryInterruptEventObjectSpecialAnim -@ bool8 TryInterruptEventObjectSpecialAnim(struct npc_state *eventObject, u8 direction) -TryInterruptEventObjectSpecialAnim: @ 808AA38 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - adds r6, r5, 0 - bl EventObjectIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808AA92 - adds r0, r4, 0 - bl EventObjectClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - bne _0808AA92 - adds r0, r4, 0 - bl EventObjectGetHeldMovementActionId - lsls r0, 24 - movs r1, 0xE7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x3 - bhi _0808AA70 - cmp r5, 0 - bne _0808AA74 -_0808AA70: - movs r0, 0x1 - b _0808AA94 -_0808AA74: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - cmp r0, r5 - beq _0808AA84 -_0808AA7C: - adds r0, r4, 0 - bl EventObjectClearHeldMovement - b _0808AA92 -_0808AA84: - adds r0, r6, 0 - bl sub_808B028 - lsls r0, 24 - cmp r0, 0 - beq _0808AA7C - b _0808AA70 -_0808AA92: - movs r0, 0 -_0808AA94: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end TryInterruptEventObjectSpecialAnim - - thumb_func_start npc_clear_strange_bits -@ void npc_clear_strange_bits(struct npc_state *eventObject) -npc_clear_strange_bits: @ 808AA9C - ldrb r2, [r0, 0x1] - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - movs r2, 0x5 - negs r2, r2 - ands r1, r2 - adds r2, 0x2 - ands r1, r2 - strb r1, [r0, 0x1] - ldr r2, =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bx lr - .pool - thumb_func_end npc_clear_strange_bits - - thumb_func_start MovePlayerAvatarUsingKeypadInput -@ void MovePlayerAvatarUsingKeypadInput(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerAvatarUsingKeypadInput: @ 808AAC0 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0808AAE8 - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnBike - b _0808AAF0 - .pool -_0808AAE8: - adds r0, r3, 0 - adds r1, r2, 0 - bl MovePlayerNotOnBike -_0808AAF0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerAvatarUsingKeypadInput - - thumb_func_start PlayerAllowForcedMovementIfMovingSameDirection -@ void PlayerAllowForcedMovementIfMovingSameDirection() -PlayerAllowForcedMovementIfMovingSameDirection: @ 808AAF8 - push {lr} - ldr r2, =gPlayerAvatar - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - bne _0808AB0A - ldrb r1, [r2] - movs r0, 0xDF - ands r0, r1 - strb r0, [r2] -_0808AB0A: - pop {r0} - bx r0 - .pool - thumb_func_end PlayerAllowForcedMovementIfMovingSameDirection - - thumb_func_start TryDoMetatileBehaviorForcedMovment -@ bool8 TryDoMetatileBehaviorForcedMovment() -TryDoMetatileBehaviorForcedMovment: @ 808AB14 - push {r4,lr} - ldr r4, =gUnknown_08497444 - bl GetForcedMovementByMetatileBehavior - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end TryDoMetatileBehaviorForcedMovment - - thumb_func_start GetForcedMovementByMetatileBehavior -@ u8 GetForcedMovementByMetatileBehavior() -GetForcedMovementByMetatileBehavior: @ 808AB38 - push {r4-r6,lr} - ldr r3, =gPlayerAvatar - ldrb r1, [r3] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0808AB8A - ldr r2, =gEventObjects - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r5, [r0, 0x1E] - movs r4, 0 - ldr r6, =gUnknown_084973FC -_0808AB58: - lsls r0, r4, 2 - adds r0, r6 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0808AB80 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0808AB8C - .pool -_0808AB80: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x11 - bls _0808AB58 -_0808AB8A: - movs r0, 0 -_0808AB8C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetForcedMovementByMetatileBehavior - - thumb_func_start ForcedMovement_None -ForcedMovement_None: @ 808AB94 - push {r4,lr} - ldr r4, =gPlayerAvatar - ldrb r1, [r4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0808ABCE - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl SetEventObjectDirection - ldrb r1, [r4] - movs r0, 0xBF - ands r0, r1 - strb r0, [r4] -_0808ABCE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_None - - thumb_func_start DoForcedMovement -DoForcedMovement: @ 808ABE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gPlayerAvatar - adds r0, r5, 0 - bl CheckForPlayerAvatarCollision - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldrb r0, [r6] - movs r1, 0x40 - mov r10, r1 - movs r1, 0 - mov r8, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - cmp r4, 0 - beq _0808AC3C - bl ForcedMovement_None - cmp r4, 0x4 - bhi _0808AC24 - movs r0, 0 - b _0808AC48 - .pool -_0808AC24: - cmp r7, 0x6 - bne _0808AC2E - adds r0, r5, 0 - bl PlayerJumpLedge -_0808AC2E: - ldrb r0, [r6] - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2 - strb r0, [r6, 0x2] - b _0808AC46 -_0808AC3C: - movs r0, 0x2 - strb r0, [r6, 0x2] - adds r0, r5, 0 - bl _call_via_r9 -_0808AC46: - movs r0, 0x1 -_0808AC48: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end DoForcedMovement - - thumb_func_start DoForcedMovementInCurrentDirection -DoForcedMovementInCurrentDirection: @ 808AC58 - push {lr} - adds r1, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r2, [r0, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, =gEventObjects - adds r0, r2 - ldrb r2, [r0, 0x1] - movs r3, 0x4 - orrs r2, r3 - strb r2, [r0, 0x1] - ldrb r0, [r0, 0x18] - lsrs r0, 4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end DoForcedMovementInCurrentDirection - - thumb_func_start ForcedMovement_Slip -ForcedMovement_Slip: @ 808AC8C - push {lr} - ldr r0, =PlayerGoSpeed2 - bl DoForcedMovementInCurrentDirection - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_Slip - - thumb_func_start ForcedMovement_WalkSouth -ForcedMovement_WalkSouth: @ 808ACA0 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkSouth - - thumb_func_start ForcedMovement_WalkNorth -ForcedMovement_WalkNorth: @ 808ACB8 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkNorth - - thumb_func_start ForcedMovement_WalkWest -ForcedMovement_WalkWest: @ 808ACD0 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkWest - - thumb_func_start ForcedMovement_WalkEast -ForcedMovement_WalkEast: @ 808ACE8 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkEast - - thumb_func_start ForcedMovement_PushedSouthByCurrent -ForcedMovement_PushedSouthByCurrent: @ 808AD00 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedSouthByCurrent - - thumb_func_start ForcedMovement_PushedNorthByCurrent -ForcedMovement_PushedNorthByCurrent: @ 808AD18 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedNorthByCurrent - - thumb_func_start ForcedMovement_PushedWestByCurrent -ForcedMovement_PushedWestByCurrent: @ 808AD30 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedWestByCurrent - - thumb_func_start ForcedMovement_PushedEastByCurrent -ForcedMovement_PushedEastByCurrent: @ 808AD48 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedEastByCurrent - - thumb_func_start ForcedMovement_Slide -ForcedMovement_Slide: @ 808AD60 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPlayerAvatar - ldrb r3, [r2, 0x5] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 2 - ldr r3, =gEventObjects - adds r2, r3 - ldrb r3, [r2, 0x1] - movs r4, 0x4 - orrs r3, r4 - movs r4, 0x2 - orrs r3, r4 - strb r3, [r2, 0x1] - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_Slide - - thumb_func_start ForcedMovement_SlideSouth -ForcedMovement_SlideSouth: @ 808AD98 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x1 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideSouth - - thumb_func_start ForcedMovement_SlideNorth -ForcedMovement_SlideNorth: @ 808ADB0 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x2 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideNorth - - thumb_func_start ForcedMovement_SlideWest -ForcedMovement_SlideWest: @ 808ADC8 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x3 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideWest - - thumb_func_start ForcedMovement_SlideEast -ForcedMovement_SlideEast: @ 808ADE0 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x4 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideEast - - thumb_func_start ForcedMovement_0xBB -ForcedMovement_0xBB: @ 808ADF8 - push {lr} - bl sub_808C4D8 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end ForcedMovement_0xBB - - thumb_func_start ForcedMovement_0xBC -ForcedMovement_0xBC: @ 808AE04 - push {lr} - bl sub_808C5B0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end ForcedMovement_0xBC - - thumb_func_start ForcedMovement_MuddySlope -ForcedMovement_MuddySlope: @ 808AE10 - push {r4,lr} - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x18] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0x20 - bne _0808AE36 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bgt _0808AE60 -_0808AE36: - movs r0, 0 - bl Bike_UpdateBikeCounterSpeed - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r1, =PlayerGoSpeed2 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - b _0808AE62 - .pool -_0808AE60: - movs r0, 0 -_0808AE62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ForcedMovement_MuddySlope - - thumb_func_start MovePlayerNotOnBike -@ void MovePlayerNotOnBike(u8 direction, u8 heldKeys) -MovePlayerNotOnBike: @ 808AE68 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gUnknown_08497490 - adds r0, r4, 0 - bl CheckMovementInputNotOnBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerNotOnBike - - thumb_func_start CheckMovementInputNotOnBike -@ u8 CheckMovementInputNotOnBike(u8 direction) -CheckMovementInputNotOnBike: @ 808AE98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0808AEB0 - ldr r0, =gPlayerAvatar - strb r4, [r0, 0x2] - movs r0, 0 - b _0808AED2 - .pool -_0808AEB0: - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _0808AECC - ldr r1, =gPlayerAvatar - ldrb r0, [r1, 0x2] - cmp r0, 0x2 - beq _0808AECC - movs r0, 0x1 - b _0808AED0 - .pool -_0808AECC: - ldr r1, =gPlayerAvatar - movs r0, 0x2 -_0808AED0: - strb r0, [r1, 0x2] -_0808AED2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputNotOnBike - - thumb_func_start PlayerNotOnBikeNotMoving -@ void PlayerNotOnBikeNotMoving(u8 direction, u8 heldKeys) -PlayerNotOnBikeNotMoving: @ 808AEDC - push {lr} - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeNotMoving - - thumb_func_start PlayerNotOnBikeTurningInPlace -@ void PlayerNotOnBikeTurningInPlace(u8 direction, u8 heldKeys) -PlayerNotOnBikeTurningInPlace: @ 808AEF0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerTurnInPlace - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeTurningInPlace - - thumb_func_start PlayerNotOnBikeMoving -@ void PlayerNotOnBikeMoving(u8 direction, u8 heldKeys) -PlayerNotOnBikeMoving: @ 808AF00 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - adds r0, r5, 0 - bl CheckForPlayerAvatarCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0808AF4E - cmp r4, 0x6 - bne _0808AF24 - adds r0, r5, 0 - bl PlayerJumpLedge - b _0808AFB6 -_0808AF24: - cmp r4, 0x4 - bne _0808AF3C - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _0808AF3C - adds r0, r5, 0 - bl PlayerNotOnBikeCollideWithFarawayIslandMew - b _0808AFB6 -_0808AF3C: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0808AFB6 - adds r0, r5, 0 - bl PlayerNotOnBikeCollide - b _0808AFB6 -_0808AF4E: - ldr r4, =gPlayerAvatar - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808AF68 - adds r0, r5, 0 - bl PlayerGoSpeed2 - b _0808AFB6 - .pool -_0808AF68: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0808AFB0 - movs r0, 0x2 - ands r6, r0 - cmp r6, 0 - beq _0808AFB0 - movs r0, 0x8C - lsls r0, 4 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808AFB0 - ldr r2, =gEventObjects - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl IsRunningDisallowed - cmp r0, 0 - bne _0808AFB0 - adds r0, r5, 0 - bl PlayerRun - ldrb r1, [r4] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r4] - b _0808AFB6 - .pool -_0808AFB0: - adds r0, r5, 0 - bl PlayerGoSpeed1 -_0808AFB6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeMoving - - thumb_func_start CheckForPlayerAvatarCollision -CheckForPlayerAvatarCollision: @ 808AFBC - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gEventObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl CheckForEventObjectCollision - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CheckForPlayerAvatarCollision - - thumb_func_start sub_808B028 -sub_808B028: @ 808B028 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gEventObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_808B164 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_808B028 - - thumb_func_start CheckForEventObjectCollision -@ u8 CheckForEventObjectCollision(struct npc_state *eventObject, u16 x, u16 y, u8 direction, u8 metatileBehavior) -CheckForEventObjectCollision: @ 808B094 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - lsrs r7, r1, 16 - asrs r5, r1, 16 - lsrs r1, r2, 16 - mov r9, r1 - asrs r4, r2, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0x3 - bne _0808B0E4 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_808B1BC - lsls r0, 24 - cmp r0, 0 - beq _0808B0E4 - movs r0, 0x5 - b _0808B152 -_0808B0E4: - lsls r5, r7, 16 - asrs r0, r5, 16 - mov r8, r0 - mov r1, r9 - lsls r4, r1, 16 - asrs r7, r4, 16 - adds r1, r7, 0 - adds r2, r6, 0 - bl ShouldJumpLedge - lsls r0, 24 - cmp r0, 0 - beq _0808B108 - movs r0, 0x2B - bl IncrementGameStat - movs r0, 0x6 - b _0808B152 -_0808B108: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _0808B124 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_808B238 - lsls r0, 24 - cmp r0, 0 - beq _0808B124 - movs r0, 0x7 - b _0808B152 -_0808B124: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _0808B14E - asrs r5, 16 - asrs r4, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForRotatingGatePuzzleCollision - cmp r0, 0 - beq _0808B142 - movs r0, 0x8 - b _0808B152 -_0808B142: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r10 - mov r3, sp - bl check_acro_bike_metatile -_0808B14E: - mov r0, sp - ldrb r0, [r0] -_0808B152: - 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 CheckForEventObjectCollision - - thumb_func_start sub_808B164 -sub_808B164: @ 808B164 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, [sp, 0x18] - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r4, r2, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0 - bne _0808B1AE - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForRotatingGatePuzzleCollisionWithoutAnimation - cmp r0, 0 - beq _0808B1A2 - movs r0, 0x8 - b _0808B1B2 -_0808B1A2: - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, sp - bl check_acro_bike_metatile -_0808B1AE: - mov r0, sp - ldrb r0, [r0] -_0808B1B2: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808B164 - - thumb_func_start sub_808B1BC -@ bool8 sub_808B1BC(u16 x, u16 y, u8 direction) -sub_808B1BC: @ 808B1BC - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808B20C - lsls r5, r3, 16 - asrs r0, r5, 16 - lsls r4, 16 - asrs r1, r4, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0808B20C - lsrs r0, r5, 16 - lsrs r1, r4, 16 - movs r2, 0x3 - bl GetEventObjectIdByXYZ - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - bne _0808B20C - adds r0, r6, 0 - bl sub_808C750 - movs r0, 0x1 - b _0808B20E - .pool -_0808B20C: - movs r0, 0 -_0808B20E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808B1BC - - thumb_func_start ShouldJumpLedge -@ bool8 ShouldJumpLedge(s16 x, s16 y, u8 direction) -ShouldJumpLedge: @ 808B214 - push {lr} - lsls r2, 24 - lsrs r2, 24 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetLedgeJumpDirection - lsls r0, 24 - cmp r0, 0 - bne _0808B230 - movs r0, 0 - b _0808B232 -_0808B230: - movs r0, 0x1 -_0808B232: - pop {r1} - bx r1 - thumb_func_end ShouldJumpLedge - - thumb_func_start sub_808B238 -sub_808B238: @ 808B238 - push {r4-r7,lr} - sub sp, 0x4 - mov r3, sp - strh r0, [r3] - mov r5, sp - adds r5, 0x2 - strh r1, [r5] - lsls r2, 24 - lsrs r7, r2, 24 - ldr r0, =0x00000889 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808B2D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl GetEventObjectIdByXY - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x10 - beq _0808B2D8 - ldr r0, =gEventObjects - lsls r1, r6, 3 - adds r1, r6 - lsls r1, 2 - adds r4, r1, r0 - ldrb r0, [r4, 0x5] - cmp r0, 0x57 - bne _0808B2D8 - ldrh r1, [r4, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r4, 0x12] - strh r0, [r5] - adds r0, r7, 0 - mov r1, sp - adds r2, r5, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r7, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _0808B2D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsNonAnimDoor - lsls r0, 24 - cmp r0, 0 - bne _0808B2D8 - adds r0, r6, 0 - adds r1, r7, 0 - bl task_add_bump_boulder - movs r0, 0x1 - b _0808B2DA - .pool -_0808B2D8: - movs r0, 0 -_0808B2DA: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808B238 - - thumb_func_start check_acro_bike_metatile -@ void check_acro_bike_metatile(s16 x, s16 y, u8 metatileBehavior, u8 *returnValue) -check_acro_bike_metatile: @ 808B2E4 - push {r4-r7,lr} - adds r6, r3, 0 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - ldr r7, =gUnknown_0849749C -_0808B2F0: - lsls r0, r4, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0808B314 - ldr r0, =gUnknown_084974B0 - adds r0, r4, r0 - ldrb r0, [r0] - strb r0, [r6] - b _0808B31E - .pool -_0808B314: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0808B2F0 -_0808B31E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end check_acro_bike_metatile - thumb_func_start IsPlayerCollidingWithFarawayIslandMew @ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) IsPlayerCollidingWithFarawayIslandMew: @ 808B324 @@ -3305,6 +2032,7 @@ sub_808C228: @ 808C228 thumb_func_end sub_808C228 thumb_func_start sub_808C280 +@ void sub_808C280(struct EventObject *playerEventObj); sub_808C280: @ 808C280 push {r4-r7,lr} mov r7, r9 diff --git a/asm/field_specials.s b/asm/field_specials.s deleted file mode 100644 index cea228a2a..000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,8075 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Special_ShowDiploma -Special_ShowDiploma: @ 8137CB4 - push {lr} - ldr r0, =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ShowDiploma - - thumb_func_start Special_ViewWallClock -Special_ViewWallClock: @ 8137CC8 - push {lr} - ldr r0, =gMain - ldr r1, =CB2_ReturnToField - str r1, [r0, 0x8] - ldr r0, =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ViewWallClock - - thumb_func_start ResetCyclingRoadChallengeData -ResetCyclingRoadChallengeData: @ 8137CEC - ldr r0, =gBikeCyclingChallenge - movs r1, 0 - strb r1, [r0] - ldr r0, =0x0203ab55 - strb r1, [r0] - ldr r1, =gUnknown_0203AB58 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end ResetCyclingRoadChallengeData - - thumb_func_start Special_BeginCyclingRoadChallenge -Special_BeginCyclingRoadChallenge: @ 8137D0C - ldr r1, =gBikeCyclingChallenge - movs r0, 0x1 - strb r0, [r1] - ldr r1, =0x0203ab55 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_0203AB58 - ldr r0, =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .pool - thumb_func_end Special_BeginCyclingRoadChallenge - - thumb_func_start GetPlayerAvatarBike -GetPlayerAvatarBike: @ 8137D34 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08137D46 - movs r0, 0x1 - b _08137D58 -_08137D46: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _08137D56 - movs r0, 0 - b _08137D58 -_08137D56: - movs r0, 0x2 -_08137D58: - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarBike - - thumb_func_start DetermineCyclingRoadResults -DetermineCyclingRoadResults: @ 8137D5C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _08137D88 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceTimes - adds r0, r4, 0 - bl StringAppend - b _08137D90 - .pool -_08137D88: - ldr r0, =gStringVar1 - ldr r1, =gText_99TimesPlus - bl StringCopy -_08137D90: - ldr r0, =0x00000e0f - cmp r7, r0 - bhi _08137DF0 - ldr r4, =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceSeconds - adds r0, r4, 0 - bl StringAppend - b _08137DF8 - .pool -_08137DF0: - ldr r0, =gStringVar2 - ldr r1, =gText_1MinutePlus - bl StringCopy -_08137DF8: - movs r4, 0 - cmp r6, 0 - bne _08137E0C - movs r4, 0x5 - b _08137E2A - .pool -_08137E0C: - cmp r6, 0x3 - bhi _08137E14 - movs r4, 0x4 - b _08137E2A -_08137E14: - cmp r6, 0x9 - bhi _08137E1C - movs r4, 0x3 - b _08137E2A -_08137E1C: - cmp r6, 0x13 - bhi _08137E24 - movs r4, 0x2 - b _08137E2A -_08137E24: - cmp r6, 0x63 - bhi _08137E2A - movs r4, 0x1 -_08137E2A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _08137E3A - adds r0, r4, 0x5 - b _08137E58 -_08137E3A: - cmp r0, 0xF - bhi _08137E42 - adds r0, r4, 0x4 - b _08137E58 -_08137E42: - cmp r0, 0x14 - bhi _08137E4A - adds r0, r4, 0x3 - b _08137E58 -_08137E4A: - cmp r0, 0x28 - bhi _08137E52 - adds r0, r4, 0x2 - b _08137E58 -_08137E52: - cmp r0, 0x3B - bhi _08137E5C - adds r0, r4, 0x1 -_08137E58: - lsls r0, 24 - lsrs r4, r0, 24 -_08137E5C: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DetermineCyclingRoadResults - - thumb_func_start FinishCyclingRoadChallenge -FinishCyclingRoadChallenge: @ 8137E6C - push {r4,r5,lr} - ldr r0, =gMain - ldr r1, =gUnknown_0203AB58 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, =0x0203ab55 - ldrb r1, [r5] - adds r0, r4, 0 - bl DetermineCyclingRoadResults - ldrb r1, [r5] - adds r0, r4, 0 - bl RecordCyclingRoadResults - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FinishCyclingRoadChallenge - - thumb_func_start RecordCyclingRoadResults -RecordCyclingRoadResults: @ 8137E9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _08137ECC - cmp r4, 0 - bne _08137EE6 -_08137ECC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, =0x00004027 - mov r1, r8 - bl VarSet -_08137EE6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RecordCyclingRoadResults - - thumb_func_start GetRecordedCyclingRoadResults -GetRecordedCyclingRoadResults: @ 8137EFC - push {r4,lr} - ldr r0, =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _08137F3C - ldr r0, =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl DetermineCyclingRoadResults - movs r0, 0x1 - b _08137F3E - .pool -_08137F3C: - movs r0, 0 -_08137F3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetRecordedCyclingRoadResults - - thumb_func_start UpdateCyclingRoadState -UpdateCyclingRoadState: @ 8137F44 - push {r4,lr} - ldr r0, =gUnknown_020322DC - ldrh r1, [r0] - ldr r0, =0x00000c1d - cmp r1, r0 - beq _08137F7C - ldr r4, =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _08137F6E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _08137F7C -_08137F6E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl Overworld_SetSavedMusic -_08137F7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateCyclingRoadState - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 8137F90 - push {lr} - ldr r0, =0x0000088d - bl FlagSet - ldr r0, =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 8137FB0 - push {lr} - ldr r0, =0x0000088d - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetSSTidalFlag - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 8137FC0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08137FE6 - ldr r0, =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _08137FF4 -_08137FE6: - movs r0, 0 - b _08137FF6 - .pool -_08137FF4: - movs r0, 0x1 -_08137FF6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 8137FFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _081380C2 - lsls r0, 2 - ldr r1, =_08138038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08138038: - .4byte _08138060 - .4byte _08138070 - .4byte _08138064 - .4byte _08138068 - .4byte _08138068 - .4byte _0813806C - .4byte _08138098 - .4byte _08138060 - .4byte _08138064 - .4byte _0813806C -_08138060: - movs r0, 0x1 - b _081380CE -_08138064: - movs r0, 0x4 - b _081380CE -_08138068: - movs r0, 0x2 - b _081380CE -_0813806C: - movs r0, 0x3 - b _081380CE -_08138070: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _08138080 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _081380C0 -_08138080: - cmp r0, 0x8B - bhi _0813808E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _081380C0 -_0813808E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _081380C0 -_08138098: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _081380A8 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _081380BE -_081380A8: - cmp r0, 0x91 - bhi _081380B6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _081380BE -_081380B6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_081380BE: - subs r0, r1 -_081380C0: - strh r0, [r6] -_081380C2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_081380CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start is_tile_that_overrides_player_control -is_tile_that_overrides_player_control: @ 81380D8 - push {lr} - movs r0, 0x88 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813810A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813810A - cmp r0, 0x3 - ble _081380F6 - cmp r0, 0x6 - bne _0813810A -_081380F6: - ldr r0, =0x000040f2 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138118 -_0813810A: - movs r0, 0 - b _0813811A - .pool -_08138118: - movs r0, 0x1 -_0813811A: - pop {r1} - bx r1 - thumb_func_end is_tile_that_overrides_player_control - - thumb_func_start sub_8138120 -sub_8138120: @ 8138120 - push {lr} - movs r0, 0x8A - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08138152 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _08138152 - cmp r0, 0x3 - ble _0813813E - cmp r0, 0x6 - bne _08138152 -_0813813E: - ldr r0, =0x000040f3 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _08138160 -_08138152: - movs r0, 0 - b _08138162 - .pool -_08138160: - movs r0, 0x1 -_08138162: - pop {r1} - bx r1 - thumb_func_end sub_8138120 - - thumb_func_start sub_8138168 -sub_8138168: @ 8138168 - push {lr} - movs r0, 0x72 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813819A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813819A - cmp r0, 0x3 - ble _08138186 - cmp r0, 0x6 - bne _0813819A -_08138186: - ldr r0, =0x000040f5 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _081381A8 -_0813819A: - movs r0, 0 - b _081381AA - .pool -_081381A8: - movs r0, 0x1 -_081381AA: - pop {r1} - bx r1 - thumb_func_end sub_8138168 - - thumb_func_start sub_81381B0 -sub_81381B0: @ 81381B0 - push {lr} - movs r0, 0x80 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081381E2 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _081381E2 - cmp r0, 0x3 - ble _081381CE - cmp r0, 0x6 - bne _081381E2 -_081381CE: - ldr r0, =0x000040f4 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _081381F0 -_081381E2: - movs r0, 0 - b _081381F2 - .pool -_081381F0: - movs r0, 0x1 -_081381F2: - pop {r1} - bx r1 - thumb_func_end sub_81381B0 - - thumb_func_start sub_81381F8 -sub_81381F8: @ 81381F8 - push {lr} - movs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813822A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813822A - cmp r0, 0x3 - ble _08138216 - cmp r0, 0x6 - bne _0813822A -_08138216: - ldr r0, =0x000040f6 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138238 -_0813822A: - movs r0, 0 - b _0813823A - .pool -_08138238: - movs r0, 0x1 -_0813823A: - pop {r1} - bx r1 - thumb_func_end sub_81381F8 - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 8138240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0813828A - ldr r0, =gTVStringVarPtrs - mov r8, r0 -_08138262: - cmp r7, r4 - beq _08138280 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138280: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08138262 -_0813828A: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetLinkPartnerNames - - thumb_func_start SpawnLinkPartnerEventObject -SpawnLinkPartnerEventObject: @ 81382A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, =gUnknown_085B2B5C - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, =gUnknown_085B2B60 - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _08138310 - cmp r0, 0x2 - bgt _081382F4 - cmp r0, 0x1 - beq _0813833C - b _08138350 - .pool -_081382F4: - cmp r1, 0x3 - beq _081382FE - cmp r1, 0x4 - beq _08138324 - b _08138350 -_081382FE: - movs r7, 0x2 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - subs r0, 0x1 - b _0813832C - .pool -_08138310: - movs r7, 0x1 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0813834A - .pool -_08138324: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 -_0813832C: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _08138350 - .pool -_0813833C: - movs r7, 0x3 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - mov r9, r3 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0813834A: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08138350: - movs r6, 0 - b _08138410 - .pool -_08138358: - cmp r10, r6 - beq _0813840A - ldr r0, =gLinkPlayers - lsls r2, r6, 3 - subs r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0x1 - blt _0813838C - cmp r3, 0x2 - ble _0813837C - cmp r3, 0x3 - beq _08138388 - b _0813838C - .pool -_0813837C: - ldrb r0, [r1, 0x13] - movs r5, 0xEC - cmp r0, 0 - bne _0813839C - movs r5, 0xEB - b _0813839C -_08138388: - ldrb r0, [r1, 0x13] - b _08138394 -_0813838C: - subs r0, r2, r6 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08138394: - movs r5, 0x69 - cmp r0, 0 - bne _0813839C - movs r5, 0x64 -_0813839C: - mov r0, sp - adds r0, r7 - adds r0, 0x8 - ldrb r1, [r0] - movs r4, 0xF0 - subs r4, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r7, 1 - mov r0, sp - adds r0, r2 - adds r0, 0xC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r3, r9 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - add r0, r12 - adds r3, r0, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - mov r0, sp - adds r0, 0xD - adds r0, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r2 - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, r12 - bl SpawnSpecialEventObjectParameterized - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_813842C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0813840A - movs r7, 0 -_0813840A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138410: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _08138358 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SpawnLinkPartnerEventObject - - thumb_func_start sub_813842C -sub_813842C: @ 813842C - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r2, r1 - lsrs r5, r2, 24 - lsrs r4, r0, 24 - movs r2, 0xA8 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08138454 - cmp r4, 0x64 - beq _08138454 - cmp r4, 0x69 - bne _081384E6 -_08138454: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r3, 0 - bl GetEventObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _081384E6 - ldr r1, =gEventObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - lsls r3, r5, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - cmp r4, 0x69 - beq _081384D8 - cmp r4, 0x69 - bgt _081384A8 - cmp r4, 0x64 - beq _081384C4 - b _081384E6 - .pool -_081384A8: - cmp r4, 0xEB - beq _081384B2 - cmp r4, 0xEC - beq _081384BC - b _081384E6 -_081384B2: - ldr r0, =gEventObjectPalette33 - b _081384C6 - .pool -_081384BC: - ldr r0, =gEventObjectPalette34 - b _081384C6 - .pool -_081384C4: - ldr r0, =gEventObjectPalette8 -_081384C6: - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette - b _081384E6 - .pool -_081384D8: - ldr r0, =gEventObjectPalette17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette -_081384E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813842C - - thumb_func_start MauvilleGymSpecial1 -MauvilleGymSpecial1: @ 81384F0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_085B2B68 -_081384F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0813851C - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - b _0813852A - .pool -_0813851C: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000205 - bl MapGridSetMetatileIdAt -_0813852A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081384F6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial1 - - thumb_func_start MauvilleGymSpecial2 -MauvilleGymSpecial2: @ 8138540 - push {r4-r6,lr} - movs r5, 0xC -_08138544: - movs r4, 0x7 - adds r6, r5, 0x1 -_08138548: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0813855A - b _08138734 -_0813855A: - lsls r0, 2 - ldr r1, =_0813856C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813856C: - .4byte _081386F2 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813864C - .4byte _08138652 - .4byte _0813868C - .4byte _08138694 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813865C - .4byte _08138662 - .4byte _0813869C - .4byte _081386A4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813866C - .4byte _08138672 - .4byte _081386AC - .4byte _081386B4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813867C - .4byte _08138684 - .4byte _081386BC - .4byte _081386C4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386CC - .4byte _081386DC - .4byte _081386EC - .4byte _08138714 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386D4 - .4byte _081386E4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813872A - .4byte _0813871C -_0813864C: - movs r2, 0x8C - lsls r2, 2 - b _08138720 -_08138652: - ldr r2, =0x00000231 - b _08138720 - .pool -_0813865C: - movs r2, 0x8E - lsls r2, 2 - b _08138720 -_08138662: - ldr r2, =0x00000239 - b _08138720 - .pool -_0813866C: - movs r2, 0x88 - lsls r2, 2 - b _08138720 -_08138672: - ldr r2, =0x00000221 - b _08138720 - .pool -_0813867C: - ldr r2, =0x00000e28 - b _08138720 - .pool -_08138684: - ldr r2, =0x00000e29 - b _08138720 - .pool -_0813868C: - ldr r2, =0x00000232 - b _08138720 - .pool -_08138694: - ldr r2, =0x00000233 - b _08138720 - .pool -_0813869C: - ldr r2, =0x0000023a - b _08138720 - .pool -_081386A4: - ldr r2, =0x0000023b - b _08138720 - .pool -_081386AC: - ldr r2, =0x00000222 - b _08138720 - .pool -_081386B4: - ldr r2, =0x00000223 - b _08138720 - .pool -_081386BC: - ldr r2, =0x00000e2a - b _08138720 - .pool -_081386C4: - ldr r2, =0x00000e2b - b _08138720 - .pool -_081386CC: - ldr r2, =0x00000e42 - b _08138720 - .pool -_081386D4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386DC: - ldr r2, =0x00000e43 - b _08138720 - .pool -_081386E4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386EC: - movs r2, 0xE4 - lsls r2, 4 - b _08138720 -_081386F2: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0813870C - ldr r2, =0x00000e48 - b _08138720 - .pool -_0813870C: - ldr r2, =0x00000e49 - b _08138720 - .pool -_08138714: - ldr r2, =0x00000e41 - b _08138720 - .pool -_0813871C: - movs r2, 0xE5 - lsls r2, 4 -_08138720: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08138734 -_0813872A: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08138734: - adds r4, 0x1 - cmp r4, 0xF - bgt _0813873C - b _08138548 -_0813873C: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _08138744 - b _08138544 -_08138744: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial2 - - thumb_func_start MauvilleGymSpecial3 -MauvilleGymSpecial3: @ 8138750 - push {r4-r6,lr} - ldr r4, =gUnknown_085B2B68 - movs r5, 0x3 -_08138756: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08138756 - movs r5, 0xC -_0813876A: - movs r4, 0x7 - adds r6, r5, 0x1 -_0813876E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _08138780 - b _081388CA -_08138780: - lsls r0, 2 - ldr r1, =_0813879C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813879C: - .4byte _08138860 - .4byte _08138866 - .4byte _08138880 - .4byte _08138888 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _08138870 - .4byte _08138876 - .4byte _08138890 - .4byte _08138898 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388A0 - .4byte _081388A8 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388B0 - .4byte _081388B0 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388C0 -_08138860: - movs r2, 0x8C - lsls r2, 2 - b _081388B2 -_08138866: - ldr r2, =0x00000231 - b _081388B2 - .pool -_08138870: - movs r2, 0x8E - lsls r2, 2 - b _081388B2 -_08138876: - ldr r2, =0x00000239 - b _081388B2 - .pool -_08138880: - ldr r2, =0x00000232 - b _081388B2 - .pool -_08138888: - ldr r2, =0x00000233 - b _081388B2 - .pool -_08138890: - ldr r2, =0x0000023a - b _081388B2 - .pool -_08138898: - ldr r2, =0x0000023b - b _081388B2 - .pool -_081388A0: - ldr r2, =0x00000e42 - b _081388B2 - .pool -_081388A8: - ldr r2, =0x00000e43 - b _081388B2 - .pool -_081388B0: - ldr r2, =0x0000021a -_081388B2: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _081388CA - .pool -_081388C0: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_081388CA: - adds r4, 0x1 - cmp r4, 0xF - bgt _081388D2 - b _0813876E -_081388D2: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _081388DA - b _0813876A -_081388DA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial3 - - thumb_func_start PetalburgGymSpecial1 -PetalburgGymSpecial1: @ 81388E4 - push {lr} - ldr r0, =gUnknown_0203AB5C - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB5D - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, =Task_PetalburgGym - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial1 - - thumb_func_start Task_PetalburgGym -Task_PetalburgGym: @ 8138910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_085B2B78 - ldr r5, =gUnknown_0203AB5D - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, =gUnknown_0203AB5C - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0813896C - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =gUnknown_085B2B7E - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl PetalburgGymFunc - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08138970 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08138970 - .pool -_0813896C: - adds r0, r2, 0x1 - strb r0, [r4] -_08138970: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Task_PetalburgGym - - thumb_func_start PetalburgGymFunc -PetalburgGymFunc: @ 8138978 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _08138A40 - lsls r0, 2 - ldr r1, =_081389A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081389A0: - .4byte _081389C0 - .4byte _081389D2 - .4byte _081389E4 - .4byte _081389F6 - .4byte _08138A04 - .4byte _08138A1A - .4byte _08138A26 - .4byte _08138A34 -_081389C0: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _08138A14 -_081389D2: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _08138A14 -_081389E4: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _08138A14 -_081389F6: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _08138A3E -_08138A04: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_08138A14: - strh r0, [r1] - strh r0, [r1, 0x2] - b _08138A40 -_08138A1A: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _08138A3E -_08138A26: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _08138A3E -_08138A34: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_08138A3E: - strh r0, [r1] -_08138A40: - movs r6, 0 - cmp r6, r7 - bcs _08138A92 - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_08138A5E: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08138A5E -_08138A92: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PetalburgGymFunc - - thumb_func_start PetalburgGymSpecial2 -PetalburgGymSpecial2: @ 8138AA4 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, =gUnknown_085B2B7E - ldrh r1, [r1, 0x8] - bl PetalburgGymFunc - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial2 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 8138AC0 - push {lr} - ldr r0, =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 8138AD0 - ldr r1, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .pool - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 8138AF0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 8138B10 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B34 - ldr r0, =gStringVar1 - ldr r1, =gText_BigGuy - bl StringCopy - b _08138B3C - .pool -_08138B34: - ldr r0, =gStringVar1 - ldr r1, =gText_BigGirl - bl StringCopy -_08138B3C: - pop {r0} - bx r0 - .pool - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 8138B48 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B6C - ldr r0, =gStringVar1 - ldr r1, =gText_Daughter - bl StringCopy - b _08138B74 - .pool -_08138B6C: - ldr r0, =gStringVar1 - ldr r1, =gText_Son - bl StringCopy -_08138B74: - pop {r0} - bx r0 - .pool - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_8138B80 -sub_8138B80: @ 8138B80 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8138B80 - - thumb_func_start CableCarWarp -CableCarWarp: @ 8138B8C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08138BB0 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl Overworld_SetWarpDestination - b _08138BC2 - .pool -_08138BB0: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination -_08138BC2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 8138BC8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 8138BDC - push {lr} - ldr r0, =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000270f - cmp r0, r1 - bls _08138BF6 - adds r0, r1, 0 -_08138BF6: - pop {r1} - bx r1 - .pool - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 8138C04 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _08138C2C - movs r0, 0x6 - b _08138C7E - .pool -_08138C2C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _08138C3C - movs r0, 0x5 - b _08138C7E -_08138C3C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _08138C4C - movs r0, 0x4 - b _08138C7E -_08138C4C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _08138C5C - movs r0, 0x3 - b _08138C7E -_08138C5C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _08138C6C - movs r0, 0x2 - b _08138C7E -_08138C6C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _08138C7C - movs r0, 0 - b _08138C7E -_08138C7C: - movs r0, 0x1 -_08138C7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 8138C84 - push {lr} - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl sub_817018C - pop {r0} - bx r0 - .pool - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 8138C94 - push {lr} - ldr r0, =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 8138CA4 - push {r4,lr} - ldr r4, =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138CD8 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138CD8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 8138CE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138D06 - adds r0, r1, 0 - bl PCTurnOnEffect_0 -_08138D06: - pop {r0} - bx r0 - .pool - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOnEffect_0 -PCTurnOnEffect_0: @ 8138D10 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138D7C - strh r5, [r4, 0xE] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138D44 - cmp r0, 0x3 - bgt _08138D3A - cmp r0, 0x2 - beq _08138D40 - b _08138D4C -_08138D3A: - cmp r1, 0x4 - beq _08138D48 - b _08138D4C -_08138D40: - movs r6, 0 - b _08138D4A -_08138D44: - movs r6, 0xFF - b _08138D4A -_08138D48: - movs r6, 0x1 -_08138D4A: - movs r5, 0xFF -_08138D4C: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOnEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138D7C - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138D7C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOnEffect_0 - - thumb_func_start PCTurnOnEffect_1 -PCTurnOnEffect_1: @ 8138D88 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _08138DC4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DAC - movs r3, 0x4 - b _08138DE6 - .pool -_08138DAC: - cmp r0, 0x1 - bne _08138DB8 - ldr r3, =0x0000025a - b _08138DE6 - .pool -_08138DB8: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x00000259 - b _08138DE6 - .pool -_08138DC4: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DD4 - movs r3, 0x5 - b _08138DE6 - .pool -_08138DD4: - cmp r0, 0x1 - bne _08138DE0 - ldr r3, =0x0000027f - b _08138DE6 - .pool -_08138DE0: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x0000027e -_08138DE6: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOnEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 8138E20 - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 8138E2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138E56 - cmp r0, 0x3 - bgt _08138E4C - cmp r0, 0x2 - beq _08138E52 - b _08138E5E -_08138E4C: - cmp r1, 0x4 - beq _08138E5A - b _08138E5E -_08138E52: - movs r6, 0 - b _08138E5C -_08138E56: - movs r6, 0xFF - b _08138E5C -_08138E5A: - movs r6, 0x1 -_08138E5C: - movs r5, 0xFF -_08138E5E: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138E70 - movs r4, 0x4 - b _08138E82 - .pool -_08138E70: - cmp r0, 0x1 - bne _08138E7C - ldr r4, =0x0000025a - b _08138E82 - .pool -_08138E7C: - cmp r0, 0x2 - bne _08138E82 - ldr r4, =0x00000259 -_08138E82: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 8138EC0 - push {r4,lr} - ldr r4, =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138EF4 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138EF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 8138F04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138F22 - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_08138F22: - pop {r0} - bx r0 - .pool - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 8138F2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138F9A - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08138F64 - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _08138F7A - .pool -_08138F64: - ldr r2, =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_08138F7A: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138F9A - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138F9A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 8138FAC - push {lr} - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .pool - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 8138FD4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 8138FEC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 8139004 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _08139028 - movs r0, 0x1 - b _0813902A - .pool -_08139028: - movs r0, 0 -_0813902A: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 8139030 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _08139054 - movs r0, 0x1 - b _08139056 - .pool -_08139054: - movs r0, 0 -_08139056: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 813905C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _08139080 - movs r0, 0x1 - b _08139082 - .pool -_08139080: - movs r0, 0 -_08139082: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 8139088 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _081390AC - movs r0, 0x1 - b _081390AE - .pool -_081390AC: - movs r0, 0 -_081390AE: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 81390B4 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _081390D8 - movs r0, 0x1 - b _081390DA - .pool -_081390D8: - movs r0, 0 -_081390DA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 81390E0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gBaseStats -_081390E6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813913C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0813913C - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _08139128 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0813913C -_08139128: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _0813914A - .pool -_0813913C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081390E6 - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813914A: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end IsGrassTypeInParty - - thumb_func_start SpawnScriptEventObject -SpawnScriptEventObject: @ 8139158 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialEventObjectParameterized - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gEventObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end SpawnScriptEventObject - - thumb_func_start RemoveScriptEventObject -RemoveScriptEventObject: @ 81391AC - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveEventObjectByLocalIdAndMap - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScriptEventObject - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 81391D0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl CopyMonFavoritePokeblockName - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 8139200 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_8139228 -sub_8139228: @ 8139228 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8139228 - - thumb_func_start sub_8139238 -sub_8139238: @ 8139238 - push {lr} - ldr r0, =gStringVar1 - bl GetEreaderTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139238 - - thumb_func_start sub_8139248 -sub_8139248: @ 8139248 - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =0x00002e68 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, =0x00002e6a - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, =gUnknown_085B2B88 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _08139294 - ldr r4, =gUnknown_085B2B94 - b _08139296 - .pool -_08139294: - ldr r4, =gUnknown_085B2BA0 -_08139296: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139248 - - thumb_func_start sub_81392AC -sub_81392AC: @ 81392AC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000213 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392CC - movs r0, 0x1 - b _081392CE - .pool -_081392CC: - movs r0, 0 -_081392CE: - pop {r1} - bx r1 - thumb_func_end sub_81392AC - - thumb_func_start sub_81392D4 -sub_81392D4: @ 81392D4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x85 - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392F0 - movs r0, 0x1 - b _081392F2 - .pool -_081392F0: - movs r0, 0 -_081392F2: - pop {r1} - bx r1 - thumb_func_end sub_81392D4 - - thumb_func_start sub_81392F8 -sub_81392F8: @ 81392F8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000215 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139318 - movs r0, 0x1 - b _0813931A - .pool -_08139318: - movs r0, 0 -_0813931A: - pop {r1} - bx r1 - thumb_func_end sub_81392F8 - - thumb_func_start sub_8139320 -sub_8139320: @ 8139320 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000216 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139340 - movs r0, 0x1 - b _08139342 - .pool -_08139340: - movs r0, 0 -_08139342: - pop {r1} - bx r1 - thumb_func_end sub_8139320 - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 8139348 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GiveLeadMonEffortRibbon -GiveLeadMonEffortRibbon: @ 8139370 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x47 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _081393B6 - adds r0, r4, 0 - movs r1, 0x47 - bl sub_80EE4DC -_081393B6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GiveLeadMonEffortRibbon - - thumb_func_start Special_AreLeadMonEVsMaxedOut -Special_AreLeadMonEVsMaxedOut: @ 81393C8 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, =0x01fd0000 - cmp r0, r1 - bhi _081393F4 - movs r0, 0 - b _081393F6 - .pool -_081393F4: - movs r0, 0x1 -_081393F6: - pop {r1} - bx r1 - thumb_func_end Special_AreLeadMonEVsMaxedOut - - thumb_func_start sub_81393FC -sub_81393FC: @ 81393FC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08139454 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _08139454 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139434 - ldr r0, =0x0000409a - movs r1, 0x4 - b _08139446 - .pool -_08139434: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139454 - ldr r0, =0x0000409a - movs r1, 0x5 -_08139446: - bl VarSet - movs r0, 0x1 - b _08139456 - .pool -_08139454: - movs r0, 0 -_08139456: - pop {r1} - bx r1 - thumb_func_end sub_81393FC - - thumb_func_start SetShoalItemFlag -SetShoalItemFlag: @ 813945C - push {lr} - ldr r0, =0x000008bf - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetShoalItemFlag - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 813946C - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 81394D8 - push {r4-r6,lr} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139526 -_081394FA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0813951C - movs r0, 0x1 - b _08139528 - .pool -_0813951C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081394FA -_08139526: - movs r0, 0 -_08139528: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start ScriptCheckFreePokemonStorageSpace -ScriptCheckFreePokemonStorageSpace: @ 8139530 - push {lr} - bl CheckFreePokemonStorageSpace - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end ScriptCheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 8139540 - push {lr} - ldr r0, =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _08139558 - movs r0, 0x1 - b _0813955A - .pool -_08139558: - movs r0, 0 -_0813955A: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_8139560 -sub_8139560: @ 8139560 - push {lr} - ldr r0, =sub_81395BC - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139560 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08139614 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08139614 - adds r0, r5, 0 - bl sub_8139620 - bl InstallCameraPanAheadCallback -_08139614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81395BC - - thumb_func_start sub_8139620 -sub_8139620: @ 8139620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8139620 - - thumb_func_start sub_8139634 -sub_8139634: @ 8139634 - push {lr} - movs r0, 0x95 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139634 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 8139648 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139664 - movs r0, 0x14 - bl SetSav1Weather -_08139664: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 8139668 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139684 - movs r0, 0x15 - bl SetSav1Weather -_08139684: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 8139688 - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081396D6 -_08139698: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081396CC - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _081396CC - adds r0, r5, 0 - b _081396D8 - .pool -_081396CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08139698 -_081396D6: - movs r0, 0 -_081396D8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 81396E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start nullsub_54 -nullsub_54: @ 8139708 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_813970C -sub_813970C: @ 813970C - push {r4,lr} - ldr r0, =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _08139734 - movs r0, 0 - b _0813974C - .pool -_08139734: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0813974A - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0813974C -_0813974A: - movs r0, 0x8 -_0813974C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813970C - - thumb_func_start sub_8139754 -sub_8139754: @ 8139754 - push {r4,lr} - ldr r0, =0x000040c2 - ldr r4, =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139754 - - thumb_func_start sub_8139770 -sub_8139770: @ 8139770 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x2 - bne _081397A6 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - ldr r4, =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _081397BC -_081397A6: - movs r0, 0x1 - b _081397BE - .pool -_081397BC: - movs r0, 0 -_081397BE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8139770 - - thumb_func_start sub_81397C4 -sub_81397C4: @ 81397C4 - push {r4,r5,lr} - ldr r2, =gSpecialVar_Result - ldrh r1, [r2] - ldr r0, =0x0000270f - cmp r1, r0 - bls _081397E0 - movs r0, 0 - bl TV_PrintIntToStringVar - b _08139862 - .pool -_081397E0: - ldr r0, =0x000003e7 - cmp r1, r0 - bls _081397F8 - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0813981C - .pool -_081397F8: - cmp r1, 0x63 - bls _0813980C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0813981C - .pool -_0813980C: - cmp r1, 0x9 - bls _0813983C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0813981C: - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _08139862 - .pool -_0813983C: - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_08139862: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81397C4 - - thumb_func_start sub_813986C -sub_813986C: @ 813986C - push {lr} - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081398B8 - lsls r0, 2 - ldr r1, =_08139888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139888: - .4byte _0813989C - .4byte _081398A0 - .4byte _081398A4 - .4byte _081398A8 - .4byte _081398AC -_0813989C: - movs r0, 0x3 - b _081398AE -_081398A0: - movs r0, 0x4 - b _081398AE -_081398A4: - movs r0, 0 - b _081398AE -_081398A8: - movs r0, 0x1 - b _081398AE -_081398AC: - movs r0, 0x2 -_081398AE: - bl mevent_081445C0 - lsls r0, 16 - lsrs r0, 16 - b _081398BA -_081398B8: - movs r0, 0 -_081398BA: - pop {r1} - bx r1 - thumb_func_end sub_813986C - - thumb_func_start sub_81398C0 -sub_81398C0: @ 81398C0 - push {r4,lr} - ldr r1, =gSpecialVar_0x8004 - ldr r2, =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _081398E0 - movs r0, 0 - b _081398FC - .pool -_081398E0: - ldr r4, =gStringVar2 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_081398FC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81398C0 - - thumb_func_start sub_813990C -sub_813990C: @ 813990C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139942 -_0813991C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _08139938 - movs r0, 0x1 - b _08139944 - .pool -_08139938: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0813991C -_08139942: - movs r0, 0 -_08139944: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813990C - - thumb_func_start InMultiBattleRoom -InMultiBattleRoom: @ 813994C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00000f1a - cmp r1, r0 - bne _08139978 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08139978 - movs r0, 0x1 - b _0813997A - .pool -_08139978: - movs r0, 0 -_0813997A: - pop {r1} - bx r1 - thumb_func_end InMultiBattleRoom - - thumb_func_start sub_8139980 -sub_8139980: @ 8139980 - push {lr} - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x8 - movs r1, 0 - bl SetCameraPanning - pop {r0} - bx r0 - thumb_func_end sub_8139980 - - thumb_func_start sub_8139994 -sub_8139994: @ 8139994 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _081399E4 - lsls r0, 2 - ldr r1, =_081399B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081399B8: - .4byte _081399E4 - .4byte _081399D0 - .4byte _081399D4 - .4byte _081399D8 - .4byte _081399DC - .4byte _081399E0 -_081399D0: - movs r1, 0x5 - b _081399E6 -_081399D4: - movs r1, 0x6 - b _081399E6 -_081399D8: - movs r1, 0x7 - b _081399E6 -_081399DC: - movs r1, 0x8 - b _081399E6 -_081399E0: - movs r1, 0xF - b _081399E6 -_081399E4: - movs r1, 0x4 -_081399E6: - ldr r0, =0x00004043 - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139994 - - thumb_func_start sub_81399F4 -sub_81399F4: @ 81399F4 - push {r4,lr} - ldr r2, =gUnknown_0203AB60 - movs r0, 0 - strh r0, [r2] - ldr r1, =gUnknown_0203AB62 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0x14 - ldrsb r0, [r3, r0] - adds r4, r1, 0 - cmp r0, 0xD - bne _08139A6E - ldrb r0, [r3, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _08139A6E - lsls r0, 2 - ldr r1, =_08139A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139A34: - .4byte _08139A66 - .4byte _08139A5E - .4byte _08139A56 - .4byte _08139A4E - .4byte _08139A48 -_08139A48: - movs r0, 0 - strh r0, [r2] - b _08139A6C -_08139A4E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 - b _08139A6C -_08139A56: - movs r0, 0 - strh r0, [r2] - movs r0, 0x2 - b _08139A6C -_08139A5E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x3 - b _08139A6C -_08139A66: - movs r0, 0 - strh r0, [r2] - movs r0, 0x4 -_08139A6C: - strh r0, [r4] -_08139A6E: - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81399F4 - - thumb_func_start sub_8139A78 -sub_8139A78: @ 8139A78 - push {r4-r6,lr} - ldr r0, =sub_8139AF4 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r3, 0 - strh r3, [r4, 0x2] - strh r3, [r4, 0x4] - movs r6, 0x1 - strh r6, [r4, 0x8] - ldr r0, =gSpecialVar_0x8005 - ldr r1, =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _08139AC0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _08139AC8 - .pool -_08139AC0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_08139AC8: - cmp r5, 0x8 - bls _08139ACE - movs r5, 0x8 -_08139ACE: - ldr r0, =gUnknown_085B2C18 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r4, 0xA] - movs r0, 0 - bl SetCameraPanningCallback - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl sub_8139C2C - movs r0, 0x59 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139A78 - - thumb_func_start sub_8139AF4 -sub_8139AF4: @ 8139AF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08139B54 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08139B54 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08139B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139AF4 - - thumb_func_start sub_8139B60 -sub_8139B60: @ 8139B60 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r5, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B2BAC - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gText_ElevatorNowOn - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - ldr r6, =gElevatorFloorsTable - ldr r4, =gSpecialVar_0x8005 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - ldrh r1, [r4] - lsls r1, 2 - adds r1, r6 - ldr r2, [r1] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x11 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - bl PrintTextOnWindow - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139B60 - - thumb_func_start sub_8139C10 -sub_8139C10: @ 8139C10 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C10 - - thumb_func_start sub_8139C2C -sub_8139C2C: @ 8139C2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, =sub_8139C80 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139C6C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - ldr r0, =gUnknown_085B2C21 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_08139C6C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C2C - - thumb_func_start sub_8139C80 -sub_8139C80: @ 8139C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _08139D7C - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08139D10 - movs r1, 0 - ldr r2, =gUnknown_085B2BF4 - mov r10, r2 -_08139CBA: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139CCA: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139CCA - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139CBA - b _08139D62 - .pool -_08139D10: - movs r1, 0 - ldr r0, =gUnknown_085B2C06 - mov r10, r0 -_08139D16: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139D26: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139D26 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139D16 -_08139D62: - bl DrawWholeMapView - movs r0, 0 - strh r0, [r6, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - bne _08139D7C - ldr r0, [sp] - bl DestroyTask -_08139D7C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C80 - - thumb_func_start sub_8139D98 -sub_8139D98: @ 8139D98 - push {r4-r7,lr} - sub sp, 0x18 - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x27 - bl GetMonData - str r0, [sp] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x28 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x29 - bl GetMonData - str r0, [sp, 0x8] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2A - bl GetMonData - str r0, [sp, 0xC] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2B - bl GetMonData - str r0, [sp, 0x10] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2C - bl GetMonData - str r0, [sp, 0x14] - ldr r1, =gSpecialVar_0x8005 - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r2, r1, 0 -_08139E00: - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - ldrh r0, [r2] - adds r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E00 - ldr r2, =gSpecialVar_0x8006 - movs r0, 0 - strh r0, [r2] - ldr r1, =gSpecialVar_0x8007 - ldr r0, [sp] - strh r0, [r1] - movs r4, 0x1 - adds r6, r2, 0 - adds r7, r1, 0 -_08139E28: - ldrh r0, [r6] - lsls r0, 2 - mov r2, sp - adds r1, r2, r0 - lsls r0, r4, 2 - adds r5, r2, r0 - ldr r1, [r1] - ldr r0, [r5] - cmp r1, r0 - bcs _08139E54 - strh r4, [r6] - b _08139E6C - .pool -_08139E54: - cmp r1, r0 - bne _08139E6E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139E6E - strh r4, [r6] - ldr r0, [r5] -_08139E6C: - strh r0, [r7] -_08139E6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E28 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8139D98 - - thumb_func_start warp0_in_pokecenter -warp0_in_pokecenter: @ 8139E80 - push {r4,lr} - ldr r0, =gUnknown_020322DC - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B2C2A - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _08139EC6 - adds r4, r1, 0 - adds r1, r2, 0 -_08139EA4: - ldrh r0, [r2] - cmp r0, r3 - bne _08139EBC - movs r0, 0x1 - b _08139EC8 - .pool -_08139EBC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _08139EA4 -_08139EC6: - movs r0, 0 -_08139EC8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp0_in_pokecenter - - thumb_func_start sub_8139ED0 -sub_8139ED0: @ 8139ED0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003c1a - cmp r1, r0 - beq _08139EEC - movs r0, 0x1 - b _08139EEE - .pool -_08139EEC: - movs r0, 0 -_08139EEE: - pop {r1} - bx r1 - thumb_func_end sub_8139ED0 - - thumb_func_start UpdateFrontierManiac -UpdateFrontierManiac: @ 8139EF4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000402f - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xA - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierManiac - - thumb_func_start sub_8139F20 -sub_8139F20: @ 8139F20 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =0x0000402f - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08139F34 - b _0813A03A -_08139F34: - lsls r0, r6, 2 - ldr r1, =_08139F48 - adds r1, r0, r1 - ldr r1, [r1] - adds r2, r0, 0 - mov pc, r1 - .pool - .align 2, 0 -_08139F48: - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F94 - .4byte _08139FB4 - .4byte _08139FCC - .4byte _08139FE4 - .4byte _08139FFC - .4byte _0813A014 -_08139F70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r1, r0, r3 - adds r3, r1, r2 - ldr r1, =0x00000ce2 - adds r0, r1 - adds r1, r0, r2 - ldrh r0, [r3] - ldrh r2, [r1] - cmp r0, r2 - bcs _0813A028 - b _0813A038 - .pool -_08139F94: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d0c - adds r2, r0, r3 - adds r3, 0x2 -_08139F9E: - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _0813A028 - b _0813A038 - .pool -_08139FB4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000de2 - adds r2, r0, r1 - ldr r3, =0x00000de4 - b _08139F9E - .pool -_08139FCC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dc8 - adds r2, r0, r1 - ldr r3, =0x00000dca - b _08139F9E - .pool -_08139FE4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dda - adds r2, r0, r1 - ldr r3, =0x00000ddc - b _08139F9E - .pool -_08139FFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e04 - adds r2, r0, r1 - ldr r3, =0x00000e06 - b _08139F9E - .pool -_0813A014: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1a - adds r2, r0, r1 - ldr r3, =0x00000e1c - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcc _0813A038 -_0813A028: - adds r4, r0, 0 - b _0813A03A - .pool -_0813A038: - ldrh r4, [r1] -_0813A03A: - movs r2, 0 - ldr r5, =gUnknown_085B2CC8 - lsls r0, r6, 1 - adds r1, r0, r5 - ldrb r1, [r1] - adds r3, r0, 0 - ldr r7, =gUnknown_085B2C50 - cmp r1, r4 - bcs _0813A062 - adds r1, r3, 0 -_0813A04E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bhi _0813A062 - adds r0, r2, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r4 - bcc _0813A04E -_0813A062: - adds r0, r3, r6 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139F20 - - thumb_func_start sub_813A080 -sub_813A080: @ 813A080 - push {r4-r7,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - cmp r5, 0x2 - bne _0813A0D8 - movs r0, 0xA9 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813A0D8 - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x5 - strh r0, [r1] - ldr r1, =gSpecialVar_0x8006 - movs r0, 0x4 - strh r0, [r1] - b _0813A110 - .pool -_0813A0D0: - movs r0, 0x4 - strh r0, [r6] - adds r0, r3, 0x5 - b _0813A10E -_0813A0D8: - movs r3, 0 - ldr r6, =gSpecialVar_0x8005 - ldr r7, =gSpecialVar_0x8006 - lsls r1, r4, 1 - lsls r2, r5, 2 - ldr r4, =gUnknown_085B2CDC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r2 - movs r2, 0xCE - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] -_0813A0F4: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r1 - bhi _0813A0D0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _0813A0F4 - movs r0, 0x4 - strh r0, [r6] - movs r0, 0xC -_0813A10E: - strh r0, [r7] -_0813A110: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A080 - - thumb_func_start sub_813A128 -sub_813A128: @ 813A128 - push {r4,lr} - ldr r0, =sub_813A2DC - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - strh r0, [r3, 0x1E] - ldrh r0, [r1] - cmp r0, 0xC - bls _0813A14E - b _0813A2C6 -_0813A14E: - lsls r0, 2 - ldr r1, =_0813A168 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813A168: - .4byte _0813A19C - .4byte _0813A1AA - .4byte _0813A1C2 - .4byte _0813A1D6 - .4byte _0813A1F0 - .4byte _0813A208 - .4byte _0813A222 - .4byte _0813A23C - .4byte _0813A25A - .4byte _0813A274 - .4byte _0813A274 - .4byte _0813A28E - .4byte _0813A2A8 -_0813A19C: - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - b _0813A2BC -_0813A1AA: - movs r1, 0 - movs r0, 0x5 - strh r0, [r3, 0x8] - movs r0, 0x8 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x9 - strh r0, [r3, 0x10] - movs r0, 0xA - b _0813A2BE -_0813A1C2: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x7 - b _0813A250 -_0813A1D6: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A1F0: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A208: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A222: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A23C: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE -_0813A250: - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A25A: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xB - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A274: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A28E: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x13 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xA - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A2A8: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xC -_0813A2BC: - strh r0, [r3, 0x10] -_0813A2BE: - strh r0, [r3, 0x12] - strh r1, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A2C6: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813A2D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A128 - - thumb_func_start sub_813A2DC -sub_813A2DC: @ 813A2DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - bl ScriptContext2_Enable - ldr r0, =gUnknown_0203AB68 - movs r5, 0 - strh r5, [r0] - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] - ldrh r0, [r6, 0x1E] - movs r1, 0 - bl sub_813AA60 - ldrb r0, [r6, 0x1E] - movs r1, 0 - bl sub_813ACE8 - ldr r4, =gUnknown_0203AB64 - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - ldr r0, =gUnknown_0203AB6A - strh r5, [r0] - bl sub_813A42C - movs r3, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r6, r2] - add r1, sp, 0x18 - mov r8, r1 - cmp r3, r0 - bge _0813A36A - ldr r5, =gUnknown_085B2CF0 -_0813A33A: - lsls r1, r4, 2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r5 - ldr r0, [r1] - ldr r1, =gUnknown_0203AB64 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r1, r3, 0 - bl display_text_and_get_width - adds r3, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r4, r0 - blt _0813A33A -_0813A36A: - adds r0, r3, 0 - bl convert_pixel_width_to_tile_width - strh r0, [r6, 0x10] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r2, 0x10 - ldrsh r1, [r6, r2] - adds r0, r1 - cmp r0, 0x1D - ble _0813A38C - movs r0, 0x1D - subs r0, r1 - cmp r0, 0 - bge _0813A38A - movs r0, 0 -_0813A38A: - strh r0, [r6, 0xC] -_0813A38C: - ldrb r2, [r6, 0xC] - ldrb r3, [r6, 0xE] - ldrb r0, [r6, 0x10] - str r0, [sp] - ldrb r0, [r6, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x64 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl sub_8198A50 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r8 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gUnknown_030061D0 - ldrh r0, [r6, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r6, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r6, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_813A694 - ldrh r1, [r6, 0x16] - ldrh r2, [r6, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A2DC - - thumb_func_start sub_813A42C -sub_813A42C: @ 813A42C - ldr r1, =gUnknown_030061D0 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - str r0, [r1] - ldr r0, =sub_813A46C - str r0, [r1, 0x4] - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strb r2, [r1, 0x10] - strb r2, [r1, 0x11] - movs r0, 0x8 - strb r0, [r1, 0x12] - strb r2, [r1, 0x13] - movs r0, 0x21 - strb r0, [r1, 0x14] - movs r0, 0x31 - strb r0, [r1, 0x15] - movs r0, 0 - strb r0, [r1, 0x16] - movs r0, 0x1 - strb r0, [r1, 0x17] - bx lr - .pool - thumb_func_end sub_813A42C - - thumb_func_start sub_813A46C -sub_813A46C: @ 813A46C - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_813A4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0813A4D4 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - bl ListMenuGetScrollAndRow - ldr r1, =gUnknown_0203AB68 - mov r0, sp - ldrh r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - ldr r5, =gUnknown_0203AB6A - ldrh r1, [r5] - bl sub_813AC44 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AA60 - ldrb r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AD34 - mov r0, sp - ldrh r0, [r0] - strh r0, [r5] -_0813A4D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A46C - - thumb_func_start sub_813A4EC -sub_813A4EC: @ 813A4EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenuHandleInputGetItemId - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813A51C - adds r0, 0x1 - cmp r4, r0 - bne _0813A530 - b _0813A566 - .pool -_0813A51C: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _0813A54C - .pool -_0813A530: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0813A54C - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _0813A558 -_0813A54C: - adds r0, r5, 0 - bl sub_813A570 - b _0813A566 - .pool -_0813A558: - adds r0, r5, 0 - bl sub_813A738 - ldr r0, =sub_813A600 - str r0, [r6] - bl EnableBothScriptContexts -_0813A566: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A4EC - - thumb_func_start sub_813A570 -sub_813A570: @ 813A570 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AC44 - adds r0, r5, 0 - bl sub_813A738 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A570 - - thumb_func_start sub_813A600 -sub_813A600: @ 813A600 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0813A624 - cmp r0, 0x2 - bne _0813A624 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, =sub_813A664 - str r0, [r1] -_0813A624: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A600 - - thumb_func_start sub_813A630 -sub_813A630: @ 813A630 - push {lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0813A64C - bl EnableBothScriptContexts - b _0813A65C - .pool -_0813A64C: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - adds r0, 0x1 - strh r0, [r1, 0x14] -_0813A65C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A630 - - thumb_func_start sub_813A664 -sub_813A664: @ 813A664 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_813A694 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A664 - - thumb_func_start sub_813A694 -sub_813A694: @ 813A694 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, =gUnknown_085B3030 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A724 - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - movs r3, 0 - strb r1, [r2, 0x1] - mov r1, sp - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - strb r1, [r2, 0x4] - mov r1, sp - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, 0xA - strb r0, [r1, 0x5] - mov r0, sp - strh r3, [r0, 0x6] - mov r2, sp - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - subs r0, r1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_0203AB68 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_0813A724: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A694 - - thumb_func_start sub_813A738 -sub_813A738: @ 813A738 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _0813A75E - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_0813A75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A738 - - thumb_func_start nullsub_55 -nullsub_55: @ 813A768 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_813A76C -sub_813A76C: @ 813A76C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gLinkPlayers - ldr r0, =0x0000401f - adds r5, r0, 0 -_0813A776: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813A79C - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl VarSet - b _0813A7A8 - .pool -_0813A79C: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x69 - bl VarSet -_0813A7A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0813A776 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A76C - - thumb_func_start sub_813A7B8 -sub_813A7B8: @ 813A7B8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x5 - bls _0813A7C6 - movs r0, 0 - strh r0, [r1] -_0813A7C6: - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - ldr r1, =gUnknown_085B3040 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7B8 - - thumb_func_start UpdateFrontierGambler -UpdateFrontierGambler: @ 813A7F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004030 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xC - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierGambler - - thumb_func_start sub_813A820 -sub_813A820: @ 813A820 - push {r4,lr} - ldr r0, =0x00004030 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gUnknown_085B30A4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - ldr r0, =0x00004031 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A820 - - thumb_func_start sub_813A854 -sub_813A854: @ 813A854 - push {r4,lr} - ldr r4, =gUnknown_085B30D4 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A854 - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004033 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813A8F0 - ldr r1, =gUnknown_085B3104 - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r5, 8 - adds r0, r7 - cmp r1, r0 - bne _0813A8F0 - mov r0, r8 - cmp r0, 0 - beq _0813A8E8 - adds r0, r4, 0 - movs r1, 0x2 - bl VarSet - b _0813A8F0 - .pool -_0813A8E8: - adds r0, r4, 0 - movs r1, 0x3 - bl VarSet -_0813A8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8FC -sub_813A8FC: @ 813A8FC - push {lr} - sub sp, 0x2C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r1, [r0] - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_BP - bl StringCopy - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x30 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB6D - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - add sp, 0x2C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A8FC - - thumb_func_start sub_813A958 -sub_813A958: @ 813A958 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldr r0, =gUnknown_085B311C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - bl sub_813A8FC - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A958 - - thumb_func_start sub_813A988 -sub_813A988: @ 813A988 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A988 - - thumb_func_start sub_813A9A4 -sub_813A9A4: @ 813A9A4 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000eb8 - adds r1, r0, r2 - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r1] - ldrh r0, [r0] - cmp r2, r0 - bcs _0813A9C8 - movs r0, 0 - b _0813A9CA - .pool -_0813A9C8: - subs r0, r2, r0 -_0813A9CA: - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_813A9A4 - - thumb_func_start sub_813A9D0 -sub_813A9D0: @ 813A9D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r1, r0 - ldr r0, =0x0000270f - cmp r1, r0 - ble _0813A9FC - strh r0, [r2] - b _0813A9FE - .pool -_0813A9FC: - strh r1, [r2] -_0813A9FE: - pop {r0} - bx r0 - thumb_func_end sub_813A9D0 - - thumb_func_start sub_813AA04 -sub_813AA04: @ 813AA04 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_813AA04 - - thumb_func_start sub_813AA18 -sub_813AA18: @ 813AA18 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldr r0, =gUnknown_085B3124 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA18 - - thumb_func_start sub_813AA44 -sub_813AA44: @ 813AA44 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA44 - - thumb_func_start sub_813AA60 -sub_813AA60: @ 813AA60 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsrs r4, r0, 16 - ldr r1, =0xfffd0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x3 - bls _0813AA78 - b _0813ABC2 -_0813AA78: - movs r0, 0xD8 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0x4 - beq _0813AAE8 - cmp r4, 0x4 - bgt _0813AAA0 - cmp r4, 0x3 - beq _0813AAAA - b _0813ABC2 - .pool -_0813AAA0: - cmp r4, 0x5 - beq _0813AB5C - cmp r4, 0x6 - beq _0813AB94 - b _0813ABC2 -_0813AAAA: - ldr r1, =gUnknown_085B3170 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B312C - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - beq _0813AB18 - b _0813AB2C - .pool -_0813AAE8: - ldr r1, =gUnknown_085B319C - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B3142 - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - bne _0813AB2C -_0813AB18: - ldrh r0, [r1] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB2C: - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - lsls r0, r5, 24 - lsrs r0, 24 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x21 - movs r2, 0x58 - movs r3, 0 - bl AddDecorationIconObject - ldr r1, =gUnknown_0203AB6C - strb r0, [r1] - b _0813ABC2 - .pool -_0813AB5C: - ldr r1, =gUnknown_085B31B4 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B314E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB94: - ldr r1, =gUnknown_085B31D0 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B315C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 -_0813ABC2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA60 - - thumb_func_start sub_813ABD4 -sub_813ABD4: @ 813ABD4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl AddItemIconSprite - ldr r4, =gUnknown_0203AB6C - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813AC32 - ldr r3, =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x24 - strh r1, [r0, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0, 0x22] -_0813AC32: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ABD4 - - thumb_func_start sub_813AC44 -sub_813AC44: @ 813AC44 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =gUnknown_0203AB6C - ldrb r0, [r2] - cmp r0, 0x40 - beq _0813AC70 - cmp r1, 0x6 - bgt _0813AC6A - cmp r1, 0x3 - blt _0813AC6A - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources -_0813AC6A: - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] -_0813AC70: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC44 - - thumb_func_start sub_813AC7C -sub_813AC7C: @ 813AC7C - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - beq _0813ACB8 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B320C - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _0813ACD2 - .pool -_0813ACB8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B31F8 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy -_0813ACD2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC7C - - thumb_func_start sub_813ACE8 -sub_813ACE8: @ 813ACE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813AD20 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - bne _0813AD18 - ldr r4, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B3220 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle -_0813AD18: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_813AD34 -_0813AD20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ACE8 - - thumb_func_start sub_813AD34 -sub_813AD34: @ 813AD34 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r7, r5, 0 - lsrs r6, r0, 24 - movs r1, 0xF7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813ADAC - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x60 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r6, 0xA - bne _0813AD90 - ldrb r0, [r4] - ldr r2, =gUnknown_085B3254 - lsls r1, r5, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - b _0813ADAC - .pool -_0813AD90: - ldrb r0, [r4] - ldr r2, =gUnknown_085B3228 - lsls r1, r7, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow -_0813ADAC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AD34 - - thumb_func_start sub_813ADB8 -sub_813ADB8: @ 813ADB8 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADB8 - - thumb_func_start sub_813ADD4 -sub_813ADD4: @ 813ADD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0813AE90 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - movs r5, 0 - mov r9, r4 - ldr r0, =gUnknown_085B2CF0 - mov r8, r0 - movs r4, 0 -_0813AE1E: - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x14 - ldrh r2, [r1] - adds r2, r5 - lsls r2, 2 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 6 - adds r2, r1 - add r2, r8 - ldr r2, [r2] - lsls r1, r5, 28 - lsrs r1, 24 - str r1, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r3, 0xA - bl sub_8199F74 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0813AE1E - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gText_SelectorArrow - mov r3, r9 - ldrh r1, [r3] - lsls r1, 28 - lsrs r1, 24 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram -_0813AE90: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADD4 - - thumb_func_start sub_813AEB4 -sub_813AEB4: @ 813AEB4 - push {r4,lr} - movs r1, 0 - ldr r0, =gSpecialVar_0x8005 - strh r1, [r0] - ldr r0, =0x0000400e - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000400d - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r4, 0 - beq _0813AF18 - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B320C - adds r0, r1, r0 - ldrh r1, [r0] -_0813AEE2: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AEE2 - b _0813AF38 - .pool -_0813AF0C: - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] - b _0813AF38 - .pool -_0813AF18: - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B31F8 - adds r0, r1, r0 - ldrh r1, [r0] -_0813AF24: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AF24 -_0813AF38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AEB4 - - thumb_func_start sub_813AF48 -sub_813AF48: @ 813AF48 - push {r4,r5,lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0813AFB6 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_0813AFB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AF48 - - thumb_func_start sub_813AFC8 -sub_813AFC8: @ 813AFC8 - push {lr} - ldr r0, =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AFC8 - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 813AFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =0x000008d4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B004 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B06A - .pool -_0813B004: - ldr r0, =0x00004035 - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - cmp r5, 0 - beq _0813B05C - ldr r0, =gUnknown_085B33F6 - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _0813B05C - movs r0, 0 - bl sub_813B0B4 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - b _0813B070 - .pool -_0813B05C: - cmp r5, 0xA - bne _0813B080 - ldr r0, =0x000008d4 - bl FlagSet - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_0813B06A: - strh r0, [r1] - bl EnableBothScriptContexts -_0813B070: - adds r0, r7, 0 - bl DestroyTask - b _0813B0A2 - .pool -_0813B080: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813B0B4 - ldr r0, =0x00004035 - adds r1, r5, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_0813B0A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_deoxys_sound - - thumb_func_start sub_813B0B4 -sub_813B0B4: @ 813B0B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetEventObjectIdByLocalIdAndMap - cmp r4, 0 - bne _0813B0F0 - movs r0, 0xC4 - bl PlaySE - b _0813B0F8 - .pool -_0813B0F0: - movs r0, 0x82 - lsls r0, 1 - bl PlaySE -_0813B0F8: - ldr r0, =sub_813B160 - movs r1, 0x8 - bl CreateTask - ldr r3, =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x3A - str r0, [r3, 0x4] - movs r0, 0x1A - str r0, [r3, 0x8] - ldr r0, =gUnknown_085B33E0 - lsls r2, r4, 1 - adds r1, r2, r0 - ldrb r1, [r1] - str r1, [r3, 0xC] - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - str r0, [r3, 0x10] - adds r5, r2, 0 - cmp r4, 0 - bne _0813B138 - movs r0, 0x3C - b _0813B13A - .pool -_0813B138: - movs r0, 0x5 -_0813B13A: - str r0, [r3, 0x14] - movs r0, 0x42 - bl FieldEffectStart - ldr r0, =gUnknown_085B33E0 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetEventObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B0B4 - - thumb_func_start sub_813B160 -sub_813B160: @ 813B160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x42 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0813B17C - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B17C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B160 - - thumb_func_start increment_var_x4026_on_birth_island_modulo_100 -increment_var_x4026_on_birth_island_modulo_100: @ 813B184 - push {r4,lr} - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003a1a - cmp r1, r0 - bne _0813B1C8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0813B1C0 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _0813B1C8 - .pool -_0813B1C0: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_0813B1C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end increment_var_x4026_on_birth_island_modulo_100 - - thumb_func_start sub_813B1D0 -sub_813B1D0: @ 813B1D0 - push {lr} - ldr r0, =0x00004035 - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0x80 - lsls r0, 19 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B1D0 - - thumb_func_start set_unknown_box_id -@ void set_unknown_box_id(char id) -set_unknown_box_id: @ 813B204 - ldr r1, =gUnknown_0203AB6F - strb r0, [r1] - bx lr - .pool - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 813B210 - ldr r0, =gUnknown_0203AB6F - ldrb r0, [r0] - bx lr - .pool - thumb_func_end get_unknown_box_id - - thumb_func_start sub_813B21C -sub_813B21C: @ 813B21C - push {r4,r5,lr} - ldr r5, =0x000008d7 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813B258 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0813B258 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _0813B25A - .pool -_0813B258: - movs r0, 0 -_0813B25A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813B21C - - thumb_func_start sub_813B260 -sub_813B260: @ 813B260 - push {r4-r7,lr} - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_0813B278: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_0813B27E: - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl GetBoxedMonPtr - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0813B2C0 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _0813B2A6 - ldr r0, =0x000008d7 - bl FlagClear -_0813B2A6: - ldr r0, =0x00004036 - lsrs r1, r7, 16 - bl VarSet - bl sub_813B21C - lsls r0, 24 - lsrs r0, 24 - b _0813B2DC - .pool -_0813B2C0: - adds r5, 0x1 - cmp r5, 0x1D - ble _0813B27E - adds r4, 0x1 - cmp r4, 0xE - bne _0813B2CE - movs r4, 0 -_0813B2CE: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0813B278 - movs r0, 0 -_0813B2DC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B260 - - thumb_func_start sub_813B2E4 -sub_813B2E4: @ 813B2E4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004038 - movs r1, 0 - bl VarSet - movs r0, 0xDF - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B340 - ldr r0, =0x000001bf - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B330 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet - b _0813B36A - .pool -_0813B330: - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - bne _0813B354 - bl Random - lsls r0, 16 - lsrs r4, r0, 16 -_0813B340: - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0x1 - bl VarSet - b _0813B36A - .pool -_0813B354: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet -_0813B36A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B2E4 - - thumb_func_start sub_813B374 -sub_813B374: @ 813B374 - push {r4,lr} - ldr r0, =0x00004037 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B3400 - subs r1, r4, 0x1 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl GetMapName - cmp r4, 0x8 - bls _0813B3A8 - movs r0, 0x1 - b _0813B3AA - .pool -_0813B3A8: - movs r0, 0 -_0813B3AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B374 - - thumb_func_start sub_813B3B0 -sub_813B3B0: @ 813B3B0 - push {r4-r6,lr} - ldr r5, =0x00004038 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813B47C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000003e7 - cmp r4, r0 - bls _0813B474 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x18 - bne _0813B414 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x69 - bgt _0813B414 - cmp r0, 0x65 - blt _0813B414 - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B414: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0 - bne _0813B444 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0x34 - beq _0813B436 - cmp r0, 0x34 - blt _0813B444 - cmp r0, 0x38 - bgt _0813B444 - cmp r0, 0x36 - blt _0813B444 -_0813B436: - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B444: - ldr r3, [r3] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldr r1, =gUnknown_085B3410 - subs r0, r6, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0813B468 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r0, 0 - bne _0813B468 - movs r0, 0x1 - b _0813B47E - .pool -_0813B468: - ldr r0, =0x00004037 - movs r1, 0 - b _0813B478 - .pool -_0813B474: - adds r0, r5, 0 - adds r1, r4, 0 -_0813B478: - bl VarSet -_0813B47C: - movs r0, 0 -_0813B47E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813B3B0 - - thumb_func_start sub_813B484 -sub_813B484: @ 813B484 - push {lr} - movs r0, 0x2 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_813B484 - - thumb_func_start sub_813B490 -sub_813B490: @ 813B490 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, =gUnknown_085B3420 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_0813B4A4: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _0813B4CC - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _0813B4CC - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _0813B4D8 - .pool -_0813B4CC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _0813B4A4 - movs r0, 0x1 -_0813B4D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B490 - - thumb_func_start sub_813B4E0 -sub_813B4E0: @ 813B4E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl GetRematchIdxByTrainerIdx - cmp r0, 0 - blt _0813B50C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B50C - movs r0, 0x1 - b _0813B50E - .pool -_0813B50C: - movs r0, 0 -_0813B50E: - pop {r1} - bx r1 - thumb_func_end sub_813B4E0 - - thumb_func_start sub_813B514 -sub_813B514: @ 813B514 - push {lr} - ldr r0, =0x0000403f - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0813B52C - movs r0, 0x1 - b _0813B52E - .pool -_0813B52C: - movs r0, 0 -_0813B52E: - pop {r1} - bx r1 - thumb_func_end sub_813B514 - - thumb_func_start sub_813B534 -sub_813B534: @ 813B534 - push {lr} - ldr r2, =gUnknown_0203AB70 - ldr r1, =gBattleTypeFlags - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - str r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0813B552 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_0813B552: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B534 - - thumb_func_start sub_813B568 -sub_813B568: @ 813B568 - push {lr} - ldr r0, =sub_813B57C - movs r1, 0x5 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B568 - - thumb_func_start sub_813B57C -sub_813B57C: @ 813B57C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bls _0813B596 - b _0813B7C6 -_0813B596: - lsls r0, 2 - ldr r1, =_0813B5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813B5A8: - .4byte _0813B5D0 - .4byte _0813B5E4 - .4byte _0813B614 - .4byte _0813B6B4 - .4byte _0813B6E4 - .4byte _0813B728 - .4byte _0813B764 - .4byte _0813B772 - .4byte _0813B784 - .4byte _0813B7A8 -_0813B5D0: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0813B5DE - b _0813B7C6 -_0813B5DE: - b _0813B790 - .pool -_0813B5E4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B5F2 - b _0813B7C6 -_0813B5F2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B5FE - b _0813B790 -_0813B5FE: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_0x8004 - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B614: - bl GetBlockReceivedStatus - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0813B622 - b _0813B7C6 -_0813B622: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B62E - b _0813B790 -_0813B62E: - ldr r5, =gSpecialVar_0x8005 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0x1 - bl ResetBlockReceivedFlag - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B668 - ldrh r1, [r5] - cmp r1, 0x1 - bne _0813B668 - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _0813B790 - .pool -_0813B668: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - bne _0813B68C - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B68C - ldr r1, =gSpecialVar_Result - movs r0, 0x2 - b _0813B6AC - .pool -_0813B68C: - ldrh r0, [r2] - cmp r0, 0x1 - bne _0813B6A8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B6A8 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B6AC - .pool -_0813B6A8: - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813B6AC: - strh r0, [r1] - b _0813B790 - .pool -_0813B6B4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B6C2 - b _0813B7C6 -_0813B6C2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B790 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_Result - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B6E4: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813B7C6 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B790 - ldr r1, =gSpecialVar_Result - ldr r0, =gBlockRecvBuffer - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0 - bl ResetBlockReceivedFlag -_0813B708: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0813B7C6 - .pool -_0813B728: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B74C - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x2 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B74C: - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x3 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B764: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813B7C6 - b _0813B790 -_0813B772: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 - bl sub_800ADF8 - b _0813B790 -_0813B784: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 -_0813B790: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0813B7C6 - .pool -_0813B7A8: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0813B7B4 - bl sub_800AC34 -_0813B7B4: - ldr r0, =gBattleTypeFlags - ldr r1, =gUnknown_0203AB70 - ldr r1, [r1] - str r1, [r0] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B7C6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B57C - - thumb_func_start sub_813B7D8 -sub_813B7D8: @ 813B7D8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B7F8 - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0 - movs r1, 0x1 - bl DoRayquazaScene - b _0813B802 - .pool -_0813B7F8: - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0x1 - movs r1, 0 - bl DoRayquazaScene -_0813B802: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B7D8 - - thumb_func_start sub_813B80C -sub_813B80C: @ 813B80C - push {lr} - ldr r0, =sub_813B824 - movs r1, 0x8 - bl CreateTask - movs r0, 0x9D - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B80C - - thumb_func_start sub_813B824 -sub_813B824: @ 813B824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _0813B858 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x9D - bl PlaySE -_0813B858: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0813B86C - adds r0, r5, 0 - bl DestroyTask -_0813B86C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B824 - - thumb_func_start sub_813B880 -sub_813B880: @ 813B880 - push {lr} - ldr r0, =_fwalk - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B880 - - thumb_func_start _fwalk -_fwalk: @ 813B8B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0813B94E - movs r6, 0 -_0813B8EA: - movs r4, 0 - lsls r3, r6, 3 - mov r10, r3 - adds r7, r6, 0x1 - mov r8, r7 -_0813B8F4: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, r4 - adds r0, 0x6 - movs r3, 0x2 - ldrsh r1, [r1, r3] - adds r1, r6 - adds r1, 0x4 - ldr r7, =0x00000201 - adds r2, r4, r7 - add r2, r10 - movs r7, 0x6 - ldrsh r3, [r5, r7] - lsls r3, 5 - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813B8F4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0813B8EA - bl DrawWholeMapView - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0813B94E - mov r0, r9 - bl DestroyTask - bl EnableBothScriptContexts -_0813B94E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end _fwalk - - thumb_func_start sub_813B968 -sub_813B968: @ 813B968 - push {r4,r5,lr} - ldr r5, =gSpecialVar_Result - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r1, 0x7 - bl __udivsi3 - strh r0, [r5] - ldrh r4, [r5] - adds r0, r4, 0 - movs r1, 0x14 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - subs r4, r1 - strh r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B968 - - thumb_func_start sub_813B9A0 -sub_813B9A0: @ 813B9A0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x1C] - movs r0, 0xB0 - lsls r0, 4 - cmp r1, r0 - bne _0813B9B6 - movs r0, 0x3 - bl Overworld_SetHealLocationWarp -_0813B9B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B9A0 - - thumb_func_start sub_813B9C0 -sub_813B9C0: @ 813B9C0 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B3444 - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0813BA06 - adds r4, r1, 0 - adds r1, r2, 0 -_0813B9E6: - ldrh r0, [r2] - cmp r0, r3 - bne _0813B9FC - movs r0, 0x1 - b _0813BA08 - .pool -_0813B9FC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0813B9E6 -_0813BA06: - movs r0, 0 -_0813BA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B9C0 - - thumb_func_start ResetFanClub -ResetFanClub: @ 813BA10 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ResetFanClub - - thumb_func_start sub_813BA30 -sub_813BA30: @ 813BA30 - push {lr} - bl sub_813BF44 - lsls r0, 24 - cmp r0, 0 - beq _0813BA52 - bl sub_813BCE8 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] -_0813BA52: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA30 - - thumb_func_start sub_813BA60 -sub_813BA60: @ 813BA60 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813BAB6 - bl sub_813BF60 - bl sub_813BD84 - ldr r1, [r4] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =0x00000315 - bl FlagClear - ldr r0, =0x00000316 - bl FlagClear - ldr r0, =0x00000317 - bl FlagClear - movs r0, 0xC6 - lsls r0, 2 - bl FlagClear - ldr r0, =0x000002da - bl FlagClear - ldr r0, =0x00004095 - movs r1, 0x1 - bl VarSet -_0813BAB6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA60 - - thumb_func_start sub_813BADC -sub_813BADC: @ 813BADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BB58 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, =0x0000141e - adds r3, r0, r5 - ldrh r2, [r3] - movs r1, 0x7F - ands r1, r2 - ldr r0, =gUnknown_085B3470 - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0813BB54 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0813BB3C - bl sub_813BB74 - ldr r0, [r4] - adds r0, r5 - ldrh r2, [r0] - ldr r1, =0x0000ff80 - ands r1, r2 - strh r1, [r0] - b _0813BB58 - .pool -_0813BB3C: - ldr r2, [r4] - adds r2, r5 - ldrh r1, [r2] - ldr r0, =0x0000ff80 - ands r0, r1 - movs r1, 0x14 - orrs r0, r1 - strh r0, [r2] - b _0813BB58 - .pool -_0813BB54: - adds r0, r2, r0 - strh r0, [r3] -_0813BB58: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BADC - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4-r7,lr} - sub sp, 0x8 - movs r3, 0 - movs r5, 0 - ldr r7, =gSaveBlock1Ptr - ldr r2, =0x0000141e - movs r6, 0x1 -_0813BB82: - ldr r0, [r7] - adds r0, r2 - ldrh r1, [r0] - ldr r0, =gUnknown_085B3474 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0813BBC8 - adds r3, r5, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r1, 0 - beq _0813BBC8 - ldr r0, [r7] - adds r0, r2 - adds r1, r6, 0 - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0813BBEA - .pool -_0813BBC8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BB82 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldr r1, =gUnknown_085B3474 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0813BBEA: - adds r0, r3, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BC00 -sub_813BC00: @ 813BC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813BC2E - movs r0, 0 - b _0813BC8E -_0813BC1E: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - lsls r4, r6 - ldrh r1, [r0] - eors r4, r1 - strh r4, [r0] - b _0813BC8C -_0813BC2E: - movs r5, 0 - ldr r2, =gSaveBlock1Ptr - mov r8, r2 - ldr r0, =0x0000141e - mov r9, r0 - movs r4, 0x1 -_0813BC3A: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrh r1, [r0] - ldr r7, =gUnknown_085B347C - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0813BC5E - mov r10, r5 - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - bne _0813BC1E -_0813BC5E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BC3A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r4, r0, r2 - ldrh r1, [r4] - mov r2, r10 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0813BC8C - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0813BC8C: - mov r0, r10 -_0813BC8E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BC00 - - thumb_func_start sub_813BCA8 -sub_813BCA8: @ 813BCA8 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r4, [r0] - movs r5, 0x1 -_0813BCBA: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0813BCCE - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0813BCCE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0813BCBA - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BCA8 - - thumb_func_start sub_813BCE8 -sub_813BCE8: @ 813BCE8 - push {r4-r6,lr} - movs r5, 0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, =0x000003e6 - cmp r1, r0 - bhi _0813BD58 - adds r6, r2, 0 - b _0813BD32 - .pool -_0813BD04: - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r2, 0xA1 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - subs r1, r0 - cmp r1, 0xB - ble _0813BD58 - bl sub_813BC00 - ldr r0, [r4] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0xC - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0813BD32: - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0813BD54 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - b _0813BD58 - .pool -_0813BD54: - cmp r5, 0x8 - bne _0813BD04 -_0813BD58: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813BCE8 - - thumb_func_start sub_813BD60 -sub_813BD60: @ 813BD60 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BD60 - - thumb_func_start sub_813BD84 -sub_813BD84: @ 813BD84 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_813BD84 - - thumb_func_start sub_813BDB4 -sub_813BDB4: @ 813BDB4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0813BE14 - lsls r0, 2 - ldr r1, =_0813BDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BDD8: - .4byte _0813BE14 - .4byte _0813BE14 - .4byte _0813BDF8 - .4byte _0813BDFE - .4byte _0813BE04 - .4byte _0813BE0A - .4byte _0813BE10 - .4byte _0813BE14 -_0813BDF8: - movs r3, 0 - movs r2, 0x3 - b _0813BE14 -_0813BDFE: - movs r3, 0 - movs r2, 0x1 - b _0813BE14 -_0813BE04: - movs r3, 0x1 - movs r2, 0 - b _0813BE14 -_0813BE0A: - movs r3, 0 - movs r2, 0x4 - b _0813BE14 -_0813BE10: - movs r3, 0x1 - movs r2, 0x5 -_0813BE14: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003150 - adds r0, r1 - adds r1, r3, 0 - bl sub_813BE30 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BDB4 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r5, 4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813BEE8 - cmp r2, 0x5 - bhi _0813BED4 - lsls r0, r2, 2 - ldr r1, =_0813BE58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BE58: - .4byte _0813BED4 - .4byte _0813BE70 - .4byte _0813BE84 - .4byte _0813BE98 - .4byte _0813BEAC - .4byte _0813BEC0 -_0813BE70: - ldr r0, =gStringVar1 - ldr r1, =gText_Steven - bl StringCopy - b _0813BF04 - .pool -_0813BE84: - ldr r0, =gStringVar1 - ldr r1, =gText_Brawly - bl StringCopy - b _0813BF04 - .pool -_0813BE98: - ldr r0, =gStringVar1 - ldr r1, =gText_Winona - bl StringCopy - b _0813BF04 - .pool -_0813BEAC: - ldr r0, =gStringVar1 - ldr r1, =gText_Phoebe - bl StringCopy - b _0813BF04 - .pool -_0813BEC0: - ldr r0, =gStringVar1 - ldr r1, =gText_Glacia - bl StringCopy - b _0813BF04 - .pool -_0813BED4: - ldr r0, =gStringVar1 - ldr r1, =gText_Wallace - bl StringCopy - b _0813BF04 - .pool -_0813BEE8: - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - bl ConvertInternationalString -_0813BF04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BF10 -sub_813BF10: @ 813BF10 - push {lr} - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BF40 - bl sub_813BA30 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813BF3C - bl sub_813BB74 - b _0813BF40 - .pool -_0813BF3C: - bl sub_813BC00 -_0813BF40: - pop {r0} - bx r0 - thumb_func_end sub_813BF10 - - thumb_func_start sub_813BF44 -sub_813BF44: @ 813BF44 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BF44 - - thumb_func_start sub_813BF60 -sub_813BF60: @ 813BF60 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x0000141e - adds r1, r0 - ldrh r2, [r1] - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_813BF60 - - thumb_func_start sub_813BF7C -sub_813BF7C: @ 813BF7C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_813BADC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BF7C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 24e041b7f..9e1cf03d8 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -6,1513 +6,8 @@ .text - thumb_func_start sub_80C7128 -sub_80C7128: @ 80C7128 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r7, r3, 0 - ldr r5, [sp, 0x1C] - ldr r4, [sp, 0x20] - ldr r0, [sp, 0x24] - mov r9, r0 - ldr r0, [sp, 0x28] - ldr r3, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r0, r9 - lsls r0, 17 - mov r9, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r6, r2 - adds r0, r4, 0 - muls r0, r3 - adds r0, r5 - lsls r0, 1 - adds r7, r0 - movs r4, 0 - cmp r4, r8 - bcs _080C7198 - mov r0, r9 - lsrs r0, 1 - mov r9, r0 - lsls r5, r3, 1 -_080C717E: - adds r0, r7, 0 - adds r1, r6, 0 - mov r3, r9 - lsrs r2, r3, 16 - bl CpuSet - adds r6, 0x40 - adds r7, r5 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bcc _080C717E -_080C7198: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C7128 - - thumb_func_start sub_80C71A4 -sub_80C71A4: @ 80C71A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r4, r2 - lsls r3, 17 - lsrs r0, r3, 16 - str r0, [sp, 0x4] - movs r0, 0 - cmp r0, r10 - bcs _080C724E - movs r6, 0x80 - lsls r6, 5 - mov r5, sp - ldr r7, =0x040000d4 - lsrs r3, 17 - mov r9, r3 - mov r1, r9 - movs r2, 0x81 - lsls r2, 24 - orrs r1, r2 - mov r9, r1 -_080C71EA: - adds r3, r4, 0 - ldr r2, [sp, 0x4] - movs r1, 0x40 - adds r1, r4 - mov r8, r1 - adds r0, 0x1 - mov r12, r0 - cmp r2, r6 - bhi _080C7214 - movs r0, 0 - strh r0, [r5] - mov r2, sp - str r2, [r7] - str r4, [r7, 0x4] - mov r0, r9 - str r0, [r7, 0x8] - ldr r0, [r7, 0x8] - b _080C7242 - .pool -_080C7214: - movs r4, 0 - strh r4, [r5] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - ldr r0, =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r6 - subs r2, r6 - cmp r2, r6 - bhi _080C7214 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - lsrs r0, r2, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080C7242: - mov r4, r8 - mov r1, r12 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r10 - bcc _080C71EA -_080C724E: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C71A4 - - thumb_func_start c3_0808C39C -c3_0808C39C: @ 80C7268 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080C7284 - b _080C756A -_080C7284: - lsls r0, 2 - ldr r1, =_080C7298 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C7298: - .4byte _080C72AC - .4byte _080C730C - .4byte _080C7320 - .4byte _080C746A - .4byte _080C7544 -_080C72AC: - ldrb r0, [r5, 0xA] - adds r1, r5, 0 - adds r1, 0x26 - bl sub_80C75FC - bl sub_81973A4 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0xFF - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _080C7318 - .pool -_080C730C: - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - bne _080C7318 - b _080C756A -_080C7318: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080C756A -_080C7320: - bl ProcessMenuInput - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xC] - movs r3, 0xC - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C73D0 - cmp r1, r0 - bgt _080C7342 - subs r0, 0x1 - cmp r1, r0 - beq _080C7348 - b _080C73F6 -_080C7342: - cmp r1, 0x4 - beq _080C73D0 - b _080C73F6 -_080C7348: - ldrh r3, [r5, 0xA] - strh r3, [r5, 0xE] - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C7366 - subs r0, r3, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bge _080C7366 - movs r0, 0x4 - strh r0, [r5, 0xE] -_080C7366: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C7382 - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080C7382 - movs r0, 0 - strh r0, [r5, 0xE] -_080C7382: - lsls r0, r3, 16 - asrs r0, 16 - ldrh r2, [r5, 0xE] - movs r3, 0xE - ldrsh r1, [r5, r3] - cmp r0, r1 - bne _080C7392 - b _080C756A -_080C7392: - movs r4, 0 - strh r2, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - b _080C756A - .pool -_080C73D0: - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_819746C - bl ScriptContext2_Disable - bl EnableBothScriptContexts - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask - b _080C756A -_080C73F6: - movs r3, 0xC - ldrsh r4, [r5, r3] - cmp r4, 0 - bne _080C7428 - bl CountPartyMons - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080C7428 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_PartyFull - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C7428: - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080C745C - bl CountPartyMons - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080C745C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_JustOnePkmn - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C745C: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - movs r0, 0x4 - strh r0, [r5, 0x8] - b _080C756A -_080C746A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r7, 0x3 - adds r4, r7, 0 - ands r4, r1 - cmp r4, 0 - beq _080C749C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - b _080C7528 - .pool -_080C749C: - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080C74E8 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _080C74B8 - movs r0, 0x4 - strh r0, [r5, 0xA] -_080C74B8: - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r3, 0xA - ldrsh r0, [r5, r3] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - b _080C7528 - .pool -_080C74E8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C756A - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7500 - strh r6, [r5, 0xA] -_080C7500: - movs r0, 0x1 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r6, [sp] -_080C7528: - movs r4, 0x2 - str r4, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r7, [sp, 0xC] -_080C7532: - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - strh r4, [r5, 0x8] - b _080C756A - .pool -_080C7544: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C756A - bl overworld_free_bg_tilemaps - ldrb r0, [r5, 0xC] - bl sub_80C7D74 - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask -_080C756A: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0808C39C - - thumb_func_start sub_80C7578 -sub_80C7578: @ 80C7578 - push {lr} - ldr r0, =c3_0808C39C - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7578 - thumb_func_start mapldr_0808C6D8 -mapldr_0808C6D8: @ 80C75A8 - push {r4,r5,lr} - ldr r0, =gMain - ldr r5, [r0, 0xC] - movs r0, 0 - bl SetVBlankCallback - ldr r4, =c3_0808C39C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - ldr r2, =gUnknown_02039D00 - ldrb r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - adds r0, r5, 0 - bl SetVBlankCallback - bl pal_fill_black - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_0808C6D8 - thumb_func_start sub_80C75FC -sub_80C75FC: @ 80C75FC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r6, r0, 0 - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_085716E8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, =gUnknown_085716C0 - mov r8, r0 - movs r1, 0x5 - bl GetMaxWidthInMenuTable - lsls r0, 24 - ldr r2, =0x00ffffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl AddWindow - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - adds r0, r4, 0 - movs r1, 0x5 - mov r2, r8 - bl PrintMenuTable - adds r0, r4, 0 - movs r1, 0x5 - adds r2, r6, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - mov r0, r9 - strh r5, [r0] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C75FC - - thumb_func_start sub_80C7678 -sub_80C7678: @ 80C7678 - push {lr} - bl sub_80CAEA0 - ldr r1, =gUnknown_02039D00 - strb r0, [r1] - ldr r1, =gFieldCallback - ldr r0, =mapldr_0808C6D8 - str r0, [r1] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7678 - - thumb_func_start sub_80C76A4 -sub_80C76A4: @ 80C76A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - adds r4, r3, 0 - ldr r2, =0x0000ffff - cmp r3, 0x1 - bhi _080C76C6 - movs r2, 0x1 - cmp r3, 0x1 - beq _080C76CA -_080C76C6: - cmp r4, 0x3 - bne _080C7714 -_080C76CA: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C76E2: - asrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - add r0, r8 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080C770C - asrs r0, r6, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C76E2 - b _080C7760 - .pool -_080C770C: - adds r0, r4, 0 - b _080C7764 -_080C7710: - adds r0, r5, 0 - b _080C7764 -_080C7714: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C772C: - asrs r5, r0, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _080C7750 - adds r0, r4, 0 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - beq _080C7710 -_080C7750: - asrs r0, r6, 16 - adds r0, r5, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C772C -_080C7760: - movs r0, 0x1 - negs r0, r0 -_080C7764: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C76A4 - - thumb_func_start ResetPokemonStorageSystem -ResetPokemonStorageSystem: @ 80C7770 - push {r4-r6,lr} - movs r0, 0 - bl sub_80D1D18 - movs r5, 0 -_080C777A: - movs r4, 0 - lsls r6, r5, 24 -_080C777E: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl sub_80D2018 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C777E - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C777A - movs r5, 0 -_080C779E: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBoxNamePtr - ldr r1, =gText_Box - bl StringCopy - adds r4, r5, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r4, 16 - lsrs r5, r4, 16 - cmp r5, 0xD - bls _080C779E - movs r5, 0 -_080C77C2: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x3 - ands r1, r5 - bl sub_80D2120 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C77C2 - bl ResetWaldaWallpaper - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ResetPokemonStorageSystem - - thumb_func_start sub_80C77E8 -sub_80C77E8: @ 80C77E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r7, r2, 0 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, =gUnknown_0857173C - str r0, [sp, 0x18] - ldr r1, =0xffff0000 - add r4, sp, 0x18 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r7 - str r0, [r4, 0x4] - mov r1, sp - ldr r0, =gUnknown_0857175C - str r0, [sp] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x4] - strh r6, [r1, 0x6] - ldr r0, =gUnknown_08571F5C - str r0, [sp, 0x8] - movs r0, 0xC0 - lsls r0, 1 - strh r0, [r1, 0xC] - adds r0, r6, 0x1 - strh r0, [r1, 0xE] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, [sp, 0x38] - cmp r0, 0 - beq _080C7846 - adds r0, r4, 0 - bl LoadSpritePalette -_080C7846: - mov r0, sp - bl LoadSpriteSheets - ldr r0, =gUnknown_02039D04 - str r5, [r0] - movs r1, 0x90 - lsls r1, 2 - adds r0, r5, r1 - strh r6, [r0] - adds r1, 0x2 - adds r0, r5, r1 - strh r7, [r0] - adds r1, 0x4 - adds r0, r5, r1 - mov r1, r8 - strb r1, [r0] - movs r1, 0x8F - lsls r1, 2 - adds r0, r5, r1 - ldr r1, [sp, 0x38] - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C77E8 - - thumb_func_start sub_80C7890 -sub_80C7890: @ 80C7890 - push {r4,r5,lr} - ldr r5, =gUnknown_02039D04 - ldr r1, [r5] - movs r2, 0x8F - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _080C78AC - adds r2, 0x6 - adds r0, r1, r2 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C78AC: - ldr r0, [r5] - movs r4, 0x90 - lsls r4, 2 - adds r0, r4 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r5] - adds r0, r4 - ldrh r0, [r0] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7890 - - thumb_func_start sub_80C78D4 -sub_80C78D4: @ 80C78D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80C7958 - pop {r0} - bx r0 - thumb_func_end sub_80C78D4 - - thumb_func_start sub_80C78E4 -sub_80C78E4: @ 80C78E4 - push {lr} - bl sub_80C7B14 - pop {r0} - bx r0 - thumb_func_end sub_80C78E4 - - thumb_func_start sub_80C78F0 -sub_80C78F0: @ 80C78F0 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C790C - movs r0, 0x5 - bl PlaySE - movs r0, 0xC9 - b _080C7954 - .pool -_080C790C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C792C - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - b _080C7954 - .pool -_080C792C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C7940 - movs r0, 0x5 - bl PlaySE - bl sub_80C7BB4 - b _080C7952 -_080C7940: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C7952 - movs r0, 0x5 - bl PlaySE - bl sub_80C7B80 -_080C7952: - movs r0, 0xC8 -_080C7954: - pop {r1} - bx r1 - thumb_func_end sub_80C78F0 - - thumb_func_start sub_80C7958 -sub_80C7958: @ 80C7958 - push {r4-r6,lr} - sub sp, 0x3C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x34] - str r1, [sp, 0x38] - movs r1, 0xC0 - lsls r1, 24 - ldr r0, [sp, 0x34] - orrs r0, r1 - str r0, [sp, 0x34] - ldr r1, =0xffff0fff - add r4, sp, 0x34 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r4, 0x4] - add r1, sp, 0x1C - movs r2, 0 - strh r2, [r1] - mov r0, sp - adds r0, 0x1E - strh r2, [r0] - str r4, [sp, 0x20] - ldr r0, =gDummySpriteAnimTable - str r0, [sp, 0x24] - str r2, [sp, 0x28] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x2C] - ldr r0, =SpriteCallbackDummy - str r0, [sp, 0x30] - add r0, sp, 0x4 - movs r2, 0x18 - bl memcpy - ldr r6, =gUnknown_02039D04 - ldr r0, [r6] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - strb r5, [r0] - add r2, sp, 0x4 - ldr r1, [r6] - movs r5, 0x90 - lsls r5, 2 - adds r0, r1, r5 - ldrh r0, [r0] - strh r0, [r2] - ldr r3, =0x00000242 - adds r1, r3 - ldrh r0, [r1] - strh r0, [r2, 0x2] - adds r0, r2, 0 - movs r1, 0xA0 - movs r2, 0x60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - ldrb r2, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r4, 0x3] - add r1, sp, 0x4 - adds r3, r5 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =sSpriteAnimTable_8571710 - str r0, [sp, 0xC] - movs r4, 0 -_080C7A10: - ldr r0, [r6] - ldr r1, =0x00000246 - adds r0, r1 - ldrb r3, [r0] - add r0, sp, 0x4 - movs r1, 0x7C - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [r6] - lsls r3, r4, 2 - adds r2, 0x4 - adds r2, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r1, r0, r1 - str r1, [r2] - movs r5, 0 - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _080C7A4A - movs r0, 0xC4 - strh r0, [r1, 0x20] - movs r5, 0x2 -_080C7A4A: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080C7A6E - ldr r1, [r6] - adds r1, 0x4 - adds r1, r3 - ldr r2, [r1] - movs r0, 0x70 - strh r0, [r2, 0x22] - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C7A6E: - ldr r0, [r6] - adds r0, 0x4 - adds r0, r3 - ldr r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080C7A10 - movs r4, 0 - ldr r5, =gUnknown_02039D04 -_080C7A8C: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 19 - movs r3, 0xF8 - lsls r3, 15 - adds r0, r3 - lsrs r0, 16 - lsls r2, r4, 24 - lsrs r2, 24 - ldr r1, [r5] - ldr r3, =0x00000246 - adds r1, r3 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x58 - movs r3, 0 - bl sub_80CD2E8 - adds r2, r0, 0 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x20 - adds r0, r1 - str r2, [r0] - cmp r2, 0 - beq _080C7AD4 - movs r1, 0x1 - cmp r4, 0 - bne _080C7ACC - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_080C7ACC: - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, =sub_80C7CF4 - str r0, [r1, 0x1C] -_080C7AD4: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080C7A8C - bl sub_80C7BE4 - add sp, 0x3C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7958 - - thumb_func_start sub_80C7B14 -sub_80C7B14: @ 80C7B14 - push {r4-r6,lr} - ldr r4, =gUnknown_02039D04 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _080C7B2A - bl DestroySprite - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_080C7B2A: - movs r5, 0 - adds r6, r4, 0 -_080C7B2E: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B4A - bl DestroySprite - ldr r0, [r6] - adds r0, 0x4 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080C7B4A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080C7B2E - movs r5, 0 -_080C7B56: - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x20 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B6A - bl DestroySprite -_080C7B6A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080C7B56 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B14 - - thumb_func_start sub_80C7B80 -sub_80C7B80: @ 80C7B80 - push {lr} - ldr r2, =gUnknown_02039D04 - ldr r1, [r2] - movs r0, 0x91 - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bls _080C7BA6 - ldr r0, [r2] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080C7BA6: - bl sub_80C7BE4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B80 - - thumb_func_start sub_80C7BB4 -sub_80C7BB4: @ 80C7BB4 - push {lr} - ldr r0, =gUnknown_02039D04 - ldr r2, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C7BD0 - subs r1, r0, 0x1 - b _080C7BD2 - .pool -_080C7BD0: - movs r1, 0xD -_080C7BD2: - movs r3, 0x91 - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - bl sub_80C7BE4 - pop {r0} - bx r0 - thumb_func_end sub_80C7BB4 - - thumb_func_start sub_80C7BE4 -sub_80C7BE4: @ 80C7BE4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x24 - ldr r0, =gUnknown_02039D04 - mov r9, r0 - ldr r0, [r0] - movs r4, 0x91 - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0] - bl GetBoxNamePtr - mov r10, r0 - mov r1, r9 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl CountMonsInBox - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - add r4, sp, 0x1C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0x8 - strb r0, [r4, 0x3] - movs r0, 0x4 - strb r0, [r4, 0x4] - adds r0, r4, 0 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x44 - bl FillWindowPixelBuffer - movs r0, 0x1 - mov r1, r10 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08571734 - mov r8, r0 - str r0, [sp] - movs r6, 0x1 - negs r6, r6 - str r6, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add r0, sp, 0xC - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gUnknown_08571737 - add r0, sp, 0xC - bl StringAppend - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r0, r8 - str r0, [sp] - str r6, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x11 - bl box_print - adds r0, r4, 0 - movs r1, 0x7 - bl GetWindowAttribute - adds r5, r0, 0 - mov r1, r9 - ldr r0, [r1] - movs r1, 0x90 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 11 - ldr r0, =0x06010100 - adds r1, r0 - ldr r2, =0x04000100 - adds r0, r5, 0 - bl CpuSet - adds r0, r4, 0 - bl RemoveWindow - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7BE4 - - thumb_func_start sub_80C7CF4 -sub_80C7CF4: @ 80C7CF4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7D24 - strh r2, [r1, 0x30] - ldrh r0, [r1, 0x2E] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080C7D24 - strh r2, [r1, 0x32] - strh r2, [r1, 0x24] -_080C7D24: - pop {r0} - bx r0 - thumb_func_end sub_80C7CF4 - - thumb_func_start sub_80C7D28 -sub_80C7D28: @ 80C7D28 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_80D2AA4 - bl TransferPlttBuffer - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7D28 - - thumb_func_start c2_Box -c2_Box: @ 80C7D54 - push {lr} - bl RunTasks - bl do_scheduled_bg_tilemap_copies_to_vram - bl sub_80CA028 - bl sub_80CAA14 - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end c2_Box thumb_func_start sub_80C7D74 sub_80C7D74: @ 80C7D74 @@ -2473,7 +968,7 @@ _080C8668: ldr r1, =0x000002ca adds r0, r1 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =gUnknown_02039D0C ldrb r0, [r0] cmp r0, 0 @@ -4705,7 +3200,7 @@ _080C9A9C: ldr r2, =0x000002ca adds r0, r2 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =task_pokemon_box_related bl add_to_c3_somehow _080C9AB8: @@ -9968,7 +8463,7 @@ sub_80CC680: @ 80CC680 lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_80D2120 + bl SetBoxWallpaper ldr r0, =gUnknown_02039D08 ldr r0, [r0] ldr r1, =0x00000a62 @@ -13098,7 +11593,7 @@ sub_80CE0E8: @ 80CE0E8 b _080CE10C .pool _080CE108: - bl sub_80D2018 + bl ClearMonInBox _080CE10C: pop {r0} bx r0 @@ -17973,7 +16468,7 @@ _080D09EC: bl sub_80CB778 mov r0, r8 adds r1, r5, 0 - bl sub_80D2018 + bl ClearMonInBox adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -20353,8 +18848,8 @@ StorageGetCurrentBox: @ 80D1D0C .pool thumb_func_end StorageGetCurrentBox - thumb_func_start sub_80D1D18 -sub_80D1D18: @ 80D1D18 + thumb_func_start SetCurrentBox +SetCurrentBox: @ 80D1D18 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -20367,7 +18862,7 @@ _080D1D28: pop {r0} bx r0 .pool - thumb_func_end sub_80D1D18 + thumb_func_end SetCurrentBox thumb_func_start GetBoxMonDataFromAnyBox GetBoxMonDataFromAnyBox: @ 80D1D30 @@ -20768,8 +19263,8 @@ _080D2004: .pool thumb_func_end sub_80D1F98 - thumb_func_start sub_80D2018 -sub_80D2018: @ 80D2018 + thumb_func_start ClearMonInBox +ClearMonInBox: @ 80D2018 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -20798,7 +19293,7 @@ _080D2048: pop {r0} bx r0 .pool - thumb_func_end sub_80D2018 + thumb_func_end ClearMonInBox thumb_func_start sub_80D2054 sub_80D2054: @ 80D2054 @@ -20914,8 +19409,8 @@ _080D2112: .pool thumb_func_end sub_80D20F8 - thumb_func_start sub_80D2120 -sub_80D2120: @ 80D2120 + thumb_func_start SetBoxWallpaper +SetBoxWallpaper: @ 80D2120 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -20935,7 +19430,7 @@ _080D213E: pop {r0} bx r0 .pool - thumb_func_end sub_80D2120 + thumb_func_end SetBoxWallpaper thumb_func_start sub_80D214C sub_80D214C: @ 80D214C diff --git a/asm/pokenav.s b/asm/pokenav.s index dd2dbf4e0..c9fe787e0 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -1585,7 +1585,7 @@ sub_81C7E58: @ 81C7E58 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer mov r0, r8 adds r1, r4, 0 bl LZ77UnCompWram @@ -1667,7 +1667,7 @@ sub_81C7F24: @ 81C7F24 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201d000 + ldr r4, =gDecompressionBuffer+0x1000 adds r0, r6, 0 adds r1, r4, 0 bl LZ77UnCompWram @@ -27036,7 +27036,7 @@ _081D4E1C: thumb_func_start sub_81D4E30 sub_81D4E30: @ 81D4E30 push {lr} - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer movs r2, 0x80 lsls r2, 6 movs r1, 0 @@ -27657,7 +27657,7 @@ _081D5386: strb r0, [r4, 0x8] b _081D548A _081D5390: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3920 strb r0, [r4, 0xE] ldrb r0, [r4, 0xE] @@ -27683,7 +27683,7 @@ _081D53C0: strb r0, [r4, 0x8] b _081D548A _081D53C6: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3AB0 cmp r0, 0 beq _081D53EC diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index fd2cccca3..61324b207 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -15650,7 +15650,7 @@ _0801D7D0: b _0801D804 .pool _0801D7F0: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer ldr r1, [r4, 0x18] movs r2, 0x80 lsls r2, 3 @@ -15723,7 +15723,7 @@ _0801D858: sub_801D860: @ 801D860 push {r4,lr} adds r4, r0, 0 - ldr r3, =0x0201c000 + ldr r3, =gDecompressionBuffer adds r0, r4, 0x4 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] @@ -25386,7 +25386,7 @@ sub_80226D0: @ 80226D0 adds r6, r0, 0 movs r5, 0 ldr r0, =gUnknown_08DE3FD4 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZ77UnCompWram b _0802271A diff --git a/asm/roulette.s b/asm/roulette.s index d3dd5fd9e..b0098daf6 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -4948,7 +4948,7 @@ sub_8142CD0: @ 8142CD0 sub sp, 0x8 ldr r4, =gUnknown_085B7488 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] @@ -5575,7 +5575,7 @@ sub_81431E4: @ 81431E4 sub sp, 0xC ldr r4, =gUnknown_085B741C ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp, 0x4] @@ -5720,7 +5720,7 @@ sub_8143314: @ 8143314 push {r7} sub sp, 0x8 movs r5, 0 - ldr r7, =0x0201c000 + ldr r7, =gDecompressionBuffer mov r6, sp _08143322: ldr r0, =gUnknown_085B7750 @@ -6448,7 +6448,7 @@ sub_814391C: @ 814391C sub sp, 0x8 ldr r4, =gUnknown_085B7948 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] diff --git a/asm/script_menu.s b/asm/script_menu.s index a2e2ec59e..670740a77 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -1498,7 +1498,7 @@ CreateWindowFromRect: @ 80E2A1C movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index bf1d0e156..b7388b41b 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -10,7 +10,7 @@ sub_80F87D8: @ 80F87D8 push {r4,lr} ldr r0, =gSaveBlock1Ptr ldr r2, [r0] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons ldrb r3, [r1, 0x15] ldr r4, =0x000013bc adds r0, r2, r4 @@ -150,8 +150,8 @@ sub_80F88DC: @ 80F88DC thumb_func_start sub_80F88E8 sub_80F88E8: @ 80F88E8 push {lr} - ldr r0, =gUnknown_02039F20 - ldr r1, =gUnknown_02039F25 + ldr r0, =gContestFinalStandings + ldr r1, =gContestPlayerMonIndex ldrb r2, [r1] adds r0, r2, r0 ldrb r0, [r0] @@ -218,11 +218,11 @@ sub_80F8970: @ 80F8970 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions mov r12, r0 ldr r1, =gSpecialVar_0x8006 mov r9, r1 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 mov r10, r2 mov r2, r12 mov r1, sp @@ -413,7 +413,7 @@ ShowContestWinner: @ 80F8ADC thumb_func_start sub_80F8AFC sub_80F8AFC: @ 80F8AFC push {r4,r5,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -422,7 +422,7 @@ sub_80F8AFC: @ 80F8AFC movs r3, 0 ldr r0, =gUnknown_02039F30 adds r4, r0, 0 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons ldrb r0, [r4] cmp r3, r0 bge _080F8B50 @@ -482,7 +482,7 @@ sub_80F8B94: @ 80F8B94 ldr r1, =gReservedSpritePaletteCount movs r0, 0xC strb r0, [r1] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -594,8 +594,8 @@ sub_80F8C7C: @ 80F8C7C strb r0, [r1] cmp r0, 0 bne _080F8D18 - ldr r0, =gUnknown_02039F20 - ldr r1, =gUnknown_02039F25 + ldr r0, =gContestFinalStandings + ldr r1, =gContestPlayerMonIndex ldrb r2, [r1] adds r0, r2, r0 ldrb r0, [r0] @@ -675,7 +675,7 @@ _080F8D44: mov r9, r0 movs r1, 0x3 mov r10, r1 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r4, =gSpecialVar_0x8006 ldrh r1, [r4] lsls r1, 6 @@ -702,7 +702,7 @@ _080F8D44: movs r1, 0 strh r1, [r0, 0x8] strh r6, [r0, 0xA] - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrh r0, [r4] ldrb r1, [r1] cmp r0, r1 @@ -758,7 +758,7 @@ _080F8DD8: bl CreateSprite lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -938,7 +938,7 @@ _080F8F98: thumb_func_start sub_80F8FA0 sub_80F8FA0: @ 80F8FA0 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -973,13 +973,13 @@ _080F8FDE: thumb_func_start sub_80F8FE8 sub_80F8FE8: @ 80F8FE8 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080F9020 - ldr r2, =gUnknown_030060B8 + ldr r2, =gContestRngValue ldr r1, [r2] ldr r0, =0x41c64e6d muls r0, r1 @@ -1007,7 +1007,7 @@ _080F902A: thumb_func_start sub_80F903C sub_80F903C: @ 80F903C - ldr r2, =gUnknown_030060B8 + ldr r2, =gContestRngValue ldr r1, [r2] ldr r0, =0x41c64e6d muls r0, r1 @@ -1022,7 +1022,7 @@ sub_80F903C: @ 80F903C thumb_func_start sub_80F905C sub_80F905C: @ 80F905C push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1087,7 +1087,7 @@ _080F90D4: thumb_func_start sub_80F90DC sub_80F90DC: @ 80F90DC push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1110,7 +1110,7 @@ _080F90FE: thumb_func_start sub_80F910C sub_80F910C: @ 80F910C push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1130,7 +1130,7 @@ _080F9126: thumb_func_start sub_80F9134 sub_80F9134: @ 80F9134 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -1148,7 +1148,7 @@ _080F914E: thumb_func_start sub_80F9154 sub_80F9154: @ 80F9154 - ldr r1, =gUnknown_02039F2A + ldr r1, =gIsLinkContest movs r0, 0 strb r0, [r1] bx lr @@ -1158,7 +1158,7 @@ sub_80F9154: @ 80F9154 thumb_func_start sub_80F9160 sub_80F9160: @ 80F9160 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 diff --git a/asm/trade.s b/asm/trade.s index 911b56aec..763b1a9ec 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7612,7 +7612,7 @@ sub_807B170: @ 807B170 bl copy_decompressed_tile_data_to_vram_autofree ldr r0, =gBattleTextboxTilemap mov r8, r0 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZDecompressWram movs r0, 0 |