diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/contest_link_80F57C4.s | 2512 | ||||
-rw-r--r-- | asm/easy_chat.s | 2645 | ||||
-rw-r--r-- | asm/flying.s | 817 | ||||
-rw-r--r-- | asm/macros/battle_script.inc | 12 | ||||
-rw-r--r-- | asm/pokenav.s | 1680 | ||||
-rw-r--r-- | asm/rom_8011DC0.s | 29 |
6 files changed, 73 insertions, 7622 deletions
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s deleted file mode 100644 index d73293648..000000000 --- a/asm/contest_link_80F57C4.s +++ /dev/null @@ -1,2512 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F7364 -sub_80F7364: @ 80F7364 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, =gUnknown_02039F18 - lsls r0, r5, 1 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0 - bge _080F7380 - negs r0, r0 -_080F7380: - lsls r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x50 - bl __udivsi3 - adds r2, r0, 0 - ldr r0, =0x0000ffff - ands r0, r2 - cmp r0, 0 - beq _080F739A - movs r0, 0x80 - lsls r0, 9 - adds r2, r0 -_080F739A: - lsrs r2, 16 - cmp r2, 0 - bne _080F73A6 - cmp r4, 0 - beq _080F73A6 - movs r2, 0x1 -_080F73A6: - cmp r6, 0 - beq _080F73B0 - cmp r2, 0xA - bls _080F73B0 - movs r2, 0xA -_080F73B0: - lsls r0, r5, 1 - adds r0, r7 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _080F73CC - negs r0, r2 - lsls r0, 24 - b _080F73CE - .pool -_080F73CC: - lsls r0, r2, 24 -_080F73CE: - lsrs r0, 24 - lsls r0, 24 - asrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80F7364 - - thumb_func_start sub_80F73DC -sub_80F73DC: @ 80F73DC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r7, r0, r1 - ldrh r2, [r7, 0x1C] - movs r0, 0x1C - ldrsh r6, [r7, r0] - cmp r6, 0 - bne _080F741C - movs r1, 0x8 - ldrsh r0, [r7, r1] - movs r1, 0x3 - subs r1, r0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - strh r0, [r7, 0x1E] - adds r0, r2, 0x1 - strh r0, [r7, 0x1C] - b _080F74A4 - .pool -_080F741C: - cmp r6, 0x1 - bne _080F74A4 - ldrh r0, [r7, 0x1E] - subs r0, 0x1 - strh r0, [r7, 0x1E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080F74A4 - movs r2, 0x8 - ldrsh r4, [r7, r2] - lsls r4, 17 - ldr r0, =0x50430000 - adds r4, r0 - lsrs r4, 16 - movs r1, 0xA - ldrsh r0, [r7, r1] - lsls r3, r0, 1 - adds r3, r0 - adds r3, 0x5 - lsls r3, 24 - lsrs r3, 24 - movs r2, 0x2 - mov r9, r2 - str r2, [sp] - str r6, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - str r6, [sp, 0xC] - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - bl WriteSequenceToBgTilemapBuffer - adds r4, 0x10 - lsls r4, 16 - lsrs r4, 16 - movs r1, 0xA - ldrsh r0, [r7, r1] - lsls r3, r0, 1 - adds r3, r0 - adds r3, 0x6 - lsls r3, 24 - lsrs r3, 24 - mov r2, r9 - str r2, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - bl WriteSequenceToBgTilemapBuffer - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r1, [r0] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - mov r0, r8 - bl DestroyTask - movs r0, 0x18 - bl PlaySE -_080F74A4: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F73DC - - thumb_func_start sub_80F74BC -sub_80F74BC: @ 80F74BC - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r1, =gContestFinalStandings - ldrb r0, [r1] - ldr r6, =gUnknown_0203A034 - cmp r0, 0 - beq _080F74DE -_080F74D0: - adds r4, 0x1 - cmp r4, 0x3 - bgt _080F74DE - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F74D0 -_080F74DE: - ldr r1, [r6] - lsls r3, r4, 1 - adds r3, r4 - lsls r0, r3, 6 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - ldr r1, [r1, 0x14] - adds r1, r0 - adds r3, 0x4 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x9 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r2, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x1C] - movs r1, 0x1 - strh r1, [r0, 0x20] - ldr r1, =sub_80F753C - str r1, [r0] - ldr r0, [r6] - ldr r0, [r0] - strb r5, [r0, 0x3] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F74BC - - thumb_func_start sub_80F753C -sub_80F753C: @ 80F753C - 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 - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - lsls r0, 16 - asrs r5, r0, 16 - cmp r5, 0x1 - bne _080F75A0 - movs r0, 0 - strh r0, [r4, 0x1E] - ldrh r2, [r4, 0x20] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x00006f8d - movs r0, 0x91 - movs r1, 0x1 - bl BlendPalette - movs r1, 0x22 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080F7590 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _080F75A0 - strh r5, [r4, 0x22] - b _080F75A0 - .pool -_080F7590: - ldrh r0, [r4, 0x20] - subs r0, 0x1 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080F75A0 - strh r0, [r4, 0x22] -_080F75A0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F753C - - thumb_func_start sub_80F75A8 -sub_80F75A8: @ 80F75A8 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x9 - bgt _080F75D0 - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080F7610 - ldrh r0, [r4, 0x30] - movs r1, 0 - bl PlayCry1 - movs r0, 0 - strh r0, [r4, 0x30] - b _080F7610 -_080F75D0: - movs r0, 0xC0 - lsls r0, 3 - adds r2, r0, 0 - ldrh r1, [r4, 0x30] - adds r2, r1 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x20] - subs r0, r1 - strh r0, [r4, 0x20] - movs r1, 0xFF - ands r2, r1 - strh r2, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x77 - bgt _080F75F6 - movs r0, 0x78 - strh r0, [r4, 0x20] -_080F75F6: - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - bne _080F7610 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x30] - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x6] -_080F7610: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F75A8 - - thumb_func_start sub_80F7620 -sub_80F7620: @ 80F7620 - push {lr} - adds r3, r0, 0 - movs r0, 0xC0 - lsls r0, 3 - adds r2, r0, 0 - ldrh r0, [r3, 0x30] - adds r2, r0 - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r3, 0x20] - subs r0, r1 - strh r0, [r3, 0x20] - movs r1, 0xFF - ands r2, r1 - strh r2, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080F7664 - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1, 0x6] -_080F7664: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7620 - - thumb_func_start sub_80F7670 -sub_80F7670: @ 80F7670 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080F7732 - movs r0, 0 - strh r0, [r1, 0x8] - ldr r0, =gUnknown_0203A034 - mov r8, r0 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r0, 0x27 - bhi _080F7732 - ldr r4, =gSpriteTemplate_858D860 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r1, r0, 0 - subs r1, 0x14 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - movs r2, 0x2C - movs r3, 0x5 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - ldr r1, =gSprites - lsls r5, r4, 4 - adds r5, r4 - lsls r5, 2 - adds r5, r1 - lsls r0, 23 - lsrs r0, 23 - strh r0, [r5, 0x2E] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x18 - bl __umodsi3 - adds r0, 0x10 - strh r0, [r5, 0x30] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xFF - ands r0, r1 - adds r0, 0x30 - strh r0, [r5, 0x32] - bl Random - ldrh r6, [r5, 0x4] - lsls r4, r6, 22 - lsrs r4, 22 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x11 - bl __umodsi3 - adds r4, r0 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r4, r0 - ldr r0, =0xfffffc00 - ands r0, r6 - orrs r0, r4 - strh r0, [r5, 0x4] - mov r1, r8 - ldr r0, [r1] - ldr r1, [r0] - ldrb r0, [r1, 0x7] - adds r0, 0x1 - strb r0, [r1, 0x7] -_080F7732: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0 - beq _080F7744 - adds r0, r7, 0 - bl DestroyTask -_080F7744: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7670 - - thumb_func_start sub_80F7768 -sub_80F7768: @ 80F7768 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x32] - ldrh r0, [r4, 0x36] - adds r1, r0 - lsls r0, r1, 16 - asrs r0, 24 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - movs r0, 0xFF - ands r1, r0 - strh r1, [r4, 0x36] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - ldr r5, =gUnknown_0203A034 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0 - beq _080F77B6 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080F77B6: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0xF8 - bgt _080F77C6 - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0x74 - ble _080F77D6 -_080F77C6: - adds r0, r4, 0 - bl DestroySprite - ldr r0, [r5] - ldr r1, [r0] - ldrb r0, [r1, 0x7] - subs r0, 0x1 - strb r0, [r1, 0x7] -_080F77D6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7768 - - thumb_func_start sub_80F77E0 -sub_80F77E0: @ 80F77E0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =sub_80F7824 - 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 - strh r4, [r1, 0x8] - strh r5, [r1, 0xA] - ldr r0, =gContestMons - lsls r4, 6 - adds r4, r0 - ldrh r0, [r4] - strh r0, [r1, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F77E0 - - thumb_func_start sub_80F7824 -sub_80F7824: @ 80F7824 - push {r4,r5,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 - ldrb r5, [r4, 0x8] - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080F786E - movs r0, 0 - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0xC] - ldrb r2, [r4, 0x1E] - ldr r1, =gContestMons - lsls r3, r5, 6 - adds r1, 0x38 - adds r3, r1 - ldr r1, [r3] - str r1, [sp] - adds r1, r5, 0 - movs r3, 0 - bl sub_80F69B8 - ldrh r0, [r4, 0x1E] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x1E] -_080F786E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7824 - - thumb_func_start sub_80F7880 -sub_80F7880: @ 80F7880 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, =gUnknown_02039F08 - ldrh r2, [r0] - adds r4, r0, 0 - adds r3, r4, 0x2 - movs r0, 0x2 - mov r8, r0 -_080F7898: - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0 - ldrsh r1, [r3, r5] - cmp r0, r1 - bge _080F78A6 - ldrh r2, [r3] -_080F78A6: - adds r3, 0x2 - movs r0, 0x1 - negs r0, r0 - add r8, r0 - mov r1, r8 - cmp r1, 0 - bge _080F7898 - lsls r0, r2, 16 - str r0, [sp] - cmp r0, 0 - bge _080F78E4 - ldrh r2, [r4] - adds r3, r4, 0x2 - movs r4, 0x2 - mov r8, r4 -_080F78C4: - lsls r0, r2, 16 - asrs r0, 16 - movs r5, 0 - ldrsh r1, [r3, r5] - cmp r0, r1 - ble _080F78D2 - ldrh r2, [r3] -_080F78D2: - adds r3, 0x2 - movs r0, 0x1 - negs r0, r0 - add r8, r0 - lsls r1, r2, 16 - str r1, [sp] - mov r4, r8 - cmp r4, 0 - bge _080F78C4 -_080F78E4: - movs r5, 0 - mov r8, r5 - mov r10, r5 -_080F78EA: - ldr r0, =gContestMonConditions - mov r1, r8 - lsls r7, r1, 1 - adds r0, r7, r0 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - ldr r4, [sp] - asrs r5, r4, 16 - adds r1, r5, 0 - cmp r5, 0 - bge _080F790C - negs r1, r5 -_080F790C: - bl __divsi3 - adds r4, r0, 0 - movs r1, 0xA - bl __modsi3 - cmp r0, 0x4 - ble _080F791E - adds r4, 0xA -_080F791E: - ldr r0, =gUnknown_0203A034 - mov r9, r0 - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r1, r10 - adds r6, r1, r0 - adds r0, r4, 0 - movs r1, 0xA - bl __divsi3 - str r0, [r6] - ldr r0, =gUnknown_02039F18 - adds r7, r0 - movs r2, 0 - ldrsh r1, [r7, r2] - cmp r1, 0 - bge _080F7942 - negs r1, r1 -_080F7942: - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r5, 0 - cmp r1, 0 - bge _080F7954 - negs r1, r1 -_080F7954: - bl __divsi3 - adds r4, r0, 0 - movs r1, 0xA - bl __modsi3 - cmp r0, 0x4 - ble _080F7966 - adds r4, 0xA -_080F7966: - adds r0, r4, 0 - movs r1, 0xA - bl __divsi3 - str r0, [r6, 0x4] - movs r4, 0 - ldrsh r0, [r7, r4] - cmp r0, 0 - bge _080F797C - movs r0, 0x1 - strb r0, [r6, 0x10] -_080F797C: - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0, 0x4] - mov r1, r10 - adds r4, r1, r0 - ldr r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - subs r0, r1 - lsls r0, 11 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - movs r5, 0xFF - ands r0, r5 - cmp r0, 0x7F - bls _080F79A8 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2 -_080F79A8: - lsrs r0, r1, 8 - str r0, [r4, 0x8] - ldr r1, [r4, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - subs r0, r1 - lsls r0, 11 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - ands r0, r5 - cmp r0, 0x7F - bls _080F79CC - movs r5, 0x80 - lsls r5, 1 - adds r1, r5 -_080F79CC: - lsrs r0, r1, 8 - str r0, [r4, 0xC] - mov r0, r8 - lsls r4, r0, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80F7310 - mov r2, r9 - ldr r1, [r2] - ldr r1, [r1, 0x4] - add r1, r10 - strb r0, [r1, 0x11] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80F7364 - mov r4, r9 - ldr r1, [r4] - ldr r1, [r1, 0x4] - add r1, r10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080F7A02 - negs r0, r0 -_080F7A02: - strb r0, [r1, 0x12] - ldr r0, =gContestFinalStandings - add r0, r8 - ldrb r0, [r0] - cmp r0, 0 - beq _080F7A60 - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0, 0x4] - mov r2, r10 - adds r1, r2, r0 - ldr r5, [r1, 0x8] - ldrh r3, [r1, 0x8] - ldr r4, [r1, 0xC] - ldrh r2, [r1, 0xC] - ldrb r0, [r1, 0x10] - cmp r0, 0 - beq _080F7A2C - lsls r0, r2, 16 - negs r0, r0 - lsrs r2, r0, 16 -_080F7A2C: - lsls r0, r3, 16 - asrs r3, r0, 16 - lsls r0, r2, 16 - asrs r2, r0, 16 - adds r0, r3, r2 - cmp r0, 0x58 - bne _080F7A60 - cmp r2, 0 - ble _080F7A58 - subs r0, r4, 0x1 - str r0, [r1, 0xC] - b _080F7A60 - .pool -_080F7A58: - cmp r3, 0 - ble _080F7A60 - subs r0, r5, 0x1 - str r0, [r1, 0x8] -_080F7A60: - movs r4, 0x14 - add r10, r4 - movs r5, 0x1 - add r8, r5 - mov r0, r8 - cmp r0, 0x3 - bgt _080F7A70 - b _080F78EA -_080F7A70: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80F7880 - - thumb_func_start sub_80F7A80 -sub_80F7A80: @ 80F7A80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - str r1, [sp, 0x8] - movs r3, 0 - str r3, [sp, 0xC] - cmp r0, 0 - bne _080F7B5C - mov r9, r3 - ldr r4, =gUnknown_0203A034 - mov r10, r4 - movs r7, 0xA0 - lsls r7, 19 - movs r6, 0 -_080F7AAC: - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r2, [r0, 0x11] - cmp r8, r2 - bcs _080F7B2E - adds r2, 0x13 - mov r3, r8 - subs r2, r3 - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - lsrs r3, r7, 24 - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - ldr r1, =0x000060b3 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, =sub_80F7CA8 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r10 - ldr r4, [r0] - ldr r1, [r4, 0x4] - adds r1, r6, r1 - ldr r0, [r1, 0x8] - lsls r0, 16 - ldrb r1, [r1, 0x11] - bl __udivsi3 - mov r1, r8 - adds r1, 0x1 - adds r3, r0, 0 - muls r3, r1 - ldr r0, =0x0000ffff - ands r0, r3 - ldr r1, =0x00007fff - cmp r0, r1 - bls _080F7B0A - movs r1, 0x80 - lsls r1, 9 - adds r3, r1 -_080F7B0A: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - mov r1, r9 - strh r1, [r0, 0x8] - lsrs r1, r3, 16 - strh r1, [r0, 0xA] - ldr r1, [r4] - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] -_080F7B2E: - movs r3, 0xC0 - lsls r3, 18 - adds r7, r3 - adds r6, 0x14 - movs r4, 0x1 - add r9, r4 - mov r0, r9 - cmp r0, 0x3 - ble _080F7AAC - b _080F7C7E - .pool -_080F7B5C: - movs r1, 0 - mov r9, r1 - mov r10, r1 - movs r3, 0xC0 - lsls r3, 19 - str r3, [sp, 0x10] -_080F7B68: - ldr r4, =gUnknown_0203A034 - ldr r0, [r4] - ldr r0, [r0, 0x4] - add r0, r10 - ldrb r2, [r0, 0x12] - ldrb r0, [r0, 0x10] - ldr r1, =0x000060a3 - cmp r0, 0 - beq _080F7B7C - adds r1, 0x2 -_080F7B7C: - lsls r0, r2, 24 - asrs r0, 24 - cmp r8, r0 - bge _080F7C64 - mov r3, r8 - lsls r2, r3, 24 - asrs r2, 24 - subs r2, 0x13 - subs r2, r0, r2 - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r4, [sp, 0x10] - lsrs r3, r4, 24 - movs r7, 0x1 - str r7, [sp] - str r7, [sp, 0x4] - movs r0, 0x1 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, =sub_80F7CA8 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_0203A034 - ldr r6, [r0] - ldr r1, [r6, 0x4] - add r1, r10 - ldr r0, [r1, 0xC] - lsls r0, 16 - ldrb r1, [r1, 0x12] - bl __udivsi3 - mov r1, r8 - adds r1, 0x1 - adds r3, r0, 0 - muls r3, r1 - ldr r0, =0x0000ffff - ands r0, r3 - ldr r1, =0x00007fff - cmp r0, r1 - bls _080F7BDA - movs r1, 0x80 - lsls r1, 9 - adds r3, r1 -_080F7BDA: - ldr r1, =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r4, r0, r1 - mov r0, r9 - strh r0, [r4, 0x8] - ldr r0, [r6, 0x4] - add r0, r10 - ldrb r0, [r0, 0x10] - adds r6, r1, 0 - cmp r0, 0 - beq _080F7C1C - strh r7, [r4, 0xC] - ldr r0, [sp, 0xC] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - b _080F7C26 - .pool -_080F7C1C: - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] -_080F7C26: - ldr r1, =gUnknown_0203A034 - ldr r0, [r1] - ldr r0, [r0, 0x4] - mov r4, r10 - adds r1, r4, r0 - ldrb r0, [r1, 0x10] - ldr r4, =gUnknown_0203A034 - cmp r0, 0 - beq _080F7C4C - adds r0, r2, r5 - lsls r0, 3 - adds r0, r6 - lsrs r2, r3, 16 - ldr r1, [r1, 0x8] - subs r1, r2 - b _080F7C58 - .pool -_080F7C4C: - adds r0, r2, r5 - lsls r0, 3 - adds r0, r6 - lsrs r2, r3, 16 - ldr r1, [r1, 0x8] - adds r1, r2 -_080F7C58: - strh r1, [r0, 0xA] - ldr r0, [r4] - ldr r1, [r0] - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] -_080F7C64: - movs r0, 0x14 - add r10, r0 - ldr r1, [sp, 0x10] - movs r3, 0xC0 - lsls r3, 18 - adds r1, r3 - str r1, [sp, 0x10] - movs r4, 0x1 - add r9, r4 - mov r0, r9 - cmp r0, 0x3 - bgt _080F7C7E - b _080F7B68 -_080F7C7E: - ldr r1, [sp, 0xC] - cmp r1, 0 - beq _080F7C8A - movs r0, 0x16 - bl PlaySE -_080F7C8A: - ldr r3, [sp, 0x8] - cmp r3, 0 - beq _080F7C96 - movs r0, 0x15 - bl PlaySE -_080F7C96: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80F7A80 - - thumb_func_start sub_80F7CA8 -sub_80F7CA8: @ 80F7CA8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r4, 0 - mov r9, r4 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r6, [r0, 0x8] - ldrh r7, [r0, 0xA] - ldrh r1, [r0, 0xC] - mov r12, r1 - movs r2, 0xC - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _080F7CF8 - ldr r2, =gUnknown_0203A034 - ldr r0, [r2] - ldr r0, [r0] - lsls r1, r6, 1 - adds r0, 0xC - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - adds r5, r1, 0 - cmp r0, 0 - bgt _080F7D10 - b _080F7D0E - .pool -_080F7CF8: - ldr r2, =gUnknown_0203A034 - ldr r0, [r2] - ldr r0, [r0] - lsls r1, r6, 1 - adds r0, 0xC - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - adds r5, r1, 0 - cmp r0, 0x57 - ble _080F7D10 -_080F7D0E: - movs r4, 0x1 -_080F7D10: - ldr r0, [r2] - ldr r0, [r0] - adds r0, 0xC - adds r2, r0, r5 - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - bne _080F7D2A - movs r1, 0x1 - mov r9, r1 -_080F7D2A: - mov r0, r9 - cmp r0, 0 - bne _080F7D4A - cmp r4, 0 - beq _080F7D3C - strh r7, [r2] - b _080F7D4A - .pool -_080F7D3C: - mov r1, r12 - cmp r1, 0 - beq _080F7D46 - subs r0, r3, 0x1 - b _080F7D48 -_080F7D46: - adds r0, r3, 0x1 -_080F7D48: - strh r0, [r2] -_080F7D4A: - cmp r4, 0 - bne _080F7DC4 - mov r2, r9 - cmp r2, 0 - bne _080F7DCA - movs r2, 0 -_080F7D56: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0xC - adds r0, r5 - movs r1, 0 - ldrsh r3, [r0, r1] - adds r0, r2, 0x1 - lsls r1, r0, 3 - adds r4, r0, 0 - cmp r3, r1 - blt _080F7D78 - movs r0, 0x8 - b _080F7D94 - .pool -_080F7D78: - lsls r0, r2, 3 - cmp r3, r0 - blt _080F7D92 - adds r0, r3, 0 - cmp r3, 0 - bge _080F7D86 - adds r0, r3, 0x7 -_080F7D86: - asrs r0, 3 - lsls r0, 3 - subs r0, r3, r0 - lsls r0, 24 - lsrs r0, 24 - b _080F7D94 -_080F7D92: - movs r0, 0 -_080F7D94: - cmp r0, 0x3 - bhi _080F7DA0 - ldr r3, =0x0000504c - b _080F7DA2 - .pool -_080F7DA0: - ldr r3, =0x00005057 -_080F7DA2: - adds r1, r0, r3 - adds r2, 0x7 - lsls r2, 24 - lsrs r2, 24 - adds r3, r5, r6 - adds r3, 0x6 - lsls r3, 24 - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x2 - lsrs r3, 24 - bl FillBgTilemapBufferRect_Palette0 - adds r2, r4, 0 - cmp r2, 0xA - ble _080F7D56 -_080F7DC4: - mov r0, r9 - cmp r0, 0 - beq _080F7DDC -_080F7DCA: - ldr r0, =gUnknown_0203A034 - ldr r0, [r0] - ldr r1, [r0] - ldrb r0, [r1, 0x14] - subs r0, 0x1 - strb r0, [r1, 0x14] - mov r0, r8 - bl DestroyTask -_080F7DDC: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7CA8 - - thumb_func_start sub_80F7DF4 -sub_80F7DF4: @ 80F7DF4 - push {r4,r5,lr} - ldr r4, =gUnknown_0203A034 - movs r0, 0x20 - bl AllocZeroed - str r0, [r4] - movs r0, 0x18 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x50 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x10] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x14] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x18] - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x1C] - bl AllocateMonSpritesGfx - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7DF4 - - thumb_func_start sub_80F7E64 -sub_80F7E64: @ 80F7E64 - push {r4,r5,lr} - ldr r5, =gUnknown_0203A034 - 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] - bl Free - str r4, [r5] - bl FreeMonSpritesGfx - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7E64 - - thumb_func_start sub_80F7ED0 -sub_80F7ED0: @ 80F7ED0 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - str r1, [sp] - mov r0, sp - movs r3, 0 - strb r4, [r0, 0x4] - mov r1, sp - movs r0, 0x7 - strb r0, [r1, 0x5] - mov r0, sp - strb r2, [r0, 0x6] - movs r1, 0x2 - strb r1, [r0, 0x7] - strb r2, [r0, 0x8] - strb r1, [r0, 0x9] - strb r3, [r0, 0xA] - strb r3, [r0, 0xB] - mov r3, sp - ldrb r2, [r3, 0xC] - subs r1, 0x12 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - mov r2, sp - movs r0, 0x10 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - mov r1, sp - movs r0, 0x80 - strb r0, [r1, 0xD] - mov r0, sp - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F7ED0 - - thumb_func_start sub_80F7F30 -sub_80F7F30: @ 80F7F30 - push {r4,r5,lr} - ldr r0, =gContestMonPartyIndex - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_80DAE0C - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - cmp r5, 0 - beq _080F7F5E - ldr r4, =gSpecialVar_ContestCategory - ldrb r0, [r4] - ldr r1, =gSpecialVar_ContestRank - ldrb r1, [r1] - bl sub_80DAB8C - ldrb r0, [r4] - bl sub_80DB09C -_080F7F5E: - ldr r0, =gSpecialVar_Result - strh r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7F30 - - thumb_func_start sub_80F7F7C -sub_80F7F7C: @ 80F7F7C - push {r4,lr} - movs r4, 0 - ldr r0, =gContestMonPartyIndex - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r2, r1, r0 - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080F7FEE - lsls r0, 2 - ldr r1, =_080F7FB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080F7FB0: - .4byte _080F7FC4 - .4byte _080F7FCA - .4byte _080F7FD0 - .4byte _080F7FD6 - .4byte _080F7FDC -_080F7FC4: - adds r0, r2, 0 - movs r1, 0x32 - b _080F7FE0 -_080F7FCA: - adds r0, r2, 0 - movs r1, 0x33 - b _080F7FE0 -_080F7FD0: - adds r0, r2, 0 - movs r1, 0x34 - b _080F7FE0 -_080F7FD6: - adds r0, r2, 0 - movs r1, 0x35 - b _080F7FE0 -_080F7FDC: - adds r0, r2, 0 - movs r1, 0x36 -_080F7FE0: - bl GetMonData - ldr r1, =gSpecialVar_ContestRank - ldrh r1, [r1] - cmp r0, r1 - bls _080F7FEE - movs r4, 0x1 -_080F7FEE: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F7F7C - - thumb_func_start sub_80F7FFC -sub_80F7FFC: @ 80F7FFC - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gContestFinalStandings - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080F8010 - b _080F8250 -_080F8010: - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bls _080F801A - b _080F8250 -_080F801A: - lsls r0, 2 - ldr r1, =_080F8034 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080F8034: - .4byte _080F8048 - .4byte _080F80B8 - .4byte _080F8124 - .4byte _080F8190 - .4byte _080F81F8 -_080F8048: - ldr r6, =gContestMonPartyIndex - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x32 - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - mov r0, sp - strb r1, [r0] - ldr r0, =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r1, r0 - bls _080F806C - b _080F8250 -_080F806C: - adds r0, r1, 0 - cmp r0, 0x3 - bls _080F8074 - b _080F8250 -_080F8074: - adds r1, r0, 0x1 - mov r0, sp - strb r1, [r0] - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x32 - mov r2, sp - bl SetMonData - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080F809C - b _080F8250 -_080F809C: - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x32 - bl sub_80EE4DC - b _080F8250 - .pool -_080F80B8: - mov r4, sp - ldr r7, =gContestMonPartyIndex - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x33 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bls _080F80DC - b _080F8250 -_080F80DC: - cmp r2, 0x3 - bls _080F80E2 - b _080F8250 -_080F80E2: - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x33 - mov r2, sp - bl SetMonData - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080F810A - b _080F8250 -_080F810A: - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x33 - bl sub_80EE4DC - b _080F8250 - .pool -_080F8124: - mov r4, sp - ldr r7, =gContestMonPartyIndex - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x34 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bls _080F8148 - b _080F8250 -_080F8148: - cmp r2, 0x3 - bls _080F814E - b _080F8250 -_080F814E: - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x34 - mov r2, sp - bl SetMonData - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080F8250 - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x34 - bl sub_80EE4DC - b _080F8250 - .pool -_080F8190: - mov r4, sp - ldr r7, =gContestMonPartyIndex - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x35 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080F8250 - cmp r2, 0x3 - bhi _080F8250 - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x35 - mov r2, sp - bl SetMonData - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080F8250 - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x35 - bl sub_80EE4DC - b _080F8250 - .pool -_080F81F8: - mov r4, sp - ldr r7, =gContestMonPartyIndex - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x36 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080F8250 - cmp r2, 0x3 - bhi _080F8250 - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x36 - mov r2, sp - bl SetMonData - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080F8250 - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x36 - bl sub_80EE4DC -_080F8250: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F7FFC - - thumb_func_start sub_80F8264 -sub_80F8264: @ 80F8264 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =gSpecialVar_0x8006 - ldrh r1, [r0] - lsls r1, 6 - ldr r0, =gContestMons + 13 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - bl sub_81DB5AC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8264 - - thumb_func_start sub_80F8290 -sub_80F8290: @ 80F8290 - push {lr} - ldr r0, =gStringVar3 - ldr r1, =gSpecialVar_0x8006 - ldrh r1, [r1] - lsls r1, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8290 - - thumb_func_start sub_80F82B4 -sub_80F82B4: @ 80F82B4 - push {r4-r6,lr} - movs r1, 0 - movs r2, 0 - ldr r5, =gSpecialVar_0x8004 - ldr r4, =gContestMonConditions - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r4 - movs r6, 0 - ldrsh r3, [r0, r6] -_080F82CA: - lsls r0, r1, 1 - adds r0, r4 - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r3, r0 - bge _080F82DC - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080F82DC: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080F82CA - strh r2, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F82B4 - - thumb_func_start sub_80F82FC -sub_80F82FC: @ 80F82FC - ldr r2, =gSpecialVar_0x8004 - ldr r1, =gContestMonConditions - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_80F82FC - - thumb_func_start sub_80F831C -sub_80F831C: @ 80F831C - push {lr} - movs r1, 0 - ldr r2, =gContestFinalStandings - ldrb r0, [r2] - ldr r3, =gSpecialVar_0x8005 - cmp r0, 0 - beq _080F833C -_080F832A: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bhi _080F833C - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080F832A -_080F833C: - strh r1, [r3] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F831C - - thumb_func_start sub_80F834C -sub_80F834C: @ 80F834C - push {r4,lr} - movs r1, 0 - ldr r2, =gContestFinalStandings - ldrb r0, [r2] - ldr r4, =gStringVar3 - ldr r3, =gContestMons + 13 - cmp r0, 0 - beq _080F836E -_080F835C: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bhi _080F836E - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080F835C -_080F836E: - lsls r1, 6 - adds r1, r3 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - bl sub_81DB5AC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F834C - - thumb_func_start sub_80F8390 -sub_80F8390: @ 80F8390 - push {r4,lr} - movs r1, 0 - ldr r2, =gContestFinalStandings - ldrb r0, [r2] - ldr r4, =gStringVar1 - ldr r3, =gContestMons + 2 - cmp r0, 0 - beq _080F83B2 -_080F83A0: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bhi _080F83B2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080F83A0 -_080F83B2: - lsls r1, 6 - adds r1, r3 - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8390 - - thumb_func_start sub_80F83D0 -sub_80F83D0: @ 80F83D0 - push {lr} - ldr r0, =sub_80D7B24 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F83D0 - - thumb_func_start sub_80F83E0 -sub_80F83E0: @ 80F83E0 - 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 _080F83FE - adds r0, r2, 0 - bl DestroyTask - ldr r0, =sub_80F83D0 - bl SetMainCallback2 -_080F83FE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F83E0 - - thumb_func_start sub_80F840C -sub_80F840C: @ 80F840C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, =sub_80F83E0 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F840C - - thumb_func_start sub_80F8438 -sub_80F8438: @ 80F8438 - ldr r2, =gSpecialVar_0x8004 - ldr r1, =gContestMons - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 6 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_80F8438 - - thumb_func_start sub_80F8458 -sub_80F8458: @ 80F8458 - 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 _080F8476 - adds r0, r2, 0 - bl DestroyTask - ldr r0, =sub_80F5B00 - bl SetMainCallback2 -_080F8476: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8458 - - thumb_func_start sub_80F8484 -sub_80F8484: @ 80F8484 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, =sub_80F8458 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8484 - - thumb_func_start sub_80F84B0 -sub_80F84B0: @ 80F84B0 - ldr r0, =gSpecialVar_0x8004 - ldr r1, =gContestPlayerMonIndex - ldrb r1, [r1] - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_80F84B0 - - thumb_func_start sub_80F84C4 -sub_80F84C4: @ 80F84C4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl ScriptContext2_Enable - ldr r6, =sub_80FC580 - adds r0, r6, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, =sub_80F8508 - adds r0, r4, 0 - adds r1, r6, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1A] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F84C4 - - thumb_func_start sub_80F8508 -sub_80F8508: @ 80F8508 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080F8540 - ldr r0, =gContestMonPartyIndex - ldrb r0, [r0] - bl sub_80DA8C8 - ldr r1, =sub_80FC6BC - ldr r2, =sub_80F8568 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - b _080F8556 - .pool -_080F8540: - ldr r0, =gContestMonPartyIndex - ldrb r0, [r0] - bl sub_80DA8C8 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81D9DE4 - str r1, [r0] -_080F8556: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8508 - - thumb_func_start sub_80F8568 -sub_80F8568: @ 80F8568 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_80FC804 - ldr r2, =sub_80F8584 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8568 - - thumb_func_start sub_80F8584 -sub_80F8584: @ 80F8584 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_80FCE48 - ldr r2, =sub_80F85A0 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8584 - - thumb_func_start sub_80F85A0 -sub_80F85A0: @ 80F85A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_80FC894 - ldr r2, =sub_80F85BC - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F85A0 - - thumb_func_start sub_80F85BC -sub_80F85BC: @ 80F85BC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r3, 0 - ldr r5, =gNumLinkContestPlayers - mov r12, r5 - ldr r0, =gSpecialVar_0x8004 - mov r9, r0 - add r1, sp, 0x4 - mov r8, r1 - ldrb r0, [r5] - cmp r3, r0 - bcs _080F8606 - lsls r0, r6, 2 - adds r0, r6 - lsls r4, r0, 3 - ldr r7, =gTasks + 0x8 -_080F85EC: - mov r1, sp - adds r2, r1, r3 - adds r1, r3, 0x1 - lsls r0, r1, 1 - adds r0, r4 - adds r0, r7 - ldrh r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r3, r1, 24 - ldrb r0, [r5] - cmp r3, r0 - bcc _080F85EC -_080F8606: - movs r3, 0 - mov r1, r12 - ldrb r0, [r1] - cmp r3, r0 - bcs _080F862A - adds r4, r0, 0 - mov r2, sp -_080F8614: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r4 - bcs _080F862A - mov r0, sp - adds r1, r0, r3 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - beq _080F8614 -_080F862A: - mov r1, r12 - ldrb r1, [r1] - cmp r3, r1 - bne _080F8644 - movs r0, 0 - b _080F8646 - .pool -_080F8644: - movs r0, 0x1 -_080F8646: - mov r1, r9 - strh r0, [r1] - movs r3, 0 - mov r4, r12 - ldrb r0, [r4] - cmp r3, r0 - bcs _080F8678 - mov r5, r8 - lsls r0, r6, 2 - adds r0, r6 - lsls r2, r0, 3 - ldr r7, =gTasks + 0x8 -_080F865E: - adds r1, r5, r3 - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r2 - adds r0, r7 - ldrh r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r1, [r4] - cmp r3, r1 - bcc _080F865E -_080F8678: - mov r0, r8 - bl sub_80F86E0 - ldr r1, =gUnknown_02039F2B - strb r0, [r1] - ldr r0, =gSpecialVar_ContestCategory - ldrb r0, [r0] - bl sub_80DB09C - ldr r1, =sub_80FCF40 - ldr r2, =sub_80F86B8 - adds r0, r6, 0 - bl SetTaskFuncWithFollowupFunc - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F85BC - - thumb_func_start sub_80F86B8 -sub_80F86B8: @ 80F86B8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80DCE58 - ldr r1, =sub_80FCFD0 - ldr r2, =sub_80F8714 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F86B8 - - thumb_func_start sub_80F86E0 -sub_80F86E0: @ 80F86E0 - push {r4,r5,lr} - adds r3, r0, 0 - movs r4, 0 - movs r2, 0x1 - ldr r0, =gNumLinkContestPlayers - ldrb r0, [r0] - cmp r2, r0 - bge _080F8708 - adds r5, r0, 0 -_080F86F2: - adds r0, r3, r4 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _080F8702 - lsls r0, r2, 24 - lsrs r4, r0, 24 -_080F8702: - adds r2, 0x1 - cmp r2, r5 - blt _080F86F2 -_080F8708: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F86E0 - - thumb_func_start sub_80F8714 -sub_80F8714: @ 80F8714 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _080F8748 - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080F877E - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80F878C - str r0, [r1] - b _080F877E - .pool -_080F8748: - ldr r5, =gContestMons + 2 - movs r4, 0x3 -_080F874C: - adds r0, r5, 0 - bl StringGetEnd10 - adds r5, 0x40 - subs r4, 0x1 - cmp r4, 0 - bge _080F874C - adds r0, r6, 0 - bl DestroyTask - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl SetDynamicWarp - bl ScriptContext2_Disable - bl EnableBothScriptContexts -_080F877E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8714 - - thumb_func_start sub_80F878C -sub_80F878C: @ 80F878C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800AC34 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80F87B4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F878C - - thumb_func_start sub_80F87B4 -sub_80F87B4: @ 80F87B4 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080F87D0 - adds r0, r1, 0 - bl DestroyTask - bl ScriptContext2_Disable - bl EnableBothScriptContexts -_080F87D0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F87B4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/easy_chat.s b/asm/easy_chat.s index f6f09a87e..271d1bce1 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,2641 +5,6 @@ .text - thumb_func_start sub_811ACDC -sub_811ACDC: @ 811ACDC - push {r4-r6,lr} - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811AD4A - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _0811AD3E - b _0811AD24 - .pool -_0811AD04: - movs r0, 0x20 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _0811ADE0 - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - bne _0811ADD0 - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _0811ADC0 - movs r0, 0 - b _0811AE32 -_0811AD24: - cmp r0, 0x1 - bgt _0811AD2E - cmp r0, 0 - beq _0811AD38 - b _0811AD4A -_0811AD2E: - cmp r0, 0x2 - beq _0811ADF6 - cmp r0, 0x3 - beq _0811AD44 - b _0811AD4A -_0811AD38: - bl sub_811B184 - b _0811ADFA -_0811AD3E: - bl sub_811B150 - b _0811ADFA -_0811AD44: - bl sub_811B264 - b _0811ADFA -_0811AD4A: - ldrh r2, [r2, 0x2E] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _0811ADF0 - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - bne _0811ADF6 - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _0811AD04 - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - subs r0, 0x1 - strb r0, [r1, 0x6] -_0811AD6E: - adds r6, r2, 0 -_0811AD70: - adds r5, r6, 0 - ldr r4, [r5] - movs r3, 0x6 - ldrsb r3, [r4, r3] - ldr r2, =gUnknown_08597550 - ldrb r1, [r4, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - ldrb r0, [r1, 0x2] - cmp r3, r0 - bne _0811AE00 - bl sub_811BA3C - movs r2, 0x3 - cmp r0, 0 - beq _0811AD96 - movs r2, 0x4 -_0811AD96: - ldr r1, [r5] - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _0811ADA4 - subs r0, r2, 0x1 - strb r0, [r1, 0x5] -_0811ADA4: - ldr r1, [r5] - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, r2 - blt _0811ADB2 - movs r0, 0 - strb r0, [r1, 0x5] -_0811ADB2: - movs r0, 0x3 - b _0811AE32 - .pool -_0811ADC0: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - b _0811AD6E - .pool -_0811ADD0: - ldr r1, =gUnknown_0203A118 - ldr r0, [r1] - strb r3, [r0, 0x6] - adds r6, r1, 0 - b _0811AD70 - .pool -_0811ADE0: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - b _0811AD6E - .pool -_0811ADF0: - bl sub_811B150 - b _0811ADFA -_0811ADF6: - bl sub_811B1B4 -_0811ADFA: - lsls r0, 16 - lsrs r0, 16 - b _0811AE32 -_0811AE00: - movs r0, 0x5 - ldrsb r0, [r4, r0] - ldrb r1, [r1, 0x1] - cmp r0, r1 - blt _0811AE0E - subs r0, r1, 0x1 - strb r0, [r4, 0x5] -_0811AE0E: - bl sub_811AB44 - cmp r0, 0 - beq _0811AE28 - ldr r2, [r6] - ldr r0, [r2, 0x4] - ldr r1, =0x00ffff00 - ands r0, r1 - ldr r1, =0x00040100 - cmp r0, r1 - bne _0811AE28 - movs r0, 0 - strb r0, [r2, 0x5] -_0811AE28: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0x2 -_0811AE32: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811ACDC - - thumb_func_start sub_811AE44 -sub_811AE44: @ 811AE44 - push {lr} - ldr r1, =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x2 - ands r0, r2 - adds r3, r1, 0 - cmp r0, 0 - beq _0811AE60 - bl sub_811B32C - b _0811AEF6 - .pool -_0811AE60: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _0811AEAE - ldr r0, =gUnknown_0203A118 - ldr r2, [r0] - movs r1, 0xA - ldrsb r1, [r2, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0811AE84 - bl sub_811B2B0 - b _0811AEF6 - .pool -_0811AE84: - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0x1 - beq _0811AEA2 - cmp r0, 0x1 - bgt _0811AE96 - cmp r0, 0 - beq _0811AE9C - b _0811AEAE -_0811AE96: - cmp r0, 0x2 - beq _0811AEA8 - b _0811AEAE -_0811AE9C: - bl sub_811B33C - b _0811AEF6 -_0811AEA2: - bl sub_811B368 - b _0811AEF6 -_0811AEA8: - bl sub_811B32C - b _0811AEF6 -_0811AEAE: - ldrh r1, [r3, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811AEBE - bl sub_811B33C - b _0811AEF6 -_0811AEBE: - ldrh r1, [r3, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0811AECC - movs r0, 0x2 - b _0811AEF2 -_0811AECC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0811AED8 - movs r0, 0x3 - b _0811AEF2 -_0811AED8: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0811AEE4 - movs r0, 0x1 - b _0811AEF2 -_0811AEE4: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0811AEF0 - movs r0, 0 - b _0811AEFA -_0811AEF0: - movs r0, 0 -_0811AEF2: - bl sub_811B528 -_0811AEF6: - lsls r0, 16 - lsrs r0, 16 -_0811AEFA: - pop {r1} - bx r1 - thumb_func_end sub_811AE44 - - thumb_func_start sub_811AF00 -sub_811AF00: @ 811AF00 - push {lr} - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811AF24 - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1, 0x4] - movs r0, 0xE - b _0811AF86 - .pool -_0811AF24: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811AF32 - bl sub_811B394 - b _0811AF82 -_0811AF32: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0811AF3E - movs r0, 0x4 - b _0811AF7E -_0811AF3E: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811AF4A - movs r0, 0x5 - b _0811AF7E -_0811AF4A: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0811AF58 - movs r0, 0x2 - b _0811AF7E -_0811AF58: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0811AF64 - movs r0, 0x3 - b _0811AF7E -_0811AF64: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0811AF70 - movs r0, 0x1 - b _0811AF7E -_0811AF70: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0811AF7C - movs r0, 0 - b _0811AF86 -_0811AF7C: - movs r0, 0 -_0811AF7E: - bl sub_811B794 -_0811AF82: - lsls r0, 16 - lsrs r0, 16 -_0811AF86: - pop {r1} - bx r1 - thumb_func_end sub_811AF00 - - thumb_func_start sub_811AF8C -sub_811AF8C: @ 811AF8C - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0811AFC0 - cmp r1, 0 - bgt _0811AFA8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0811AFAC - b _0811AFE4 -_0811AFA8: - cmp r1, 0x1 - bne _0811AFE4 -_0811AFAC: - bl sub_811B2A4 - ldr r1, =gUnknown_0203A118 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x7 - b _0811AFE6 - .pool -_0811AFC0: - ldr r0, =gSpecialVar_Result - strh r1, [r0] - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0] - subs r0, 0x11 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0811AFD8 - bl sub_811B3E4 -_0811AFD8: - movs r0, 0x18 - b _0811AFE6 - .pool -_0811AFE4: - movs r0, 0 -_0811AFE6: - pop {r1} - bx r1 - thumb_func_end sub_811AF8C - - thumb_func_start sub_811AFEC -sub_811AFEC: @ 811AFEC - push {r4,lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0811B020 - cmp r1, 0 - bgt _0811B008 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0811B00C - b _0811B038 -_0811B008: - cmp r1, 0x1 - bne _0811B038 -_0811B00C: - bl sub_811B2A4 - ldr r1, =gUnknown_0203A118 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x7 - b _0811B03A - .pool -_0811B020: - bl sub_811BE9C - ldr r4, =gSpecialVar_Result - bl sub_811B4EC - strh r0, [r4] - bl sub_811B3E4 - movs r0, 0x18 - b _0811B03A - .pool -_0811B038: - movs r0, 0 -_0811B03A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811AFEC - - thumb_func_start sub_811B040 -sub_811B040: @ 811B040 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0811B070 - cmp r1, 0 - bgt _0811B05C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0811B060 - b _0811B084 -_0811B05C: - cmp r1, 0x1 - bne _0811B084 -_0811B060: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x7 - b _0811B086 - .pool -_0811B070: - bl sub_811B418 - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x8 - b _0811B086 - .pool -_0811B084: - movs r0, 0 -_0811B086: - pop {r1} - bx r1 - thumb_func_end sub_811B040 - - thumb_func_start sub_811B08C -sub_811B08C: @ 811B08C - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811B0A4 - movs r0, 0x1A - b _0811B0B8 - .pool -_0811B0A4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0811B0B0 - movs r0, 0 - b _0811B0B8 -_0811B0B0: - bl sub_811B150 - lsls r0, 16 - lsrs r0, 16 -_0811B0B8: - pop {r1} - bx r1 - thumb_func_end sub_811B08C - - thumb_func_start sub_811B0BC -sub_811B0BC: @ 811B0BC - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0811B0D4 - movs r0, 0 - b _0811B0E0 - .pool -_0811B0D4: - bl sub_811B2A4 - ldr r1, =gUnknown_0203A118 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x7 -_0811B0E0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_811B0BC - - thumb_func_start sub_811B0E8 -sub_811B0E8: @ 811B0E8 - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0xA - strb r0, [r1, 0x4] - movs r0, 0x6 - bx lr - .pool - thumb_func_end sub_811B0E8 - - thumb_func_start sub_811B0F8 -sub_811B0F8: @ 811B0F8 - push {r4,lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0811B134 - cmp r1, 0 - bgt _0811B114 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0811B118 - b _0811B148 -_0811B114: - cmp r1, 0x1 - bne _0811B148 -_0811B118: - bl sub_811B454 - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x8] - ldr r1, [r2] - movs r0, 0x8 - strb r0, [r1, 0x4] - movs r0, 0x1F - b _0811B14A - .pool -_0811B134: - ldr r4, =gSpecialVar_Result - bl sub_811B4EC - strh r0, [r4] - bl sub_811B3E4 - movs r0, 0x18 - b _0811B14A - .pool -_0811B148: - movs r0, 0 -_0811B14A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B0F8 - - thumb_func_start sub_811B150 -sub_811B150: @ 811B150 - push {lr} - ldr r1, =gUnknown_0203A118 - ldr r2, [r1] - ldrb r0, [r2] - cmp r0, 0x13 - beq _0811B160 - cmp r0, 0xB - bne _0811B174 -_0811B160: - ldrb r0, [r2, 0x4] - strb r0, [r2, 0x8] - ldr r1, [r1] - movs r0, 0x8 - strb r0, [r1, 0x4] - movs r0, 0x22 - b _0811B180 - .pool -_0811B174: - ldrb r0, [r2, 0x4] - strb r0, [r2, 0x8] - ldr r1, [r1] - movs r0, 0x4 - strb r0, [r1, 0x4] - movs r0, 0x5 -_0811B180: - pop {r1} - bx r1 - thumb_func_end sub_811B150 - - thumb_func_start sub_811B184 -sub_811B184: @ 811B184 - push {lr} - ldr r2, =gUnknown_0203A118 - ldr r0, [r2] - ldrb r1, [r0, 0x4] - strb r1, [r0, 0x8] - ldr r1, [r2] - ldrb r0, [r1] - cmp r0, 0x6 - bne _0811B1A8 - ldrb r0, [r1, 0x4] - strb r0, [r1, 0x8] - ldr r1, [r2] - movs r0, 0x8 - strb r0, [r1, 0x4] - movs r0, 0x20 - b _0811B1AE - .pool -_0811B1A8: - movs r0, 0x5 - strb r0, [r1, 0x4] - movs r0, 0x4 -_0811B1AE: - pop {r1} - bx r1 - thumb_func_end sub_811B184 - - thumb_func_start sub_811B1B4 -sub_811B1B4: @ 811B1B4 - push {r4,lr} - ldr r4, =gUnknown_0203A118 - ldr r1, [r4] - ldrb r0, [r1, 0x4] - strb r0, [r1, 0x8] - ldr r1, [r4] - ldrb r0, [r1] - cmp r0, 0x11 - bne _0811B1DC - bl sub_811BD64 - cmp r0, 0 - bne _0811B1FA - bl sub_811BDB0 - cmp r0, 0 - bne _0811B1E8 - b _0811B256 - .pool -_0811B1DC: - cmp r0, 0x12 - bne _0811B204 - bl sub_811BDB0 - cmp r0, 0 - beq _0811B1F2 -_0811B1E8: - ldr r1, [r4] - movs r0, 0x8 - strb r0, [r1, 0x4] - movs r0, 0x1E - b _0811B25C -_0811B1F2: - bl sub_811BD64 - cmp r0, 0 - beq _0811B256 -_0811B1FA: - ldr r1, [r4] - movs r0, 0x8 - strb r0, [r1, 0x4] - movs r0, 0x1D - b _0811B25C -_0811B204: - cmp r0, 0x9 - beq _0811B20C - cmp r0, 0xD - bne _0811B21E -_0811B20C: - bl sub_811BD2C - cmp r0, 0 - bne _0811B256 - ldr r1, [r4] - movs r0, 0x8 - strb r0, [r1, 0x4] - movs r0, 0x21 - b _0811B25C -_0811B21E: - cmp r0, 0x13 - beq _0811B226 - cmp r0, 0xB - bne _0811B238 -_0811B226: - bl sub_811BCF4 - cmp r0, 0 - beq _0811B256 - ldr r1, [r4] - movs r0, 0x8 - strb r0, [r1, 0x4] - movs r0, 0x22 - b _0811B25C -_0811B238: - cmp r0, 0x14 - beq _0811B258 - bl sub_811BCF4 - cmp r0, 0x1 - beq _0811B24C - bl sub_811B4EC - cmp r0, 0 - bne _0811B256 -_0811B24C: - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1, 0x4] - movs r0, 0x5 - b _0811B25C -_0811B256: - ldr r1, [r4] -_0811B258: - movs r0, 0x6 - strb r0, [r1, 0x4] -_0811B25C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B1B4 - - thumb_func_start sub_811B264 -sub_811B264: @ 811B264 - push {lr} - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x4] - strb r0, [r1, 0x8] - ldr r0, [r2] - ldrb r0, [r0] - cmp r0, 0x11 - beq _0811B28E - cmp r0, 0x11 - bgt _0811B284 - cmp r0, 0xF - beq _0811B28A - b _0811B29E - .pool -_0811B284: - cmp r0, 0x12 - beq _0811B296 - b _0811B29E -_0811B28A: - movs r0, 0x19 - b _0811B2A0 -_0811B28E: - bl sub_811B3E4 - movs r0, 0x1C - b _0811B2A0 -_0811B296: - bl sub_811B3E4 - movs r0, 0x1B - b _0811B2A0 -_0811B29E: - movs r0, 0 -_0811B2A0: - pop {r1} - bx r1 - thumb_func_end sub_811B264 - - thumb_func_start sub_811B2A4 -sub_811B2A4: @ 811B2A4 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bx lr - .pool - thumb_func_end sub_811B2A4 - - thumb_func_start sub_811B2B0 -sub_811B2B0: @ 811B2B0 - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _0811B2DC - bl sub_811B8E8 - lsls r0, 24 - lsrs r0, 24 - bl sub_811F3B8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_811F548 - b _0811B2EC - .pool -_0811B2DC: - bl sub_811B908 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - bl sub_811F548 -_0811B2EC: - bl sub_811F5B0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0811B324 - ldr r2, =gUnknown_0203A118 - ldr r3, [r2] - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0 - strb r0, [r3, 0xF] - ldr r0, [r2] - strb r1, [r0, 0xE] - ldr r0, [r2] - strb r1, [r0, 0x10] - ldr r0, [r2] - strb r1, [r0, 0x11] - ldr r1, [r2] - movs r0, 0x3 - strb r0, [r1, 0x4] - movs r0, 0xB - b _0811B326 - .pool -_0811B324: - movs r0, 0 -_0811B326: - pop {r1} - bx r1 - thumb_func_end sub_811B2B0 - - thumb_func_start sub_811B32C -sub_811B32C: @ 811B32C - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0xA - bx lr - .pool - thumb_func_end sub_811B32C - - thumb_func_start sub_811B33C -sub_811B33C: @ 811B33C - push {lr} - ldr r1, =gUnknown_0203A118 - ldr r0, [r1] - movs r2, 0 - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r0, [r1] - strb r2, [r0, 0xC] - ldr r1, [r1] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _0811B360 - movs r0, 0x1 - strb r0, [r1, 0x9] - b _0811B362 - .pool -_0811B360: - strb r2, [r1, 0x9] -_0811B362: - movs r0, 0x17 - pop {r1} - bx r1 - thumb_func_end sub_811B33C - - thumb_func_start sub_811B368 -sub_811B368: @ 811B368 - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x6 - beq _0811B388 - ldr r0, =0x0000ffff - bl sub_811B488 - movs r0, 0x1 - b _0811B390 - .pool -_0811B388: - movs r0, 0x20 - bl PlaySE - movs r0, 0 -_0811B390: - pop {r1} - bx r1 - thumb_func_end sub_811B368 - - thumb_func_start sub_811B394 -sub_811B394: @ 811B394 - push {r4,r5,lr} - bl sub_811B940 - lsls r0, 16 - lsrs r0, 16 - bl sub_811F578 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl sub_811BF88 - adds r5, r0, 0 - cmp r5, 0 - beq _0811B3BC - movs r0, 0x20 - bl PlaySE - movs r0, 0 - b _0811B3DC -_0811B3BC: - adds r0, r4, 0 - bl sub_811B488 - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0x6 - bne _0811B3D8 - movs r0, 0x9 - strb r0, [r1, 0x4] - movs r0, 0xD - b _0811B3DC - .pool -_0811B3D8: - strb r5, [r1, 0x4] - movs r0, 0xC -_0811B3DC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811B394 - - thumb_func_start sub_811B3E4 -sub_811B3E4: @ 811B3E4 - push {r4,r5,lr} - movs r4, 0 - ldr r3, =gUnknown_0203A118 - ldr r0, [r3] - ldrb r0, [r0, 0x7] - cmp r4, r0 - bge _0811B40E - adds r5, r3, 0 -_0811B3F4: - ldr r3, [r5] - ldr r1, [r3, 0x38] - lsls r2, r4, 1 - adds r1, r2, r1 - adds r0, r3, 0 - adds r0, 0x3C - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r4, 0x1 - ldrb r3, [r3, 0x7] - cmp r4, r3 - blt _0811B3F4 -_0811B40E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811B3E4 - - thumb_func_start sub_811B418 -sub_811B418: @ 811B418 - push {r4,r5,lr} - movs r3, 0 - ldr r2, =gUnknown_0203A118 - ldr r0, [r2] - ldrb r0, [r0, 0x7] - cmp r3, r0 - bge _0811B444 - adds r5, r2, 0 - ldr r0, =0x0000ffff - adds r4, r0, 0 -_0811B42C: - ldr r2, [r5] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0x3C - adds r1, r0 - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r3, 0x1 - ldrb r2, [r2, 0x7] - cmp r3, r2 - blt _0811B42C -_0811B444: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811B418 - - thumb_func_start sub_811B454 -sub_811B454: @ 811B454 - push {r4,r5,lr} - movs r4, 0 - ldr r3, =gUnknown_0203A118 - ldr r0, [r3] - ldrb r0, [r0, 0x7] - cmp r4, r0 - bge _0811B47E - adds r5, r3, 0 -_0811B464: - ldr r3, [r5] - lsls r1, r4, 1 - adds r2, r3, 0 - adds r2, 0x3C - adds r2, r1 - ldr r0, [r3, 0x38] - adds r1, r0 - ldrh r0, [r1] - strh r0, [r2] - adds r4, 0x1 - ldrb r3, [r3, 0x7] - cmp r4, r3 - blt _0811B464 -_0811B47E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811B454 - - thumb_func_start sub_811B488 -sub_811B488: @ 811B488 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_811B8C8 - lsls r0, 16 - ldr r1, =gUnknown_0203A118 - ldr r1, [r1] - lsrs r0, 15 - adds r1, 0x3C - adds r1, r0 - strh r4, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811B488 - - thumb_func_start sub_811B4AC -sub_811B4AC: @ 811B4AC - push {r4,r5,lr} - movs r2, 0 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r1, [r0, 0x7] - cmp r2, r1 - bcs _0811B4E2 - adds r5, r1, 0 - adds r4, r0, 0 - adds r4, 0x3C - ldr r3, [r0, 0x38] -_0811B4C2: - lsls r0, r2, 1 - adds r1, r4, r0 - adds r0, r3 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - beq _0811B4D8 - movs r0, 0x1 - b _0811B4E4 - .pool -_0811B4D8: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r5 - bcc _0811B4C2 -_0811B4E2: - movs r0, 0 -_0811B4E4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811B4AC - - thumb_func_start sub_811B4EC -sub_811B4EC: @ 811B4EC - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0] - subs r0, 0x11 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0811B51C - bl sub_811BD64 - cmp r0, 0 - bne _0811B50E - bl sub_811BDB0 - cmp r0, 0 - beq _0811B518 -_0811B50E: - movs r0, 0 - b _0811B524 - .pool -_0811B518: - movs r0, 0x1 - b _0811B524 -_0811B51C: - bl sub_811B4AC - lsls r0, 24 - lsrs r0, 24 -_0811B524: - pop {r1} - bx r1 - thumb_func_end sub_811B4EC - - thumb_func_start sub_811B528 -sub_811B528: @ 811B528 - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A118 - ldr r3, [r0] - movs r1, 0xA - ldrsb r1, [r3, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0811B558 - ldrb r0, [r3, 0x9] - cmp r0, 0 - bne _0811B550 - adds r0, r2, 0 - bl sub_811B568 - b _0811B55E - .pool -_0811B550: - adds r0, r2, 0 - bl sub_811B634 - b _0811B55E -_0811B558: - adds r0, r2, 0 - bl sub_811B6C4 -_0811B55E: - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_811B528 - - thumb_func_start sub_811B568 -sub_811B568: @ 811B568 - push {r4,lr} - cmp r0, 0x1 - beq _0811B5DE - cmp r0, 0x1 - bcc _0811B5FE - cmp r0, 0x2 - beq _0811B57C - cmp r0, 0x3 - beq _0811B5A4 - b _0811B62A -_0811B57C: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0xB - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xC] - cmn r0, r3 - beq _0811B62A - ldrb r2, [r1, 0xB] - cmp r0, 0 - beq _0811B59C - subs r0, r2, 0x1 - strb r0, [r1, 0xB] -_0811B594: - movs r0, 0xF - b _0811B62C - .pool -_0811B59C: - subs r0, r3, 0x1 - strb r0, [r1, 0xC] - movs r0, 0x11 - b _0811B62C -_0811B5A4: - ldr r0, =gUnknown_0203A118 - ldr r2, [r0] - movs r1, 0xB - ldrsb r1, [r2, r1] - ldrb r3, [r2, 0xC] - adds r1, r3 - ldrb r0, [r2, 0xD] - subs r0, 0x1 - cmp r1, r0 - bge _0811B62A - ldrb r1, [r2, 0xB] - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0x2 - bgt _0811B5D0 - adds r0, r1, 0x1 - strb r0, [r2, 0xB] - movs r4, 0xF - b _0811B5D6 - .pool -_0811B5D0: - adds r0, r3, 0x1 - strb r0, [r2, 0xC] - movs r4, 0x10 -_0811B5D6: - bl sub_811B978 - adds r0, r4, 0 - b _0811B62C -_0811B5DE: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _0811B5F8 - subs r0, r2, 0x1 - strb r0, [r1, 0xA] - b _0811B594 - .pool -_0811B5F8: - bl sub_811B744 - b _0811B594 -_0811B5FE: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - bgt _0811B624 - adds r0, r2, 0x1 - strb r0, [r1, 0xA] - bl sub_811B9C8 - lsls r0, 24 - cmp r0, 0 - beq _0811B594 - bl sub_811B744 - b _0811B594 - .pool -_0811B624: - bl sub_811B744 - b _0811B594 -_0811B62A: - movs r0, 0 -_0811B62C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B568 - - thumb_func_start sub_811B634 -sub_811B634: @ 811B634 - push {lr} - cmp r0, 0x1 - beq _0811B6A0 - cmp r0, 0x1 - bcc _0811B684 - cmp r0, 0x2 - beq _0811B64A - cmp r0, 0x3 - beq _0811B66A - movs r0, 0 - b _0811B6BC -_0811B64A: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _0811B660 - subs r0, r2, 0x1 - b _0811B662 - .pool -_0811B660: - movs r0, 0x3 -_0811B662: - strb r0, [r1, 0xB] - bl sub_811B978 - b _0811B6BA -_0811B66A: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bgt _0811B680 - adds r0, r2, 0x1 - b _0811B662 - .pool -_0811B680: - movs r0, 0 - b _0811B662 -_0811B684: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] - bl sub_811B9C8 - lsls r0, 24 - cmp r0, 0 - beq _0811B6BA - b _0811B6B6 - .pool -_0811B6A0: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0xA] - subs r0, 0x1 - strb r0, [r1, 0xA] - ldr r0, [r2] - ldrb r0, [r0, 0xA] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _0811B6BA -_0811B6B6: - bl sub_811B744 -_0811B6BA: - movs r0, 0xF -_0811B6BC: - pop {r1} - bx r1 - .pool - thumb_func_end sub_811B634 - - thumb_func_start sub_811B6C4 -sub_811B6C4: @ 811B6C4 - push {lr} - adds r2, r0, 0 - cmp r2, 0x1 - beq _0811B714 - cmp r2, 0x1 - bcc _0811B728 - cmp r2, 0x2 - beq _0811B6DC - cmp r2, 0x3 - beq _0811B6F8 - movs r0, 0 - b _0811B73A -_0811B6DC: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r3, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _0811B6F4 - subs r0, r3, 0x1 - b _0811B736 - .pool -_0811B6F4: - strb r2, [r1, 0xB] - b _0811B738 -_0811B6F8: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0x1 - bgt _0811B710 - adds r0, r2, 0x1 - b _0811B736 - .pool -_0811B710: - movs r0, 0 - b _0811B736 -_0811B714: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r0, [r1, 0xB] - adds r0, 0x1 - strb r0, [r1, 0xB] - bl sub_811B768 - b _0811B738 - .pool -_0811B728: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0xA] - ldr r1, [r2] - ldrb r0, [r1, 0xB] - adds r0, 0x1 -_0811B736: - strb r0, [r1, 0xB] -_0811B738: - movs r0, 0xF -_0811B73A: - pop {r1} - bx r1 - .pool - thumb_func_end sub_811B6C4 - - thumb_func_start sub_811B744 -sub_811B744: @ 811B744 - push {lr} - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - movs r0, 0xFF - strb r0, [r1, 0xA] - ldr r2, [r2] - ldrb r1, [r2, 0xB] - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _0811B75E - subs r0, r1, 0x1 - strb r0, [r2, 0xB] -_0811B75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811B744 - - thumb_func_start sub_811B768 -sub_811B768: @ 811B768 - push {r4,lr} - ldr r4, =gUnknown_0203A118 - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _0811B784 - movs r0, 0x1 - strb r0, [r1, 0xA] - bl sub_811B978 - b _0811B78E - .pool -_0811B784: - ldrb r0, [r1, 0xB] - bl sub_811B960 - ldr r1, [r4] - strb r0, [r1, 0xA] -_0811B78E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811B768 - - thumb_func_start sub_811B794 -sub_811B794: @ 811B794 - push {r4,lr} - cmp r0, 0x5 - bls _0811B79C - b _0811B8C0 -_0811B79C: - lsls r0, 2 - ldr r1, =_0811B7AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811B7AC: - .4byte _0811B848 - .4byte _0811B826 - .4byte _0811B7C4 - .4byte _0811B7F0 - .4byte _0811B870 - .4byte _0811B890 -_0811B7C4: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0x11 - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xE] - adds r0, r3 - cmp r0, 0 - bgt _0811B7D6 - b _0811B8C0 -_0811B7D6: - ldrb r2, [r1, 0x11] - movs r0, 0x11 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _0811B7E8 - subs r0, r2, 0x1 - b _0811B80E - .pool -_0811B7E8: - subs r0, r3, 0x1 - strb r0, [r1, 0xE] - movs r4, 0x13 - b _0811B81E -_0811B7F0: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0x11 - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xE] - adds r0, r3 - ldrb r2, [r1, 0xF] - cmp r0, r2 - bge _0811B8C0 - ldrb r2, [r1, 0x11] - movs r0, 0x11 - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bgt _0811B818 - adds r0, r2, 0x1 -_0811B80E: - strb r0, [r1, 0x11] - movs r4, 0x12 - b _0811B81E - .pool -_0811B818: - adds r0, r3, 0x1 - strb r0, [r1, 0xE] - movs r4, 0x14 -_0811B81E: - bl sub_811B9A0 - adds r0, r4, 0 - b _0811B8C2 -_0811B826: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _0811B83C - subs r0, r2, 0x1 - b _0811B83E - .pool -_0811B83C: - movs r0, 0x1 -_0811B83E: - strb r0, [r1, 0x10] - bl sub_811B9A0 -_0811B844: - movs r0, 0x12 - b _0811B8C2 -_0811B848: - ldr r4, =gUnknown_0203A118 - ldr r1, [r4] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - bgt _0811B866 - adds r0, r2, 0x1 - strb r0, [r1, 0x10] - bl sub_811BA1C - lsls r0, 24 - cmp r0, 0 - beq _0811B844 - ldr r1, [r4] -_0811B866: - movs r0, 0 - strb r0, [r1, 0x10] - b _0811B844 - .pool -_0811B870: - ldr r0, =gUnknown_0203A118 - ldr r2, [r0] - ldrb r0, [r2, 0xE] - adds r1, r0, 0 - cmp r1, 0 - beq _0811B8C0 - cmp r1, 0x3 - bls _0811B888 - subs r0, 0x4 - b _0811B88A - .pool -_0811B888: - movs r0, 0 -_0811B88A: - strb r0, [r2, 0xE] - movs r0, 0x15 - b _0811B8C2 -_0811B890: - ldr r3, =gUnknown_0203A118 - ldr r1, [r3] - ldrb r2, [r1, 0xE] - ldrb r0, [r1, 0xF] - subs r0, 0x4 - cmp r2, r0 - bgt _0811B8C0 - adds r0, r2, 0x4 - strb r0, [r1, 0xE] - ldr r2, [r3] - ldrb r1, [r2, 0xE] - ldrb r3, [r2, 0xF] - subs r0, r3, 0x3 - cmp r1, r0 - ble _0811B8B4 - adds r0, r3, 0 - adds r0, 0xFD - strb r0, [r2, 0xE] -_0811B8B4: - bl sub_811B9A0 - movs r0, 0x16 - b _0811B8C2 - .pool -_0811B8C0: - movs r0, 0 -_0811B8C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B794 - - thumb_func_start sub_811B8C8 -sub_811B8C8: @ 811B8C8 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - movs r2, 0x6 - ldrsb r2, [r0, r2] - ldrb r1, [r0, 0x2] - muls r1, r2 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_811B8C8 - - thumb_func_start sub_811B8E8 -sub_811B8E8: @ 811B8E8 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - movs r1, 0xB - ldrsb r1, [r0, r1] - ldrb r2, [r0, 0xC] - adds r1, r2 - lsls r1, 1 - ldrb r0, [r0, 0xA] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_811B8E8 - - thumb_func_start sub_811B908 -sub_811B908: @ 811B908 - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r0, [r1, 0xA] - movs r3, 0 - cmp r0, 0x6 - bhi _0811B91A - movs r3, 0xA - ldrsb r3, [r1, r3] -_0811B91A: - ldrb r0, [r1, 0xB] - movs r2, 0 - cmp r0, 0x3 - bhi _0811B926 - movs r2, 0xB - ldrsb r2, [r1, r2] -_0811B926: - ldr r0, =gUnknown_08597748 - lsls r1, r2, 3 - subs r1, r2 - adds r1, r3, r1 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_811B908 - - thumb_func_start sub_811B940 -sub_811B940: @ 811B940 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - movs r1, 0x11 - ldrsb r1, [r0, r1] - ldrb r2, [r0, 0xE] - adds r1, r2 - lsls r1, 1 - ldrb r0, [r0, 0x10] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_811B940 - - thumb_func_start sub_811B960 -sub_811B960: @ 811B960 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0811B96E - cmp r0, 0x1 - beq _0811B972 -_0811B96E: - movs r0, 0x6 - b _0811B974 -_0811B972: - movs r0, 0x5 -_0811B974: - pop {r1} - bx r1 - thumb_func_end sub_811B960 - - thumb_func_start sub_811B978 -sub_811B978: @ 811B978 - push {lr} - b _0811B98E -_0811B97C: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _0811B998 - subs r0, r2, 0x1 - strb r0, [r1, 0xA] -_0811B98E: - bl sub_811B9C8 - lsls r0, 24 - cmp r0, 0 - bne _0811B97C -_0811B998: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811B978 - - thumb_func_start sub_811B9A0 -sub_811B9A0: @ 811B9A0 - push {lr} - b _0811B9B6 -_0811B9A4: - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _0811B9C0 - subs r0, r2, 0x1 - strb r0, [r1, 0x10] -_0811B9B6: - bl sub_811BA1C - lsls r0, 24 - cmp r0, 0 - bne _0811B9A4 -_0811B9C0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811B9A0 - - thumb_func_start sub_811B9C8 -sub_811B9C8: @ 811B9C8 - push {r4,lr} - ldr r4, =gUnknown_0203A118 - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _0811B9F8 - bl sub_811B8E8 - adds r4, r0, 0 - bl sub_811F3AC - movs r1, 0 - lsls r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsrs r0, 24 - cmp r4, r0 - bcc _0811B9EE - movs r1, 0x1 -_0811B9EE: - adds r0, r1, 0 - b _0811BA14 - .pool -_0811B9F8: - ldrb r0, [r1, 0xB] - bl sub_811B960 - movs r2, 0 - ldr r1, [r4] - ldrb r1, [r1, 0xA] - lsls r1, 24 - asrs r1, 24 - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - ble _0811BA12 - movs r2, 0x1 -_0811BA12: - adds r0, r2, 0 -_0811BA14: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B9C8 - - thumb_func_start sub_811BA1C -sub_811BA1C: @ 811BA1C - push {r4,lr} - bl sub_811B940 - adds r4, r0, 0 - bl sub_811F5B0 - movs r1, 0 - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - bcc _0811BA34 - movs r1, 0x1 -_0811BA34: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811BA1C - - thumb_func_start sub_811BA3C -sub_811BA3C: @ 811BA3C - ldr r2, =gUnknown_08597550 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] - lsrs r0, 7 - bx lr - .pool - thumb_func_end sub_811BA3C - - thumb_func_start sub_811BA5C -sub_811BA5C: @ 811BA5C - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_811BA5C - - thumb_func_start sub_811BA68 -sub_811BA68: @ 811BA68 - ldr r2, =gUnknown_08597550 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] - lsls r0, 25 - lsrs r0, 25 - bx lr - .pool - thumb_func_end sub_811BA68 - - thumb_func_start sub_811BA88 -sub_811BA88: @ 811BA88 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bx lr - .pool - thumb_func_end sub_811BA88 - - thumb_func_start sub_811BA94 -sub_811BA94: @ 811BA94 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - adds r0, 0x3C - bx lr - .pool - thumb_func_end sub_811BA94 - - thumb_func_start sub_811BAA0 -sub_811BAA0: @ 811BAA0 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - bx lr - .pool - thumb_func_end sub_811BAA0 - - thumb_func_start sub_811BAAC -sub_811BAAC: @ 811BAAC - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - bx lr - .pool - thumb_func_end sub_811BAAC - - thumb_func_start sub_811BAB8 -sub_811BAB8: @ 811BAB8 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - bx lr - .pool - thumb_func_end sub_811BAB8 - - thumb_func_start sub_811BAC4 -sub_811BAC4: @ 811BAC4 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - bx lr - .pool - thumb_func_end sub_811BAC4 - - thumb_func_start sub_811BAD0 -sub_811BAD0: @ 811BAD0 - push {r4,r5,lr} - ldr r4, =gUnknown_08597550 - ldr r2, =gUnknown_0203A118 - ldr r5, [r2] - ldrb r3, [r5, 0x1] - lsls r2, r3, 1 - adds r2, r3 - lsls r2, 3 - adds r3, r4, 0 - adds r3, 0x8 - adds r2, r3 - ldr r2, [r2] - str r2, [r0] - ldrb r2, [r5, 0x1] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r4, 0xC - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811BAD0 - - thumb_func_start sub_811BB08 -sub_811BB08: @ 811BB08 - push {r4,r5,lr} - ldr r4, =gUnknown_08597550 - ldr r2, =gUnknown_0203A118 - ldr r5, [r2] - ldrb r3, [r5, 0x1] - lsls r2, r3, 1 - adds r2, r3 - lsls r2, 3 - adds r3, r4, 0 - adds r3, 0x10 - adds r2, r3 - ldr r2, [r2] - str r2, [r0] - ldrb r2, [r5, 0x1] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r4, 0x14 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811BB08 - - thumb_func_start sub_811BB40 -sub_811BB40: @ 811BB40 - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bne _0811BB5C - ldr r0, =gText_StopGivingPkmnMail - b _0811BB7A - .pool -_0811BB5C: - cmp r0, 0x4 - blt _0811BB78 - cmp r0, 0x10 - bgt _0811BB78 - cmp r0, 0xF - blt _0811BB78 - ldr r0, =gText_LikeToQuitQuiz - str r0, [r2] - ldr r0, =gText_ChallengeQuestionMark - b _0811BB7E - .pool -_0811BB78: - ldr r0, =gText_QuitEditing -_0811BB7A: - str r0, [r2] - movs r0, 0 -_0811BB7E: - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_811BB40 - - thumb_func_start sub_811BB88 -sub_811BB88: @ 811BB88 - ldr r2, =gText_AllTextBeingEditedWill - str r2, [r0] - ldr r0, =gText_BeDeletedThatOkay - str r0, [r1] - bx lr - .pool - thumb_func_end sub_811BB88 - - thumb_func_start sub_811BB9C -sub_811BB9C: @ 811BB9C - ldr r2, =gUnknown_0203A118 - ldr r3, [r2] - ldrb r2, [r3, 0xA] - strb r2, [r0] - ldrb r0, [r3, 0xB] - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_811BB9C - - thumb_func_start sub_811BBB0 -sub_811BBB0: @ 811BBB0 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - bx lr - .pool - thumb_func_end sub_811BBB0 - - thumb_func_start sub_811BBBC -sub_811BBBC: @ 811BBBC - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bx lr - .pool - thumb_func_end sub_811BBBC - - thumb_func_start sub_811BBC8 -sub_811BBC8: @ 811BBC8 - ldr r2, =gUnknown_0203A118 - ldr r3, [r2] - ldrb r2, [r3, 0x10] - strb r2, [r0] - ldrb r0, [r3, 0x11] - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_811BBC8 - - thumb_func_start sub_811BBDC -sub_811BBDC: @ 811BBDC - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0xE] - bx lr - .pool - thumb_func_end sub_811BBDC - - thumb_func_start sub_811BBE8 -sub_811BBE8: @ 811BBE8 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0xF] - bx lr - .pool - thumb_func_end sub_811BBE8 - - thumb_func_start sub_811BBF4 -sub_811BBF4: @ 811BBF4 - movs r0, 0 - bx lr - thumb_func_end sub_811BBF4 - - thumb_func_start sub_811BBF8 -sub_811BBF8: @ 811BBF8 - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - cmp r0, 0x2 - beq _0811BC10 - cmp r0, 0x3 - beq _0811BC1A - b _0811BC24 - .pool -_0811BC10: - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _0811BC24 - ldrb r0, [r1, 0xC] - b _0811BC1C -_0811BC1A: - ldrb r0, [r1, 0xE] -_0811BC1C: - cmp r0, 0 - beq _0811BC24 - movs r0, 0x1 - b _0811BC26 -_0811BC24: - movs r0, 0 -_0811BC26: - pop {r1} - bx r1 - thumb_func_end sub_811BBF8 - - thumb_func_start sub_811BC2C -sub_811BC2C: @ 811BC2C - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r2, [r0] - ldrb r0, [r2, 0x4] - cmp r0, 0x2 - beq _0811BC44 - cmp r0, 0x3 - beq _0811BC5A - b _0811BC68 - .pool -_0811BC44: - ldrb r0, [r2, 0x9] - cmp r0, 0 - bne _0811BC68 - ldrb r1, [r2, 0xC] - adds r1, 0x4 - ldrb r0, [r2, 0xD] - subs r0, 0x1 - cmp r1, r0 - bgt _0811BC68 - movs r0, 0x1 - b _0811BC6A -_0811BC5A: - ldrb r0, [r2, 0xE] - adds r0, 0x4 - ldrb r2, [r2, 0xF] - cmp r0, r2 - bgt _0811BC68 - movs r0, 0x1 - b _0811BC6A -_0811BC68: - movs r0, 0 -_0811BC6A: - pop {r1} - bx r1 - thumb_func_end sub_811BC2C - - thumb_func_start sub_811BC70 -sub_811BC70: @ 811BC70 - push {lr} - bl sub_811BA3C - pop {r1} - bx r1 - thumb_func_end sub_811BC70 - - thumb_func_start sub_811BC7C -sub_811BC7C: @ 811BC7C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - movs r2, 0 - cmp r2, r3 - bcs _0811BCB2 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0x3C -_0811BC92: - lsls r0, r2, 1 - adds r1, r0, r5 - adds r0, r4, r0 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - beq _0811BCA8 - movs r0, 0x1 - b _0811BCB4 - .pool -_0811BCA8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _0811BC92 -_0811BCB2: - movs r0, 0 -_0811BCB4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811BC7C - - thumb_func_start sub_811BCBC -sub_811BCBC: @ 811BCBC - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x12] - bx lr - .pool - thumb_func_end sub_811BCBC - - thumb_func_start sub_811BCC8 -sub_811BCC8: @ 811BCC8 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r2, =gUnknown_08597550 -_0811BCD2: - ldrb r0, [r2] - cmp r0, r3 - bne _0811BCE4 - lsls r0, r1, 24 - lsrs r0, 24 - b _0811BCEE - .pool -_0811BCE4: - adds r2, 0x18 - adds r1, 0x1 - cmp r1, 0x14 - bls _0811BCD2 - movs r0, 0 -_0811BCEE: - pop {r1} - bx r1 - thumb_func_end sub_811BCC8 - - thumb_func_start sub_811BCF4 -sub_811BCF4: @ 811BCF4 - push {r4,lr} - movs r2, 0 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r1, [r0, 0x7] - cmp r2, r1 - bge _0811BD24 - ldr r4, =0x0000ffff - adds r3, r1, 0 - adds r1, r0, 0 - adds r1, 0x3C -_0811BD0A: - ldrh r0, [r1] - cmp r0, r4 - beq _0811BD1C - movs r0, 0 - b _0811BD26 - .pool -_0811BD1C: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _0811BD0A -_0811BD24: - movs r0, 0x1 -_0811BD26: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811BCF4 - - thumb_func_start sub_811BD2C -sub_811BD2C: @ 811BD2C - push {r4,lr} - movs r2, 0 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r1, [r0, 0x7] - cmp r2, r1 - bge _0811BD5C - ldr r4, =0x0000ffff - adds r3, r1, 0 - adds r1, r0, 0 - adds r1, 0x3C -_0811BD42: - ldrh r0, [r1] - cmp r0, r4 - bne _0811BD54 - movs r0, 0 - b _0811BD5E - .pool -_0811BD54: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _0811BD42 -_0811BD5C: - movs r0, 0x1 -_0811BD5E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811BD2C - - thumb_func_start sub_811BD64 -sub_811BD64: @ 811BD64 - push {r4,lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x11 - bne _0811BD80 - bl sub_811BCF4 - b _0811BD9C - .pool -_0811BD7C: - movs r0, 0 - b _0811BD9C -_0811BD80: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r2, 0 - ldr r3, =0x0000ffff - ldr r4, =0x00003b5a - adds r1, r0, r4 -_0811BD8C: - ldrh r0, [r1] - cmp r0, r3 - bne _0811BD7C - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x8 - ble _0811BD8C - movs r0, 0x1 -_0811BD9C: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811BD64 - - thumb_func_start sub_811BDB0 -sub_811BDB0: @ 811BDB0 - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x12 - bne _0811BDC8 - bl sub_811BCF4 - b _0811BDDE - .pool -_0811BDC8: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003b58 - adds r0, r1 - movs r2, 0 - ldrh r1, [r0, 0x14] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _0811BDDC - movs r2, 0x1 -_0811BDDC: - adds r0, r2, 0 -_0811BDDE: - pop {r1} - bx r1 - .pool - thumb_func_end sub_811BDB0 - - thumb_func_start sub_811BDF0 -sub_811BDF0: @ 811BDF0 - push {r4-r6,lr} - sub sp, 0x20 - adds r6, r0, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - bl DynamicPlaceholderTextUtil_Reset - ldr r0, =0x00003b70 - adds r5, r4, r0 - adds r0, r5, 0 - bl StringLength - lsls r0, 16 - cmp r0, 0 - beq _0811BE34 - ldr r1, =0x00003b85 - adds r0, r4, r1 - ldrb r2, [r0] - mov r0, sp - adds r1, r5, 0 - bl TVShowConvertInternationalString - movs r0, 0 - mov r1, sp - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - b _0811BE3C - .pool -_0811BE34: - ldr r1, =gText_Lady - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr -_0811BE3C: - ldr r1, =gText_F700sQuiz - adds r0, r6, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811BDF0 - - thumb_func_start sub_811BE54 -sub_811BE54: @ 811BE54 - push {r4,r5,lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0x3C - ldr r2, =gStringVar2 - movs r5, 0 - b _0811BE86 - .pool -_0811BE6C: - ldrh r1, [r4] - adds r0, r2, 0 - movs r2, 0 - bl CopyEasyChatWordPadded - adds r2, r0, 0 - movs r0, 0 - strb r0, [r2] - adds r2, 0x1 - adds r4, 0x2 - adds r5, 0x1 - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] -_0811BE86: - ldrb r0, [r0, 0x7] - cmp r5, r0 - blt _0811BE6C - subs r2, 0x1 - movs r0, 0xFF - strb r0, [r2] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811BE54 - - thumb_func_start sub_811BE9C -sub_811BE9C: @ 811BE9C - push {r4,r5,lr} - ldr r5, =gUnknown_0203A118 - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0x9 - beq _0811BEF0 - cmp r0, 0x9 - bgt _0811BEB8 - cmp r0, 0 - beq _0811BEC2 - b _0811BF14 - .pool -_0811BEB8: - cmp r0, 0xD - beq _0811BF0C - cmp r0, 0x14 - beq _0811BED0 - b _0811BF14 -_0811BEC2: - ldr r0, =0x00000865 - bl FlagSet - b _0811BF14 - .pool -_0811BED0: - bl sub_811BF20 - adds r1, r0, 0 - cmp r1, 0 - beq _0811BEE4 - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x2 - b _0811BF12 - .pool -_0811BEE4: - ldr r0, =gSpecialVar_0x8004 - strh r1, [r0] - b _0811BF14 - .pool -_0811BEF0: - bl sub_811BE54 - ldr r4, =gSpecialVar_0x8004 - ldr r0, [r5] - adds r0, 0x3C - bl sub_81226D8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - b _0811BF14 - .pool -_0811BF0C: - bl sub_811BF40 - ldr r1, =gSpecialVar_0x8004 -_0811BF12: - strh r0, [r1] -_0811BF14: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811BE9C - - thumb_func_start sub_811BF20 -sub_811BF20: @ 811BF20 - push {lr} - ldr r0, =gUnknown_08597764 - movs r1, 0x4 - bl sub_811BC7C - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _0811BF34 - movs r1, 0x1 -_0811BF34: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_811BF20 - - thumb_func_start sub_811BF40 -sub_811BF40: @ 811BF40 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0x80 - lsls r5, 9 -_0811BF48: - lsls r0, r4, 2 - ldr r1, =gUnknown_0859776C - adds r0, r1 - movs r1, 0x2 - bl sub_811BC7C - lsls r0, 24 - cmp r0, 0 - bne _0811BF64 - lsrs r0, r5, 16 - b _0811BF72 - .pool -_0811BF64: - movs r0, 0x80 - lsls r0, 9 - adds r5, r0 - adds r4, 0x1 - cmp r4, 0x4 - ble _0811BF48 - movs r0, 0 -_0811BF72: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811BF40 - - thumb_func_start sub_811BF78 -sub_811BF78: @ 811BF78 - ldr r0, =gUnknown_0203A118 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x13] - bx lr - .pool - thumb_func_end sub_811BF78 - - thumb_func_start sub_811BF88 -sub_811BF88: @ 811BF88 - movs r0, 0 - bx lr - thumb_func_end sub_811BF88 - - thumb_func_start sub_811BF8C -sub_811BF8C: @ 811BF8C - push {lr} - bl sub_811CE94 - lsls r0, 24 - cmp r0, 0 - beq _0811BF9C - movs r0, 0x1 - b _0811BF9E -_0811BF9C: - movs r0, 0 -_0811BF9E: - pop {r1} - bx r1 - thumb_func_end sub_811BF8C - thumb_func_start sub_811BFA4 sub_811BFA4: @ 811BFA4 push {r4,lr} @@ -9869,10 +7234,18 @@ _0811F8AE: .pool thumb_func_end InitializeEasyChatWordArray +@void sub_811F8BC() { +@ s16* v; +@ s16* ptr; +@ v = GetSaveBlock1Field3564(); +@ for (ptr = v + 3; ptr >= v; ptr--) { +@ *ptr = -1; +@ } +@} thumb_func_start sub_811F8BC sub_811F8BC: @ 811F8BC push {lr} - bl sub_801B058 + bl GetSaveBlock1Field3564 ldr r1, =0x0000ffff adds r2, r1, 0 adds r1, r0, 0x6 diff --git a/asm/flying.s b/asm/flying.s index c8010106a..37873f17b 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -5,823 +5,6 @@ .text - thumb_func_start sub_810DE70 -sub_810DE70: @ 810DE70 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl InitSpritePosToAnimTarget - ldrh r0, [r4, 0x22] - adds r0, 0x14 - strh r0, [r4, 0x22] - movs r0, 0xBF - strh r0, [r4, 0x30] - ldr r1, =sub_810DE98 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810DE70 - - thumb_func_start sub_810DE98 -sub_810DE98: @ 810DE98 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x47 - bne _0810DED2 - adds r0, r4, 0 - bl DestroyAnimSprite -_0810DED2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810DE98 - - thumb_func_start sub_810DED8 -sub_810DED8: @ 810DED8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x8] - ldrh r0, [r1] - strh r0, [r4, 0xA] - ldr r0, =0x00002719 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldr r0, =sub_810DF18 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810DED8 - - thumb_func_start sub_810DF18 -sub_810DF18: @ 810DF18 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r2 - ldrh r0, [r3, 0x1C] - adds r1, r0, 0x1 - strh r1, [r3, 0x1C] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xA - ldrsh r1, [r3, r4] - adds r7, r2, 0 - cmp r0, r1 - bne _0810DF76 - movs r0, 0 - strh r0, [r3, 0x1C] - ldrb r0, [r3, 0xC] - ldr r2, =gPlttBufferFaded - lsls r0, 4 - movs r3, 0x84 - lsls r3, 1 - adds r1, r0, r3 - lsls r1, 1 - adds r1, r2 - ldrh r6, [r1] - movs r4, 0x7 - mov r12, r0 - ldr r0, =0x00000107 - add r0, r12 - lsls r0, 1 - adds r3, r0, r2 -_0810DF5E: - ldrh r0, [r3] - strh r0, [r1] - subs r3, 0x2 - subs r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bgt _0810DF5E - ldr r0, =0x00000101 - add r0, r12 - lsls r0, 1 - adds r0, r2 - strh r6, [r0] -_0810DF76: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _0810DF90 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0810DF90: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810DF18 - - thumb_func_start sub_810DFA8 -sub_810DFA8: @ 810DFA8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl InitSpritePosToAnimAttacker - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810DFC8 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_0810DFC8: - ldr r4, =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldrh r0, [r6, 0x20] - strh r0, [r6, 0x30] - ldr r5, =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrh r0, [r6, 0x22] - strh r0, [r6, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r6, 0x36] - adds r0, r6, 0 - bl InitAnimLinearTranslation - ldr r0, =RunStoredCallbackWhenAffineAnimEnds - str r0, [r6, 0x1C] - ldr r1, =sub_810E028 - adds r0, r6, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810DFA8 - - thumb_func_start sub_810E028 -sub_810E028: @ 810E028 - push {r4,lr} - adds r4, r0, 0 - bl AnimTranslateLinear - lsls r0, 24 - cmp r0, 0 - beq _0810E03C - adds r0, r4, 0 - bl DestroyAnimSprite -_0810E03C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810E028 - - thumb_func_start sub_810E044 -sub_810E044: @ 810E044 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810E070 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r1, 0x6] -_0810E070: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0810E088 - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0x2] - negs r1, r1 - strh r1, [r0, 0x2] - ldrh r1, [r0, 0x6] - negs r1, r1 - strh r1, [r0, 0x6] -_0810E088: - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r2, =gBattleAnimArgs - ldrh r1, [r2] - ldrh r3, [r5, 0x20] - adds r1, r3 - strh r1, [r5, 0x20] - lsrs r0, 24 - ldrh r1, [r2, 0x2] - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x2E] - movs r3, 0xC - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _0810E0EC - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - b _0810E0FE - .pool -_0810E0EC: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl SetAverageBattlerPositions -_0810E0FE: - ldr r4, =gBattleAnimArgs - ldrh r0, [r4, 0x4] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r4, 0x6] - ldrh r3, [r5, 0x36] - adds r0, r3 - strh r0, [r5, 0x36] - ldr r0, =StartAnimLinearTranslation - str r0, [r5, 0x1C] - ldr r1, =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - ldrb r1, [r4, 0xA] - adds r0, r5, 0 - bl SeekSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810E044 - - thumb_func_start sub_810E13C -sub_810E13C: @ 810E13C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitSpritePosToAnimAttacker - ldr r1, =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldr r0, =sub_810E184 - str r0, [r4, 0x1C] - movs r0, 0 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810E13C - - thumb_func_start sub_810E184 -sub_810E184: @ 810E184 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _0810E198 - subs r0, r1, 0x1 - strh r0, [r2, 0x2E] - b _0810E1AA -_0810E198: - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r2, 0x26] - subs r1, r0 - strh r1, [r2, 0x26] -_0810E1AA: - movs r3, 0x22 - ldrsh r0, [r2, r3] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _0810E1C2 - adds r0, r2, 0 - bl DestroyAnimSprite -_0810E1C2: - pop {r0} - bx r0 - thumb_func_end sub_810E184 - - thumb_func_start sub_810E1C8 -sub_810E1C8: @ 810E1C8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0810E1F8 - movs r0, 0x88 - lsls r0, 1 - strh r0, [r5, 0x20] - ldr r0, =0x0000ffe0 - strh r0, [r5, 0x22] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0810E1FE - .pool -_0810E1F8: - ldr r0, =0x0000ffe0 - strh r0, [r5, 0x20] - strh r0, [r5, 0x22] -_0810E1FE: - ldr r0, =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - ldr r0, =sub_810E24C - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810E1C8 - - thumb_func_start sub_810E24C -sub_810E24C: @ 810E24C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl AnimTranslateLinear - ldrh r1, [r4, 0x34] - lsrs r0, r1, 8 - cmp r0, 0xC8 - bls _0810E274 - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x24] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x34] -_0810E274: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x20 - movs r1, 0x98 - lsls r1, 1 - cmp r0, r1 - bhi _0810E296 - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0xA0 - ble _0810E2BC -_0810E296: - movs r0, 0 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyAnimSprite -_0810E2BC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810E24C - - thumb_func_start sub_810E2C8 -sub_810E2C8: @ 810E2C8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r1, r0, 0x1 - strh r1, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _0810E308 - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810E2FA - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] -_0810E2FA: - adds r0, r4, 0 - bl DestroySprite - ldr r1, =gAnimVisualTaskCount - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0810E308: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810E2C8 - - thumb_func_start sub_810E314 -sub_810E314: @ 810E314 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r5, r7, 0 - adds r5, 0x2E - ldr r0, =gBattleAnimArgs - ldrh r1, [r0, 0xE] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0810E33C - ldr r0, =gBattleAnimAttacker - b _0810E33E - .pool -_0810E33C: - ldr r0, =gBattleAnimTarget -_0810E33E: - ldrb r6, [r0] - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0810E354 - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - negs r0, r0 - strh r0, [r1] -_0810E354: - adds r0, r6, 0 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldr r4, =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r7, 0x20] - adds r0, r6, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - ldrh r1, [r4, 0x2] - lsrs r0, 24 - adds r1, r0, r1 - strh r1, [r7, 0x22] - lsls r1, 8 - strh r1, [r5, 0x8] - ldrh r1, [r4, 0xC] - adds r0, r1 - lsls r0, 1 - ldrh r2, [r5, 0xE] - movs r1, 0x1 - ands r1, r2 - orrs r1, r0 - strh r1, [r5, 0xE] - ldrb r0, [r5] - movs r2, 0x4 - mov r8, r2 - mov r1, r8 - orrs r0, r1 - strb r0, [r5] - ldrh r0, [r4, 0x4] - ldrb r1, [r4, 0x4] - strh r1, [r5, 0x2] - lsls r0, 16 - lsrs r0, 24 - strh r0, [r5, 0xA] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x4] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x6] - ldrh r0, [r4, 0xA] - strh r0, [r5, 0xC] - subs r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x7F - bhi _0810E44A - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0810E3F0 - adds r0, r6, 0 - bl GetBattlerSpriteBGPriority - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r7, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x5] - b _0810E408 - .pool -_0810E3F0: - adds r0, r6, 0 - bl GetBattlerSpriteBGPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7, 0x5] -_0810E408: - ldrb r1, [r5, 0xE] - movs r4, 0x2 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - strb r0, [r5, 0xE] - movs r2, 0x4 - ldrsh r0, [r5, r2] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - bne _0810E4AA - adds r3, r7, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r0, r2, 31 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r7, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - b _0810E4A2 -_0810E44A: - adds r0, r6, 0 - bl GetBattlerSpriteBGPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7, 0x5] - ldrb r0, [r5, 0xE] - movs r4, 0x1 - orrs r0, r4 - strb r0, [r5, 0xE] - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0810E4AA - adds r3, r7, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r1, r2, 31 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - ands r1, r4 - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - lsls r0, 31 - lsrs r0, 31 - adds r1, r7, 0 - adds r1, 0x2A - strb r0, [r1] - ldrb r0, [r3] - mov r2, r8 - orrs r0, r2 -_0810E4A2: - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] -_0810E4AA: - ldrh r1, [r5, 0x2] - lsrs r1, 6 - lsls r1, 4 - ldrb r2, [r5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - ldr r3, =gSineTable - ldrh r0, [r5, 0x2] - lsls r0, 1 - adds r0, r3 - movs r2, 0 - ldrsh r1, [r0, r2] - ldrb r0, [r5, 0xC] - muls r0, r1 - asrs r0, 8 - strh r0, [r7, 0x24] - ldrb r2, [r7, 0x3] - lsls r2, 26 - lsrs r2, 27 - movs r1, 0x24 - ldrsh r0, [r7, r1] - negs r0, r0 - asrs r0, 1 - ldrb r5, [r5, 0xA] - adds r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r3 - ldrh r4, [r1] - ldr r1, =gOamMatrices - lsls r2, 3 - adds r2, r1 - adds r0, 0x40 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r2, 0x6] - strh r0, [r2] - strh r4, [r2, 0x2] - lsls r0, r4, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r2, 0x4] - ldr r0, =sub_810E520 - str r0, [r7, 0x1C] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810E314 - thumb_func_start sub_810E520 sub_810E520: @ 810E520 push {r4-r7,lr} diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 6b0e285b6..6370ef569 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1341,15 +1341,15 @@ .endm .macro sethword dst:req, value:req - setbyte \dst, \value & 0xFF - setbyte \dst + 1, (\value >> 8) & 0xFF + setbyte \dst, (\value) & 0xFF + setbyte \dst + 1, ((\value) >> 8) & 0xFF .endm .macro setword dst:req, value:req - setbyte \dst, \value & 0xFF - setbyte \dst + 1, (\value >> 8) & 0xFF - setbyte \dst + 2, (\value >> 16) & 0xFF - setbyte \dst + 3, (\value >> 24) & 0xFF + setbyte \dst, (\value) & 0xFF + setbyte \dst + 1, ((\value) >> 8) & 0xFF + setbyte \dst + 2, ((\value) >> 16) & 0xFF + setbyte \dst + 3, ((\value) >> 24) & 0xFF .endm .macro copybyte dst:req, src:req diff --git a/asm/pokenav.s b/asm/pokenav.s index 40ce730ea..01ba420aa 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -4,1604 +4,6 @@ .syntax unified .text - - - - thumb_func_start sub_81C7078 -sub_81C7078: @ 81C7078 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl is_c1_link_related_active - cmp r0, 0 - bne _081C7090 - ldr r0, =sub_81C7170 - b _081C7092 - .pool -_081C7090: - ldr r0, =sub_81C71E4 -_081C7092: - lsls r1, r4, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =gUnknown_0203CF3C - ldrb r1, [r2] - strh r1, [r0, 0xE] - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - lsls r0, 24 - lsrs r0, 8 - orrs r0, r4 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C7078 - - thumb_func_start sub_81C70D8 -sub_81C70D8: @ 81C70D8 - push {lr} - ldr r1, =0x0000ffff - ands r1, r0 - lsrs r3, r0, 16 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _081C711C - ldr r2, [r1] - ldr r0, =sub_81C7170 - cmp r2, r0 - beq _081C70FE - ldr r0, =sub_81C71E4 - cmp r2, r0 - bne _081C711C -_081C70FE: - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, r3 - bne _081C711C - movs r0, 0x1 - b _081C711E - .pool -_081C711C: - movs r0, 0 -_081C711E: - pop {r1} - bx r1 - thumb_func_end sub_81C70D8 - - thumb_func_start sub_81C7124 -sub_81C7124: @ 81C7124 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r4, =gTasks -_081C712C: - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _081C7160 - ldr r1, [r4] - ldr r0, =sub_81C7170 - cmp r1, r0 - beq _081C7140 - ldr r0, =sub_81C71E4 - cmp r1, r0 - bne _081C7160 -_081C7140: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x1 - bl GetWordTaskArg - cmp r0, r6 - bne _081C7160 - movs r0, 0x1 - b _081C716A - .pool -_081C7160: - adds r4, 0x28 - adds r5, 0x1 - cmp r5, 0xF - ble _081C712C - movs r0, 0 -_081C716A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C7124 - - thumb_func_start sub_81C7170 -sub_81C7170: @ 81C7170 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r6, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r7, 0 -_081C718C: - movs r1, 0 - ldrsh r0, [r4, r1] - bl _call_via_r6 - cmp r0, 0x4 - bhi _081C71D6 - lsls r0, 2 - ldr r1, =_081C71AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C71AC: - .4byte _081C71C6 - .4byte _081C71C0 - .4byte _081C71DE - .4byte _081C71DA - .4byte _081C71CE -_081C71C0: - ldrh r0, [r4] - adds r0, 0x1 - b _081C71D8 -_081C71C6: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081C71DE -_081C71CE: - adds r0, r5, 0 - bl DestroyTask - b _081C71DE -_081C71D6: - subs r0, 0x5 -_081C71D8: - strh r0, [r4] -_081C71DA: - cmp r7, 0 - beq _081C718C -_081C71DE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C7170 - - thumb_func_start sub_81C71E4 -sub_81C71E4: @ 81C71E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8087598 - cmp r0, 0 - bne _081C724A - adds r0, r5, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r2, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - bl _call_via_r2 - cmp r0, 0x4 - bhi _081C7246 - lsls r0, 2 - ldr r1, =_081C7224 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C7224: - .4byte _081C7238 - .4byte _081C7238 - .4byte _081C724A - .4byte _081C724A - .4byte _081C723E -_081C7238: - ldrh r0, [r4] - adds r0, 0x1 - b _081C7248 -_081C723E: - adds r0, r5, 0 - bl DestroyTask - b _081C724A -_081C7246: - subs r0, 0x5 -_081C7248: - strh r0, [r4] -_081C724A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C71E4 - - thumb_func_start CB2_PokeNav -CB2_PokeNav: @ 81C7250 - push {r4,lr} - ldr r4, =gUnknown_0203CF40 - movs r0, 0x5C - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _081C7270 - ldr r0, =CB2_ReturnToFieldWithOpenMenu - bl SetMainCallback2 - b _081C7292 - .pool -_081C7270: - bl sub_81C7360 - bl ResetTasks - movs r0, 0 - bl SetVBlankCallback - ldr r0, =sub_81C742C - movs r1, 0 - bl CreateTask - ldr r0, =sub_81C7400 - bl SetMainCallback2 - ldr r0, =sub_81C7418 - bl SetVBlankCallback -_081C7292: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end CB2_PokeNav - - thumb_func_start sub_81C72A4 -sub_81C72A4: @ 81C72A4 - push {lr} - ldr r0, =sub_81C72BC - bl SetMainCallback2 - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C72A4 - - thumb_func_start sub_81C72BC -sub_81C72BC: @ 81C72BC - push {r4,lr} - bl UpdatePaletteFade - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C7320 - ldr r4, =gUnknown_0203CF40 - movs r0, 0x5C - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _081C72F0 - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - b _081C7320 - .pool -_081C72F0: - bl sub_81C7360 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x8] - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0 - bl SetVBlankCallback - ldr r0, =sub_81C742C - movs r1, 0 - bl CreateTask - ldr r0, =sub_81C7400 - bl SetMainCallback2 - ldr r0, =sub_81C7418 - bl SetVBlankCallback -_081C7320: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C72BC - - thumb_func_start sub_81C7334 -sub_81C7334: @ 81C7334 - push {r4,lr} - movs r4, 0 -_081C7338: - adds r0, r4, 0 - bl sub_81C7650 - adds r4, 0x1 - cmp r4, 0x12 - ble _081C7338 - ldr r4, =gUnknown_0203CF40 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl InitKeys - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7334 - - thumb_func_start sub_81C7360 -sub_81C7360: @ 81C7360 - push {r4,r5,lr} - adds r5, r0, 0 - movs r2, 0 - movs r1, 0x12 - adds r0, 0x58 -_081C736A: - str r2, [r0] - subs r0, 0x4 - subs r1, 0x1 - cmp r1, 0 - bge _081C736A - movs r4, 0 - strh r4, [r5, 0x8] - str r4, [r5, 0x4] - bl sub_81C7388 - str r0, [r5, 0xC] - str r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C7360 - - thumb_func_start sub_81C7388 -sub_81C7388: @ 81C7388 - push {r4-r6,lr} - movs r5, 0 -_081C738C: - 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 _081C73BA - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _081C73BA - adds r0, r4, 0 - movs r1, 0x52 - bl GetMonData - cmp r0, 0 - bne _081C73E2 -_081C73BA: - adds r5, 0x1 - cmp r5, 0x5 - ble _081C738C - movs r4, 0 -_081C73C2: - movs r5, 0 - lsls r6, r4, 24 -_081C73C6: - adds r0, r4, 0 - adds r1, r5, 0 - bl CheckBoxMonSanityAt - cmp r0, 0 - beq _081C73EC - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - movs r2, 0x52 - bl GetBoxMonDataAt - cmp r0, 0 - beq _081C73EC -_081C73E2: - movs r0, 0x1 - b _081C73FA - .pool -_081C73EC: - adds r5, 0x1 - cmp r5, 0x1D - ble _081C73C6 - adds r4, 0x1 - cmp r4, 0xD - ble _081C73C2 - movs r0, 0 -_081C73FA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C7388 - - thumb_func_start sub_81C7400 -sub_81C7400: @ 81C7400 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81C7400 - - thumb_func_start sub_81C7418 -sub_81C7418: @ 81C7418 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_81C7418 - - thumb_func_start sub_81C742C -sub_81C742C: @ 81C742C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r7, r1, r0 - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0x5 - bls _081C7446 - b _081C7562 -_081C7446: - lsls r0, 2 - ldr r1, =_081C7458 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C7458: - .4byte _081C7470 - .4byte _081C747A - .4byte _081C7490 - .4byte _081C749C - .4byte _081C751E - .4byte _081C752C -_081C7470: - bl sub_81C76C4 - movs r0, 0x1 - strh r0, [r7] - b _081C7562 -_081C747A: - bl sub_81C76FC - cmp r0, 0 - bne _081C7562 - ldr r0, =0x000186a0 - bl sub_81C756C - b _081C74E8 - .pool -_081C7490: - bl sub_81C786C - cmp r0, 0 - bne _081C7562 - movs r0, 0x3 - strh r0, [r7] -_081C749C: - bl sub_81C75E0 - adds r6, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r6, r0 - beq _081C74FC - ldr r0, =0x0001869f - cmp r6, r0 - bls _081C7506 - ldr r4, =gUnknown_0861F3EC - ldr r5, =gUnknown_0203CF40 - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x18 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r4, 0x14 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - adds r0, r6, 0 - bl sub_81C756C - cmp r0, 0 - beq _081C74FC -_081C74E8: - movs r0, 0x4 - strh r0, [r7] - b _081C7562 - .pool -_081C74FC: - bl sub_81C7710 - movs r0, 0x5 - strh r0, [r7] - b _081C7562 -_081C7506: - cmp r6, 0 - beq _081C7562 - adds r0, r6, 0 - bl sub_81C7850 - bl sub_81C786C - cmp r0, 0 - beq _081C7562 - movs r0, 0x2 - strh r0, [r7] - b _081C7562 -_081C751E: - bl sub_81C75D4 - cmp r0, 0 - bne _081C7562 - movs r0, 0x3 - strh r0, [r7] - b _081C7562 -_081C752C: - bl sub_81C7738 - cmp r0, 0 - bne _081C7562 - ldr r0, =gUnknown_0203CF40 - ldr r0, [r0] - ldrh r0, [r0, 0x8] - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl sub_81C9430 - bl sub_81C7334 - cmp r4, 0 - beq _081C755C - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - b _081C7562 - .pool -_081C755C: - ldr r0, =CB2_ReturnToFieldWithOpenMenu - bl SetMainCallback2 -_081C7562: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C742C - - thumb_func_start sub_81C756C -sub_81C756C: @ 81C756C - push {r4-r6,lr} - ldr r1, =0xfffe7960 - adds r6, r0, r1 - bl sub_81C75F4 - ldr r5, =gUnknown_0861F3EC - lsls r0, r6, 3 - subs r0, r6 - lsls r4, r0, 2 - adds r0, r4, r5 - ldr r0, [r0] - bl _call_via_r0 - cmp r0, 0 - beq _081C75CC - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r0, [r0] - bl _call_via_r0 - cmp r0, 0 - beq _081C75CC - adds r0, r5, 0 - adds r0, 0xC - adds r0, r4, r0 - ldr r0, [r0] - adds r1, r5, 0 - adds r1, 0x10 - adds r1, r4, r1 - ldr r1, [r1] - bl sub_81C7834 - ldr r0, =gUnknown_0203CF40 - ldr r1, [r0] - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [r1] - str r6, [r1, 0x4] - movs r0, 0x1 - b _081C75CE - .pool -_081C75CC: - movs r0, 0 -_081C75CE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C756C - - thumb_func_start sub_81C75D4 -sub_81C75D4: @ 81C75D4 - push {lr} - bl sub_81C786C - pop {r1} - bx r1 - thumb_func_end sub_81C75D4 - - thumb_func_start sub_81C75E0 -sub_81C75E0: @ 81C75E0 - push {lr} - ldr r0, =gUnknown_0203CF40 - ldr r0, [r0] - ldr r0, [r0] - bl _call_via_r0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C75E0 - - thumb_func_start sub_81C75F4 -sub_81C75F4: @ 81C75F4 - push {lr} - bl InitKeys - pop {r0} - bx r0 - thumb_func_end sub_81C75F4 - - thumb_func_start c3args_set_0toR1_1to0 -c3args_set_0toR1_1to0: @ 81C7600 - push {lr} - bl SetVBlankCallback - pop {r0} - bx r0 - thumb_func_end c3args_set_0toR1_1to0 - - thumb_func_start sub_81C760C -sub_81C760C: @ 81C760C - push {lr} - ldr r0, =sub_81C7418 - bl SetVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C760C - - thumb_func_start sub_81C761C -sub_81C761C: @ 81C761C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl Alloc - ldr r1, =gUnknown_0203CF40 - ldr r1, [r1] - lsls r4, 2 - adds r1, 0x10 - adds r1, r4 - str r0, [r1] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C761C - - thumb_func_start sub_81C763C -sub_81C763C: @ 81C763C - ldr r1, =gUnknown_0203CF40 - ldr r1, [r1] - lsls r0, 2 - adds r1, 0x10 - adds r1, r0 - ldr r0, [r1] - bx lr - .pool - thumb_func_end sub_81C763C - - thumb_func_start sub_81C7650 -sub_81C7650: @ 81C7650 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CF40 - ldr r1, [r5] - lsls r4, r0, 2 - adds r1, 0x10 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _081C7670 - bl Free - ldr r0, [r5] - adds r0, 0x10 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_081C7670: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7650 - - thumb_func_start sub_81C767C -sub_81C767C: @ 81C767C - ldr r0, =gUnknown_0203CF40 - ldr r0, [r0] - ldrh r0, [r0, 0x8] - bx lr - .pool - thumb_func_end sub_81C767C - - thumb_func_start sub_81C7688 -sub_81C7688: @ 81C7688 - ldr r1, =gUnknown_0203CF40 - ldr r1, [r1] - strh r0, [r1, 0x8] - bx lr - .pool - thumb_func_end sub_81C7688 - - thumb_func_start sub_81C7694 -sub_81C7694: @ 81C7694 - push {lr} - adds r1, r0, 0 - cmp r1, 0x4 - bls _081C769E - movs r1, 0 -_081C769E: - ldr r0, =gUnknown_0203CF40 - ldr r0, [r0] - strh r1, [r0, 0xA] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7694 - - thumb_func_start sub_81C76AC -sub_81C76AC: @ 81C76AC - ldr r0, =gUnknown_0203CF40 - ldr r0, [r0] - ldrh r0, [r0, 0xA] - bx lr - .pool - thumb_func_end sub_81C76AC - - thumb_func_start sub_81C76B8 -sub_81C76B8: @ 81C76B8 - ldr r0, =gUnknown_0203CF40 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bx lr - .pool - thumb_func_end sub_81C76B8 - - thumb_func_start sub_81C76C4 -sub_81C76C4: @ 81C76C4 - push {r4,lr} - ldr r1, =0x0000082c - movs r0, 0 - bl sub_81C761C - adds r4, r0, 0 - cmp r4, 0 - beq _081C76F4 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =sub_81C7764 - movs r1, 0x1 - bl sub_81C7078 - str r0, [r4, 0xC] - movs r0, 0x1 - b _081C76F6 - .pool -_081C76F4: - movs r0, 0 -_081C76F6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C76C4 - - thumb_func_start sub_81C76FC -sub_81C76FC: @ 81C76FC - push {lr} - movs r0, 0 - bl sub_81C763C - ldr r0, [r0, 0xC] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81C76FC - - thumb_func_start sub_81C7710 -sub_81C7710: @ 81C7710 - push {lr} - sub sp, 0x4 - movs r0, 0x6F - bl PlaySE - bl sub_81CAADC - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_81C7710 - - thumb_func_start sub_81C7738 -sub_81C7738: @ 81C7738 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081C7750 - movs r0, 0x1 - b _081C775E - .pool -_081C7750: - bl sub_81C99D4 - bl sub_81C7C94 - bl FreeAllWindowBuffers - movs r0, 0 -_081C775E: - pop {r1} - bx r1 - thumb_func_end sub_81C7738 - - thumb_func_start sub_81C7764 -sub_81C7764: @ 81C7764 - push {r4,lr} - sub sp, 0x4 - cmp r0, 0x1 - beq _081C77B0 - cmp r0, 0x1 - bgt _081C7776 - cmp r0, 0 - beq _081C7780 - b _081C782A -_081C7776: - cmp r0, 0x2 - beq _081C77FC - cmp r0, 0x3 - beq _081C780E - b _081C782A -_081C7780: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - bl FreeAllWindowBuffers - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0861FA04 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - bl sub_8199D98 - bl reset_temp_tile_data_buffers - movs r0, 0x1 - b _081C782C - .pool -_081C77B0: - movs r0, 0 - bl sub_81C763C - adds r4, r0, 0 - ldr r1, =gPokenavHeader_Gfx - movs r0, 0 - str r0, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - adds r4, 0x2C - movs r0, 0 - adds r1, r4, 0 - bl SetBgTilemapBuffer - ldr r1, =gPokenavHeader_Tilemap - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r0, =gPokenavHeader_Pal - movs r1, 0 - movs r2, 0x20 - bl sub_81C7944 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - b _081C782C - .pool -_081C77FC: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081C7818 - bl sub_81C7B74 - movs r0, 0 - b _081C782C -_081C780E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _081C781C -_081C7818: - movs r0, 0x2 - b _081C782C -_081C781C: - bl sub_81C7C28 - bl sub_81C7D28 - movs r0, 0 - bl ShowBg -_081C782A: - movs r0, 0x4 -_081C782C: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C7764 - - thumb_func_start sub_81C7834 -sub_81C7834: @ 81C7834 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r0, 0 - bl sub_81C763C - str r4, [r0] - str r5, [r0, 0x4] - movs r1, 0 - str r1, [r0, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C7834 - - thumb_func_start sub_81C7850 -sub_81C7850: @ 81C7850 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - bl sub_81C763C - movs r1, 0 - str r1, [r0, 0x8] - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C7850 - - thumb_func_start sub_81C786C -sub_81C786C: @ 81C786C - push {lr} - movs r0, 0 - bl sub_81C763C - ldr r0, [r0, 0x4] - bl _call_via_r0 - pop {r1} - bx r1 - thumb_func_end sub_81C786C - - thumb_func_start sub_81C7880 -sub_81C7880: @ 81C7880 - push {r4,lr} - movs r0, 0 - bl sub_81C763C - adds r4, r0, 0 - ldr r0, =atk47_cmd47 - movs r1, 0x4 - bl sub_81C7078 - str r0, [r4, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7880 - - thumb_func_start sub_81C78A0 -sub_81C78A0: @ 81C78A0 - push {r4,lr} - movs r0, 0 - bl sub_81C763C - adds r4, r0, 0 - ldr r0, =sub_81C791C - movs r1, 0x4 - bl sub_81C7078 - str r0, [r4, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C78A0 - - thumb_func_start sub_81C78C0 -sub_81C78C0: @ 81C78C0 - push {lr} - movs r0, 0 - bl sub_81C763C - ldr r0, [r0, 0xC] - bl sub_81C70D8 - pop {r1} - bx r1 - thumb_func_end sub_81C78C0 - - thumb_func_start atk47_cmd47 -atk47_cmd47: @ 81C78D4 - push {lr} - cmp r0, 0x1 - beq _081C78EA - cmp r0, 0x1 - bgt _081C78E4 - cmp r0, 0 - beq _081C78EA - b _081C7914 -_081C78E4: - cmp r0, 0x2 - beq _081C78EE - b _081C7914 -_081C78EA: - movs r0, 0 - b _081C7916 -_081C78EE: - movs r1, 0xC0 - lsls r1, 1 - movs r0, 0 - movs r2, 0x1 - bl ChangeBgY - ldr r1, =0x00001fff - cmp r0, r1 - bhi _081C7908 - movs r0, 0x2 - b _081C7916 - .pool -_081C7908: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - movs r2, 0 - bl ChangeBgY -_081C7914: - movs r0, 0x4 -_081C7916: - pop {r1} - bx r1 - thumb_func_end atk47_cmd47 - - thumb_func_start sub_81C791C -sub_81C791C: @ 81C791C - push {lr} - movs r1, 0xC0 - lsls r1, 1 - movs r0, 0 - movs r2, 0x2 - bl ChangeBgY - cmp r0, 0 - ble _081C7932 - movs r0, 0x2 - b _081C793E -_081C7932: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x4 -_081C793E: - pop {r1} - bx r1 - thumb_func_end sub_81C791C - - thumb_func_start sub_81C7944 -sub_81C7944: @ 81C7944 - push {lr} - lsls r1, 1 - ldr r3, =gPlttBufferUnfaded - adds r1, r3 - lsls r2, 10 - lsrs r2, 11 - bl CpuSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7944 - - thumb_func_start sub_81C795C -sub_81C795C: @ 81C795C - push {r4,lr} - adds r4, r0, 0 - b _081C7974 -_081C7962: - lsls r0, r1, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r0, r2 - ldr r0, [r4] - movs r2, 0x20 - bl sub_81C7944 - adds r4, 0x8 -_081C7974: - ldr r0, [r4] - cmp r0, 0 - beq _081C7988 - ldrh r0, [r4, 0x4] - bl AllocSpritePalette - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - bne _081C7962 -_081C7988: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C795C - - thumb_func_start sub_81C7990 -sub_81C7990: @ 81C7990 - push {lr} - sub sp, 0x4 - adds r3, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - strh r1, [r0] - lsls r3, 5 - ldr r0, =gPlttBufferFaded + 0x200 - adds r3, r0 - ldr r2, =0x01000010 - mov r0, sp - adds r1, r3, 0 - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7990 - - thumb_func_start sub_81C79BC -sub_81C79BC: @ 81C79BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r0, [sp] - str r1, [sp, 0x4] - mov r10, r2 - str r3, [sp, 0x8] - ldr r0, [sp, 0x2C] - cmp r0, 0 - bne _081C79E4 - ldr r2, =0x001fffff - mov r1, r10 - ands r2, r1 - ldr r0, [sp] - b _081C79F4 - .pool -_081C79E4: - ldr r2, [sp, 0x2C] - ldr r0, [sp, 0x8] - cmp r2, r0 - blt _081C7A00 - ldr r2, =0x001fffff - mov r1, r10 - ands r2, r1 - ldr r0, [sp, 0x4] -_081C79F4: - ldr r1, [sp, 0x30] - bl CpuSet - b _081C7AAE - .pool -_081C7A00: - movs r2, 0x1 - negs r2, r2 - add r10, r2 - b _081C7AA6 -_081C7A08: - ldr r1, [sp] - ldrh r0, [r1] - movs r2, 0x1F - mov r9, r2 - mov r1, r9 - ands r1, r0 - mov r9, r1 - lsls r0, 16 - lsrs r2, r0, 21 - movs r1, 0x1F - ands r1, r2 - mov r8, r1 - lsrs r7, r0, 26 - movs r2, 0x1F - ands r7, r2 - ldr r0, [sp, 0x4] - ldrh r4, [r0] - movs r0, 0x1F - ands r0, r4 - mov r1, r9 - subs r0, r1 - lsls r0, 8 - ldr r1, [sp, 0x8] - bl __divsi3 - ldr r2, [sp, 0x2C] - adds r6, r0, 0 - muls r6, r2 - asrs r6, 8 - lsls r4, 16 - lsrs r0, r4, 21 - movs r1, 0x1F - ands r0, r1 - mov r2, r8 - subs r0, r2 - lsls r0, 8 - ldr r1, [sp, 0x8] - bl __divsi3 - ldr r1, [sp, 0x2C] - adds r5, r0, 0 - muls r5, r1 - asrs r5, 8 - lsrs r4, 26 - movs r2, 0x1F - ands r4, r2 - subs r4, r7 - lsls r4, 8 - adds r0, r4, 0 - ldr r1, [sp, 0x8] - bl __divsi3 - ldr r1, [sp, 0x2C] - muls r0, r1 - asrs r0, 8 - add r6, r9 - movs r2, 0x1F - ands r6, r2 - add r5, r8 - ands r5, r2 - adds r0, r7, r0 - ands r0, r2 - lsls r0, 10 - lsls r5, 5 - orrs r0, r5 - orrs r0, r6 - ldr r1, [sp, 0x30] - strh r0, [r1] - ldr r2, [sp] - adds r2, 0x2 - str r2, [sp] - ldr r0, [sp, 0x4] - adds r0, 0x2 - str r0, [sp, 0x4] - adds r1, 0x2 - str r1, [sp, 0x30] - movs r1, 0x1 - negs r1, r1 - add r10, r1 -_081C7AA6: - movs r0, 0x1 - negs r0, r0 - cmp r10, r0 - bne _081C7A08 -_081C7AAE: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C79BC - - thumb_func_start sub_81C7AC0 -sub_81C7AC0: @ 81C7AC0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0 - bl sub_81C763C - cmp r4, 0x1 - beq _081C7AF0 - cmp r4, 0x1 - bgt _081C7ADA - cmp r4, 0 - beq _081C7AE4 - b _081C7B2C -_081C7ADA: - cmp r4, 0x2 - beq _081C7B04 - cmp r4, 0x3 - beq _081C7B18 - b _081C7B2C -_081C7AE4: - ldr r0, [r0, 0x14] - movs r1, 0x2 - negs r1, r1 - str r4, [sp] - movs r2, 0 - b _081C7B10 -_081C7AF0: - ldr r0, [r0, 0x14] - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _081C7B2C -_081C7B04: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] -_081C7B10: - movs r3, 0x10 - bl BeginNormalPaletteFade - b _081C7B2C -_081C7B18: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_081C7B2C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C7AC0 - - thumb_func_start sub_81C7B34 -sub_81C7B34: @ 81C7B34 - ldr r0, =gPaletteFade - ldrb r0, [r0, 0x7] - lsrs r0, 7 - bx lr - .pool - thumb_func_end sub_81C7B34 - - thumb_func_start sub_81C7B40 -sub_81C7B40: @ 81C7B40 - push {lr} - ldr r0, =0xfffefffe - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7B40 - - thumb_func_start sub_81C7B54 -sub_81C7B54: @ 81C7B54 - push {r4,r5,lr} - adds r5, r0, 0 - cmp r1, 0 - ble _081C7B6C - adds r4, r1, 0 -_081C7B5E: - adds r0, r5, 0 - adds r5, 0x4 - bl InitBgFromTemplate - subs r4, 0x1 - cmp r4, 0 - bne _081C7B5E -_081C7B6C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C7B54 - - thumb_func_start sub_81C7B74 -sub_81C7B74: @ 81C7B74 - push {r4,lr} - movs r0, 0 - bl sub_81C763C - adds r4, r0, 0 - ldr r0, =gUnknown_0861FA08 - bl InitWindows - movs r0, 0 - str r0, [r4, 0x10] - bl sub_81C7BF8 - ldrb r0, [r4, 0x10] - bl PutWindowTilemap - ldrb r0, [r4, 0x10] - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7B74 - - thumb_func_start sub_81C7BA4 -sub_81C7BA4: @ 81C7BA4 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0 - bl sub_81C763C - adds r5, r0, 0 - ldr r0, [r5, 0x10] - bl sub_81C7BF8 - ldrb r0, [r5, 0x10] - ldr r1, =gUnknown_0861FA48 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, =gUnknown_0861FA18 - lsls r4, 2 - adds r4, r1 - ldr r1, [r4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7BA4 - - thumb_func_start sub_81C7BE8 -sub_81C7BE8: @ 81C7BE8 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81C7BE8 - - thumb_func_start sub_81C7BF8 -sub_81C7BF8: @ 81C7BF8 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x44 - bl FillWindowPixelBuffer - movs r0, 0x80 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x55 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C7BF8 - - thumb_func_start sub_81C7C28 -sub_81C7C28: @ 81C7C28 - push {r4-r6,lr} - movs r0, 0 - bl sub_81C763C - adds r6, r0, 0 - movs r5, 0 - ldr r4, =gUnknown_0861FA4C -_081C7C36: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0 - beq _081C7C36 - ldr r0, =gUnknown_0861FA54 - bl sub_81C795C - movs r0, 0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r0 - movs r0, 0x2 - negs r0, r0 - bics r0, r1 - str r0, [r6, 0x14] - ldr r0, =gUnknown_0861FB04 - movs r1, 0xDC - movs r2, 0xC - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r6, 0x18] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7C28 - - thumb_func_start sub_81C7C94 -sub_81C7C94: @ 81C7C94 - push {lr} - movs r0, 0 - bl sub_81C763C - ldr r0, [r0, 0x18] - bl DestroySprite - movs r0, 0 - bl FreeSpriteTilesByTag - movs r0, 0 - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - thumb_func_end sub_81C7C94 - - thumb_func_start sub_81C7CB4 -sub_81C7CB4: @ 81C7CB4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - bl GetBgY - lsrs r0, 8 - negs r0, r0 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C7CB4 - - thumb_func_start sub_81C7CCC -sub_81C7CCC: @ 81C7CCC - push {lr} - movs r0, 0 - bl sub_81C763C - ldr r0, [r0, 0x18] - ldr r1, =SpriteCallbackDummy - str r1, [r0, 0x1C] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C7CCC thumb_func_start sub_81C7CE4 sub_81C7CE4: @ 81C7CE4 @@ -5452,7 +3854,7 @@ _081C9A5C: ldr r0, =gPokenavMessageBox_Pal movs r1, 0x10 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0x1 movs r1, 0 movs r2, 0 @@ -5505,7 +3907,7 @@ _081C9AFA: ldr r0, =gUnknown_0861FD4C movs r1, 0x20 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded b _081C9AD6 .pool _081C9B30: @@ -5532,7 +3934,7 @@ _081C9B3E: ldr r0, =gUnknown_0861FC78 movs r1, 0x30 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded bl sub_81C9894 cmp r0, 0x3 beq _081C9B76 @@ -5602,7 +4004,7 @@ _081C9C06: bl sub_81C7DFC b _081C9AD6 _081C9C0E: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081C9C5C bl sub_81C9894 @@ -6066,7 +4468,7 @@ _081C9F96: movs r0, 0 b _081C9FBE _081C9FB0: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 beq _081C9FBC _081C9FB8: @@ -7203,7 +5605,7 @@ sub_81CA850: @ 81CA850 ldr r0, =gUnknown_0861FC78 + 0xE movs r1, 0x31 movs r2, 0x4 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded pop {r0} bx r0 .pool @@ -7336,7 +5738,7 @@ titlescreen_0: @ 81CA92C ldr r2, [r2, 0x8] bl ScanlineEffect_SetParams ldr r0, =sub_81CA914 - bl c3args_set_0toR1_1to0 + bl IndirectSetVBlankCallback ldr r0, =sub_81CA9EC movs r1, 0x3 bl CreateTask @@ -8687,7 +7089,7 @@ _081CB368: ldr r0, =gUnknown_08622510 movs r1, 0x20 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0x2 b _081CB418 .pool @@ -8720,7 +7122,7 @@ _081CB3E0: ldr r0, =gUnknown_086226E0 movs r1, 0x10 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0x1 _081CB418: bl CopyBgTilemapBufferToVram @@ -8744,11 +7146,11 @@ _081CB424: ldr r0, =gUnknown_08622700 movs r1, 0x30 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded ldr r0, =gUnknown_08622720 movs r1, 0x50 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0 b _081CB506 .pool @@ -8806,7 +7208,7 @@ _081CB4A6: movs r0, 0 b _081CB506 _081CB4EA: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CB4FA bl sub_81C8010 @@ -9699,7 +8101,7 @@ _081CBB80: movs r0, 0 b _081CBBB4 _081CBB9A: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CBBAA bl sub_81C78C0 @@ -10034,7 +8436,7 @@ sub_81CBE50: @ 81CBE50 movs r0, 0x9 bl GetGameStat adds r1, r0, 0 - ldr r0, =0x0001869f + ldr r0, =0x0001869f @ Note to decompiler: See UNKNOWN_OFFSET cmp r1, r0 ble _081CBE68 adds r1, r0, 0 @@ -11185,7 +9587,7 @@ _081CC714: .4byte _081CC82A _081CC734: movs r0, 0 - bl c3args_set_0toR1_1to0 + bl IndirectSetVBlankCallback movs r0, 0x1 bl HideBg movs r0, 0x2 @@ -11265,7 +9667,7 @@ _081CC7E2: movs r0, 0x2 bl ShowBg ldr r0, =sub_81CC6A4 - bl c3args_set_0toR1_1to0 + bl IndirectSetVBlankCallback b _081CC77C .pool _081CC804: @@ -11286,7 +9688,7 @@ _081CC812: bl sub_81C7AC0 b _081CC77C _081CC82A: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CC83A bl sub_81C8010 @@ -11472,7 +9874,7 @@ _081CC972: movs r0, 0 b _081CC9BA _081CC982: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CC99E bl sub_81C7FDC @@ -11606,11 +10008,11 @@ sub_81CCA1C: @ 81CCA1C ldr r0, =gUnknown_08622868 movs r1, 0x10 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded ldr r0, =gHoennMapZoomIcons_Pal movs r1, 0x30 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded bl sub_8124658 lsls r0, 24 cmp r0, 0 @@ -14231,11 +12633,11 @@ _081CDFF2: ldr r0, =gPokenavCondition_Pal movs r1, 0x10 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded ldr r0, =gUnknown_08623208 movs r1, 0xF0 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded ldr r0, =0x00001814 adds r1, r5, r0 ldr r0, =0x0000ffb0 @@ -14262,7 +12664,7 @@ _081CE03C: ldr r0, =gUnknown_086231E8 movs r1, 0x30 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0x2 bl sub_81D21DC b _081CDFB0 @@ -14440,7 +12842,7 @@ _081CE1FC: bl sub_81C7FA0 b _081CDFB0 _081CE218: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CE2C0 bl sub_81CDD5C @@ -14451,7 +12853,7 @@ _081CE218: bne _081CE2C0 _081CE230: ldr r0, =sub_81CEE44 - bl c3args_set_0toR1_1to0 + bl IndirectSetVBlankCallback b _081CDFB0 .pool _081CE23C: @@ -14569,7 +12971,7 @@ _081CE33A: movs r0, 0 b _081CE376 _081CE33E: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CE34E bl sub_81C78C0 @@ -16710,7 +15112,7 @@ _081CF454: ldr r0, =gUnknown_086233C4 movs r1, 0x10 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0x1 bl CopyBgTilemapBufferToVram _081CF498: @@ -16734,7 +15136,7 @@ _081CF4C0: ldr r0, =gUnknown_08623570 movs r1, 0x20 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded bl sub_81CF88C b _081CF498 .pool @@ -16789,7 +15191,7 @@ _081CF552: bl sub_81C7AC0 b _081CF498 _081CF55A: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CF56A bl sub_81C8010 @@ -17096,7 +15498,7 @@ _081CF764: movs r0, 0 b _081CF792 _081CF778: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CF788 bl sub_81C78C0 @@ -17130,7 +15532,7 @@ _081CF7A4: movs r0, 0 b _081CF7C2 _081CF7B4: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 beq _081CF7C0 movs r0, 0x2 @@ -18094,7 +16496,7 @@ _081CFEF4: ldr r0, =gUnknown_086235E4 movs r1, 0x10 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0x1 bl CopyBgTilemapBufferToVram _081CFF32: @@ -18128,7 +16530,7 @@ _081CFF76: ldr r0, =gUnknown_08623790 movs r1, 0x20 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded bl sub_81D0304 b _081CFF32 .pool @@ -18163,7 +16565,7 @@ _081CFFA4: bl sub_81C7FA0 b _081CFF32 _081CFFDE: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081CFFEE bl sub_81C8010 @@ -18470,7 +16872,7 @@ _081D01E8: movs r0, 0 b _081D0216 _081D01FC: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 bne _081D020C bl sub_81C78C0 @@ -18504,7 +16906,7 @@ _081D0228: movs r0, 0 b _081D0246 _081D0238: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 beq _081D0244 movs r0, 0x2 @@ -19631,7 +18033,7 @@ _081D0AB8: ldr r0, =gUnknown_08DDE010 movs r1, 0x10 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded b _081D0BBA .pool _081D0B04: @@ -19669,11 +18071,11 @@ _081D0B12: ldr r0, =gUnknown_08623FF8 movs r1, 0x20 movs r2, 0xA0 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded ldr r0, =gUnknown_08624098 movs r1, 0xA0 movs r2, 0x20 - bl sub_81C7944 + bl CopyPaletteIntoBufferUnfaded movs r0, 0x1 b _081D0BBC .pool @@ -19765,7 +18167,7 @@ _081D0BE8: movs r0, 0 b _081D0C4A _081D0C3C: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 beq _081D0C48 _081D0C44: @@ -19796,7 +18198,7 @@ _081D0C60: movs r0, 0 b _081D0C7E _081D0C70: - bl sub_81C7B34 + bl IsPaletteFadeActive cmp r0, 0 beq _081D0C7C movs r0, 0x2 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index ac7f6ac1c..7d43b1815 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -8315,6 +8315,11 @@ _0801AFC2: .pool thumb_func_end sub_801AC54 +@void sub_801AFD8() { +@ CpuFill32(0, &gSaveBlock1Ptr->field_322C, 219); +@ sub_801B180(); +@ sub_811F8BC(); +@} thumb_func_start sub_801AFD8 sub_801AFD8: @ 801AFD8 push {lr} @@ -8367,25 +8372,25 @@ sav1_get_mevent_buffer_2: @ 801B034 .pool thumb_func_end sav1_get_mevent_buffer_2 - thumb_func_start sub_801B044 -sub_801B044: @ 801B044 + thumb_func_start GetSaveBlock1Field356C +GetSaveBlock1Field356C: @ 801B044 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x0000356c adds r0, r1 bx lr .pool - thumb_func_end sub_801B044 + thumb_func_end GetSaveBlock1Field356C - thumb_func_start sub_801B058 -sub_801B058: @ 801B058 + thumb_func_start GetSaveBlock1Field3564 +GetSaveBlock1Field3564: @ 801B058 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003564 adds r0, r1 bx lr .pool - thumb_func_end sub_801B058 + thumb_func_end GetSaveBlock1Field3564 thumb_func_start sub_801B06C sub_801B06C: @ 801B06C @@ -8531,7 +8536,7 @@ sub_801B180: @ 801B180 sub sp, 0x4 movs r0, 0 str r0, [sp] - bl sub_801B044 + bl GetSaveBlock1Field356C adds r1, r0, 0 ldr r2, =0x05000001 mov r0, sp @@ -13795,7 +13800,7 @@ _0801DB60: sub_801DB68: @ 801DB68 push {r4,r5,lr} adds r4, r0, 0 - bl sub_801B044 + bl GetSaveBlock1Field356C adds r5, r0, 0 movs r0, 0x3 adds r1, r4, 0 @@ -13841,7 +13846,7 @@ _0801DBB8: thumb_func_start sub_801DBC0 sub_801DBC0: @ 801DBC0 push {lr} - bl sub_801B044 + bl GetSaveBlock1Field356C movs r1, 0 strb r1, [r0] strb r1, [r0, 0x1] @@ -13858,7 +13863,7 @@ sub_801DBDC: @ 801DBDC ldr r0, =0x0000402e bl GetVarPointer adds r4, r0, 0 - bl sub_801B044 + bl GetSaveBlock1Field356C adds r2, r0, 0 ldr r0, [r2] lsls r0, 24 @@ -13889,7 +13894,7 @@ _0801DC10: sub_801DC20: @ 801DC20 push {r4-r6,lr} ldr r6, =gSpecialVar_Result - bl sub_801B044 + bl GetSaveBlock1Field356C adds r4, r0, 0 bl IsMysteryEventEnabled cmp r0, 0 @@ -27181,7 +27186,7 @@ sub_8024700: @ 8024700 adds r0, r5, 0 bl sub_8024668 adds r1, r0, r4 - ldr r2, =0x0001869f + ldr r2, =0x0001869f @ Note to decompiler: See UNKNOWN_OFFSET cmp r1, r2 bhi _08024730 adds r0, r5, 0 |